-----
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+ 2010, 2011 Simon Josefsson
Copying and distribution of this file, with or without
modification, are permitted provided the copyright notice
available translations. They tell how people wanting to contribute and
work on translations can contact the appropriate team.
- When reporting bugs in the `intl/' directory or bugs which may be
-related to internationalization, you should tell about the version of
-`gettext' which is used. The information can be found in the
-`intl/VERSION' file, in internationalized packages.
-
-1.1 Quick configuration advice
-==============================
-
-If you want to exploit the full power of internationalization, you
-should configure it using
-
- ./configure --with-included-gettext
-
-to force usage of internationalizing routines provided within this
-package, despite the existence of internationalizing capabilities in the
-operating system where this package is being installed. So far, only
-the `gettext' implementation in the GNU C library version 2 provides as
-many features (such as locale alias, message inheritance, automatic
-charset conversion or plural form handling) as the implementation here.
-It is also not possible to offer this additional functionality on top
-of a `catgets' implementation. Future versions of GNU `gettext' will
-very likely convey even more functionality. So it might be a good idea
-to change to GNU `gettext' as soon as possible.
-
- So you need _not_ provide this option if you are using GNU libc 2 or
-you have installed a recent copy of the GNU gettext package with the
-included `libintl'.
-
-1.2 INSTALL Matters
+1.1 INSTALL Matters
===================
Some packages are "localizable" when properly installed; the programs
By default, this package will be installed to allow translation of
messages. It will automatically detect whether the system already
-provides the GNU `gettext' functions. If not, the included GNU
-`gettext' library will be used. This library is wholly contained
-within this package, usually in the `intl/' subdirectory, so prior
-installation of the GNU `gettext' package is _not_ required.
-Installers may use special options at configuration time for changing
-the default behaviour. The commands:
+provides the GNU `gettext' functions. Installers may use special
+options at configuration time for changing the default behaviour. The
+command:
- ./configure --with-included-gettext
./configure --disable-nls
-will, respectively, bypass any pre-existing `gettext' to use the
-internationalizing routines provided within this package, or else,
-_totally_ disable translation of messages.
+will _totally_ disable translation of messages.
When you already have GNU `gettext' installed on your system and run
configure without an option for your new package, `configure' will
-probably detect the previously built and installed `libintl.a' file and
-will decide to use this. This might not be desirable. You should use
-the more recent version of the GNU `gettext' library. I.e. if the file
-`intl/VERSION' shows that the library which comes with this package is
-more recent, you should use
-
- ./configure --with-included-gettext
-
-to prevent auto-detection.
-
- The configuration process will not test for the `catgets' function
-and therefore it will not be used. The reason is that even an
-emulation of `gettext' on top of `catgets' could not provide all the
-extensions of the GNU `gettext' library.
+probably detect the previously built and installed `libintl' library
+and will decide to use it. If not, you may have to to use the
+`--with-libintl-prefix' option to tell `configure' where to look for it.
Internationalized packages usually have many `po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language. Unless
`LINGUAS' should then contain a space separated list of two-letter
codes, stating which languages are allowed.
-1.3 Using This Package
+1.2 Using This Package
======================
As a user, if your language has been installed for this package, you
to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
(Portuguese as spoken in Portugal) in this context.
-1.4 Translating Teams
+1.3 Translating Teams
=====================
For the Free Translation Project to be a success, we need interested
the terminology in use. Proven linguistic skills are praised more than
programming skills, here.
-1.5 Available Packages
+1.4 Available Packages
======================
Languages are not equally supported in all packages. The following
-matrix shows the current state of internationalization, as of November
-2007. The matrix shows, in regard of each package, for which languages
+matrix shows the current state of internationalization, as of June
+2010. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination, with a
translation percentage of at least 50%.
- Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo
- +----------------------------------------------------+
- Compendium | [] [] [] [] |
- a2ps | [] [] [] [] [] |
- aegis | () |
- ant-phone | () |
- anubis | [] |
- ap-utils | |
- aspell | [] [] [] [] [] |
- bash | [] |
- bfd | |
- bibshelf | [] |
- binutils | |
- bison | [] [] |
- bison-runtime | [] |
- bluez-pin | [] [] [] [] [] |
- cflow | [] |
- clisp | [] [] [] |
- console-tools | [] [] |
- coreutils | [] [] [] [] |
- cpio | |
- cpplib | [] [] [] |
- cryptonit | [] |
- dialog | |
- diffutils | [] [] [] [] [] [] |
- doodle | [] |
- e2fsprogs | [] [] |
- enscript | [] [] [] [] |
- fetchmail | [] [] () [] [] |
- findutils | [] |
- findutils_stable | [] [] [] |
- flex | [] [] [] |
- fslint | |
- gas | |
- gawk | [] [] [] |
- gcal | [] |
- gcc | [] |
- gettext-examples | [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] |
- gettext-tools | [] [] |
- gip | [] |
- gliv | [] [] |
- glunarclock | [] |
- gmult | [] [] |
- gnubiff | () |
- gnucash | [] [] () () [] |
- gnuedu | |
- gnulib | [] |
- gnunet | |
- gnunet-gtk | |
- gnutls | [] |
- gpe-aerial | [] [] |
- gpe-beam | [] [] |
- gpe-calendar | |
- gpe-clock | [] [] |
- gpe-conf | [] [] |
- gpe-contacts | |
- gpe-edit | [] |
- gpe-filemanager | |
- gpe-go | [] |
- gpe-login | [] [] |
- gpe-ownerinfo | [] [] |
- gpe-package | |
- gpe-sketchbook | [] [] |
- gpe-su | [] [] |
- gpe-taskmanager | [] [] |
- gpe-timesheet | [] |
- gpe-today | [] [] |
- gpe-todo | |
- gphoto2 | [] [] [] [] |
- gprof | [] [] |
- gpsdrive | |
- gramadoir | [] [] |
- grep | [] [] |
- gretl | () |
- gsasl | |
- gss | |
- gst-plugins-bad | [] [] |
- gst-plugins-base | [] [] |
- gst-plugins-good | [] [] [] |
- gst-plugins-ugly | [] [] |
- gstreamer | [] [] [] [] [] [] [] |
- gtick | () |
- gtkam | [] [] [] [] |
- gtkorphan | [] [] |
- gtkspell | [] [] [] [] |
- gutenprint | [] |
- hello | [] [] [] [] [] |
- herrie | [] |
- hylafax | |
- idutils | [] [] |
- indent | [] [] [] [] |
- iso_15924 | |
- iso_3166 | [] [] [] [] [] [] [] [] [] [] [] |
- iso_3166_2 | |
- iso_4217 | [] [] [] |
- iso_639 | [] [] [] [] |
- jpilot | [] |
- jtag | |
- jwhois | |
- kbd | [] [] [] [] |
- keytouch | [] [] |
- keytouch-editor | [] |
- keytouch-keyboa... | [] |
- latrine | () |
- ld | [] |
- leafpad | [] [] [] [] [] |
- libc | [] [] [] [] |
- libexif | [] |
- libextractor | [] |
- libgpewidget | [] [] [] |
- libgpg-error | [] |
- libgphoto2 | [] [] |
- libgphoto2_port | [] [] |
- libgsasl | |
- libiconv | [] [] |
- libidn | [] [] [] |
- lifelines | [] () |
- lilypond | [] |
- lingoteach | |
- lprng | |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] |
- mailfromd | |
- mailutils | [] |
- make | [] [] |
- man-db | [] [] [] |
- minicom | [] [] [] |
- nano | [] [] [] |
- opcodes | [] |
- parted | [] [] |
- pilot-qof | |
- popt | [] [] [] |
- psmisc | [] |
- pwdutils | |
- qof | |
- radius | [] |
- recode | [] [] [] [] [] [] |
- rpm | [] |
- screem | |
- scrollkeeper | [] [] [] [] [] [] [] [] |
- sed | [] [] [] |
- shared-mime-info | [] [] [] [] () [] [] [] |
- sharutils | [] [] [] [] [] [] |
- shishi | |
- skencil | [] () |
- solfege | |
- soundtracker | [] [] |
- sp | [] |
- system-tools-ba... | [] [] [] [] [] [] [] [] [] |
- tar | [] [] |
- texinfo | [] [] [] |
- tin | () () |
- tuxpaint | [] [] [] [] [] [] |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux | [] [] [] [] |
- util-linux-ng | [] [] [] [] |
- vorbis-tools | [] |
- wastesedge | () |
- wdiff | [] [] [] [] |
- wget | [] [] [] |
- xchat | [] [] [] [] [] [] [] |
- xkeyboard-config | [] |
- xpad | [] [] [] |
- +----------------------------------------------------+
- af am ar az be bg bs ca cs cy da de el en en_GB eo
- 6 0 2 1 8 26 2 40 48 2 56 88 15 1 15 18
-
- es et eu fa fi fr ga gl gu he hi hr hu id is it
+ Ready PO files af am an ar as ast az be be@latin bg bn_IN bs ca
+--------------------------------------------------+
- Compendium | [] [] [] [] [] |
- a2ps | [] [] [] () |
+ a2ps | [] [] |
aegis | |
- ant-phone | [] |
- anubis | [] |
- ap-utils | [] [] |
- aspell | [] [] [] |
- bash | [] |
- bfd | [] [] |
- bibshelf | [] [] [] |
- binutils | [] [] [] |
- bison | [] [] [] [] [] [] |
- bison-runtime | [] [] [] [] [] |
- bluez-pin | [] [] [] [] [] |
- cflow | [] |
- clisp | [] [] |
- console-tools | |
- coreutils | [] [] [] [] [] [] |
- cpio | [] [] [] |
- cpplib | [] [] |
- cryptonit | [] |
- dialog | [] [] [] |
- diffutils | [] [] [] [] [] [] [] [] [] |
- doodle | [] [] |
- e2fsprogs | [] [] [] |
- enscript | [] [] [] |
- fetchmail | [] |
- findutils | [] [] [] |
- findutils_stable | [] [] [] [] |
- flex | [] [] [] |
- fslint | |
- gas | [] [] |
- gawk | [] [] [] [] () |
- gcal | [] [] |
- gcc | [] |
- gettext-examples | [] [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] |
- gettext-tools | [] [] [] [] |
- gip | [] [] [] [] |
- gliv | () |
- glunarclock | [] [] [] |
- gmult | [] [] [] |
- gnubiff | () () |
- gnucash | () () () |
- gnuedu | [] |
- gnulib | [] [] [] |
- gnunet | |
- gnunet-gtk | |
- gnutls | |
- gpe-aerial | [] [] |
- gpe-beam | [] [] |
- gpe-calendar | |
- gpe-clock | [] [] [] [] |
- gpe-conf | [] |
- gpe-contacts | [] [] |
- gpe-edit | [] [] [] [] |
- gpe-filemanager | [] |
- gpe-go | [] [] [] |
- gpe-login | [] [] [] |
- gpe-ownerinfo | [] [] [] [] [] |
- gpe-package | [] |
- gpe-sketchbook | [] [] |
- gpe-su | [] [] [] [] |
- gpe-taskmanager | [] [] [] |
- gpe-timesheet | [] [] [] [] |
- gpe-today | [] [] [] [] |
- gpe-todo | [] |
- gphoto2 | [] [] [] [] [] |
- gprof | [] [] [] [] [] |
- gpsdrive | [] |
- gramadoir | [] [] |
- grep | [] [] [] |
- gretl | [] [] [] () |
- gsasl | [] [] |
- gss | [] [] |
- gst-plugins-bad | [] [] [] [] |
- gst-plugins-base | [] [] [] [] |
- gst-plugins-good | [] [] [] [] [] |
- gst-plugins-ugly | [] [] [] [] |
- gstreamer | [] [] [] |
- gtick | [] [] [] |
- gtkam | [] [] [] [] |
- gtkorphan | [] [] |
- gtkspell | [] [] [] [] [] [] [] |
- gutenprint | [] |
- hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- herrie | [] |
- hylafax | |
- idutils | [] [] [] [] [] |
- indent | [] [] [] [] [] [] [] [] [] [] |
- iso_15924 | [] |
- iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- iso_3166_2 | [] |
- iso_4217 | [] [] [] [] [] [] |
- iso_639 | [] [] [] [] [] [] |
- jpilot | [] [] |
- jtag | [] |
- jwhois | [] [] [] [] [] |
- kbd | [] [] |
- keytouch | [] [] [] |
- keytouch-editor | [] |
- keytouch-keyboa... | [] [] |
- latrine | [] [] |
- ld | [] [] [] [] |
- leafpad | [] [] [] [] [] [] |
- libc | [] [] [] [] [] |
- libexif | [] |
- libextractor | [] |
- libgpewidget | [] [] [] [] [] |
- libgpg-error | [] |
- libgphoto2 | [] [] [] |
- libgphoto2_port | [] [] |
- libgsasl | [] [] |
- libiconv | [] [] [] |
- libidn | [] [] |
- lifelines | () |
- lilypond | [] [] [] |
- lingoteach | [] [] [] |
- lprng | |
- lynx | [] [] [] |
- m4 | [] [] [] [] |
- mailfromd | |
- mailutils | [] [] |
- make | [] [] [] [] [] [] [] [] |
- man-db | [] |
- minicom | [] [] [] [] |
- nano | [] [] [] [] [] [] [] |
- opcodes | [] [] [] [] |
- parted | [] [] [] |
- pilot-qof | |
- popt | [] [] [] [] |
- psmisc | [] [] |
- pwdutils | |
- qof | [] |
- radius | [] [] |
- recode | [] [] [] [] [] [] [] [] |
- rpm | [] [] |
- screem | |
- scrollkeeper | [] [] [] |
- sed | [] [] [] [] [] |
- shared-mime-info | [] [] [] [] [] [] |
- sharutils | [] [] [] [] [] [] [] [] |
- shishi | [] |
- skencil | [] [] |
- solfege | [] |
- soundtracker | [] [] [] |
- sp | [] |
- system-tools-ba... | [] [] [] [] [] [] [] [] [] |
- tar | [] [] [] [] [] |
- texinfo | [] [] [] |
- tin | [] () |
- tuxpaint | [] [] |
- unicode-han-tra... | |
- unicode-transla... | [] [] |
- util-linux | [] [] [] [] [] [] [] |
- util-linux-ng | [] [] [] [] [] [] [] |
- vorbis-tools | |
- wastesedge | () |
- wdiff | [] [] [] [] [] [] [] [] |
- wget | [] [] [] [] [] [] [] [] |
- xchat | [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] [] |
- xpad | [] [] [] |
- +--------------------------------------------------+
- es et eu fa fi fr ga gl gu he hi hr hu id is it
- 85 22 14 2 48 101 61 12 2 8 2 6 53 29 1 52
-
- ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn
- +--------------------------------------------------+
- Compendium | [] |
- a2ps | () [] [] |
- aegis | () |
- ant-phone | [] |
- anubis | [] [] [] |
- ap-utils | [] |
- aspell | [] [] |
- bash | [] |
+ ant-phone | |
+ anubis | |
+ aspell | [] [] |
+ bash | |
bfd | |
- bibshelf | [] |
+ bibshelf | [] |
binutils | |
- bison | [] [] [] |
- bison-runtime | [] [] [] |
- bluez-pin | [] [] [] |
+ bison | |
+ bison-runtime | [] |
+ bluez-pin | [] [] |
+ bombono-dvd | |
+ buzztard | |
cflow | |
- clisp | [] |
- console-tools | |
- coreutils | [] |
- cpio | [] |
- cpplib | [] |
- cryptonit | [] |
- dialog | [] [] |
- diffutils | [] [] [] |
+ clisp | |
+ coreutils | [] [] |
+ cpio | |
+ cppi | |
+ cpplib | [] |
+ cryptsetup | |
+ dfarc | |
+ dialog | [] [] |
+ dico | |
+ diffutils | [] |
+ dink | |
doodle | |
- e2fsprogs | [] |
- enscript | [] |
- fetchmail | [] [] |
- findutils | [] |
- findutils_stable | [] |
- flex | [] [] |
- fslint | |
+ e2fsprogs | [] |
+ enscript | [] |
+ exif | |
+ fetchmail | [] |
+ findutils | [] |
+ flex | [] |
+ freedink | |
gas | |
- gawk | [] [] |
- gcal | |
+ gawk | [] [] |
+ gcal | [] |
gcc | |
- gettext-examples | [] [] [] |
- gettext-runtime | [] [] [] |
- gettext-tools | [] [] |
- gip | [] [] |
- gliv | [] |
- glunarclock | [] [] |
- gmult | [] [] [] |
+ gettext-examples | [] [] [] [] |
+ gettext-runtime | [] [] |
+ gettext-tools | [] [] |
+ gip | [] |
+ gjay | |
+ gliv | [] |
+ glunarclock | [] [] |
gnubiff | |
- gnucash | () () () |
+ gnucash | [] |
gnuedu | |
- gnulib | [] [] |
+ gnulib | |
gnunet | |
gnunet-gtk | |
- gnutls | [] |
- gpe-aerial | [] |
- gpe-beam | [] |
- gpe-calendar | [] |
- gpe-clock | [] [] [] |
- gpe-conf | [] [] [] |
- gpe-contacts | [] |
- gpe-edit | [] [] [] |
- gpe-filemanager | [] [] |
- gpe-go | [] [] [] |
- gpe-login | [] [] [] |
- gpe-ownerinfo | [] [] |
- gpe-package | [] [] |
- gpe-sketchbook | [] [] |
- gpe-su | [] [] [] |
- gpe-taskmanager | [] [] [] [] |
- gpe-timesheet | [] |
- gpe-today | [] [] |
- gpe-todo | [] |
- gphoto2 | [] [] |
- gprof | [] |
- gpsdrive | [] |
- gramadoir | () |
- grep | [] [] |
- gretl | |
- gsasl | [] |
+ gnutls | |
+ gold | |
+ gpe-aerial | |
+ gpe-beam | |
+ gpe-bluetooth | |
+ gpe-calendar | |
+ gpe-clock | [] |
+ gpe-conf | |
+ gpe-contacts | |
+ gpe-edit | |
+ gpe-filemanager | |
+ gpe-go | |
+ gpe-login | |
+ gpe-ownerinfo | [] |
+ gpe-package | |
+ gpe-sketchbook | |
+ gpe-su | [] |
+ gpe-taskmanager | [] |
+ gpe-timesheet | [] |
+ gpe-today | [] |
+ gpe-todo | |
+ gphoto2 | |
+ gprof | [] |
+ gpsdrive | |
+ gramadoir | |
+ grep | |
+ grub | [] [] |
+ gsasl | |
gss | |
- gst-plugins-bad | [] |
- gst-plugins-base | [] |
- gst-plugins-good | [] |
- gst-plugins-ugly | [] |
- gstreamer | [] |
- gtick | [] |
- gtkam | [] [] |
- gtkorphan | [] |
- gtkspell | [] [] |
- gutenprint | [] |
- hello | [] [] [] [] [] [] [] |
- herrie | [] |
+ gst-plugins-bad | [] |
+ gst-plugins-base | [] |
+ gst-plugins-good | [] |
+ gst-plugins-ugly | [] |
+ gstreamer | [] [] [] |
+ gtick | |
+ gtkam | [] |
+ gtkorphan | [] |
+ gtkspell | [] [] [] |
+ gutenprint | |
+ hello | [] |
+ help2man | |
hylafax | |
- idutils | [] |
- indent | [] [] |
- iso_15924 | [] |
- iso_3166 | [] [] [] [] [] [] [] [] |
- iso_3166_2 | [] |
- iso_4217 | [] [] [] |
- iso_639 | [] [] [] [] |
- jpilot | () () |
- jtag | |
- jwhois | [] |
- kbd | [] |
- keytouch | [] |
- keytouch-editor | [] |
- keytouch-keyboa... | |
- latrine | [] |
- ld | |
- leafpad | [] [] |
- libc | [] [] [] |
- libexif | |
+ idutils | |
+ indent | [] [] |
+ iso_15924 | |
+ iso_3166 | [] [] [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_4217 | |
+ iso_639 | [] [] [] [] |
+ iso_639_3 | |
+ jwhois | |
+ kbd | |
+ keytouch | [] |
+ keytouch-editor | |
+ keytouch-keyboa... | [] |
+ klavaro | [] |
+ latrine | |
+ ld | [] |
+ leafpad | [] [] |
+ libc | [] [] |
+ libexif | () |
libextractor | |
- libgpewidget | [] |
+ libgnutls | |
+ libgpewidget | |
libgpg-error | |
- libgphoto2 | [] |
- libgphoto2_port | [] |
- libgsasl | [] |
- libiconv | [] |
- libidn | [] [] |
- lifelines | [] |
- lilypond | [] |
- lingoteach | [] |
+ libgphoto2 | |
+ libgphoto2_port | |
+ libgsasl | |
+ libiconv | [] |
+ libidn | |
+ lifelines | |
+ liferea | [] [] |
+ lilypond | |
+ linkdr | [] |
+ lordsawar | |
lprng | |
- lynx | [] [] |
- m4 | [] [] |
+ lynx | [] |
+ m4 | |
mailfromd | |
mailutils | |
- make | [] [] [] |
+ make | |
man-db | |
- minicom | [] |
- nano | [] [] [] |
- opcodes | [] |
- parted | [] [] |
- pilot-qof | |
- popt | [] [] [] |
- psmisc | [] [] [] |
+ man-db-manpages | |
+ minicom | |
+ mkisofs | |
+ myserver | |
+ nano | [] [] |
+ opcodes | |
+ parted | |
+ pies | |
+ popt | |
+ psmisc | |
+ pspp | [] |
pwdutils | |
- qof | |
- radius | |
- recode | [] |
- rpm | [] [] |
- screem | [] |
- scrollkeeper | [] [] [] [] |
- sed | [] [] |
- shared-mime-info | [] [] [] [] [] [] [] |
- sharutils | [] [] |
+ radius | [] |
+ recode | [] [] |
+ rosegarden | |
+ rpm | |
+ rush | |
+ sarg | |
+ screem | |
+ scrollkeeper | [] [] [] |
+ sed | [] [] |
+ sharutils | [] [] |
shishi | |
skencil | |
- solfege | () () |
+ solfege | |
+ solfege-manual | |
soundtracker | |
- sp | () |
- system-tools-ba... | [] [] [] [] |
- tar | [] [] [] |
- texinfo | [] [] |
+ sp | |
+ sysstat | |
+ tar | [] |
+ texinfo | |
tin | |
- tuxpaint | () [] [] |
unicode-han-tra... | |
unicode-transla... | |
- util-linux | [] [] |
- util-linux-ng | [] [] |
+ util-linux-ng | [] |
+ vice | |
+ vmm | |
vorbis-tools | |
- wastesedge | [] |
- wdiff | [] [] |
- wget | [] [] |
- xchat | [] [] [] [] |
- xkeyboard-config | [] [] [] |
- xpad | [] [] [] |
- +--------------------------------------------------+
- ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn
- 51 2 25 3 2 0 6 0 2 2 20 0 11 1 103 6
-
- or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
- +--------------------------------------------------+
- Compendium | [] [] [] [] [] |
- a2ps | () [] [] [] [] [] [] |
- aegis | () () |
- ant-phone | [] [] |
- anubis | [] [] [] |
- ap-utils | () |
- aspell | [] [] [] |
- bash | [] [] |
- bfd | |
- bibshelf | [] |
- binutils | [] [] |
- bison | [] [] [] [] [] |
- bison-runtime | [] [] [] [] [] |
- bluez-pin | [] [] [] [] [] [] [] [] [] |
- cflow | [] |
- clisp | [] |
- console-tools | [] |
- coreutils | [] [] [] [] |
- cpio | [] [] [] |
- cpplib | [] |
- cryptonit | [] [] |
- dialog | [] |
- diffutils | [] [] [] [] [] [] |
- doodle | [] [] |
- e2fsprogs | [] [] |
- enscript | [] [] [] [] [] |
- fetchmail | [] [] [] |
- findutils | [] [] [] |
- findutils_stable | [] [] [] [] [] [] |
- flex | [] [] [] [] [] |
- fslint | [] |
- gas | |
- gawk | [] [] [] [] |
- gcal | [] |
- gcc | [] [] |
- gettext-examples | [] [] [] [] [] [] [] [] |
- gettext-runtime | [] [] [] [] [] [] [] [] |
- gettext-tools | [] [] [] [] [] [] [] |
- gip | [] [] [] [] |
- gliv | [] [] [] [] [] [] |
- glunarclock | [] [] [] [] [] [] |
- gmult | [] [] [] [] |
- gnubiff | () [] |
- gnucash | () [] |
- gnuedu | |
- gnulib | [] [] [] |
- gnunet | |
- gnunet-gtk | [] |
- gnutls | [] [] |
- gpe-aerial | [] [] [] [] [] [] [] |
- gpe-beam | [] [] [] [] [] [] [] |
- gpe-calendar | [] [] [] [] |
- gpe-clock | [] [] [] [] [] [] [] [] |
- gpe-conf | [] [] [] [] [] [] [] |
- gpe-contacts | [] [] [] [] [] |
- gpe-edit | [] [] [] [] [] [] [] [] [] |
- gpe-filemanager | [] [] |
- gpe-go | [] [] [] [] [] [] [] [] |
- gpe-login | [] [] [] [] [] [] [] [] |
- gpe-ownerinfo | [] [] [] [] [] [] [] [] |
- gpe-package | [] [] |
- gpe-sketchbook | [] [] [] [] [] [] [] [] |
- gpe-su | [] [] [] [] [] [] [] [] |
- gpe-taskmanager | [] [] [] [] [] [] [] [] |
- gpe-timesheet | [] [] [] [] [] [] [] [] |
- gpe-today | [] [] [] [] [] [] [] [] |
- gpe-todo | [] [] [] [] |
- gphoto2 | [] [] [] [] [] [] |
- gprof | [] [] [] |
- gpsdrive | [] [] |
- gramadoir | [] [] |
- grep | [] [] [] [] |
- gretl | [] [] [] |
- gsasl | [] [] [] |
- gss | [] [] [] [] |
- gst-plugins-bad | [] [] [] |
- gst-plugins-base | [] [] |
- gst-plugins-good | [] [] |
- gst-plugins-ugly | [] [] [] |
- gstreamer | [] [] [] [] |
- gtick | [] |
- gtkam | [] [] [] [] [] |
- gtkorphan | [] |
- gtkspell | [] [] [] [] [] [] [] [] |
- gutenprint | [] |
- hello | [] [] [] [] [] [] [] [] |
- herrie | [] [] [] |
- hylafax | |
- idutils | [] [] [] [] [] |
- indent | [] [] [] [] [] [] [] |
- iso_15924 | |
- iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- iso_3166_2 | |
- iso_4217 | [] [] [] [] [] [] [] |
- iso_639 | [] [] [] [] [] [] [] |
- jpilot | |
- jtag | [] |
- jwhois | [] [] [] [] |
- kbd | [] [] [] |
- keytouch | [] |
- keytouch-editor | [] |
- keytouch-keyboa... | [] |
- latrine | |
- ld | [] |
- leafpad | [] [] [] [] [] [] |
- libc | [] [] [] [] |
- libexif | [] [] |
- libextractor | [] [] |
- libgpewidget | [] [] [] [] [] [] [] [] |
- libgpg-error | [] [] [] |
- libgphoto2 | [] |
- libgphoto2_port | [] [] [] |
- libgsasl | [] [] [] [] |
- libiconv | [] [] [] |
- libidn | [] [] () |
- lifelines | [] [] |
- lilypond | |
- lingoteach | [] |
- lprng | [] |
- lynx | [] [] [] |
- m4 | [] [] [] [] [] |
- mailfromd | [] |
- mailutils | [] [] [] |
- make | [] [] [] [] |
- man-db | [] [] [] [] |
- minicom | [] [] [] [] [] |
- nano | [] [] [] [] |
- opcodes | [] [] |
- parted | [] |
- pilot-qof | |
- popt | [] [] [] [] |
- psmisc | [] [] |
- pwdutils | [] [] |
- qof | [] [] |
- radius | [] [] |
- recode | [] [] [] [] [] [] [] |
- rpm | [] [] [] [] |
- screem | |
- scrollkeeper | [] [] [] [] [] [] [] |
- sed | [] [] [] [] [] [] [] [] [] |
- shared-mime-info | [] [] [] [] [] [] |
- sharutils | [] [] [] [] |
- shishi | [] |
- skencil | [] [] [] |
- solfege | [] |
- soundtracker | [] [] |
- sp | |
- system-tools-ba... | [] [] [] [] [] [] [] [] [] |
- tar | [] [] [] [] |
- texinfo | [] [] [] [] |
- tin | () |
- tuxpaint | [] [] [] [] [] [] |
- unicode-han-tra... | |
- unicode-transla... | |
- util-linux | [] [] [] [] |
- util-linux-ng | [] [] [] [] |
- vorbis-tools | [] |
wastesedge | |
- wdiff | [] [] [] [] [] [] [] |
- wget | [] [] [] [] |
- xchat | [] [] [] [] [] [] [] |
- xkeyboard-config | [] [] [] |
- xpad | [] [] [] |
+ wdiff | |
+ wget | [] [] |
+ wyslij-po | |
+ xchat | [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] |
+--------------------------------------------------+
- or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
- 0 5 77 31 53 4 58 72 3 45 46 9 45 122 3
+ af am an ar as ast az be be@latin bg bn_IN bs ca
+ 6 0 1 2 3 19 1 10 3 28 3 1 38
+
+ crh cs da de el en en_GB en_ZA eo es et eu fa
+ +-------------------------------------------------+
+ a2ps | [] [] [] [] [] [] [] |
+ aegis | [] [] [] |
+ ant-phone | [] () |
+ anubis | [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] [] |
+ bfd | [] |
+ bibshelf | [] [] [] |
+ binutils | [] |
+ bison | [] [] |
+ bison-runtime | [] [] [] [] |
+ bluez-pin | [] [] [] [] [] [] |
+ bombono-dvd | [] |
+ buzztard | [] [] [] |
+ cflow | [] [] |
+ clisp | [] [] [] [] |
+ coreutils | [] [] [] [] |
+ cpio | |
+ cppi | |
+ cpplib | [] [] [] |
+ cryptsetup | [] |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] [] [] [] |
+ dink | [] [] [] |
+ doodle | [] |
+ e2fsprogs | [] [] [] |
+ enscript | [] [] [] |
+ exif | () [] [] |
+ fetchmail | [] [] () [] [] [] |
+ findutils | [] [] [] |
+ flex | [] [] |
+ freedink | [] [] [] |
+ gas | [] |
+ gawk | [] [] [] |
+ gcal | [] |
+ gcc | [] [] |
+ gettext-examples | [] [] [] [] |
+ gettext-runtime | [] [] [] [] |
+ gettext-tools | [] [] [] |
+ gip | [] [] [] [] |
+ gjay | [] |
+ gliv | [] [] [] |
+ glunarclock | [] [] |
+ gnubiff | () |
+ gnucash | [] () () () () |
+ gnuedu | [] [] |
+ gnulib | [] [] |
+ gnunet | |
+ gnunet-gtk | [] |
+ gnutls | [] [] |
+ gold | [] |
+ gpe-aerial | [] [] [] [] |
+ gpe-beam | [] [] [] [] |
+ gpe-bluetooth | [] [] |
+ gpe-calendar | [] |
+ gpe-clock | [] [] [] [] |
+ gpe-conf | [] [] [] |
+ gpe-contacts | [] [] [] |
+ gpe-edit | [] [] |
+ gpe-filemanager | [] [] [] |
+ gpe-go | [] [] [] [] |
+ gpe-login | [] [] |
+ gpe-ownerinfo | [] [] [] [] |
+ gpe-package | [] [] [] |
+ gpe-sketchbook | [] [] [] [] |
+ gpe-su | [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] |
+ gpe-timesheet | [] [] [] [] |
+ gpe-today | [] [] [] [] |
+ gpe-todo | [] [] [] |
+ gphoto2 | [] [] () [] [] [] |
+ gprof | [] [] [] |
+ gpsdrive | [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] |
+ grub | [] [] |
+ gsasl | [] |
+ gss | |
+ gst-plugins-bad | [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] () [] |
+ gtkam | [] [] () [] [] |
+ gtkorphan | [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ gutenprint | [] [] [] |
+ hello | [] [] [] [] |
+ help2man | [] |
+ hylafax | [] [] |
+ idutils | [] [] |
+ indent | [] [] [] [] [] [] [] |
+ iso_15924 | [] () [] [] |
+ iso_3166 | [] [] [] [] () [] [] [] () |
+ iso_3166_2 | () |
+ iso_4217 | [] [] [] () [] [] |
+ iso_639 | [] [] [] [] () [] [] |
+ iso_639_3 | [] |
+ jwhois | [] |
+ kbd | [] [] [] [] [] |
+ keytouch | [] [] |
+ keytouch-editor | [] [] |
+ keytouch-keyboa... | [] |
+ klavaro | [] [] [] [] |
+ latrine | [] () |
+ ld | [] [] |
+ leafpad | [] [] [] [] [] [] |
+ libc | [] [] [] [] |
+ libexif | [] [] () |
+ libextractor | |
+ libgnutls | [] |
+ libgpewidget | [] [] |
+ libgpg-error | [] [] |
+ libgphoto2 | [] () |
+ libgphoto2_port | [] () [] |
+ libgsasl | |
+ libiconv | [] [] [] [] [] |
+ libidn | [] [] [] |
+ lifelines | [] () |
+ liferea | [] [] [] [] [] |
+ lilypond | [] [] [] |
+ linkdr | [] [] [] |
+ lordsawar | [] |
+ lprng | |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] [] |
+ mailfromd | |
+ mailutils | [] |
+ make | [] [] [] |
+ man-db | |
+ man-db-manpages | |
+ minicom | [] [] [] [] |
+ mkisofs | |
+ myserver | |
+ nano | [] [] [] |
+ opcodes | [] [] |
+ parted | [] [] |
+ pies | |
+ popt | [] [] [] [] [] |
+ psmisc | [] [] [] |
+ pspp | [] |
+ pwdutils | [] |
+ radius | [] |
+ recode | [] [] [] [] [] [] |
+ rosegarden | () () () |
+ rpm | [] [] [] |
+ rush | |
+ sarg | |
+ screem | |
+ scrollkeeper | [] [] [] [] [] |
+ sed | [] [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | |
+ skencil | [] () [] |
+ solfege | [] [] [] |
+ solfege-manual | [] [] |
+ soundtracker | [] [] [] |
+ sp | [] |
+ sysstat | [] [] [] |
+ tar | [] [] [] [] |
+ texinfo | [] [] [] |
+ tin | [] [] |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux-ng | [] [] [] [] |
+ vice | () () |
+ vmm | [] |
+ vorbis-tools | [] [] |
+ wastesedge | [] |
+ wdiff | [] [] |
+ wget | [] [] [] |
+ wyslij-po | |
+ xchat | [] [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] [] |
+ +-------------------------------------------------+
+ crh cs da de el en en_GB en_ZA eo es et eu fa
+ 5 64 105 117 18 1 8 0 28 89 18 19 0
+
+ fi fr ga gl gu he hi hr hu hy id is it ja ka kn
+ +----------------------------------------------------+
+ a2ps | [] [] [] [] |
+ aegis | [] [] |
+ ant-phone | [] [] |
+ anubis | [] [] [] [] |
+ aspell | [] [] [] [] |
+ bash | [] [] [] [] |
+ bfd | [] [] [] |
+ bibshelf | [] [] [] [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] |
+ bison-runtime | [] [] [] [] [] [] |
+ bluez-pin | [] [] [] [] [] [] [] [] |
+ bombono-dvd | [] |
+ buzztard | [] |
+ cflow | [] [] [] |
+ clisp | [] |
+ coreutils | [] [] [] [] [] |
+ cpio | [] [] [] [] |
+ cppi | [] [] |
+ cpplib | [] [] [] |
+ cryptsetup | [] [] [] |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] [] [] [] [] [] [] |
+ dink | [] |
+ doodle | [] [] |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] [] [] [] |
+ findutils | [] [] [] [] [] [] |
+ flex | [] [] [] |
+ freedink | [] [] [] |
+ gas | [] [] |
+ gawk | [] [] [] [] () [] |
+ gcal | [] |
+ gcc | [] |
+ gettext-examples | [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] |
+ gip | [] [] [] [] [] [] |
+ gjay | [] |
+ gliv | [] () |
+ glunarclock | [] [] [] [] |
+ gnubiff | () [] () |
+ gnucash | () () () () () [] |
+ gnuedu | [] [] |
+ gnulib | [] [] [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | [] |
+ gnutls | [] [] |
+ gold | [] [] |
+ gpe-aerial | [] [] [] |
+ gpe-beam | [] [] [] [] |
+ gpe-bluetooth | [] [] [] [] |
+ gpe-calendar | [] [] |
+ gpe-clock | [] [] [] [] [] |
+ gpe-conf | [] [] [] [] |
+ gpe-contacts | [] [] [] [] |
+ gpe-edit | [] [] [] |
+ gpe-filemanager | [] [] [] [] |
+ gpe-go | [] [] [] [] [] |
+ gpe-login | [] [] [] |
+ gpe-ownerinfo | [] [] [] [] [] |
+ gpe-package | [] [] [] |
+ gpe-sketchbook | [] [] [] [] |
+ gpe-su | [] [] [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] [] |
+ gpe-timesheet | [] [] [] [] [] |
+ gpe-today | [] [] [] [] [] [] [] |
+ gpe-todo | [] [] [] |
+ gphoto2 | [] [] [] [] [] [] |
+ gprof | [] [] [] [] |
+ gpsdrive | [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] [] |
+ grub | [] [] [] [] |
+ gsasl | [] [] [] [] [] |
+ gss | [] [] [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] [] [] |
+ gtkam | [] [] [] [] [] |
+ gtkorphan | [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] |
+ gutenprint | [] [] [] [] |
+ hello | [] [] [] |
+ help2man | [] [] |
+ hylafax | [] |
+ idutils | [] [] [] [] [] [] |
+ indent | [] [] [] [] [] [] [] [] |
+ iso_15924 | [] () [] [] |
+ iso_3166 | [] () [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | () [] [] [] |
+ iso_4217 | [] () [] [] [] [] |
+ iso_639 | [] () [] [] [] [] [] [] [] |
+ iso_639_3 | () [] [] |
+ jwhois | [] [] [] [] [] |
+ kbd | [] [] |
+ keytouch | [] [] [] [] [] [] |
+ keytouch-editor | [] [] [] [] [] |
+ keytouch-keyboa... | [] [] [] [] [] |
+ klavaro | [] [] |
+ latrine | [] [] [] |
+ ld | [] [] [] [] |
+ leafpad | [] [] [] [] [] [] [] () |
+ libc | [] [] [] [] [] |
+ libexif | [] |
+ libextractor | |
+ libgnutls | [] [] |
+ libgpewidget | [] [] [] [] |
+ libgpg-error | [] [] |
+ libgphoto2 | [] [] [] |
+ libgphoto2_port | [] [] [] |
+ libgsasl | [] [] [] [] [] |
+ libiconv | [] [] [] [] [] [] |
+ libidn | [] [] [] [] |
+ lifelines | () |
+ liferea | [] [] [] [] |
+ lilypond | [] [] |
+ linkdr | [] [] [] [] [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] [] [] |
+ m4 | [] [] [] [] [] [] |
+ mailfromd | |
+ mailutils | [] [] |
+ make | [] [] [] [] [] [] [] [] [] |
+ man-db | [] [] |
+ man-db-manpages | [] |
+ minicom | [] [] [] [] [] |
+ mkisofs | [] [] [] [] |
+ myserver | |
+ nano | [] [] [] [] [] [] |
+ opcodes | [] [] [] [] |
+ parted | [] [] [] [] |
+ pies | |
+ popt | [] [] [] [] [] [] [] [] [] |
+ psmisc | [] [] [] |
+ pspp | |
+ pwdutils | [] [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] [] |
+ rosegarden | () () () () () |
+ rpm | [] [] |
+ rush | |
+ sarg | [] |
+ screem | [] [] |
+ scrollkeeper | [] [] [] [] |
+ sed | [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] [] [] [] [] |
+ shishi | [] |
+ skencil | [] |
+ solfege | [] [] [] [] |
+ solfege-manual | [] [] |
+ soundtracker | [] [] |
+ sp | [] () |
+ sysstat | [] [] [] [] [] |
+ tar | [] [] [] [] [] [] [] |
+ texinfo | [] [] [] [] |
+ tin | [] |
+ unicode-han-tra... | |
+ unicode-transla... | [] [] |
+ util-linux-ng | [] [] [] [] [] [] |
+ vice | () () () |
+ vmm | [] |
+ vorbis-tools | [] |
+ wastesedge | () () |
+ wdiff | [] |
+ wget | [] [] [] [] [] [] [] [] |
+ wyslij-po | [] [] [] |
+ xchat | [] [] [] [] [] [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] |
+ +----------------------------------------------------+
+ fi fr ga gl gu he hi hr hu hy id is it ja ka kn
+ 105 121 53 20 4 8 3 5 53 2 120 5 84 67 0 4
+
+ ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
+ +-----------------------------------------------+
+ a2ps | [] |
+ aegis | |
+ ant-phone | |
+ anubis | [] [] |
+ aspell | [] |
+ bash | |
+ bfd | |
+ bibshelf | [] [] |
+ binutils | |
+ bison | [] |
+ bison-runtime | [] [] [] [] [] |
+ bluez-pin | [] [] [] [] [] |
+ bombono-dvd | |
+ buzztard | |
+ cflow | |
+ clisp | |
+ coreutils | [] |
+ cpio | |
+ cppi | |
+ cpplib | |
+ cryptsetup | |
+ dfarc | [] |
+ dialog | [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] |
+ dink | |
+ doodle | |
+ e2fsprogs | |
+ enscript | |
+ exif | [] |
+ fetchmail | |
+ findutils | |
+ flex | |
+ freedink | [] |
+ gas | |
+ gawk | |
+ gcal | |
+ gcc | |
+ gettext-examples | [] [] [] [] |
+ gettext-runtime | [] |
+ gettext-tools | [] |
+ gip | [] [] |
+ gjay | |
+ gliv | |
+ glunarclock | [] |
+ gnubiff | |
+ gnucash | () () () () |
+ gnuedu | |
+ gnulib | |
+ gnunet | |
+ gnunet-gtk | |
+ gnutls | [] |
+ gold | |
+ gpe-aerial | [] |
+ gpe-beam | [] |
+ gpe-bluetooth | [] [] |
+ gpe-calendar | [] |
+ gpe-clock | [] [] [] [] [] |
+ gpe-conf | [] [] |
+ gpe-contacts | [] [] |
+ gpe-edit | [] |
+ gpe-filemanager | [] [] |
+ gpe-go | [] [] [] |
+ gpe-login | [] |
+ gpe-ownerinfo | [] [] |
+ gpe-package | [] [] |
+ gpe-sketchbook | [] [] |
+ gpe-su | [] [] [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] [] [] |
+ gpe-timesheet | [] [] |
+ gpe-today | [] [] [] [] |
+ gpe-todo | [] [] |
+ gphoto2 | |
+ gprof | [] |
+ gpsdrive | |
+ gramadoir | |
+ grep | |
+ grub | |
+ gsasl | |
+ gss | |
+ gst-plugins-bad | [] [] [] [] |
+ gst-plugins-base | [] [] |
+ gst-plugins-good | [] [] |
+ gst-plugins-ugly | [] [] [] [] [] |
+ gstreamer | |
+ gtick | |
+ gtkam | [] |
+ gtkorphan | [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ gutenprint | |
+ hello | [] [] [] |
+ help2man | |
+ hylafax | |
+ idutils | |
+ indent | |
+ iso_15924 | [] [] |
+ iso_3166 | [] [] () [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_4217 | [] [] |
+ iso_639 | [] [] |
+ iso_639_3 | [] |
+ jwhois | [] |
+ kbd | |
+ keytouch | [] |
+ keytouch-editor | [] |
+ keytouch-keyboa... | [] |
+ klavaro | [] |
+ latrine | [] |
+ ld | |
+ leafpad | [] [] [] |
+ libc | [] |
+ libexif | |
+ libextractor | |
+ libgnutls | [] |
+ libgpewidget | [] [] |
+ libgpg-error | |
+ libgphoto2 | |
+ libgphoto2_port | |
+ libgsasl | |
+ libiconv | |
+ libidn | |
+ lifelines | |
+ liferea | |
+ lilypond | |
+ linkdr | |
+ lordsawar | |
+ lprng | |
+ lynx | |
+ m4 | |
+ mailfromd | |
+ mailutils | |
+ make | [] |
+ man-db | |
+ man-db-manpages | |
+ minicom | [] |
+ mkisofs | |
+ myserver | |
+ nano | [] [] |
+ opcodes | |
+ parted | |
+ pies | |
+ popt | [] [] [] |
+ psmisc | |
+ pspp | |
+ pwdutils | |
+ radius | |
+ recode | |
+ rosegarden | |
+ rpm | |
+ rush | |
+ sarg | |
+ screem | |
+ scrollkeeper | [] [] |
+ sed | |
+ sharutils | |
+ shishi | |
+ skencil | |
+ solfege | [] |
+ solfege-manual | |
+ soundtracker | |
+ sp | |
+ sysstat | [] |
+ tar | [] |
+ texinfo | [] |
+ tin | |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux-ng | |
+ vice | |
+ vmm | |
+ vorbis-tools | |
+ wastesedge | |
+ wdiff | |
+ wget | [] |
+ wyslij-po | |
+ xchat | [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +-----------------------------------------------+
+ ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne
+ 20 5 10 1 13 48 4 2 2 4 24 10 20 3 1
+
+ nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ +---------------------------------------------------+
+ a2ps | [] [] [] [] [] [] [] [] |
+ aegis | [] [] [] |
+ ant-phone | [] [] |
+ anubis | [] [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] |
+ bfd | [] |
+ bibshelf | [] [] |
+ binutils | [] [] |
+ bison | [] [] [] |
+ bison-runtime | [] [] [] [] [] [] [] |
+ bluez-pin | [] [] [] [] [] [] [] [] |
+ bombono-dvd | [] () |
+ buzztard | [] [] |
+ cflow | [] |
+ clisp | [] [] |
+ coreutils | [] [] [] [] [] [] |
+ cpio | [] [] [] |
+ cppi | [] |
+ cpplib | [] |
+ cryptsetup | [] |
+ dfarc | [] |
+ dialog | [] [] [] [] |
+ dico | [] |
+ diffutils | [] [] [] [] [] [] |
+ dink | () |
+ doodle | [] [] |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] [] [] |
+ exif | [] [] [] () [] |
+ fetchmail | [] [] [] [] |
+ findutils | [] [] [] [] [] |
+ flex | [] [] [] [] [] |
+ freedink | [] [] |
+ gas | |
+ gawk | [] [] [] [] |
+ gcal | |
+ gcc | [] |
+ gettext-examples | [] [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] [] |
+ gip | [] [] [] [] [] |
+ gjay | |
+ gliv | [] [] [] [] [] [] |
+ glunarclock | [] [] [] [] [] |
+ gnubiff | [] () |
+ gnucash | [] () () () |
+ gnuedu | [] |
+ gnulib | [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gnutls | [] [] |
+ gold | |
+ gpe-aerial | [] [] [] [] [] [] [] |
+ gpe-beam | [] [] [] [] [] [] [] |
+ gpe-bluetooth | [] [] |
+ gpe-calendar | [] [] [] [] |
+ gpe-clock | [] [] [] [] [] [] [] [] |
+ gpe-conf | [] [] [] [] [] [] [] |
+ gpe-contacts | [] [] [] [] [] |
+ gpe-edit | [] [] [] |
+ gpe-filemanager | [] [] [] |
+ gpe-go | [] [] [] [] [] [] [] [] |
+ gpe-login | [] [] |
+ gpe-ownerinfo | [] [] [] [] [] [] [] [] |
+ gpe-package | [] [] |
+ gpe-sketchbook | [] [] [] [] [] [] [] |
+ gpe-su | [] [] [] [] [] [] [] [] |
+ gpe-taskmanager | [] [] [] [] [] [] [] [] |
+ gpe-timesheet | [] [] [] [] [] [] [] [] |
+ gpe-today | [] [] [] [] [] [] [] [] |
+ gpe-todo | [] [] [] [] [] |
+ gphoto2 | [] [] [] [] [] [] [] [] |
+ gprof | [] [] [] |
+ gpsdrive | [] [] |
+ gramadoir | [] [] |
+ grep | [] [] [] [] |
+ grub | [] [] [] |
+ gsasl | [] [] [] [] |
+ gss | [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] |
+ gtkam | [] [] [] [] [] [] |
+ gtkorphan | [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] [] |
+ gutenprint | [] [] |
+ hello | [] [] [] [] |
+ help2man | [] [] |
+ hylafax | [] |
+ idutils | [] [] [] [] [] |
+ indent | [] [] [] [] [] [] [] |
+ iso_15924 | [] [] [] [] |
+ iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] [] [] |
+ iso_4217 | [] [] [] [] [] [] [] [] |
+ iso_639 | [] [] [] [] [] [] [] [] [] |
+ iso_639_3 | [] [] |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] |
+ keytouch | [] [] [] |
+ keytouch-editor | [] [] [] |
+ keytouch-keyboa... | [] [] [] |
+ klavaro | [] [] |
+ latrine | [] [] |
+ ld | |
+ leafpad | [] [] [] [] [] [] [] [] [] |
+ libc | [] [] [] [] |
+ libexif | [] [] () [] |
+ libextractor | |
+ libgnutls | [] [] |
+ libgpewidget | [] [] [] |
+ libgpg-error | [] [] |
+ libgphoto2 | [] [] |
+ libgphoto2_port | [] [] [] [] [] |
+ libgsasl | [] [] [] [] [] |
+ libiconv | [] [] [] [] [] |
+ libidn | [] [] |
+ lifelines | [] [] |
+ liferea | [] [] [] [] [] () () [] |
+ lilypond | [] |
+ linkdr | [] [] [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] |
+ make | [] [] [] [] |
+ man-db | [] [] [] |
+ man-db-manpages | [] [] [] |
+ minicom | [] [] [] [] |
+ mkisofs | [] [] [] |
+ myserver | |
+ nano | [] [] [] [] |
+ opcodes | [] [] |
+ parted | [] [] [] [] |
+ pies | [] |
+ popt | [] [] [] [] |
+ psmisc | [] [] [] |
+ pspp | [] [] |
+ pwdutils | [] |
+ radius | [] [] [] |
+ recode | [] [] [] [] [] [] [] [] |
+ rosegarden | () () |
+ rpm | [] [] [] |
+ rush | [] [] |
+ sarg | |
+ screem | |
+ scrollkeeper | [] [] [] [] [] [] [] [] |
+ sed | [] [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] |
+ skencil | [] [] |
+ solfege | [] [] [] [] |
+ solfege-manual | [] [] [] |
+ soundtracker | [] |
+ sp | |
+ sysstat | [] [] [] [] |
+ tar | [] [] [] [] |
+ texinfo | [] [] [] [] |
+ tin | [] |
+ unicode-han-tra... | |
+ unicode-transla... | |
+ util-linux-ng | [] [] [] [] [] |
+ vice | [] |
+ vmm | [] |
+ vorbis-tools | [] [] |
+ wastesedge | [] |
+ wdiff | [] [] |
+ wget | [] [] [] [] [] [] [] |
+ wyslij-po | [] [] [] |
+ xchat | [] [] [] [] [] [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +---------------------------------------------------+
+ nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ 135 10 4 7 105 1 29 62 47 91 3 54 46 9 37
- tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu
+ sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW
+---------------------------------------------------+
- Compendium | [] [] [] [] | 19
- a2ps | [] [] [] | 19
- aegis | [] | 1
- ant-phone | [] [] | 6
- anubis | [] [] [] | 11
- ap-utils | () [] | 4
- aspell | [] [] [] | 16
- bash | [] | 6
- bfd | | 2
- bibshelf | [] | 7
- binutils | [] [] [] [] | 9
- bison | [] [] [] [] | 20
- bison-runtime | [] [] [] [] | 18
- bluez-pin | [] [] [] [] [] [] | 28
- cflow | [] [] | 5
- clisp | | 9
- console-tools | [] [] | 5
- coreutils | [] [] [] | 18
- cpio | [] [] [] [] | 11
- cpplib | [] [] [] [] [] | 12
- cryptonit | [] | 6
- dialog | [] [] [] | 9
- diffutils | [] [] [] [] [] | 29
- doodle | [] | 6
- e2fsprogs | [] [] | 10
- enscript | [] [] [] | 16
- fetchmail | [] [] | 12
- findutils | [] [] [] | 11
- findutils_stable | [] [] [] [] | 18
- flex | [] [] | 15
- fslint | [] | 2
- gas | [] | 3
- gawk | [] [] [] | 16
- gcal | [] | 5
- gcc | [] [] [] | 7
- gettext-examples | [] [] [] [] [] [] | 29
- gettext-runtime | [] [] [] [] [] [] | 28
- gettext-tools | [] [] [] [] [] | 20
- gip | [] [] | 13
- gliv | [] [] | 11
- glunarclock | [] [] [] | 15
- gmult | [] [] [] [] | 16
- gnubiff | [] | 2
- gnucash | () [] | 5
- gnuedu | [] | 2
- gnulib | [] | 10
- gnunet | | 0
- gnunet-gtk | [] [] | 3
- gnutls | | 4
- gpe-aerial | [] [] | 14
- gpe-beam | [] [] | 14
- gpe-calendar | [] [] | 7
- gpe-clock | [] [] [] [] | 21
- gpe-conf | [] [] [] | 16
- gpe-contacts | [] [] | 10
- gpe-edit | [] [] [] [] [] | 22
- gpe-filemanager | [] [] | 7
- gpe-go | [] [] [] [] | 19
- gpe-login | [] [] [] [] [] | 21
- gpe-ownerinfo | [] [] [] [] | 21
- gpe-package | [] | 6
- gpe-sketchbook | [] [] | 16
- gpe-su | [] [] [] [] | 21
- gpe-taskmanager | [] [] [] [] | 21
- gpe-timesheet | [] [] [] [] | 18
- gpe-today | [] [] [] [] [] | 21
- gpe-todo | [] [] | 8
- gphoto2 | [] [] [] [] | 21
- gprof | [] [] | 13
- gpsdrive | [] | 5
- gramadoir | [] | 7
- grep | [] | 12
- gretl | | 6
- gsasl | [] [] [] | 9
- gss | [] | 7
- gst-plugins-bad | [] [] [] | 13
- gst-plugins-base | [] [] | 11
- gst-plugins-good | [] [] [] [] [] | 16
- gst-plugins-ugly | [] [] [] | 13
- gstreamer | [] [] [] | 18
- gtick | [] [] | 7
- gtkam | [] | 16
- gtkorphan | [] | 7
- gtkspell | [] [] [] [] [] [] | 27
- gutenprint | | 4
- hello | [] [] [] [] [] | 38
- herrie | [] [] | 8
- hylafax | | 0
- idutils | [] [] | 15
- indent | [] [] [] [] [] | 28
- iso_15924 | [] [] | 4
- iso_3166 | [] [] [] [] [] [] [] [] [] | 54
- iso_3166_2 | [] [] | 4
- iso_4217 | [] [] [] [] [] | 24
- iso_639 | [] [] [] [] [] | 26
- jpilot | [] [] [] [] | 7
- jtag | [] | 3
- jwhois | [] [] [] | 13
- kbd | [] [] [] | 13
- keytouch | [] | 8
- keytouch-editor | [] | 5
- keytouch-keyboa... | [] | 5
- latrine | [] [] | 5
- ld | [] [] [] [] | 10
- leafpad | [] [] [] [] [] | 24
- libc | [] [] [] | 19
- libexif | [] | 5
- libextractor | [] | 5
- libgpewidget | [] [] [] | 20
- libgpg-error | [] | 6
- libgphoto2 | [] [] | 9
- libgphoto2_port | [] [] [] | 11
- libgsasl | [] | 8
- libiconv | [] [] | 11
- libidn | [] [] | 11
- lifelines | | 4
- lilypond | [] | 6
- lingoteach | [] | 6
- lprng | [] | 2
- lynx | [] [] [] | 15
- m4 | [] [] [] | 18
- mailfromd | [] [] | 3
- mailutils | [] [] | 8
- make | [] [] [] | 20
- man-db | [] | 9
- minicom | [] | 14
- nano | [] [] [] | 20
- opcodes | [] [] | 10
- parted | [] [] [] | 11
- pilot-qof | [] | 1
- popt | [] [] [] [] | 18
- psmisc | [] [] | 10
- pwdutils | [] | 3
- qof | [] | 4
- radius | [] [] | 7
- recode | [] [] [] | 25
- rpm | [] [] [] [] | 13
- screem | [] | 2
- scrollkeeper | [] [] [] [] | 26
- sed | [] [] [] [] | 23
- shared-mime-info | [] [] [] | 29
- sharutils | [] [] [] | 23
- shishi | [] | 3
- skencil | [] | 7
- solfege | [] | 3
- soundtracker | [] [] | 9
- sp | [] | 3
- system-tools-ba... | [] [] [] [] [] [] [] | 38
- tar | [] [] [] | 17
- texinfo | [] [] [] | 15
- tin | | 1
- tuxpaint | [] [] [] | 19
+ a2ps | [] [] [] [] [] | 27
+ aegis | [] | 9
+ ant-phone | [] [] [] [] | 9
+ anubis | [] [] [] [] | 15
+ aspell | [] [] [] | 20
+ bash | [] [] [] | 12
+ bfd | [] | 6
+ bibshelf | [] [] [] | 16
+ binutils | [] [] | 8
+ bison | [] [] | 12
+ bison-runtime | [] [] [] [] [] [] | 29
+ bluez-pin | [] [] [] [] [] [] [] [] | 37
+ bombono-dvd | [] | 4
+ buzztard | [] | 7
+ cflow | [] [] [] | 9
+ clisp | | 10
+ coreutils | [] [] [] [] | 22
+ cpio | [] [] [] [] [] [] | 13
+ cppi | [] [] | 5
+ cpplib | [] [] [] [] [] [] | 14
+ cryptsetup | [] [] | 7
+ dfarc | [] | 9
+ dialog | [] [] [] [] [] [] [] | 30
+ dico | [] | 2
+ diffutils | [] [] [] [] [] [] | 30
+ dink | | 4
+ doodle | [] [] | 7
+ e2fsprogs | [] [] [] | 11
+ enscript | [] [] [] [] | 17
+ exif | [] [] [] | 16
+ fetchmail | [] [] [] | 17
+ findutils | [] [] [] [] [] | 20
+ flex | [] [] [] [] | 15
+ freedink | [] | 10
+ gas | [] | 4
+ gawk | [] [] [] [] | 18
+ gcal | [] [] | 5
+ gcc | [] [] [] | 7
+ gettext-examples | [] [] [] [] [] [] [] | 34
+ gettext-runtime | [] [] [] [] [] [] [] | 29
+ gettext-tools | [] [] [] [] [] [] | 22
+ gip | [] [] [] [] | 22
+ gjay | [] | 3
+ gliv | [] [] [] | 14
+ glunarclock | [] [] [] [] [] | 19
+ gnubiff | [] [] | 4
+ gnucash | () [] () [] () | 10
+ gnuedu | [] [] | 7
+ gnulib | [] [] [] [] | 16
+ gnunet | [] | 1
+ gnunet-gtk | [] [] [] | 5
+ gnutls | [] [] [] | 10
+ gold | [] | 4
+ gpe-aerial | [] [] [] | 18
+ gpe-beam | [] [] [] | 19
+ gpe-bluetooth | [] [] [] | 13
+ gpe-calendar | [] [] [] [] | 12
+ gpe-clock | [] [] [] [] [] | 28
+ gpe-conf | [] [] [] [] | 20
+ gpe-contacts | [] [] [] | 17
+ gpe-edit | [] [] [] | 12
+ gpe-filemanager | [] [] [] [] | 16
+ gpe-go | [] [] [] [] [] | 25
+ gpe-login | [] [] [] | 11
+ gpe-ownerinfo | [] [] [] [] [] | 25
+ gpe-package | [] [] [] | 13
+ gpe-sketchbook | [] [] [] | 20
+ gpe-su | [] [] [] [] [] | 30
+ gpe-taskmanager | [] [] [] [] [] | 29
+ gpe-timesheet | [] [] [] [] [] | 25
+ gpe-today | [] [] [] [] [] [] | 30
+ gpe-todo | [] [] [] [] | 17
+ gphoto2 | [] [] [] [] [] | 24
+ gprof | [] [] [] | 15
+ gpsdrive | [] [] [] | 11
+ gramadoir | [] [] [] | 11
+ grep | [] [] [] | 10
+ grub | [] [] [] | 14
+ gsasl | [] [] [] [] | 14
+ gss | [] [] [] | 11
+ gst-plugins-bad | [] [] [] [] | 26
+ gst-plugins-base | [] [] [] [] [] | 24
+ gst-plugins-good | [] [] [] [] | 24
+ gst-plugins-ugly | [] [] [] [] [] | 29
+ gstreamer | [] [] [] [] | 22
+ gtick | [] [] [] | 13
+ gtkam | [] [] [] | 20
+ gtkorphan | [] [] [] | 14
+ gtkspell | [] [] [] [] [] [] [] [] [] | 45
+ gutenprint | [] | 10
+ hello | [] [] [] [] [] [] | 21
+ help2man | [] [] | 7
+ hylafax | [] | 5
+ idutils | [] [] [] [] | 17
+ indent | [] [] [] [] [] [] | 30
+ iso_15924 | () [] () [] [] | 16
+ iso_3166 | [] [] () [] [] () [] [] [] () | 53
+ iso_3166_2 | () [] () [] | 9
+ iso_4217 | [] () [] [] () [] [] | 26
+ iso_639 | [] [] [] () [] () [] [] [] [] | 38
+ iso_639_3 | [] () | 8
+ jwhois | [] [] [] [] [] | 16
+ kbd | [] [] [] [] [] | 15
+ keytouch | [] [] [] | 16
+ keytouch-editor | [] [] [] | 14
+ keytouch-keyboa... | [] [] [] | 14
+ klavaro | [] | 11
+ latrine | [] [] [] | 10
+ ld | [] [] [] [] | 11
+ leafpad | [] [] [] [] [] [] | 33
+ libc | [] [] [] [] [] | 21
+ libexif | [] () | 7
+ libextractor | [] | 1
+ libgnutls | [] [] [] | 9
+ libgpewidget | [] [] [] | 14
+ libgpg-error | [] [] [] | 9
+ libgphoto2 | [] [] | 8
+ libgphoto2_port | [] [] [] [] | 14
+ libgsasl | [] [] [] | 13
+ libiconv | [] [] [] [] | 21
+ libidn | () [] [] | 11
+ lifelines | [] | 4
+ liferea | [] [] [] | 21
+ lilypond | [] | 7
+ linkdr | [] [] [] [] [] | 17
+ lordsawar | | 1
+ lprng | [] | 3
+ lynx | [] [] [] [] | 17
+ m4 | [] [] [] [] | 19
+ mailfromd | [] [] | 3
+ mailutils | [] | 5
+ make | [] [] [] [] | 21
+ man-db | [] [] [] | 8
+ man-db-manpages | | 4
+ minicom | [] [] | 16
+ mkisofs | [] [] | 9
+ myserver | | 0
+ nano | [] [] [] [] | 21
+ opcodes | [] [] [] | 11
+ parted | [] [] [] [] [] | 15
+ pies | [] [] | 3
+ popt | [] [] [] [] [] [] | 27
+ psmisc | [] [] | 11
+ pspp | | 4
+ pwdutils | [] [] | 6
+ radius | [] [] | 9
+ recode | [] [] [] [] | 28
+ rosegarden | () | 0
+ rpm | [] [] [] | 11
+ rush | [] [] | 4
+ sarg | | 1
+ screem | [] | 3
+ scrollkeeper | [] [] [] [] [] | 27
+ sed | [] [] [] [] [] | 30
+ sharutils | [] [] [] [] [] | 22
+ shishi | [] | 3
+ skencil | [] [] | 7
+ solfege | [] [] [] [] | 16
+ solfege-manual | [] | 8
+ soundtracker | [] [] [] | 9
+ sp | [] | 3
+ sysstat | [] [] | 15
+ tar | [] [] [] [] [] [] | 23
+ texinfo | [] [] [] [] [] | 17
+ tin | | 4
unicode-han-tra... | | 0
unicode-transla... | | 2
- util-linux | [] [] [] | 20
- util-linux-ng | [] [] [] | 20
- vorbis-tools | [] [] | 4
- wastesedge | | 1
- wdiff | [] [] | 23
- wget | [] [] [] | 20
- xchat | [] [] [] [] | 29
- xkeyboard-config | [] [] [] | 14
- xpad | [] [] [] | 15
+ util-linux-ng | [] [] [] [] | 20
+ vice | () () | 1
+ vmm | [] | 4
+ vorbis-tools | [] | 6
+ wastesedge | | 2
+ wdiff | [] [] | 7
+ wget | [] [] [] [] [] | 26
+ wyslij-po | [] [] | 8
+ xchat | [] [] [] [] [] [] | 36
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | 63
+ xkeyboard-config | [] [] [] | 22
+---------------------------------------------------+
- 76 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu
- 163 domains 0 3 1 74 51 0 143 21 1 57 7 45 0 2036
+ 85 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW
+ 178 domains 119 1 3 3 0 10 65 51 155 17 98 7 41 2618
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
lag between the mere existence a PO file and its wide availability in a
distribution.
- If November 2007 seems to be old, you may fetch a more recent copy
-of this `ABOUT-NLS' file on most GNU archive sites. The most
-up-to-date matrix with full percentage details can be found at
+ If June 2010 seems to be old, you may fetch a more recent copy of
+this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
+matrix with full percentage details can be found at
`http://translationproject.org/extra/matrix.html'.
-1.6 Using `gettext' in new packages
+1.5 Using `gettext' in new packages
===================================
If you are writing a freely available program and want to
Libidn AUTHORS -- Information about the authors.
-Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+Simon Josefsson
See the end for copying conditions.
Simon Josefsson <simon@josefsson.org>
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
- Preamble
+ Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
\f
- GNU LESSER GENERAL PUBLIC LICENSE
+ GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
-
+
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
- NO WARRANTY
+ NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
- END OF TERMS AND CONDITIONS
+ END OF TERMS AND CONDITIONS
\f
How to Apply These Terms to Your New Libraries
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
Ty Coon, President of Vice
That's all there is to it!
-
-
+2011-11-25 Simon Josefsson <simon@josefsson.org>
+
+ * cfg.mk: Fix release rule.
+
+2011-11-25 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Version 1.23.
+
+2011-11-25 Simon Josefsson <simon@josefsson.org>
+
+ * doc/Makefile.am: Use copyright ranges in man pages.
+
+2011-11-25 Simon Josefsson <simon@josefsson.org>
+
+ * lib/gl/Makefile.am, lib/gl/gnulib.mk, lib/gl/m4/gnulib-cache.m4,
+ lib/gltests/Makefile.am, lib/gltests/gnulib.mk: Add necessary -I's
+ when building lib/gltests/. Reported by Bruno Haible.
+
+2011-11-25 Simon Josefsson <simon@josefsson.org>
+
+ * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
+ gltests/Makefile.am, gltests/test-binary-io.c,
+ gltests/test-binary-io.sh: Disable non-working binary-io self-tests.
+ Reported by Bruno Haible.
+
+2011-11-25 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, lib/stringprep.h: Get ssize_t from sys/types.h instead of
+ unistd.h. Reported by Bruno Haible.
+
+2011-11-25 Simon Josefsson <simon@josefsson.org>
+
+ * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
+ gltests/Makefile.am, gltests/test-update-copyright.sh: Drop
+ update-copyright-tests module due to bugs.
+
+2011-11-25 Simon Josefsson <simon@josefsson.org>
+
+ * gl/m4/valgrind-tests.m4, gltests/init.sh,
+ lib/gl/m4/gnulib-common.m4, lib/gltests/init.sh: Fix valgrind.
+
+2011-11-22 Simon Josefsson <simon@josefsson.org>
+
+ * .gitignore, build-aux/csharpexec.sh.in, configure.ac,
+ csharp/Makefile.am, gl/Makefile.am, gl/m4/csharpexec.m4,
+ gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4, gl/m4/gnulib-comp.m4:
+ Use csharpexec from gnulib to run .NET binaries.
+
+2011-11-21 Simon Josefsson <simon@josefsson.org>
+
+ * doc/gdoc: Don't hard code perl path in gdoc.
+
+2011-11-21 Simon Josefsson <simon@josefsson.org>
+
+ * tests/Makefile.am: Use -no-install instead of -static.
+
+2011-11-21 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac: Ignore some recent warnings.
+
+2011-11-21 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac, examples/example.c, examples/example3.c,
+ examples/example4.c, examples/example5.c, tests/tst_idna.c,
+ tests/tst_idna2.c, tests/tst_idna3.c, tests/tst_nfkc.c,
+ tests/tst_pr29.c, tests/tst_punycode.c, tests/tst_strerror.c,
+ tests/tst_stringprep.c, tests/tst_tld.c, tests/utils.c: Fix
+ warnings.
+
+2011-11-21 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Add.
+
+2011-11-21 Simon Josefsson <simon@josefsson.org>
+
+ * win32/libidn4win.mk: Ignore gnulib self-tests under Wine.
+
+2011-11-21 Simon Josefsson <simon@josefsson.org>
+
+ * .gitignore, win32/libidn4win.mk: Use separate build trees for
+ Windows 32 and 64 bit.
+
+2011-11-21 Simon Josefsson <simon@josefsson.org>
+
+ * cfg.mk: Create Windows binaries during release.
+
+2011-11-21 Simon Josefsson <simon@josefsson.org>
+
+ * doc/cyclo/Makefile.am: Fix links in generated cyclo output.
+
+2011-11-21 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac: Use silent build rules.
+
+2011-11-21 Simon Josefsson <simon@josefsson.org>
+
+ * .gitignore, configure.ac, doc/reference/Makefile.am,
+ doc/reference/libidn-docs.sgml, doc/reference/version.xml.in,
+ gtk-doc.make, lib/pr29.c, lib/strerror-pr29.c, m4/gtk-doc.m4: Update
+ GTK-DOC infrastructure.
+
+2011-11-21 Simon Josefsson <simon@josefsson.org>
+
+ * .gitignore, cfg.mk: Update release rules.
+
+2011-11-21 Simon Josefsson <simon@josefsson.org>
+
+ * GNUmakefile, build-aux/arg-nonnull.h, build-aux/c++defs.h,
+ build-aux/snippet/_Noreturn.h, build-aux/snippet/arg-nonnull.h,
+ build-aux/snippet/c++defs.h, build-aux/snippet/unused-parameter.h,
+ build-aux/snippet/warn-on-use.h, build-aux/vc-list-files,
+ build-aux/warn-on-use.h, configure.ac, doc/fdl-1.3.texi,
+ doc/lgpl-2.1.texi, gl/Makefile.am, gl/errno.in.h, gl/error.c,
+ gl/getopt.c, gl/getopt.in.h, gl/intprops.h, gl/m4/alloca.m4,
+ gl/m4/close.m4, gl/m4/dup2.m4, gl/m4/environ.m4, gl/m4/errno_h.m4,
+ gl/m4/error.m4, gl/m4/extensions.m4, gl/m4/fcntl-o.m4,
+ gl/m4/fcntl_h.m4, gl/m4/fdopen.m4, gl/m4/fstat.m4, gl/m4/getcwd.m4,
+ gl/m4/getopt.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4,
+ gl/m4/gnulib-comp.m4, gl/m4/include_next.m4, gl/m4/inttypes-pri.m4,
+ gl/m4/inttypes.m4, gl/m4/largefile.m4, gl/m4/lstat.m4,
+ gl/m4/malloc.m4, gl/m4/manywarnings.m4, gl/m4/msvc-inval.m4,
+ gl/m4/msvc-nothrow.m4, gl/m4/multiarch.m4, gl/m4/nocrash.m4,
+ gl/m4/open.m4, gl/m4/pathmax.m4, gl/m4/putenv.m4, gl/m4/setenv.m4,
+ gl/m4/ssize_t.m4, gl/m4/stat.m4, gl/m4/stdint.m4, gl/m4/stdio_h.m4,
+ gl/m4/stdlib_h.m4, gl/m4/strerror.m4, gl/m4/string_h.m4,
+ gl/m4/symlink.m4, gl/m4/sys_socket_h.m4, gl/m4/sys_stat_h.m4,
+ gl/m4/time_h.m4, gl/m4/unistd_h.m4, gl/m4/warn-on-use.m4,
+ gl/m4/warnings.m4, gl/m4/wchar_h.m4, gl/m4/wint_t.m4,
+ gl/msvc-inval.c, gl/msvc-inval.h, gl/msvc-nothrow.c,
+ gl/msvc-nothrow.h, gl/override/lib/dup2.c.diff,
+ gl/override/lib/gettext.h.diff, gl/override/m4/open.m4.diff,
+ gl/stdarg.in.h, gl/stddef.in.h, gl/strerror-override.c,
+ gl/strerror-override.h, gl/strerror.c, gl/string.in.h,
+ gl/unistd.in.h, gl/verify.h, gltests/Makefile.am, gltests/close.c,
+ gltests/dup2.c, gltests/fcntl.in.h, gltests/fd-hook.c,
+ gltests/fd-hook.h, gltests/fdopen.c, gltests/fstat.c,
+ gltests/getcwd-lgpl.c, gltests/init.sh, gltests/inttypes.in.h,
+ gltests/lstat.c, gltests/macros.h, gltests/open.c,
+ gltests/pathmax.h, gltests/putenv.c, gltests/setenv.c,
+ gltests/stat.c, gltests/stdint.in.h, gltests/stdio.in.h,
+ gltests/stdlib.in.h, gltests/sys_stat.in.h, gltests/test-close.c,
+ gltests/test-dup2.c, gltests/test-fdopen.c, gltests/test-fgetc.c,
+ gltests/test-fputc.c, gltests/test-fread.c, gltests/test-fstat.c,
+ gltests/test-fwrite.c, gltests/test-getcwd-lgpl.c,
+ gltests/test-getopt.h, gltests/test-getopt_long.h,
+ gltests/test-intprops.c, gltests/test-inttypes.c,
+ gltests/test-pathmax.c, gltests/test-stat.c, gltests/test-stat.h,
+ gltests/test-stdint.c, gltests/test-strerror.c,
+ gltests/test-update-copyright.sh, gltests/test-verify.c,
+ gltests/time.in.h, gltests/unsetenv.c, gltests/verify.h,
+ gltests/wchar.in.h, lib/gl/Makefile.am, lib/gl/iconv.c,
+ lib/gl/iconv.in.h, lib/gl/iconv_close.c, lib/gl/m4/alloca.m4,
+ lib/gl/m4/environ.m4, lib/gl/m4/extensions.m4,
+ lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-common.m4,
+ lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconv.m4,
+ lib/gl/m4/iconv_open.m4, lib/gl/m4/include_next.m4,
+ lib/gl/m4/inline.m4, lib/gl/m4/inttypes-pri.m4,
+ lib/gl/m4/inttypes.m4, lib/gl/m4/libunistring-base.m4,
+ lib/gl/m4/locale-zh.m4, lib/gl/m4/locale_h.m4, lib/gl/m4/malloc.m4,
+ lib/gl/m4/putenv.m4, lib/gl/m4/setenv.m4, lib/gl/m4/setlocale.m4,
+ lib/gl/m4/ssize_t.m4, lib/gl/m4/stdint.m4, lib/gl/m4/stdlib_h.m4,
+ lib/gl/m4/string_h.m4, lib/gl/m4/strverscmp.m4,
+ lib/gl/m4/unistd_h.m4, lib/gl/m4/warn-on-use.m4,
+ lib/gl/m4/wchar_h.m4, lib/gl/override/lib/gettext.h.diff,
+ lib/gl/stddef.in.h, lib/gl/stdint.in.h, lib/gl/string.in.h,
+ lib/gl/unistr.in.h, lib/gl/unistr/u8-mbtoucr.c,
+ lib/gl/unistr/u8-uctomb-aux.c, lib/gl/unistr/u8-uctomb.c,
+ lib/gl/unitypes.in.h, lib/gltests/Makefile.am,
+ lib/gltests/glthread/lock.h, lib/gltests/glthread/thread.c,
+ lib/gltests/glthread/thread.h, lib/gltests/glthread/yield.h,
+ lib/gltests/init.sh, lib/gltests/intprops.h,
+ lib/gltests/inttypes.in.h, lib/gltests/locale.in.h,
+ lib/gltests/localename.c, lib/gltests/localename.h,
+ lib/gltests/macros.h, lib/gltests/putenv.c, lib/gltests/setenv.c,
+ lib/gltests/stdlib.in.h, lib/gltests/test-intprops.c,
+ lib/gltests/test-inttypes.c, lib/gltests/test-lock.c,
+ lib/gltests/test-thread_create.c, lib/gltests/test-thread_self.c,
+ lib/gltests/test-verify.c, lib/gltests/unistd.in.h,
+ lib/gltests/unistr/test-u8-mbtoucr.c,
+ lib/gltests/unistr/test-u8-uctomb.c, lib/gltests/unsetenv.c,
+ lib/gltests/verify.h, lib/gltests/wchar.in.h, maint.mk: Update
+ gnulib files.
+
+2011-11-16 Simon Josefsson <simon@josefsson.org>
+
+ * README-alpha: Doc fix.
+
+2011-10-19 Simon Josefsson <simon@josefsson.org>
+
+ * lib/nfkc.c: Doc fix.
+
+2011-10-19 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, THANKS, lib/idn-free.h: idn-free.h: Protect prototypes with
+ 'extern "C"' marker. Reported by Bittner Ede <bittner.ede@euronetrt.hu>.
+
+2011-10-01 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Mention TLD URL patch.
+
+2011-09-30 Thomas Jacob <jacob@internet24.de>
+
+ * doc/libidn.texi, doc/tld/README: Moved extra TLD tables to github Signed-off-by: Thomas Jacob <jacob@internet24.de> Signed-off-by:
+ Simon Josefsson <simon@josefsson.org>
+
+2011-08-13 Simon Josefsson <simon@josefsson.org>
+
+ * po/fr.po.in: Sync with TP.
+
+2011-05-05 Simon Josefsson <simon@josefsson.org>
+
+ * cfg.mk: Add some pre-release rules.
+
+2011-05-05 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Update translations.
+
+2011-05-05 Simon Josefsson <simon@josefsson.org>
+
+ * po/LINGUAS, po/cs.po.in, po/de.po.in, po/fi.po.in, po/nl.po.in,
+ po/pl.po.in, po/uk.po.in, po/zh_CN.po.in: Sync with TP.
+
+2011-05-04 Simon Josefsson <simon@josefsson.org>
+
+ * doc/announce.txt: Update for 1.22.
+
+2011-05-04 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, configure.ac, lib/stringprep.h: Bump versions.
+
+2011-05-04 Simon Josefsson <simon@josefsson.org>
+
+ * ChangeLog: Generated.
+
+2011-05-04 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Version 1.22.
+
+2011-05-04 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, cfg.mk, lib/idna.c, lib/nfkc.c: dev: Ran clang-analyze on
+ the code. Fixed some dead assignments/initializations.
+
+2011-05-04 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Doc fix.
+
+2011-05-03 Simon Josefsson <simon@josefsson.org>
+
+ * .gitignore, NEWS, THANKS, lib/idna.c, lib/stringprep.h,
+ tests/Makefile.am, tests/tst_idna4.c: libidn: Fix memory leak when
+ idna_to_ascii_4i fails. Reported by and tiny patch from Olga Limburg <olimburg@gmail.com>.
+
+2011-05-03 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/vc-list-files, cfg.mk, gl/m4/dup2.m4,
+ gl/m4/gnulib-comp.m4, gl/m4/manywarnings.m4, gl/m4/stdio_h.m4,
+ gltests/stdlib.in.h, lib/gl/m4/gnulib-comp.m4,
+ lib/gltests/stdlib.in.h, maint.mk: Update gnulib files.
+
+2011-05-01 Simon Josefsson <simon@josefsson.org>
+
+ * cfg.mk: Improve coverage rule names. Drop mingw rules (see
+ win32/libidn4win.mk).
+
+2011-04-28 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, THANKS, libidn.pc.in: libidn: Add -liconv as static library
+ requirement in libidn.pc, for MinGW. Reported by Volker Grabsch <vog@notjusthosting.com>.
+
+2011-04-25 Simon Josefsson <simon@josefsson.org>
+
+ * THANKS, doc/libidn.texi: Document --disable-valgrind-tests. Suggested by Guido Trentalancia <guido@trentalancia.com>.
+
+2011-04-24 Simon Josefsson <simon@josefsson.org>
+
+ * doc/announce.txt: Update for 1.21.
+
+2011-04-24 Simon Josefsson <simon@josefsson.org>
+
+ * win32/libidn4win.mk: Fix.
+
+2011-04-24 Simon Josefsson <simon@josefsson.org>
+
+ * Makefile.am, NEWS: build: Really distribute win32/libidn4win.mk.
+
+2011-04-24 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, configure.ac: Bump version.
+
+2011-04-24 Simon Josefsson <simon@josefsson.org>
+
+ * ChangeLog: Generated.
+
+2011-04-24 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Version 1.21.
+
+2011-04-24 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, configure.ac: Demand newer gettext in order to get newer M4
+ files. Reported by Dagobert Michelsen <dam@opencsw.org> in
+ <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/25522>.
+
+2011-04-24 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, win32/libidn4win.mk: libidn4win.mk: Add license and
+ generalize it.
+
+2011-04-24 Simon Josefsson <simon@josefsson.org>
+
+ * .gitignore, .x-sc_avoid_if_before_free, .x-sc_bindtextdomain,
+ .x-sc_cast_of_alloca_return_value, .x-sc_error_message_uppercase,
+ .x-sc_file_system, .x-sc_makefile_at_at_check,
+ .x-sc_makefile_check, .x-sc_prohibit_atoi_atof,
+ .x-sc_prohibit_empty_lines_at_EOF, .x-sc_space_tab,
+ .x-sc_texinfo_acronym, .x-sc_the_the, COPYING.LIB, README,
+ README-alpha, build-aux/gendocs.sh,
+ build-aux/useless-if-before-free, cfg.mk, doc/gendocs_template,
+ gl/Makefile.am, gl/m4/alloca.m4, gl/m4/errno_h.m4,
+ gl/m4/fcntl_h.m4, gl/m4/gnulib-common.m4, gl/m4/open.m4,
+ gl/m4/stdarg.m4, gl/m4/stdbool.m4, gl/m4/stddef_h.m4,
+ gl/m4/stdio_h.m4, gl/m4/string_h.m4, gl/m4/unistd_h.m4,
+ gl/m4/valgrind-tests.m4, gl/string.in.h, gl/unistd.in.h,
+ gltests/Makefile.am, gltests/fcntl.in.h, gltests/malloc.c,
+ gltests/malloca.c, gltests/open.c, gltests/setenv.c,
+ gltests/stdio.in.h, gltests/stdlib.in.h, gltests/sys_stat.in.h,
+ gltests/test-ignore-value.c, gltests/test-open.h, gltests/verify.h,
+ lib/Makefile.am, lib/gl/Makefile.am, lib/gl/m4/alloca.m4,
+ lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4,
+ lib/gl/m4/iconv_h.m4, lib/gl/m4/stdbool.m4, lib/gl/m4/stddef_h.m4,
+ lib/gl/m4/stdint.m4, lib/gl/m4/string_h.m4, lib/gl/m4/unistd_h.m4,
+ lib/gl/m4/wchar_h.m4, lib/gl/string.in.h, lib/gltests/Makefile.am,
+ lib/gltests/malloc.c, lib/gltests/malloca.c, lib/gltests/setenv.c,
+ lib/gltests/stdlib.in.h, lib/gltests/unistd.in.h,
+ lib/gltests/verify.h, lib/gltests/wchar.in.h, lib/stringprep.h,
+ libidn.pc.in, maint.mk, src/Makefile.am, tests/Makefile.am: Update
+ gnulib files and fix syntax check warnings.
+
+2011-03-21 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, THANKS, win32/libidn.vcproj: Define LIBIDN_BUILDING. Tiny patch from Waqas Hussain <waqas20@gmail.com>.
+
+2011-03-05 Simon Josefsson <simon@josefsson.org>
+
+ * win32/libidn4win.mk: Add.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * doc/announce.txt: Update for 1.20.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, configure.ac: Bump versions.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Fix release type.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * ChangeLog: Generated.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Version 1.20.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * doc/Makefile.am: Bump copyright years.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, THANKS, src/idn.c: idn: Only print license blurb on
+ interactive use. Reported by "Andrew O. Shadoura" <bugzilla@tut.by> and Roman Mamedov
+ <rm@romanrm.ru> in <http://bugs.debian.org/615947> and
+ <http://bugs.debian.org/615949> respectively.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * lib/Makefile.am: Disable build rules for no longer generated
+ files.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * po/cs.po.in, po/da.po.in, po/de.po.in, po/eo.po.in, po/id.po.in,
+ po/it.po.in, po/ja.po.in, po/nl.po.in, po/pl.po.in, po/ro.po.in,
+ po/sr.po.in, po/zh_CN.po.in: Sync with TP.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * .clcopying, AUTHORS, ChangeLog, FAQ, Makefile.am, README,
+ README-alpha, TODO, cfg.mk, configure.ac, contrib/README,
+ contrib/doxygen/gdoc2doxygen, contrib/java/Makefile.am,
+ contrib/java/README, csharp/Makefile.am,
+ csharp/generate/Program.cs, doc/Makefile.am, doc/Makefile.gdoci,
+ doc/cyclo/Makefile.am, doc/gdoc, doc/gendocs_template,
+ doc/java/Makefile.am, doc/libidn.texi,
+ doc/specifications/Makefile.am, doc/tld/Makefile.am,
+ doc/tld/README, doc/tld/fr.tld, doc/tld/no.tld,
+ examples/Makefile.am, examples/README, examples/example.c,
+ examples/example2.c, examples/example3.c, examples/example4.c,
+ examples/example5.c, java/Makefile.am,
+ java/gnu/inet/encoding/IDNA.java,
+ java/gnu/inet/encoding/IDNAException.java,
+ java/gnu/inet/encoding/Makefile.am,
+ java/gnu/inet/encoding/Stringprep.java, java/misc/TestIDNA.java,
+ java/misc/TestNFKC.java, lib/Makefile.am,
+ lib/gen-stringprep-tables.pl, lib/gen-tld-tables.pl,
+ lib/gen-unicode-tables.pl, lib/idn-free.c, lib/idn-free.h,
+ lib/idna.h, lib/libidn.map, lib/nfkc.c, lib/pr29.c, lib/pr29.h,
+ lib/profiles.c, lib/punycode.c, lib/punycode.h,
+ lib/strerror-idna.c, lib/strerror-pr29.c, lib/strerror-punycode.c,
+ lib/strerror-stringprep.c, lib/strerror-tld.c, lib/stringprep.c,
+ lib/stringprep.h, lib/tld.c, lib/tld.h, lib/toutf8.c,
+ lib/version.c, libc/README, libc/example.c,
+ libc/getaddrinfo-idn.txt, libidn.pc.in,
+ m4/update-header-version.m4, po/cs.po.in, po/da.po.in, po/de.po.in,
+ po/eo.po.in, po/id.po.in, po/it.po.in, po/ja.po.in, po/nl.po.in,
+ po/pl.po.in, po/ro.po.in, po/rw.po.in, po/sr.po.in, po/zh_CN.po.in,
+ src/Makefile.am, src/idn.c, src/idn.ggo, src/idna.el,
+ src/punycode.el, tests/tst_idna.c, tests/tst_idna2.c,
+ tests/tst_nfkc.c, tests/tst_pr29.c, tests/tst_punycode.c,
+ tests/tst_strerror.c, tests/tst_stringprep.c, tests/tst_symbols.c,
+ tests/tst_tld.c, tests/tst_toutf8.c, tests/utils.c, tests/utils.h,
+ win32/include/ac-stdint.h, win32/include/idn-int.h,
+ win32/include/stdbool.h: Bump copyright years.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, THANKS, lib/idna.c, tests/Makefile.am, tests/tst_idna3.c:
+ Fix ToUnicode case-insensitivity bug. Debian BTS #610617 reported by Stepan Golosunov
+ <stepan@golosunov.pp.ru>.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Add.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * po/da.po.in: Sync with TP.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * .x-sc_bindtextdomain, .x-sc_prohibit_empty_lines_at_EOF,
+ csharp/IDNA.cs, csharp/IDNAException.cs, csharp/NFKC.cs,
+ csharp/Punycode.cs, csharp/PunycodeException.cs,
+ csharp/Stringprep.cs, csharp/StringprepException.cs,
+ csharp/generate/AssemblyInfo.cs, csharp/generate/GenerateNFKC.cs,
+ csharp/generate/GenerateRFC3454.cs, csharp/generate/HashSet.cs,
+ csharp/generate/Tokenizer.cs, csharp/libidn.cmbx,
+ csharp/libidn.csproj, csharp/libidn.csproj.user,
+ csharp/libidn.prjx, csharp/libidn_PPC.csdproj,
+ java/gnu/inet/encoding/NFKC.java,
+ java/gnu/inet/encoding/Punycode.java,
+ java/gnu/inet/encoding/PunycodeException.java,
+ java/gnu/inet/encoding/RFC3454.java,
+ java/gnu/inet/encoding/StringprepException.java,
+ java/misc/GenerateNFKC.java, java/misc/GenerateRFC3454.java,
+ maint.mk: Fix syntax-check warnings.
+
+2011-03-01 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/arg-nonnull.h, build-aux/c++defs.h,
+ build-aux/config.rpath, build-aux/warn-on-use.h, gl/Makefile.am,
+ gl/error.h, gl/getopt.in.h, gl/getopt_int.h, gl/gettext.h,
+ gl/m4/dos.m4, gl/m4/dup2.m4, gl/m4/gnulib-comp.m4,
+ gl/m4/longlong.m4, gl/m4/multiarch.m4, gl/m4/setenv.m4,
+ gl/m4/stat.m4, gl/m4/stdbool.m4, gl/m4/stdint.m4, gl/m4/stdio_h.m4,
+ gl/m4/stdlib_h.m4, gl/m4/wchar_h.m4, gl/m4/wint_t.m4,
+ gl/string.in.h, gl/unistd.in.h, gl/version-etc.h,
+ gltests/Makefile.am, gltests/dosname.h, gltests/dup2.c,
+ gltests/ignore-value.h, gltests/stat.c, gltests/stdint.in.h,
+ gltests/stdio.in.h, gltests/stdlib.in.h, gltests/sys_stat.in.h,
+ gltests/test-dup2.c, gltests/test-ignore-value.c,
+ gltests/test-stdint.c, gltests/test-stdio.c, gltests/time.in.h,
+ gltests/wchar.in.h, lib/gl/Makefile.am, lib/gl/gettext.h,
+ lib/gl/m4/alloca.m4, lib/gl/m4/eealloc.m4, lib/gl/m4/environ.m4,
+ lib/gl/m4/gnulib-comp.m4, lib/gl/m4/intlmacosx.m4,
+ lib/gl/m4/lcmessage.m4, lib/gl/m4/lib-link.m4,
+ lib/gl/m4/locale-fr.m4, lib/gl/m4/locale-ja.m4,
+ lib/gl/m4/locale-tr.m4, lib/gl/m4/locale-zh.m4,
+ lib/gl/m4/locale_h.m4, lib/gl/m4/localename.m4, lib/gl/m4/lock.m4,
+ lib/gl/m4/longlong.m4, lib/gl/m4/malloc.m4, lib/gl/m4/malloca.m4,
+ lib/gl/m4/putenv.m4, lib/gl/m4/setenv.m4, lib/gl/m4/setlocale.m4,
+ lib/gl/m4/stdbool.m4, lib/gl/m4/stdint.m4, lib/gl/m4/stdlib_h.m4,
+ lib/gl/m4/thread.m4, lib/gl/m4/threadlib.m4, lib/gl/m4/unistd_h.m4,
+ lib/gl/m4/wchar_h.m4, lib/gl/m4/yield.m4, lib/gl/stdint.in.h,
+ lib/gl/string.in.h, lib/gl/wchar.in.h, lib/gltests/Makefile.am,
+ lib/gltests/alloca.in.h, lib/gltests/dummy.c,
+ lib/gltests/glthread/lock.c, lib/gltests/glthread/lock.h,
+ lib/gltests/glthread/thread.c, lib/gltests/glthread/thread.h,
+ lib/gltests/glthread/threadlib.c, lib/gltests/glthread/yield.h,
+ lib/gltests/locale.in.h, lib/gltests/localename.c,
+ lib/gltests/localename.h, lib/gltests/malloc.c,
+ lib/gltests/malloca.c, lib/gltests/malloca.h,
+ lib/gltests/malloca.valgrind, lib/gltests/putenv.c,
+ lib/gltests/setenv.c, lib/gltests/setlocale.c,
+ lib/gltests/stdlib.in.h, lib/gltests/test-alloca-opt.c,
+ lib/gltests/test-environ.c, lib/gltests/test-locale.c,
+ lib/gltests/test-localename.c, lib/gltests/test-lock.c,
+ lib/gltests/test-malloca.c, lib/gltests/test-setenv.c,
+ lib/gltests/test-setlocale1.c, lib/gltests/test-setlocale1.sh,
+ lib/gltests/test-setlocale2.c, lib/gltests/test-setlocale2.sh,
+ lib/gltests/test-stdlib.c, lib/gltests/test-sys_wait.h,
+ lib/gltests/test-unistd.c, lib/gltests/test-unsetenv.c,
+ lib/gltests/unistd.in.h, lib/gltests/unsetenv.c, maint.mk: Update
+ gnulib files.
+
+2011-01-30 Simon Josefsson <simon@josefsson.org>
+
+ * GNUmakefile, build-aux/arg-nonnull.h, build-aux/c++defs.h,
+ build-aux/config.rpath, build-aux/csharpcomp.sh.in,
+ build-aux/gendocs.sh, build-aux/pmccabe.css,
+ build-aux/pmccabe2html, build-aux/update-copyright,
+ build-aux/useless-if-before-free, build-aux/vc-list-files,
+ build-aux/warn-on-use.h, gl/Makefile.am, gl/errno.in.h, gl/error.c,
+ gl/error.h, gl/getopt.c, gl/getopt.in.h, gl/getopt1.c,
+ gl/getopt_int.h, gl/gettext.h, gl/intprops.h, gl/m4/00gnulib.m4,
+ gl/m4/alloca.m4, gl/m4/autobuild.m4, gl/m4/csharp.m4,
+ gl/m4/csharpcomp.m4, gl/m4/dos.m4, gl/m4/dup2.m4, gl/m4/eealloc.m4,
+ gl/m4/environ.m4, gl/m4/errno_h.m4, gl/m4/error.m4,
+ gl/m4/extensions.m4, gl/m4/fcntl-o.m4, gl/m4/fcntl_h.m4,
+ gl/m4/getopt.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4,
+ gl/m4/gnulib-comp.m4, gl/m4/gnulib-tool.m4, gl/m4/include_next.m4,
+ gl/m4/longlong.m4, gl/m4/lstat.m4, gl/m4/malloc.m4,
+ gl/m4/malloca.m4, gl/m4/manywarnings.m4, gl/m4/mode_t.m4,
+ gl/m4/multiarch.m4, gl/m4/open.m4, gl/m4/pathmax.m4,
+ gl/m4/putenv.m4, gl/m4/setenv.m4, gl/m4/stat.m4, gl/m4/stdarg.m4,
+ gl/m4/stdbool.m4, gl/m4/stddef_h.m4, gl/m4/stdint.m4,
+ gl/m4/stdlib_h.m4, gl/m4/strerror.m4, gl/m4/string_h.m4,
+ gl/m4/symlink.m4, gl/m4/sys_stat_h.m4, gl/m4/sys_wait_h.m4,
+ gl/m4/time_h.m4, gl/m4/unistd_h.m4, gl/m4/valgrind-tests.m4,
+ gl/m4/version-etc.m4, gl/m4/warn-on-use.m4, gl/m4/warnings.m4,
+ gl/m4/wchar_h.m4, gl/m4/wchar_t.m4, gl/m4/wint_t.m4, gl/progname.c,
+ gl/progname.h, gl/stdarg.in.h, gl/stddef.in.h, gl/strerror.c,
+ gl/string.in.h, gl/unistd.in.h, gl/version-etc.c, gl/version-etc.h,
+ gltests/Makefile.am, gltests/alloca.in.h, gltests/binary-io.h,
+ gltests/dup2.c, gltests/fcntl.in.h, gltests/ignore-value.h,
+ gltests/init.sh, gltests/lstat.c, gltests/macros.h,
+ gltests/malloc.c, gltests/malloca.c, gltests/malloca.h,
+ gltests/open.c, gltests/pathmax.h, gltests/putenv.c,
+ gltests/same-inode.h, gltests/setenv.c, gltests/signature.h,
+ gltests/stat.c, gltests/stdbool.in.h, gltests/stdint.in.h,
+ gltests/stdlib.in.h, gltests/symlink.c, gltests/sys_stat.in.h,
+ gltests/sys_wait.in.h, gltests/test-alloca-opt.c,
+ gltests/test-binary-io.c, gltests/test-dup2.c,
+ gltests/test-environ.c, gltests/test-errno.c,
+ gltests/test-getopt.c, gltests/test-getopt.h,
+ gltests/test-getopt_long.h, gltests/test-ignore-value.c,
+ gltests/test-lstat.c, gltests/test-lstat.h, gltests/test-malloca.c,
+ gltests/test-open.c, gltests/test-open.h, gltests/test-setenv.c,
+ gltests/test-stat.c, gltests/test-stat.h, gltests/test-stdbool.c,
+ gltests/test-stddef.c, gltests/test-stdint.c,
+ gltests/test-strerror.c, gltests/test-symlink.c,
+ gltests/test-symlink.h, gltests/test-sys_wait.c,
+ gltests/test-sys_wait.h, gltests/test-unsetenv.c,
+ gltests/test-update-copyright.sh,
+ gltests/test-vc-list-files-cvs.sh,
+ gltests/test-vc-list-files-git.sh, gltests/test-verify.c,
+ gltests/test-version-etc.c, gltests/test-version-etc.sh,
+ gltests/time.in.h, gltests/unsetenv.c, gltests/verify.h,
+ gltests/version-etc-fsf.c, gltests/wchar.in.h, lib/gl/Makefile.am,
+ lib/gl/c-ctype.c, lib/gl/c-ctype.h, lib/gl/c-strcase.h,
+ lib/gl/c-strcasecmp.c, lib/gl/c-strncasecmp.c, lib/gl/gettext.h,
+ lib/gl/iconv.in.h, lib/gl/iconv_open.c, lib/gl/m4/00gnulib.m4,
+ lib/gl/m4/codeset.m4, lib/gl/m4/extensions.m4,
+ lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-common.m4,
+ lib/gl/m4/gnulib-comp.m4, lib/gl/m4/gnulib-tool.m4,
+ lib/gl/m4/iconv.m4, lib/gl/m4/iconv_h.m4, lib/gl/m4/iconv_open.m4,
+ lib/gl/m4/include_next.m4, lib/gl/m4/ld-output-def.m4,
+ lib/gl/m4/ld-version-script.m4, lib/gl/m4/lib-ld.m4,
+ lib/gl/m4/lib-link.m4, lib/gl/m4/lib-prefix.m4,
+ lib/gl/m4/locale-fr.m4, lib/gl/m4/locale-tr.m4,
+ lib/gl/m4/longlong.m4, lib/gl/m4/multiarch.m4,
+ lib/gl/m4/stdbool.m4, lib/gl/m4/stddef_h.m4, lib/gl/m4/stdint.m4,
+ lib/gl/m4/string_h.m4, lib/gl/m4/strverscmp.m4,
+ lib/gl/m4/visibility.m4, lib/gl/m4/warn-on-use.m4,
+ lib/gl/m4/wchar_h.m4, lib/gl/m4/wchar_t.m4, lib/gl/m4/wint_t.m4,
+ lib/gl/stdbool.in.h, lib/gl/stddef.in.h, lib/gl/stdint.in.h,
+ lib/gl/striconv.c, lib/gl/striconv.h, lib/gl/string.in.h,
+ lib/gl/strverscmp.c, lib/gl/wchar.in.h, lib/gltests/Makefile.am,
+ lib/gltests/dummy.c, lib/gltests/init.sh, lib/gltests/intprops.h,
+ lib/gltests/macros.h, lib/gltests/signature.h,
+ lib/gltests/test-c-ctype.c, lib/gltests/test-c-strcasecmp.c,
+ lib/gltests/test-c-strncasecmp.c, lib/gltests/test-iconv.c,
+ lib/gltests/test-stdbool.c, lib/gltests/test-stddef.c,
+ lib/gltests/test-stdint.c, lib/gltests/test-striconv.c,
+ lib/gltests/test-strverscmp.c, lib/gltests/test-verify.c,
+ lib/gltests/verify.h, maint.mk: Update gnulib files.
+
+2010-10-27 Simon Josefsson <simon@josefsson.org>
+
+ * .gitignore: Ignore more.
+
+2010-10-27 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac: Avoid some warnings to make it build with modern gcc
+ on amd64.
+
+2010-09-30 Simon Josefsson <simon@josefsson.org>
+
+ * .x-sc_space_tab: Avoid syntax-check warning.
+
+2010-09-30 Simon Josefsson <simon@josefsson.org>
+
+ * GNUmakefile, build-aux/gendocs.sh, build-aux/gnupload,
+ build-aux/pmccabe2html, doc/fdl-1.3.texi, gl/m4/environ.m4,
+ gl/m4/error.m4, gl/m4/fcntl-o.m4, gl/m4/getopt.m4,
+ gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4, gl/m4/include_next.m4,
+ gl/m4/lstat.m4, gl/m4/malloc.m4, gl/m4/open.m4, gl/m4/setenv.m4,
+ gl/m4/stat.m4, gl/m4/stdarg.m4, gl/m4/stdbool.m4, gl/m4/stdint.m4,
+ gl/m4/stdlib_h.m4, gl/m4/symlink.m4, gl/m4/sys_wait_h.m4,
+ gl/m4/time_h.m4, gl/m4/wchar_t.m4, gl/m4/wint_t.m4, gl/strerror.c,
+ gl/string.in.h, gl/unistd.in.h, gltests/Makefile.am,
+ gltests/fcntl.in.h, gltests/init.sh, gltests/malloc.c,
+ gltests/malloca.c, gltests/open.c, gltests/setenv.c,
+ gltests/stdlib.in.h, gltests/sys_wait.in.h, gltests/test-malloca.c,
+ gltests/test-stdbool.c, gltests/test-stddef.c,
+ gltests/test-sys_wait.c, gltests/test-sys_wait.h,
+ gltests/test-update-copyright.sh,
+ gltests/test-vc-list-files-cvs.sh,
+ gltests/test-vc-list-files-git.sh, gltests/test-verify.c,
+ gltests/time.in.h, lib/gl/m4/codeset.m4, lib/gl/m4/gnulib-cache.m4,
+ lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconv.m4,
+ lib/gl/m4/iconv_open.m4, lib/gl/m4/include_next.m4,
+ lib/gl/m4/ld-version-script.m4, lib/gl/m4/lib-ld.m4,
+ lib/gl/m4/lib-link.m4, lib/gl/m4/stdbool.m4, lib/gl/m4/stdint.m4,
+ lib/gl/m4/visibility.m4, lib/gl/m4/wchar_t.m4, lib/gl/m4/wint_t.m4,
+ lib/gl/string.in.h, lib/gltests/init.sh,
+ lib/gltests/test-stdbool.c, lib/gltests/test-stddef.c,
+ lib/gltests/test-verify.c, maint.mk: Update gnulib files.
+
+2010-05-27 Simon Josefsson <simon@josefsson.org>
+
+ * doc/announce.txt: Doc fix.
+
+2010-05-24 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, configure.ac, lib/stringprep.h: Bump versions.
+
+2010-05-24 Simon Josefsson <simon@josefsson.org>
+
+ * doc/announce.txt: Update announce.txt for 1.19.
+
+2010-05-22 Simon Josefsson <simon@josefsson.org>
+
+ * .gitignore: Improve.
+
+2010-05-22 Simon Josefsson <simon@josefsson.org>
+
+ * cfg.mk: Dist API PDF manual.
+
+2010-05-22 Simon Josefsson <simon@josefsson.org>
+
+ * ChangeLog: Generated.
+
+2010-05-22 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Version 1.19.
+
+2010-05-20 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, cfg.mk, doc/gendocs_template, doc/reference/Makefile.am,
+ gl/override/doc/gendocs_template.diff, gtk-doc.make, m4/gtk-doc.m4:
+ Update GTK-DOC files to enable PDF manual.
+
+2010-05-20 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Add.
+
+2010-05-20 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac, doc/gendocs_template, gl/Makefile.am,
+ gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
+ gl/m4/valgrind-tests.m4, m4/valgrind.m4: Update gnulib files, use
+ new valgrind-tests module.
+
+2010-05-17 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/c++defs.h, build-aux/gendocs.sh, build-aux/gnupload,
+ gl/Makefile.am, gl/error.c, gl/m4/gnulib-common.m4,
+ gl/m4/gnulib-comp.m4, gl/m4/unistd_h.m4, gl/unistd.in.h,
+ gltests/Makefile.am, gltests/init.sh, gltests/test-verify.c,
+ gltests/test-verify.sh, gltests/verify.h, gltests/wchar.in.h,
+ lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4,
+ lib/gl/m4/iconv.m4, lib/gl/wchar.in.h, lib/gltests/Makefile.am,
+ lib/gltests/init.sh, lib/gltests/test-verify.c,
+ lib/gltests/test-verify.sh, lib/gltests/verify.h, maint.mk: Update
+ gnulib files.
+
+2010-04-25 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Add.
+
+2010-04-25 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/vc-list-files, gl/m4/gnulib-comp.m4,
+ gltests/Makefile.am, gltests/init.sh,
+ gltests/test-vc-list-files-cvs.sh,
+ gltests/test-vc-list-files-git.sh, maint.mk: Update gnulib files.
+
+2010-04-21 Simon Josefsson <simon@josefsson.org>
+
+ * lib/gl/m4/visibility.m4: Update gnulib files.
+
+2010-04-19 Simon Josefsson <simon@josefsson.org>
+
+ * gl/getopt.c, gl/getopt_int.h, gl/m4/getopt.m4, gltests/setenv.c,
+ gltests/stdbool.in.h, gltests/test-getopt.h,
+ gltests/test-getopt_long.h, gltests/test-stdbool.c,
+ gltests/test-stdint.c, lib/gl/stdbool.in.h,
+ lib/gltests/test-stdbool.c, lib/gltests/test-stdint.c, maint.mk:
+ Update gnulib files.
+
+2010-04-13 Simon Josefsson <simon@josefsson.org>
+
+ * maint.mk: Update gnulib files.
+
+2010-04-12 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Add.
+
+2010-04-12 Simon Josefsson <simon@josefsson.org>
+
+ * .x-sc_prohibit_empty_lines_at_EOF: Fix syntax-check warnings.
+
+2010-04-12 Simon Josefsson <simon@josefsson.org>
+
+ * doc/reference/Makefile.am, lib/gen-unicode-tables.pl: Fix
+ syntax-check warnings.
+
+2010-04-12 Simon Josefsson <simon@josefsson.org>
+
+ * GNUmakefile, build-aux/c++defs.h, build-aux/warn-on-use.h,
+ gl/Makefile.am, gl/m4/gnulib-common.m4, gl/m4/gnulib-comp.m4,
+ gl/m4/stdlib_h.m4, gl/m4/string_h.m4, gl/m4/time_h.m4,
+ gl/m4/unistd_h.m4, gl/string.in.h, gl/unistd.in.h,
+ gltests/Makefile.am, gltests/stdlib.in.h, gltests/sys_stat.in.h,
+ gltests/time.in.h, gltests/wchar.in.h, lib/gl/Makefile.am,
+ lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4,
+ lib/gl/m4/lib-link.m4, lib/gl/m4/string_h.m4, lib/gl/string.in.h,
+ lib/gl/wchar.in.h, lib/gltests/Makefile.am, maint.mk: Update gnulib
+ files.
+
+2010-03-30 Simon Josefsson <simon@josefsson.org>
+
+ * m4/valgrind.m4: Sync valgrind.m4.
+
+2010-03-30 Simon Josefsson <simon@josefsson.org>
+
+ * src/Makefile.am: Drop code (could never have worked anyway).
+
+2010-03-30 Simon Josefsson <simon@josefsson.org>
+
+ * gl/errno.in.h, gl/getopt.in.h, gl/m4/fcntl-o.m4,
+ gl/m4/fcntl_h.m4, gl/m4/gnulib-common.m4, gl/m4/gnulib-comp.m4,
+ gl/m4/stddef_h.m4, gl/m4/stdlib_h.m4, gl/m4/string_h.m4,
+ gl/m4/sys_stat_h.m4, gl/m4/time_h.m4, gl/m4/unistd_h.m4,
+ gl/m4/wchar_h.m4, gl/stdarg.in.h, gl/string.in.h, gl/unistd.in.h,
+ gltests/Makefile.am, gltests/stdint.in.h, gltests/sys_stat.in.h,
+ gltests/test-dup2.c, gltests/test-getopt.c, gltests/test-getopt.h,
+ gltests/time.in.h, lib/gl/iconv.in.h, lib/gl/m4/gnulib-common.m4,
+ lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconv_h.m4,
+ lib/gl/m4/stddef_h.m4, lib/gl/m4/string_h.m4,
+ lib/gl/m4/visibility.m4, lib/gl/m4/wchar_h.m4, lib/gl/stdint.in.h,
+ lib/gl/string.in.h, lib/gltests/Makefile.am, maint.mk: Update gnulib
+ files.
+
+2010-03-26 Simon Josefsson <simon@josefsson.org>
+
+ * gl/errno.in.h, gl/getopt.in.h, gl/gettext.h, gl/stdarg.in.h,
+ gl/string.in.h, gl/unistd.in.h, gltests/stdint.in.h,
+ lib/gl/gettext.h, lib/gl/iconv.in.h, lib/gl/stdint.in.h,
+ lib/gl/string.in.h, maint.mk: Update gnulib files.
+
+2010-03-24 Simon Josefsson <simon@josefsson.org>
+
+ * maint.mk: Update gnulib files.
+
+2010-03-24 Simon Josefsson <simon@josefsson.org>
+
+ * doc/libidn.texi: Fix typos. Drop @acronym use.
+
+2010-03-24 Simon Josefsson <simon@josefsson.org>
+
+ * .x-sc_texinfo_acronym: Add.
+
+2010-03-24 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/warn-on-use.h, gl/Makefile.am, gl/getopt.c,
+ gl/m4/setenv.m4, gl/m4/stdlib_h.m4, gl/m4/unistd_h.m4,
+ gl/unistd.in.h, gltests/Makefile.am, gltests/stdlib.in.h,
+ gltests/test-vc-list-files-git.sh, gltests/time.in.h, maint.mk:
+ Update gnulib files.
+
+2010-03-18 Simon Josefsson <simon@josefsson.org>
+
+ * cfg.mk, doc/ANNOUNCE, doc/announce.txt: Add review-diff. Move
+ announce file to use consistent filenames.
+
+2010-03-18 Simon Josefsson <simon@josefsson.org>
+
+ * gl/Makefile.am, gl/m4/ansi-c++.m4, gl/m4/gnulib-cache.m4,
+ gl/m4/gnulib-comp.m4, gl/m4/time_h.m4, gl/string.in.h,
+ gltests/Makefile.am, gltests/test-fcntl-h-c++.cc,
+ gltests/test-fcntl-h.c, gltests/test-stdlib-c++.cc,
+ gltests/test-stdlib.c, gltests/test-string-c++.cc,
+ gltests/test-string.c, gltests/test-sys_stat-c++.cc,
+ gltests/test-sys_stat.c, gltests/test-time-c++.cc,
+ gltests/test-time.c, gltests/test-unistd-c++.cc,
+ gltests/test-unistd.c, gltests/test-wchar-c++.cc,
+ gltests/test-wchar.c, gltests/time.in.h: Drop self-tests with C++
+ code in them.
+
+2010-03-18 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/c++defs.h, build-aux/warn-on-use.h, lib/gl/Makefile.am,
+ lib/gl/m4/ansi-c++.m4, lib/gl/m4/gnulib-cache.m4,
+ lib/gl/m4/gnulib-comp.m4, lib/gl/string.in.h,
+ lib/gltests/Makefile.am, lib/gltests/test-iconv-h-c++.cc,
+ lib/gltests/test-iconv-h.c, lib/gltests/test-string-c++.cc,
+ lib/gltests/test-string.c, lib/gltests/test-wchar-c++.cc,
+ lib/gltests/test-wchar.c: Drop self-tests with C++ code in them.
+
+2010-03-18 Simon Josefsson <simon@josefsson.org>
+
+ * README-alpha: Mention gengetopt.
+
+2010-03-12 Simon Josefsson <simon@josefsson.org>
+
+ * gl/m4/gnulib-comp.m4, lib/gl/m4/gnulib-comp.m4: Update gnulib
+ files.
+
+2010-03-12 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac: Reorder to avoid bootstrap warnings.
+
+2010-03-12 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/c++defs.h, gl/string.in.h, lib/gl/string.in.h: Update
+ gnulib files.
+
+2010-03-09 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac: Explain deprecated libtool usage.
+
+2010-03-09 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac: Revert "Don't use deprecated libtool functions."
+ AC_PROG_LIBTOOL is required on older systems (e.g., latest Ubuntu
+ LTS). This reverts commit bb239c491ba93a9d2cecf81b53855ecc46d86140.
+
+2010-03-09 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac: Revert "Reorder." AC_PROG_LIBTOOL is required on
+ older systems (e.g., latest Ubuntu LTS). This reverts commit e085f872f2de2e9c33fa4b8c1df559584f375641.
+
+2010-03-09 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac: Reorder.
+
+2010-03-09 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac: Don't use deprecated libtool functions.
+
+2010-03-08 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/c++defs.h, gl/Makefile.am, gl/m4/ansi-c++.m4,
+ gl/m4/fcntl_h.m4, gl/m4/gnulib-comp.m4, gl/m4/stdlib_h.m4,
+ gl/m4/string_h.m4, gl/m4/sys_stat_h.m4, gl/m4/time_h.m4,
+ gl/m4/unistd_h.m4, gl/m4/wchar.m4, gl/m4/wchar_h.m4,
+ gl/string.in.h, gl/unistd.in.h, gltests/Makefile.am,
+ gltests/fcntl.in.h, gltests/stdlib.in.h, gltests/sys_stat.in.h,
+ gltests/test-fcntl-h-c++.cc, gltests/test-stdlib-c++.cc,
+ gltests/test-string-c++.cc, gltests/test-sys_stat-c++.cc,
+ gltests/test-time-c++.cc, gltests/test-unistd-c++.cc,
+ gltests/test-wchar-c++.cc, gltests/time.in.h, gltests/wchar.in.h,
+ lib/gl/Makefile.am, lib/gl/iconv.in.h, lib/gl/m4/ansi-c++.m4,
+ lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconv_open.m4,
+ lib/gl/m4/string_h.m4, lib/gl/m4/wchar.m4, lib/gl/m4/wchar_h.m4,
+ lib/gl/string.in.h, lib/gl/wchar.in.h, lib/gltests/Makefile.am,
+ lib/gltests/test-iconv-h-c++.cc, lib/gltests/test-iconv-h.c,
+ lib/gltests/test-string-c++.cc, lib/gltests/test-wchar-c++.cc:
+ Update gnulib files.
+
+2010-02-24 Simon Josefsson <simon@josefsson.org>
+
+ * .gitignore: Add.
+
+2010-02-24 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, configure.ac, lib/stringprep.h: Bump versions.
+
+2010-02-24 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/gendocs.sh, build-aux/vc-list-files,
+ gl/m4/gnulib-common.m4, gl/m4/warn-on-use.m4,
+ lib/gl/m4/gnulib-common.m4, lib/gl/m4/warn-on-use.m4: Update gnulib
+ files.
+
+2010-02-16 Simon Josefsson <simon@josefsson.org>
+
+ * doc/ANNOUNCE: Add.
+
+2010-02-15 Simon Josefsson <simon@josefsson.org>
+
+ * ChangeLog: Generated.
+
+2010-02-15 Simon Josefsson <simon@josefsson.org>
+
+ * cfg.mk: Release to ftp.gnu.org.
+
+2010-02-15 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac, lib/stringprep.h: Bump versions.
+
+2010-02-15 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Version 1.18.
+
+2010-02-15 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Add.
+
+2010-02-15 Simon Josefsson <simon@josefsson.org>
+
+ * lib/libidn.map: Put forgotten symbols under old namespace. Suggested by Marco d'Itri <md@linux.it> in
+ <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561291>.
+
+2010-02-15 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/gnupload, maint.mk: Update gnulib files.
+
+2010-02-05 Simon Josefsson <simon@josefsson.org>
+
+ * ChangeLog: Generated.
+
+2010-02-05 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Version 1.17.
+
+2010-02-05 Simon Josefsson <simon@josefsson.org>
+
+ * cfg.mk: Make this an alpha release.
+
+2010-02-05 Simon Josefsson <simon@josefsson.org>
+
+ * po/cs.po.in, po/da.po.in, po/de.po.in, po/eo.po.in, po/id.po.in,
+ po/it.po.in, po/ja.po.in, po/nl.po.in, po/pl.po.in, po/ro.po.in,
+ po/sr.po.in, po/zh_CN.po.in: Sync with TP.
+
+2010-02-05 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Add.
+
+2010-02-05 Simon Josefsson <simon@josefsson.org>
+
+ * lib/idna.c, lib/nfkc.c, lib/pr29.c, lib/punycode.c,
+ lib/strerror-idna.c, lib/strerror-pr29.c, lib/strerror-punycode.c,
+ lib/strerror-stringprep.c, lib/strerror-tld.c, lib/stringprep.c,
+ lib/tld.c, lib/toutf8.c, lib/version.c: Fix GTK-DOC syntax.
+ Unfortunately this looses some information.
+
+2010-02-05 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Clarify.
+
+2010-02-05 Simon Josefsson <simon@josefsson.org>
+
+ * tests/Makefile.am: Another test for MinGW builds.
+
+2010-02-05 Simon Josefsson <simon@josefsson.org>
+
+ * tests/Makefile.am: Don't use a libtool helper library, to
+ hopefully make MinGW builds work.
+
+2010-02-05 Simon Josefsson <simon@josefsson.org>
+
+ * tests/Makefile.am: Simplify.
+
+2010-02-05 Simon Josefsson <simon@josefsson.org>
+
+ * tests/Makefile.am: Check if this makes MinGW builds work better.
+
+2010-02-05 Simon Josefsson <simon@josefsson.org>
+
+ * tests/Makefile.am: Drop EXEEXT, to see if MinGW builds improve.
+
+2010-02-03 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Fix.
+
+2010-02-03 Simon Josefsson <simon@josefsson.org>
+
+ * AUTHORS, Makefile.am, NEWS, README, THANKS, TODO, libidn.pc.in,
+ m4/valgrind.m4: Bump copyright years.
+
+2010-02-03 Simon Josefsson <simon@josefsson.org>
+
+ * .clcopying, AUTHORS, ChangeLog, FAQ, Makefile.am, README,
+ README-alpha, THANKS, TODO, contrib/README,
+ contrib/doxygen/gdoc2doxygen, contrib/java/Makefile.am,
+ contrib/java/README, csharp/Makefile.am, doc/Makefile.gdoci,
+ doc/cyclo/Makefile.am, doc/gdoc, doc/java/Makefile.am,
+ doc/specifications/Makefile.am, doc/tld/Makefile.am,
+ doc/tld/README, doc/tld/fr.tld, examples/Makefile.am,
+ examples/README, examples/example.c, examples/example2.c,
+ examples/example5.c, java/Makefile.am,
+ java/gnu/inet/encoding/Makefile.am, lib/Makefile.am,
+ lib/gen-tld-tables.pl, lib/idn-free.c, lib/idn-free.h, lib/idna.c,
+ lib/idna.h, lib/nfkc.c, lib/pr29.c, lib/pr29.h, lib/profiles.c,
+ lib/punycode.c, lib/punycode.h, lib/strerror-idna.c,
+ lib/strerror-pr29.c, lib/strerror-punycode.c,
+ lib/strerror-stringprep.c, lib/strerror-tld.c, lib/stringprep.c,
+ lib/tld.c, lib/tld.h, lib/toutf8.c, lib/version.c, libc/README,
+ libc/example.c, libc/getaddrinfo-idn.txt, libidn.pc.in,
+ src/Makefile.am, src/idn.c, src/idn.ggo, src/idna.el,
+ src/punycode.el, tests/tst_idna.c, tests/tst_idna2.c,
+ tests/tst_nfkc.c, tests/tst_pr29.c, tests/tst_punycode.c,
+ tests/tst_strerror.c, tests/tst_stringprep.c, tests/tst_tld.c,
+ tests/tst_toutf8.c, tests/utils.h: Bump copyright years.
+
+2010-02-03 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac: Bump copyright years.
+
+2010-02-03 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Add.
+
+2010-02-03 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac: Bump libtool version to indicated "added" symbols.
+
+2010-02-03 Simon Josefsson <simon@josefsson.org>
+
+ * doc/Makefile.am: Bump copyright years.
+
+2010-02-03 Simon Josefsson <simon@josefsson.org>
+
+ * lib/libidn.map: Bump shared library version tag on "new" symbols.
+
+2010-02-03 Simon Josefsson <simon@josefsson.org>
+
+ * lib/gen-stringprep-tables.pl, lib/stringprep.h,
+ tests/Makefile.am, tests/tst_symbols.c: Make sure all symbols are
+ exported. Add self test to catch regressions. See <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561291> and
+
+ <http://lists.gnu.org/archive/html/help-libidn/2010-02/msg00000.html>for background.
+
+2010-02-03 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/gnupload, build-aux/link-warning.h, gl/Makefile.am,
+ gl/error.h, gl/m4/fcntl_h.m4, gl/m4/gnulib-comp.m4,
+ gl/m4/stdlib_h.m4, gl/m4/string_h.m4, gl/m4/sys_stat_h.m4,
+ gl/m4/unistd_h.m4, gl/m4/wchar.m4, gl/string.in.h, gl/unistd.in.h,
+ gltests/Makefile.am, gltests/fcntl.in.h, gltests/ignore-value.h,
+ gltests/stdlib.in.h, gltests/sys_stat.in.h, gltests/test-lstat.c,
+ gltests/test-symlink.c, gltests/wchar.in.h, lib/gl/Makefile.am,
+ lib/gl/m4/gnulib-comp.m4, lib/gl/m4/string_h.m4,
+ lib/gl/m4/warn-on-use.m4, lib/gl/m4/wchar.m4, lib/gl/string.in.h,
+ lib/gl/wchar.in.h, lib/gltests/Makefile.am, maint.mk: Update gnulib
+ files.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * cfg.mk, maint.mk: Improve syntax-check exception stuff.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-common.m4: Update gnulib
+ files.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * gl/m4/gnulib-common.m4, gl/m4/warnings.m4: Check patch.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * m4/valgrind.m4: Fix valgrind.m4.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * doc/fdl-1.3.texi, doc/gendocs_template, doc/gpl-3.0.texi,
+ doc/lgpl-2.1.texi, gl/override/lib/dup2.c.diff,
+ gl/override/tests/dup2.c.diff: Update gnulib files.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * lib/gunibreak.h, lib/gunicomp.h, lib/gunidecomp.h: Touch.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * lib/gen-unicode-tables.pl: Touch.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, configure.ac, lib/stringprep.h: Bump versions.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * csharp/IDNA.cs, csharp/IDNAException.cs, csharp/NFKC.cs,
+ csharp/Punycode.cs, csharp/PunycodeException.cs,
+ csharp/Stringprep.cs, csharp/StringprepException.cs,
+ csharp/generate/AssemblyInfo.cs, csharp/generate/GenerateNFKC.cs,
+ csharp/generate/GenerateRFC3454.cs, csharp/generate/HashSet.cs,
+ csharp/generate/Program.cs, csharp/generate/Tokenizer.cs,
+ doc/fdl-1.3.texi, doc/gendocs_template, doc/gpl-3.0.texi,
+ doc/lgpl-2.1.texi, doc/tld/no.tld,
+ java/gnu/inet/encoding/IDNA.java,
+ java/gnu/inet/encoding/IDNAException.java,
+ java/gnu/inet/encoding/Punycode.java,
+ java/gnu/inet/encoding/PunycodeException.java,
+ java/gnu/inet/encoding/Stringprep.java,
+ java/gnu/inet/encoding/StringprepException.java,
+ java/misc/GenerateRFC3454.java, java/misc/TestIDNA.java,
+ java/misc/TestNFKC.java, lib/Makefile.am, lib/gen-tld-tables.pl,
+ lib/tld.c, lib/tld.h, m4/update-header-version.m4, m4/valgrind.m4,
+ po/cs.po.in, po/da.po.in, po/de.po.in, po/eo.po.in, po/id.po.in,
+ po/it.po.in, po/ja.po.in, po/nl.po.in, po/pl.po.in, po/ro.po.in,
+ po/rw.po.in, po/sr.po.in, po/zh_CN.po.in,
+ win32/include/ac-stdint.h, win32/include/idn-int.h,
+ win32/include/stdbool.h: Update copyright.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * po/de.po.in, po/fi.po.in, po/zh_CN.po.in: Sync with TP.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * .x-sc_avoid_if_before_free, .x-sc_cast_of_alloca_return_value,
+ .x-sc_error_message_uppercase, .x-sc_makefile_at_at_check,
+ .x-sc_makefile_check, .x-sc_space_tab, cfg.mk, examples/example3.c,
+ examples/example4.c, java/gnu/inet/encoding/NFKC.java,
+ java/misc/GenerateNFKC.java, lib/gl/striconv.c, maint.mk,
+ tests/utils.c: Fix syntax-check rules.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * doc/libidn.texi: Don't use exit(1).
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * .x-sc_cast_of_alloca_return_value: Add.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * .x-sc_makefile_at_at_check: Add.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * cfg.mk: Commit cyclo/.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * ChangeLog: Generated.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Version 1.16.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * gl/m4/open.m4, gl/override/m4/open.m4.diff: Add workaround for
+ Wine open failure.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * gl/override/tests/dup2.c.diff, gltests/dup2.c: Add workaround for
+ Wine dup2 failure.
+
+2010-01-12 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/warn-on-use.h, gl/Makefile.am, gl/m4/gnulib-comp.m4,
+ gl/m4/unistd_h.m4, gl/m4/warn-on-use.m4, gl/unistd.in.h,
+ gltests/Makefile.am, gltests/test-getopt.c, gltests/wchar.in.h,
+ lib/gl/wchar.in.h, maint.mk: Update gnulib files.
+
+2010-01-09 Simon Josefsson <simon@josefsson.org>
+
+ * gltests/dup2.c, maint.mk: Update gnulib files.
+
+2010-01-08 Simon Josefsson <simon@josefsson.org>
+
+ * lib/gunibreak.h, lib/gunicomp.h, lib/gunidecomp.h: Touch.
+
+2010-01-08 Simon Josefsson <simon@josefsson.org>
+
+ * lib/gen-unicode-tables.pl: Add comment.
+
+2010-01-08 Simon Josefsson <simon@josefsson.org>
+
+ * gl/Makefile.am, gl/m4/string_h.m4, gl/string.in.h,
+ lib/gl/Makefile.am, lib/gl/m4/string_h.m4, lib/gl/string.in.h:
+ Update gnulib files.
+
+2010-01-07 Simon Josefsson <simon@josefsson.org>
+
+ * GNUmakefile, build-aux/arg-nonnull.h, build-aux/config.rpath,
+ build-aux/csharpcomp.sh.in, build-aux/gendocs.sh,
+ build-aux/link-warning.h, build-aux/pmccabe2html,
+ build-aux/update-copyright, build-aux/useless-if-before-free,
+ build-aux/vc-list-files, gl/Makefile.am, gl/errno.in.h, gl/error.c,
+ gl/error.h, gl/getopt.c, gl/getopt.in.h, gl/getopt1.c,
+ gl/getopt_int.h, gl/gettext.h, gl/intprops.h, gl/m4/00gnulib.m4,
+ gl/m4/alloca.m4, gl/m4/autobuild.m4, gl/m4/cloexec.m4,
+ gl/m4/csharp.m4, gl/m4/csharpcomp.m4, gl/m4/dos.m4, gl/m4/dup2.m4,
+ gl/m4/eealloc.m4, gl/m4/environ.m4, gl/m4/errno_h.m4,
+ gl/m4/error.m4, gl/m4/extensions.m4, gl/m4/fcntl-o.m4,
+ gl/m4/fcntl.m4, gl/m4/fcntl_h.m4, gl/m4/getdtablesize.m4,
+ gl/m4/getopt.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-common.m4,
+ gl/m4/gnulib-comp.m4, gl/m4/gnulib-tool.m4, gl/m4/include_next.m4,
+ gl/m4/longlong.m4, gl/m4/lstat.m4, gl/m4/malloc.m4,
+ gl/m4/malloca.m4, gl/m4/manywarnings.m4, gl/m4/mode_t.m4,
+ gl/m4/multiarch.m4, gl/m4/open.m4, gl/m4/pathmax.m4,
+ gl/m4/putenv.m4, gl/m4/setenv.m4, gl/m4/stat.m4, gl/m4/stdarg.m4,
+ gl/m4/stdbool.m4, gl/m4/stddef_h.m4, gl/m4/stdint.m4,
+ gl/m4/stdlib_h.m4, gl/m4/strerror.m4, gl/m4/string_h.m4,
+ gl/m4/symlink.m4, gl/m4/sys_stat_h.m4, gl/m4/time_h.m4,
+ gl/m4/unistd_h.m4, gl/m4/version-etc.m4, gl/m4/warnings.m4,
+ gl/m4/wchar.m4, gl/m4/wchar_t.m4, gl/m4/wint_t.m4, gl/progname.c,
+ gl/progname.h, gl/stdarg.in.h, gl/stddef.in.h, gl/strerror.c,
+ gl/string.in.h, gl/unistd.in.h, gl/version-etc.c, gl/version-etc.h,
+ gltests/Makefile.am, gltests/alloca.in.h, gltests/binary-io.h,
+ gltests/cloexec.c, gltests/cloexec.h, gltests/dup2.c,
+ gltests/fcntl.c, gltests/fcntl.in.h, gltests/getdtablesize.c,
+ gltests/lstat.c, gltests/macros.h, gltests/malloc.c,
+ gltests/malloca.c, gltests/malloca.h, gltests/open.c,
+ gltests/pathmax.h, gltests/putenv.c, gltests/same-inode.h,
+ gltests/setenv.c, gltests/signature.h, gltests/stat.c,
+ gltests/stdbool.in.h, gltests/stdint.in.h, gltests/stdlib.in.h,
+ gltests/symlink.c, gltests/sys_stat.in.h,
+ gltests/test-alloca-opt.c, gltests/test-binary-io.c,
+ gltests/test-cloexec.c, gltests/test-dup2.c,
+ gltests/test-environ.c, gltests/test-errno.c,
+ gltests/test-fcntl-h.c, gltests/test-fcntl.c,
+ gltests/test-getdtablesize.c, gltests/test-getopt.c,
+ gltests/test-getopt.h, gltests/test-getopt_long.h,
+ gltests/test-lstat.c, gltests/test-lstat.h, gltests/test-malloca.c,
+ gltests/test-open.c, gltests/test-open.h, gltests/test-setenv.c,
+ gltests/test-stat.c, gltests/test-stat.h, gltests/test-stdbool.c,
+ gltests/test-stddef.c, gltests/test-stdint.c,
+ gltests/test-stdlib.c, gltests/test-strerror.c,
+ gltests/test-string.c, gltests/test-symlink.c,
+ gltests/test-symlink.h, gltests/test-sys_stat.c,
+ gltests/test-time.c, gltests/test-unistd.c,
+ gltests/test-unsetenv.c, gltests/test-update-copyright.sh,
+ gltests/test-vc-list-files-cvs.sh,
+ gltests/test-vc-list-files-git.sh, gltests/test-version-etc.c,
+ gltests/test-version-etc.sh, gltests/test-wchar.c,
+ gltests/time.in.h, gltests/unsetenv.c, gltests/verify.h,
+ gltests/version-etc-fsf.c, gltests/wchar.in.h, lib/gl/Makefile.am,
+ lib/gl/c-ctype.c, lib/gl/c-ctype.h, lib/gl/c-strcase.h,
+ lib/gl/c-strcasecmp.c, lib/gl/c-strncasecmp.c, lib/gl/gettext.h,
+ lib/gl/iconv.in.h, lib/gl/iconv_open.c, lib/gl/m4/00gnulib.m4,
+ lib/gl/m4/codeset.m4, lib/gl/m4/extensions.m4,
+ lib/gl/m4/gnulib-cache.m4, lib/gl/m4/gnulib-common.m4,
+ lib/gl/m4/gnulib-comp.m4, lib/gl/m4/gnulib-tool.m4,
+ lib/gl/m4/iconv.m4, lib/gl/m4/iconv_h.m4, lib/gl/m4/iconv_open.m4,
+ lib/gl/m4/include_next.m4, lib/gl/m4/ld-output-def.m4,
+ lib/gl/m4/ld-version-script.m4, lib/gl/m4/lib-ld.m4,
+ lib/gl/m4/lib-link.m4, lib/gl/m4/lib-prefix.m4,
+ lib/gl/m4/locale-fr.m4, lib/gl/m4/locale-tr.m4,
+ lib/gl/m4/longlong.m4, lib/gl/m4/multiarch.m4,
+ lib/gl/m4/stdbool.m4, lib/gl/m4/stddef_h.m4, lib/gl/m4/stdint.m4,
+ lib/gl/m4/string_h.m4, lib/gl/m4/strverscmp.m4,
+ lib/gl/m4/visibility.m4, lib/gl/m4/wchar.m4, lib/gl/m4/wchar_t.m4,
+ lib/gl/m4/wint_t.m4, lib/gl/stdbool.in.h, lib/gl/stddef.in.h,
+ lib/gl/stdint.in.h, lib/gl/striconv.c, lib/gl/striconv.h,
+ lib/gl/string.in.h, lib/gl/strverscmp.c, lib/gl/wchar.in.h,
+ lib/gltests/Makefile.am, lib/gltests/dummy.c,
+ lib/gltests/intprops.h, lib/gltests/macros.h,
+ lib/gltests/signature.h, lib/gltests/test-c-ctype.c,
+ lib/gltests/test-c-strcasecmp.c, lib/gltests/test-c-strncasecmp.c,
+ lib/gltests/test-iconv.c, lib/gltests/test-stdbool.c,
+ lib/gltests/test-stddef.c, lib/gltests/test-stdint.c,
+ lib/gltests/test-striconv.c, lib/gltests/test-string.c,
+ lib/gltests/test-strverscmp.c, lib/gltests/test-wchar.c,
+ lib/gltests/verify.h, maint.mk: Update gnulib files.
+
+2009-12-26 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/gnupload, gl/getopt.c, gl/getopt1.c, gl/getopt_int.h,
+ gl/m4/cloexec.m4, gl/m4/dos.m4, gl/m4/dup2.m4, gl/m4/extensions.m4,
+ gl/m4/fcntl-o.m4, gl/m4/fcntl.m4, gl/m4/fcntl_h.m4,
+ gl/m4/getdtablesize.m4, gl/m4/getopt.m4, gl/m4/gnulib-common.m4,
+ gl/m4/gnulib-comp.m4, gl/m4/lstat.m4, gl/m4/mode_t.m4,
+ gl/m4/open.m4, gl/m4/pathmax.m4, gl/m4/setenv.m4, gl/m4/stat.m4,
+ gl/m4/symlink.m4, gl/m4/sys_stat_h.m4, gl/m4/time_h.m4,
+ gl/m4/wchar.m4, gl/unistd.in.h, gltests/Makefile.am,
+ gltests/binary-io.h, gltests/cloexec.c, gltests/cloexec.h,
+ gltests/dup2.c, gltests/fcntl.c, gltests/fcntl.in.h,
+ gltests/getdtablesize.c, gltests/lstat.c, gltests/macros.h,
+ gltests/open.c, gltests/pathmax.h, gltests/same-inode.h,
+ gltests/signature.h, gltests/stat.c, gltests/stdlib.in.h,
+ gltests/symlink.c, gltests/sys_stat.in.h, gltests/test-binary-io.c,
+ gltests/test-binary-io.sh, gltests/test-cloexec.c,
+ gltests/test-dup2.c, gltests/test-fcntl-h.c, gltests/test-fcntl.c,
+ gltests/test-getdtablesize.c, gltests/test-getopt.c,
+ gltests/test-getopt.h, gltests/test-getopt_long.h,
+ gltests/test-lstat.c, gltests/test-lstat.h, gltests/test-open.c,
+ gltests/test-open.h, gltests/test-setenv.c, gltests/test-stat.c,
+ gltests/test-stat.h, gltests/test-strerror.c,
+ gltests/test-symlink.c, gltests/test-symlink.h,
+ gltests/test-sys_stat.c, gltests/test-time.c,
+ gltests/test-unsetenv.c, gltests/test-version-etc.c,
+ gltests/time.in.h, lib/gl/m4/extensions.m4,
+ lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4,
+ lib/gl/m4/wchar.m4, lib/gltests/Makefile.am, lib/gltests/macros.h,
+ lib/gltests/signature.h, lib/gltests/test-c-ctype.c,
+ lib/gltests/test-c-strcasecmp.c, lib/gltests/test-c-strncasecmp.c,
+ lib/gltests/test-iconv.c, lib/gltests/test-striconv.c,
+ lib/gltests/test-strverscmp.c: Update gnulib files.
+
+2009-12-19 Simon Josefsson <simon@josefsson.org>
+
+ * gl/Makefile.am, gltests/Makefile.am, lib/gl/Makefile.am,
+ lib/gltests/Makefile.am: Update gnulib files.
+
+2009-12-16 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Add.
+
+2009-12-16 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/arg-nonnull.h, gl/m4/stdbool.m4, gltests/stdbool.in.h,
+ gltests/test-stdbool.c: Update gnulib files.
+
+2009-12-16 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/gnupload, build-aux/link-warning.h, gl/Makefile.am,
+ gl/error.c, gl/error.h, gl/getopt.c, gl/getopt.in.h, gl/getopt1.c,
+ gl/getopt_int.h, gl/gettext.h, gl/intprops.h, gl/m4/error.m4,
+ gl/m4/extensions.m4, gl/m4/getopt.m4, gl/m4/gnulib-common.m4,
+ gl/m4/gnulib-comp.m4, gl/m4/include_next.m4, gl/m4/longlong.m4,
+ gl/m4/putenv.m4, gl/m4/setenv.m4, gl/m4/stdint.m4,
+ gl/m4/string_h.m4, gl/m4/unistd_h.m4, gl/m4/version-etc.m4,
+ gl/m4/warnings.m4, gl/m4/wchar.m4, gl/override/lib/gettext.h.diff,
+ gl/progname.c, gl/progname.h, gl/strerror.c, gl/string.in.h,
+ gl/unistd.in.h, gl/version-etc.c, gl/version-etc.h,
+ gltests/Makefile.am, gltests/malloca.c, gltests/malloca.h,
+ gltests/putenv.c, gltests/setenv.c, gltests/stdint.in.h,
+ gltests/stdlib.in.h, gltests/test-environ.c, gltests/test-getopt.c,
+ gltests/test-getopt.h, gltests/test-getopt_long.h,
+ gltests/test-setenv.c, gltests/test-strerror.c,
+ gltests/test-unsetenv.c, gltests/test-update-copyright.sh,
+ gltests/test-version-etc.sh, gltests/unsetenv.c, gltests/verify.h,
+ gltests/wchar.in.h, lib/gl/Makefile.am, lib/gl/c-strcasecmp.c,
+ lib/gl/c-strncasecmp.c, lib/gl/gettext.h, lib/gl/iconv.in.h,
+ lib/gl/iconv_open.c, lib/gl/m4/extensions.m4,
+ lib/gl/m4/gnulib-common.m4, lib/gl/m4/gnulib-comp.m4,
+ lib/gl/m4/iconv_h.m4, lib/gl/m4/iconv_open.m4,
+ lib/gl/m4/include_next.m4, lib/gl/m4/ld-version-script.m4,
+ lib/gl/m4/lib-ld.m4, lib/gl/m4/longlong.m4, lib/gl/m4/stdbool.m4,
+ lib/gl/m4/stdint.m4, lib/gl/m4/string_h.m4, lib/gl/m4/wchar.m4,
+ lib/gl/override/lib/gettext.h.diff, lib/gl/stdint.in.h,
+ lib/gl/striconv.c, lib/gl/striconv.h, lib/gl/string.in.h,
+ lib/gl/strverscmp.c, lib/gl/wchar.in.h, lib/gltests/Makefile.am,
+ lib/gltests/intprops.h, lib/gltests/test-c-ctype.c,
+ lib/gltests/test-c-strcasecmp.c, lib/gltests/test-c-strncasecmp.c,
+ lib/gltests/test-iconv.c, lib/gltests/test-striconv.c,
+ lib/gltests/test-strverscmp.c, lib/gltests/verify.h, maint.mk:
+ Update gnulib files.
+
+2009-11-18 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/pmccabe2html, doc/cyclo/Makefile.am, gl/Makefile.am,
+ gl/intprops.h, gl/m4/environ.m4, gl/m4/gnulib-comp.m4,
+ gl/m4/malloc.m4, gl/m4/putenv.m4, gl/m4/setenv.m4,
+ gl/m4/stdlib_h.m4, gl/m4/unistd_h.m4, gl/unistd.in.h,
+ gl/version-etc.c, gltests/Makefile.am, gltests/malloc.c,
+ gltests/putenv.c, gltests/setenv.c, gltests/stdlib.in.h,
+ gltests/test-setenv.c, gltests/test-unsetenv.c, gltests/unsetenv.c,
+ lib/gltests/Makefile.am, lib/gltests/intprops.h, maint.mk: Update
+ gnulib files.
+
+2009-11-06 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/pmccabe2html, build-aux/update-copyright,
+ build-aux/useless-if-before-free, doc/cyclo/Makefile.am,
+ gl/getopt.c, gl/m4/gnulib-comp.m4, gl/m4/pmccabe2html.m4,
+ gl/m4/stdlib_h.m4, gltests/Makefile.am, gltests/stdlib.in.h,
+ gltests/test-getopt.c, gltests/test-getopt.h,
+ gltests/test-getopt_long.h, gltests/test-stddef.c,
+ gltests/test-stdint.c, gltests/test-stdlib.c,
+ gltests/test-strerror.c, gltests/test-string.c,
+ gltests/test-unistd.c, gltests/test-update-copyright.sh,
+ gltests/test-version-etc.c, gltests/test-wchar.c,
+ lib/gltests/test-stddef.c, lib/gltests/test-stdint.c,
+ lib/gltests/test-string.c, lib/gltests/test-strverscmp.c,
+ lib/gltests/test-wchar.c, maint.mk: Update gnulib files.
+
+2009-10-19 Simon Josefsson <simon@josefsson.org>
+
+ * gl/unistd.in.h: Update gnulib files.
+
+2009-10-08 Simon Josefsson <simon@josefsson.org>
+
+ * src/Makefile.am: Fix link error on mingw.
+
+2009-10-08 Simon Josefsson <simon@josefsson.org>
+
+ * gl/Makefile.am, gl/getopt.in.h, gl/getopt_int.h, gl/m4/alloca.m4,
+ gl/m4/eealloc.m4, gl/m4/getopt.m4, gl/m4/gnulib-comp.m4,
+ gl/m4/malloca.m4, gl/m4/unistd_h.m4, gl/progname.c, gl/unistd.in.h,
+ gltests/Makefile.am, gltests/alloca.in.h, gltests/malloca.c,
+ gltests/malloca.h, gltests/malloca.valgrind, gltests/setenv.c,
+ gltests/test-alloca-opt.c, gltests/test-getopt.c,
+ gltests/test-getopt_long.h, gltests/test-malloca.c,
+ lib/gltests/Makefile.am, maint.mk: Update gnulib files.
+
+2009-09-22 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS: Add.
+
+2009-09-22 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/gendocs.sh, build-aux/update-copyright, gl/Makefile.am,
+ gl/m4/getopt.m4, gl/m4/gnulib-comp.m4, gl/m4/stdlib_h.m4,
+ gl/m4/string_h.m4, gl/m4/unistd_h.m4, gl/progname.c,
+ gl/string.in.h, gl/unistd.in.h, gltests/Makefile.am,
+ gltests/stdlib.in.h, lib/gl/Makefile.am,
+ lib/gl/iconv_open-solaris.gperf, lib/gl/iconv_open.c,
+ lib/gl/m4/gnulib-comp.m4, lib/gl/m4/iconv_open.m4,
+ lib/gl/m4/string_h.m4, lib/gl/string.in.h, maint.mk: Update gnulib
+ files.
+
+2009-09-22 Simon Josefsson <simon@josefsson.org>
+
+ * configure.ac, pom.xml.in: Add Maven pom.xml file.
+
+2009-09-07 Simon Josefsson <simon@josefsson.org>
+
+ * doc/libidn.texi: Note about OS/2 port.
+
+2009-08-20 Simon Josefsson <simon@josefsson.org>
+
+ * maint.mk: Update gnulib files.
+
+2009-08-18 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/update-copyright, gl/Makefile.am, gl/m4/gnulib-comp.m4,
+ gl/m4/stddef_h.m4, gl/m4/wchar.m4, gl/stddef.in.h, gl/string.in.h,
+ gl/unistd.in.h, gltests/Makefile.am, gltests/stdlib.in.h,
+ gltests/test-stddef.c, gltests/test-stdlib.c,
+ gltests/test-string.c, gltests/test-unistd.c,
+ gltests/test-update-copyright.sh, gltests/test-wchar.c,
+ lib/gl/Makefile.am, lib/gl/m4/gnulib-comp.m4,
+ lib/gl/m4/stddef_h.m4, lib/gl/m4/wchar.m4, lib/gl/stddef.in.h,
+ lib/gl/string.in.h, lib/gltests/Makefile.am,
+ lib/gltests/test-stddef.c, lib/gltests/test-string.c,
+ lib/gltests/test-wchar.c, maint.mk: Update gnulib files.
+
+2009-08-14 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/update-copyright, gl/Makefile.am, gl/m4/environ.m4,
+ gl/m4/getopt.m4, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
+ gl/m4/longlong.m4, gl/m4/multiarch.m4, gl/m4/setenv.m4,
+ gl/m4/stdint.m4, gl/m4/stdlib_h.m4, gl/m4/unistd_h.m4,
+ gl/m4/wchar.m4, gl/m4/wchar_t.m4, gl/m4/wint_t.m4, gl/unistd.in.h,
+ gltests/Makefile.am, gltests/stdint.in.h, gltests/stdlib.in.h,
+ gltests/test-environ.c, gltests/test-getopt.c,
+ gltests/test-getopt.h, gltests/test-getopt_long.h,
+ gltests/test-stdint.c, gltests/test-stdlib.c,
+ gltests/test-string.c, gltests/test-unistd.c,
+ gltests/test-update-copyright.sh, gltests/test-version-etc.sh,
+ gltests/test-wchar.c, gltests/unsetenv.c, gltests/wchar.in.h,
+ lib/gltests/test-string.c: Update gnulib files.
+
+2009-08-07 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/update-copyright, gltests/test-update-copyright.sh,
+ maint.mk: Update gnulib files.
+
+2009-08-04 Simon Josefsson <simon@josefsson.org>
+
+ * gl/Makefile.am, gl/m4/gnulib-cache.m4, gl/m4/gnulib-comp.m4,
+ gltests/Makefile.am: Update gnulib files.
+
+2009-08-04 Simon Josefsson <simon@josefsson.org>
+
+ * lib/gl/m4/iconv.m4, maint.mk: Update gnulib files.
+
+2009-07-29 Simon Josefsson <simon@josefsson.org>
+
+ * README-alpha: Typo.
+
+2009-07-22 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/vc-list-files, gl/Makefile.am, gl/errno.in.h,
+ gl/error.c, gl/m4/errno_h.m4, gl/m4/gnulib-comp.m4,
+ gl/m4/unistd_h.m4, gl/strerror.c, gl/unistd.in.h, gl/version-etc.c,
+ gl/version-etc.h, gltests/Makefile.am, gltests/test-string.c,
+ gltests/test-unistd.c, gltests/test-version-etc.c,
+ gltests/test-version-etc.sh, gltests/verify.h,
+ gltests/version-etc-fsf.c, lib/gl/m4/lib-link.m4,
+ lib/gltests/test-string.c, maint.mk: Update gnulib files.
+
+2009-06-17 Simon Josefsson <simon@josefsson.org>
+
+ * doc/libidn.texi: Typo.
+
+2009-06-16 Simon Josefsson <simon@josefsson.org>
+
+ * gl/Makefile.am, gl/m4/string_h.m4, gl/string.in.h,
+ lib/gl/Makefile.am, lib/gl/m4/string_h.m4, lib/gl/string.in.h:
+ Update gnulib files.
+
+2009-06-11 Simon Josefsson <simon@josefsson.org>
+
+ * doc/texinfo.css: Fix.
+
+2009-06-08 Simon Josefsson <simon@josefsson.org>
+
+ * doc/libidn.texi: Add version number to manual title.
+
+2009-06-08 Simon Josefsson <simon@josefsson.org>
+
+ * lib/stringprep.h: Generated.
+
+2009-06-08 Simon Josefsson <simon@josefsson.org>
+
+ * NEWS, configure.ac: Bump versions.
+
+2009-06-08 Simon Josefsson <simon@josefsson.org>
+
+ * build-aux/gendocs.sh: Chmod +x.
+
+2009-06-08 Simon Josefsson <simon@josefsson.org>
+
+ * ChangeLog: Generated.
+
2009-06-08 Simon Josefsson <simon@josefsson.org>
* NEWS: Version 1.15.
-----
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+ 2010, 2011 Simon Josefsson
Copying and distribution of this file, with or without
modification, are permitted provided the copyright notice
Libidn FAQ -- Anticipated Frequently Asked Questions.
-Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+Simon Josefsson
See the end for copying conditions.
Q#1: Why doesn't Libidn use a separate library for the Unicode
# It is necessary if you want to build targets usually of interest
# only to the maintainer.
-# Copyright (C) 2001, 2003, 2006-2009 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2006-2011 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# Some projects override e.g., _autoreconf here.
-include $(srcdir)/cfg.mk
-include $(srcdir)/maint.mk
# Allow cfg.mk to override these.
_build-aux ?= build-aux
-_autoreconf ?= autoreconf
+_autoreconf ?= autoreconf -v
+
+include $(srcdir)/maint.mk
# Ensure that $(VERSION) is up to date for dist-related targets, but not
# for others: rerunning autoreconf and recompiling everything isn't cheap.
$(shell test -f $(srcdir)/$(_build-aux)/git-version-gen && echo yes)
ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL))
_is-dist-target ?= $(filter-out %clean, \
- $(filter maintainer-% dist% alpha beta major,$(MAKECMDGOALS)))
+ $(filter maintainer-% dist% alpha beta stable,$(MAKECMDGOALS)))
_is-install-target ?= $(filter-out %check, $(filter install%,$(MAKECMDGOALS)))
ifneq (,$(_is-dist-target)$(_is-install-target))
- _curr-ver := $(shell cd $(srcdir) \
- && $(_build-aux)/git-version-gen .tarball-version)
+ _curr-ver := $(shell cd $(srcdir) \
+ && $(_build-aux)/git-version-gen \
+ .tarball-version \
+ $(git-version-gen-tag-sed-script))
ifneq ($(_curr-ver),$(VERSION))
ifeq ($(_curr-ver),UNKNOWN)
$(info WARNING: unable to verify if $(VERSION) is the correct version)
$(info run '$(MAKE) _version' to fix it)
else
$(info INFO: running autoreconf for new version string: $(_curr-ver))
- _dummy := $(shell $(MAKE) $(AM_MAKEFLAGS) _version)
+GNUmakefile: _version
+ touch GNUmakefile
endif
endif
endif
.PHONY: _version
_version:
cd $(srcdir) && rm -rf autom4te.cache .version && $(_autoreconf)
+ $(MAKE) $(AM_MAKEFLAGS) Makefile
else
# The package can override .DEFAULT_GOAL to run actions like autoreconf.
-include ./cfg.mk
+
+# Allow cfg.mk to override these.
+_build-aux ?= build-aux
+_autoreconf ?= autoreconf -v
+
include ./maint.mk
ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile)
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006, 2007, 2008, 2009 Free Software Foundation, Inc.
- This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
Basic Installation
==================
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.
+instructions specific to this package. Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
you want to change it or regenerate `configure' using a newer version
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
`./configure' to configure the package for your system.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
- the package.
+ the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the `make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior `make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
all sorts of other programs in order to regenerate files that came
with the distribution.
- 6. Often, you can also type `make uninstall' to remove the installed
- files again.
+ 7. Often, you can also type `make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide `make
+ distcheck', which can by used by developers to test that all other
+ targets like `make install' and `make uninstall' work correctly.
+ This target is generally not run by end users.
Compilers and Options
=====================
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
+source code in the directory that `configure' is in and in `..'. This
+is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX'.
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
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. In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'. Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated. The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the `DESTDIR' variable. For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names. The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-Optional Features
-=================
-
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
+ Some packages offer the ability to configure how verbose the
+execution of `make' will be. For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
Particular systems
==================
`configure' can determine that directory automatically.
`--prefix=DIR'
- Use DIR as the installation prefix. *Note Installation Names::
+ Use DIR as the installation prefix. *note Installation Names::
for more details, including other options available for fine-tuning
the installation locations.
## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011 Simon Josefsson
#
# This file is part of GNU Libidn.
#
EXTRA_DIST += win32/libidn.sln win32/libidn.vcproj \
win32/include/unistd.h win32/include/idn-int.h \
win32/include/stdbool.h win32/include/ac-stdint.h \
- win32/include/config.h
+ win32/include/config.h win32/libidn4win.mk
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libidn.pc
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011 Simon Josefsson
#
# This file is part of GNU Libidn.
#
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
- $(srcdir)/libidn.pc.in \
+ $(srcdir)/libidn.pc.in $(srcdir)/pom.xml.in \
$(top_srcdir)/build-aux/csharpcomp.sh.in \
+ $(top_srcdir)/build-aux/csharpexec.sh.in \
$(top_srcdir)/configure \
$(top_srcdir)/contrib/doxygen/Doxyfile.in ABOUT-NLS AUTHORS \
COPYING COPYING.LIB ChangeLog INSTALL NEWS THANKS TODO \
- build-aux/config.guess build-aux/config.rpath \
- build-aux/config.sub build-aux/depcomp build-aux/install-sh \
- build-aux/ltmain.sh build-aux/mdate-sh build-aux/missing \
- build-aux/texinfo.tex
+ build-aux/compile build-aux/config.guess \
+ build-aux/config.rpath build-aux/config.sub build-aux/depcomp \
+ build-aux/install-sh build-aux/ltmain.sh build-aux/mdate-sh \
+ build-aux/missing build-aux/texinfo.tex
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = csharpcomp.sh libidn.pc contrib/doxygen/Doxyfile
+CONFIG_CLEAN_FILES = csharpcomp.sh csharpexec.sh \
+ contrib/doxygen/Doxyfile libidn.pc pom.xml
CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
contrib/doxygen/gdoc2doxygen win32/libidn.sln \
win32/libidn.vcproj win32/include/unistd.h \
win32/include/idn-int.h win32/include/stdbool.h \
- win32/include/ac-stdint.h win32/include/config.h
+ win32/include/ac-stdint.h win32/include/config.h \
+ win32/libidn4win.mk
ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I lib/gl/m4
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
pkgconfigdir = $(libdir)/pkgconfig
-rm -f config.h stamp-h1
csharpcomp.sh: $(top_builddir)/config.status $(top_srcdir)/build-aux/csharpcomp.sh.in
cd $(top_builddir) && $(SHELL) ./config.status $@
-libidn.pc: $(top_builddir)/config.status $(srcdir)/libidn.pc.in
+csharpexec.sh: $(top_builddir)/config.status $(top_srcdir)/build-aux/csharpexec.sh.in
cd $(top_builddir) && $(SHELL) ./config.status $@
contrib/doxygen/Doxyfile: $(top_builddir)/config.status $(top_srcdir)/contrib/doxygen/Doxyfile.in
cd $(top_builddir) && $(SHELL) ./config.status $@
+libidn.pc: $(top_builddir)/config.status $(srcdir)/libidn.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+pom.xml: $(top_builddir)/config.status $(srcdir)/pom.xml.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
mostlyclean-libtool:
-rm -f *.lo
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
fi; \
done
-test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
- unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
Libidn NEWS -- History of user-visible changes. -*- outline -*-
-Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+Copyright (C) 2002-2011 Simon Josefsson
See the end for copying conditions.
+* Version 1.23 (released 2011-11-25) [stable]
+
+** stringprep.h: Now #include's sys/types.h instead of unistd.h for ssize_t.
+Some systems (e.g., Mingw with MSVC 9) does not have unistd.h.
+
+** idn-free.h: Protect prototypes with 'extern "C"' marker.
+Reported by Bittner Ede <bittner.ede@euronetrt.hu>.
+
+** doc: Update link to experimental TLD tables.
+The new link is <https://github.com/gnuthor/tldchk>.
+
+** Update gnulib files and translations.
+
+** QA: Improved cyclo output. Update GTK-DOC files. Various bugfixes.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Version 1.22 (released 2011-05-04) [stable]
+
+** libidn: Add -liconv as static library requirement in libidn.pc, for MinGW.
+Reported by Volker Grabsch <vog@notjusthosting.com>.
+
+** libidn: Fix memory leak in idna_to_ascii_4z when idna_to_ascii_4i fails.
+Reported by and tiny patch from Olga Limburg <olimburg@gmail.com>.
+
+** libidn: Ran clang-analyze on the code.
+Fixed some dead assignments/initializations.
+
+** build: Really distribute win32/libidn4win.mk.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Version 1.21 (released 2011-04-24) [stable]
+
+** build/gettext: Demand gettext >= 0.18.1 in order to get newer M4 files.
+The old M4 files associated with 0.17 caused problems on Solaris,
+hopefully now fixed. Reported by Dagobert Michelsen <dam@opencsw.org>
+in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/25522>.
+
+** build: Improve MinGW cross-compile makefile, see win32/libidn4win.mk.
+
+** build: Visual Studio files fixed to define LIBIDN_BUILDING.
+Tiny patch from Waqas Hussain <waqas20@gmail.com>.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Version 1.20 (released 2011-03-01) [stable]
+
+** libidn: Fix bug in ToUnicode to compare 'xn--' case-insensitively.
+The problem is typically noticed when an upper ACE case string is
+converted to Unicode. Before, this would return the input rather than
+converting the ACE form to Unicode. Reported by Stepan Golosunov
+<stepan@golosunov.pp.ru> in <http://bugs.debian.org/610617>.
+
+** tests: Added self-test tst_idna3 to catch any regression of problem above.
+
+** idn: Only print copyright and license blurb when used interactively.
+Reported by "Andrew O. Shadoura" <bugzilla@tut.by> and Roman Mamedov
+<rm@romanrm.ru> in <http://bugs.debian.org/615947> and
+<http://bugs.debian.org/615949> respectively.
+
+** Update gnulib files and translations.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Version 1.19 (released 2010-05-22) [stable]
+
+** doc: Typo fixes. Added PDF version of API reference manual.
+See doc/reference/libidn.pdf.
+
+** build: Update gnulib files.
+
+** build: Use valgrind -q to reduce verbosity.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Version 1.18 (released 2010-02-15) [stable]
+
+** libidn: Put forgotten symbols under old namespace.
+Reverts one unnecessary change introduced in 1.17. Suggested by Marco
+d'Itri <md@linux.it>.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Version 1.17 (released 2010-02-05) [alpha]
+
+** libidn: Fix symbol export problem for a few variables.
+Applications (that use these rarely used variables) built against
+versions before 1.13 did not work with libidn versions 1.13 to 1.16.
+
+Symbol versioning was introduced in version 1.13 but by accident some
+symbols that were visible before that release were not exported, and
+the consequence was that those symbols were not available in version
+1.13 to 1.16. This release fixes the problem, so the symbols are
+visible again, making this release backwards compatible with all
+earlier releases.
+
+The affected symbols are the following variables:
+stringprep_iscsi_prohibit, stringprep_rfc3454_A_1,
+stringprep_rfc3454_B_1, stringprep_rfc3454_B_2,
+stringprep_rfc3454_B_3, stringprep_rfc3454_C_1_1,
+stringprep_rfc3454_C_1_2, stringprep_rfc3454_C_2_1,
+stringprep_rfc3454_C_2_2, stringprep_rfc3454_C_3,
+stringprep_rfc3454_C_4, stringprep_rfc3454_C_5,
+stringprep_rfc3454_C_6, stringprep_rfc3454_C_7,
+stringprep_rfc3454_C_8, stringprep_rfc3454_C_9,
+stringprep_rfc3454_D_1, stringprep_rfc3454_D_2,
+stringprep_saslprep_space_map.
+
+Thanks to Marco d'Itri <md@linux.it> for reporting
+<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561291> that led to
+discovering this problem.
+
+** Really fix the link error of self-tests on MinGW.
+
+** API and ABI is backwards compatible with the previous version.
+
+* Version 1.16 (released 2010-01-12)
+
+** java: Add a Maven pom.xml project file.
+Contributed by Guus der Kinderen <guus.der.kinderen@gmail.com>.
+
+** Fix a link error on MinGW.
+
+** API and ABI is backwards compatible with the previous version.
+
* Version 1.15 (released 2009-06-08)
** libidn: Use c_strcasecmp instead of strcasecmp.
Libidn README -- Important introductory notes.
-Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+Simon Josefsson
See the end for copying conditions.
Libidn is a package for internationalized string handling based on the
For more information, see <http://www.gnu.org/software/libidn/>.
+For any copyright year range specified as YYYY-ZZZZ in this package
+note that the range specifies every single year in that closed interval.
+
----------------------------------------------------------------------
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
Libidn THANKS -- Acknowledgements.
-Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+Copyright (C) 2002-2011 Simon Josefsson
See the end for copying conditions.
The punycode code was taken from the IETF IDN Punycode specification,
Jens Rehsack <jens.rehsack@bayerbbs.com>
Dagobert Michelsen <dam@opencsw.org>
Guenter Knauf <gk@gknw.de>
+Stepan Golosunov <stepan@golosunov.pp.ru>
+"Andrew O. Shadoura" <bugzilla@tut.by>
+Roman Mamedov <rm@romanrm.ru>
+Waqas Hussain <waqas20@gmail.com>
+Guido Trentalancia <guido@trentalancia.com>
+Volker Grabsch <vog@notjusthosting.com>
+Olga Limburg <olimburg@gmail.com>
+Bittner Ede <bittner.ede@euronetrt.hu>
----------------------------------------------------------------------
Copying and distribution of this file, with or without modification,
Libidn TODO -- Future directions.
-Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+Simon Josefsson
See the end for copying conditions.
If you like to start working on anything, please let me know so work
-# generated automatically by aclocal 1.11 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63b],,
-[m4_warning([this file was generated for autoconf 2.63b.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],,
+[m4_warning([this file was generated for autoconf 2.67.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11], [],
+m4_if([$1], [1.11.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11])dnl
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# Check for Java compiler. -*- Autoconf -*-
# For now we only handle the GNU compiler.
-# Copyright (C) 1999, 2000, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2005, 2009 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
AC_DEFUN([AM_PROG_GCJ],[
-AC_CHECK_PROGS(GCJ, gcj, gcj)
+AC_CHECK_TOOLS(GCJ, gcj, gcj)
test -z "$GCJ" && AC_MSG_ERROR([no acceptable gcj found in \$PATH])
if test "x${GCJFLAGS-unset}" = xunset; then
GCJFLAGS="-g -O2"
rm -f confinc confmf
])
+# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 6
+
+# AM_PROG_CC_C_O
+# --------------
+# Like AC_PROG_CC_C_O, but changed for automake.
+AC_DEFUN([AM_PROG_CC_C_O],
+[AC_REQUIRE([AC_PROG_CC_C_O])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
+eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
+if test "$am_t" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+dnl Make sure AC_PROG_CC is never called again, or it will override our
+dnl setting of CC.
+m4_define([AC_PROG_CC],
+ [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
+])
+
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
fi
AC_MSG_RESULT(yes)])
+# Copyright (C) 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# (`yes' being less verbose, `no' or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules],
+[ --enable-silent-rules less verbose build output (undo: `make V=1')
+ --disable-silent-rules verbose build output (undo: `make V=0')])
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no) AM_DEFAULT_VERBOSITY=1;;
+*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
m4_include([lib/gl/m4/gnulib-comp.m4])
m4_include([lib/gl/m4/iconv_h.m4])
m4_include([lib/gl/m4/iconv_open.m4])
+m4_include([lib/gl/m4/inline.m4])
m4_include([lib/gl/m4/ld-output-def.m4])
m4_include([lib/gl/m4/ld-version-script.m4])
+m4_include([lib/gl/m4/libunistring-base.m4])
m4_include([lib/gl/m4/locale-fr.m4])
+m4_include([lib/gl/m4/locale-ja.m4])
m4_include([lib/gl/m4/locale-tr.m4])
-m4_include([lib/gl/m4/multiarch.m4])
-m4_include([lib/gl/m4/stdbool.m4])
-m4_include([lib/gl/m4/stdint.m4])
+m4_include([lib/gl/m4/locale-zh.m4])
+m4_include([lib/gl/m4/locale_h.m4])
+m4_include([lib/gl/m4/localename.m4])
+m4_include([lib/gl/m4/setlocale.m4])
m4_include([lib/gl/m4/strverscmp.m4])
-m4_include([lib/gl/m4/wchar.m4])
+m4_include([lib/gl/m4/thread.m4])
+m4_include([lib/gl/m4/yield.m4])
m4_include([gl/m4/00gnulib.m4])
+m4_include([gl/m4/alloca.m4])
m4_include([gl/m4/autobuild.m4])
+m4_include([gl/m4/close.m4])
m4_include([gl/m4/csharp.m4])
m4_include([gl/m4/csharpcomp.m4])
+m4_include([gl/m4/csharpexec.m4])
+m4_include([gl/m4/dup2.m4])
+m4_include([gl/m4/eealloc.m4])
+m4_include([gl/m4/environ.m4])
m4_include([gl/m4/errno_h.m4])
m4_include([gl/m4/error.m4])
m4_include([gl/m4/extensions.m4])
+m4_include([gl/m4/fcntl_h.m4])
+m4_include([gl/m4/fdopen.m4])
+m4_include([gl/m4/fstat.m4])
+m4_include([gl/m4/getcwd.m4])
m4_include([gl/m4/getopt.m4])
m4_include([gl/m4/gnulib-common.m4])
m4_include([gl/m4/gnulib-comp.m4])
m4_include([gl/m4/include_next.m4])
+m4_include([gl/m4/inttypes.m4])
+m4_include([gl/m4/largefile.m4])
+m4_include([gl/m4/lstat.m4])
+m4_include([gl/m4/malloc.m4])
+m4_include([gl/m4/malloca.m4])
m4_include([gl/m4/manywarnings.m4])
-m4_include([gl/m4/pmccabe2html.m4])
+m4_include([gl/m4/mode_t.m4])
+m4_include([gl/m4/msvc-inval.m4])
+m4_include([gl/m4/msvc-nothrow.m4])
+m4_include([gl/m4/multiarch.m4])
+m4_include([gl/m4/nocrash.m4])
+m4_include([gl/m4/open.m4])
+m4_include([gl/m4/pathmax.m4])
+m4_include([gl/m4/putenv.m4])
+m4_include([gl/m4/setenv.m4])
+m4_include([gl/m4/ssize_t.m4])
+m4_include([gl/m4/stat.m4])
m4_include([gl/m4/stdarg.m4])
+m4_include([gl/m4/stdbool.m4])
+m4_include([gl/m4/stddef_h.m4])
+m4_include([gl/m4/stdint.m4])
+m4_include([gl/m4/stdio_h.m4])
+m4_include([gl/m4/stdlib_h.m4])
m4_include([gl/m4/strerror.m4])
m4_include([gl/m4/string_h.m4])
+m4_include([gl/m4/symlink.m4])
+m4_include([gl/m4/sys_socket_h.m4])
+m4_include([gl/m4/sys_stat_h.m4])
+m4_include([gl/m4/time_h.m4])
m4_include([gl/m4/unistd_h.m4])
+m4_include([gl/m4/valgrind-tests.m4])
m4_include([gl/m4/version-etc.m4])
+m4_include([gl/m4/warn-on-use.m4])
m4_include([gl/m4/warnings.m4])
+m4_include([gl/m4/wchar_h.m4])
m4_include([m4/ac_prog_jar.m4])
m4_include([m4/codeset.m4])
+m4_include([m4/fcntl-o.m4])
m4_include([m4/gettext.m4])
m4_include([m4/gtk-doc.m4])
m4_include([m4/iconv.m4])
m4_include([m4/intlmacosx.m4])
+m4_include([m4/inttypes-pri.m4])
+m4_include([m4/lcmessage.m4])
m4_include([m4/lib-ld.m4])
m4_include([m4/lib-link.m4])
m4_include([m4/lib-prefix.m4])
m4_include([m4/libtool.m4])
+m4_include([m4/lock.m4])
m4_include([m4/longlong.m4])
m4_include([m4/ltoptions.m4])
m4_include([m4/ltsugar.m4])
m4_include([m4/pkg.m4])
m4_include([m4/po.m4])
m4_include([m4/progtest.m4])
+m4_include([m4/threadlib.m4])
m4_include([m4/update-header-version.m4])
-m4_include([m4/valgrind.m4])
m4_include([m4/visibility.m4])
m4_include([m4/wchar_t.m4])
m4_include([m4/wint_t.m4])
--- /dev/null
+#! /bin/sh
+# Wrapper for compilers which do not understand `-c -o'.
+
+scriptversion=2009-10-06.20; # UTC
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software
+# Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# 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 command. Try \`$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand `-c -o'.
+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=
+cfile=
+eat=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # 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
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # 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
+ # normal compilation that the losing compiler can handle. If no
+ # `.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# 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
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+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-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
# Free Software Foundation, Inc.
-timestamp='2009-04-27'
+timestamp='2009-12-30'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the same distribution terms that you use for the rest of that program.
-# Originally written by Per Bothner <per@bothner.com>.
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
+# Originally written by Per Bothner. Please send patches (context
+# diff format) to <config-patches@gnu.org> and include a ChangeLog
+# entry.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
me=`echo "$0" | sed -e 's,.*/,,'`
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep __ELF__ >/dev/null
+ | grep -q __ELF__
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either. FIX?
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ echo i386-pc-auroraux${UNAME_RELEASE}
+ exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
eval $set_cc_for_build
SUN_ARCH="i386"
# => hppa64-hp-hpux11.23
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
- grep __LP64__ >/dev/null
+ grep -q __LP64__
then
HP_ARCH="hppa2.0w"
else
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
- *:Interix*:[3456]*)
+ *:Interix*:*)
case ${UNAME_MACHINE} in
x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
- EM64T | authenticamd | genuineintel)
+ authenticamd | genuineintel | EM64T)
echo x86_64-unknown-interix${UNAME_RELEASE}
exit ;;
IA64)
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
arm*:Linux:*:*)
eval $set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
frv:Linux:*:*)
echo frv-unknown-linux-gnu
exit ;;
+ i*86:Linux:*:*)
+ LIBC=gnu
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
- mips:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips
- #undef mipsel
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mipsel
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips
- #else
- CPU=
- #endif
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
- ;;
- mips64:Linux:*:*)
+ mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
- #undef mips64
- #undef mips64el
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mips64el
+ CPU=${UNAME_MACHINE}el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips64
+ CPU=${UNAME_MACHINE}
#else
CPU=
#endif
#endif
EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^CPU/{
- s: ::g
- p
- }'`"
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
or32:Linux:*:*)
echo or32-unknown-linux-gnu
exit ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
- exit ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
- exit ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit ;;
padre:Linux:*:*)
echo sparc-unknown-linux-gnu
exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
*) echo hppa-unknown-linux-gnu ;;
esac
exit ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
- i*86:Linux:*:*)
- # The BFD linker knows what the default object file format is, so
- # first see if it will tell us. cd to the root directory to prevent
- # problems with other programs or directories called `ld' in the path.
- # Set LC_ALL=C to ensure ld outputs messages in English.
- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
- | sed -ne '/supported targets:/!d
- s/[ ][ ]*/ /g
- s/.*supported targets: *//
- s/ .*//
- p'`
- case "$ld_supported_targets" in
- elf32-i386)
- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
- ;;
- a.out-i386-linux)
- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit ;;
- "")
- # Either a pre-BFD a.out linker (linux-gnuoldld) or
- # one that does not give us useful --help.
- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit ;;
- esac
- # Determine whether the default compiler is a.out or elf
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #ifdef __ELF__
- # ifdef __GLIBC__
- # if __GLIBC__ >= 2
- LIBC=gnu
- # else
- LIBC=gnulibc1
- # endif
- # else
- LIBC=gnulibc1
- # endif
- #else
- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
- LIBC=gnu
- #else
- LIBC=gnuaout
- #endif
- #endif
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
- /^LIBC/{
- s: ::g
- p
- }'`"
- test x"${LIBC}" != x && {
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
- exit
- }
- test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
- ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
i*86:syllable:*:*)
echo ${UNAME_MACHINE}-pc-syllable
exit ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit ;;
i*86:*DOS:*:*)
rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
echo powerpc-unknown-lynxos${UNAME_RELEASE}
exit ;;
SM[BE]S:UNIX_SV:*:*)
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
case $UNAME_PROCESSOR in
+ i386)
+ eval $set_cc_for_build
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ UNAME_PROCESSOR="x86_64"
+ fi
+ fi ;;
unknown) UNAME_PROCESSOR=powerpc ;;
esac
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
-# Copyright 1996-2008 Free Software Foundation, Inc.
+# Copyright 1996-2011 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
aix*)
wl='-Wl,'
;;
- darwin*)
- case $cc_basename in
- xlc*)
- wl='-Wl,'
- ;;
- esac
- ;;
mingw* | cygwin* | pw32* | os2* | cegcc*)
;;
hpux9* | hpux10* | hpux11*)
irix5* | irix6* | nonstopux*)
wl='-Wl,'
;;
- newsos6)
- ;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
case $cc_basename in
ecc*)
wl='-Wl,'
lf95*)
wl='-Wl,'
;;
- pgcc | pgf77 | pgf90)
+ nagfor*)
+ wl='-Wl,-Wl,,'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
wl='-Wl,'
;;
ccc*)
wl='-Wl,'
;;
+ xl* | bgxl* | bgf* | mpixl*)
+ wl='-Wl,'
+ ;;
como)
wl='-lopt='
;;
*)
case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ F* | *Sun*Fortran*)
+ wl=
+ ;;
*Sun\ C*)
wl='-Wl,'
;;
;;
esac
;;
+ newsos6)
+ ;;
+ *nto* | *qnx*)
+ ;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
rdos*)
;;
solaris*)
- wl='-Wl,'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ wl='-Qoption ld '
+ ;;
+ *)
+ wl='-Wl,'
+ ;;
+ esac
;;
sunos4*)
wl='-Qoption ld '
fi
;;
amigaos*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
- # that the semantics of dynamic libraries on AmigaOS, at least up
- # to version 4, is to share data among multiple programs linked
- # with the same dynamic library. Since this doesn't match the
- # behavior of shared libraries on other platforms, we cannot use
- # them.
- ld_shlibs=no
+ case "$host_cpu" in
+ powerpc)
+ ;;
+ m68k)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
;;
beos*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
ld_shlibs=no
fi
;;
+ haiku*)
+ ;;
interix[3-9]*)
hardcode_direct=no
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
- gnu* | linux* | k*bsd*-gnu)
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
fi
;;
amigaos*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- # see comment about different semantics on the GNU ld section
- ld_shlibs=no
+ case "$host_cpu" in
+ powerpc)
+ ;;
+ m68k)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
;;
bsdi[45]*)
;;
;;
darwin* | rhapsody*)
hardcode_direct=no
- if test "$GCC" = yes ; then
+ if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then
:
else
- case $cc_basename in
- xlc*)
- ;;
- *)
- ld_shlibs=no
- ;;
- esac
+ ld_shlibs=no
fi
;;
dgux*)
hardcode_libdir_flag_spec='-L$libdir'
;;
- freebsd1*)
- ld_shlibs=no
- ;;
freebsd2.2*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
+ *nto* | *qnx*)
+ ;;
openbsd*)
if test -f /usr/libexec/ld.so; then
hardcode_direct=yes
library_names_spec='$libname$shrext'
;;
amigaos*)
- library_names_spec='$libname.a'
+ case "$host_cpu" in
+ powerpc*)
+ library_names_spec='$libname$shrext' ;;
+ m68k)
+ library_names_spec='$libname.a' ;;
+ esac
;;
beos*)
library_names_spec='$libname$shrext'
dgux*)
library_names_spec='$libname$shrext'
;;
- freebsd1*)
- ;;
freebsd* | dragonfly*)
case "$host_os" in
freebsd[123]*)
gnu*)
library_names_spec='$libname$shrext'
;;
+ haiku*)
+ library_names_spec='$libname$shrext'
+ ;;
hpux9* | hpux10* | hpux11*)
case $host_cpu in
ia64*)
;;
linux*oldld* | linux*aout* | linux*coff*)
;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
library_names_spec='$libname$shrext'
;;
knetbsd*-gnu)
newsos6)
library_names_spec='$libname$shrext'
;;
- nto-qnx*)
+ *nto* | *qnx*)
library_names_spec='$libname$shrext'
;;
openbsd*)
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
library_names_spec='$libname$shrext'
;;
+ tpf*)
+ library_names_spec='$libname$shrext'
+ ;;
uts4*)
library_names_spec='$libname$shrext'
;;
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
# Free Software Foundation, Inc.
-timestamp='2009-04-17'
+timestamp='2010-01-22'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
+# diff and a properly formatted GNU ChangeLog entry.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray)
+ -apple | -axis | -knuth | -cray | -microblaze)
os=
basic_machine=$1
;;
+ -bluegene*)
+ os=-cnk
+ ;;
-sim | -cisco | -oki | -wec | -winbond)
os=
basic_machine=$1
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
+ | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
| spu | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
+ | ubicom32 \
| v850 | v850e \
| we32k \
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k | z80)
basic_machine=$basic_machine-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12)
+ m6811 | m68hc11 | m6812 | m68hc12 | picochip)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
os=-none
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
- | romp-* | rs6000-* \
+ | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile-* | tilegx-* \
| tron-* \
+ | ubicom32-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux
;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
c90)
basic_machine=c90-cray
os=-unicos
basic_machine=ns32k-utek
os=-sysv
;;
+ microblaze)
+ basic_machine=microblaze-xilinx
+ ;;
mingw32)
basic_machine=i386-pc
os=-mingw32
basic_machine=tic6x-unknown
os=-coff
;;
+ # This must be matched before tile*.
+ tilegx*)
+ basic_machine=tilegx-unknown
+ os=-linux-gnu
+ ;;
tile*)
basic_machine=tile-unknown
os=-linux-gnu
# First match some system type aliases
# that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
;;
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
- | -kopensolaris* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
-dicos*)
os=-dicos
;;
+ -nacl*)
+ ;;
-none)
;;
*)
-sunos*)
vendor=sun
;;
- -aix*)
+ -cnk*|-aix*)
vendor=ibm
;;
-beos*)
#!/bin/sh
# Compile a C# program.
-# Copyright (C) 2003-2006 Free Software Foundation, Inc.
+# Copyright (C) 2003-2006, 2009-2011 Free Software Foundation, Inc.
# Written by Bruno Haible <bruno@clisp.org>, 2003.
#
# This program is free software: you can redistribute it and/or modify
--- /dev/null
+#!/bin/sh
+# Execute a C# program.
+
+# Copyright (C) 2003, 2005, 2009-2011 Free Software Foundation, Inc.
+# Written by Bruno Haible <bruno@clisp.org>, 2003.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This uses the same choices as csharpexec.c, but instead of relying on the
+# environment settings at run time, it uses the environment variables
+# present at configuration time.
+#
+# This is a separate shell script, because the various C# interpreters have
+# different command line options.
+#
+# Usage: /bin/sh csharpexec.sh [OPTION] program.exe [ARGUMENTS]
+# Options:
+# -L DIRECTORY search for C# libraries also in DIRECTORY
+
+sed_quote_subst='s/\([|&;<>()$`"'"'"'*?[#~=% \\]\)/\\\1/g'
+options_ilrun=
+libdirs_mono=
+prog=
+while test $# != 0; do
+ case "$1" in
+ -L)
+ options_ilrun="$options_ilrun -L "`echo "$2" | sed -e "$sed_quote_subst"`
+ libdirs_mono="${libdirs_mono:+$libdirs_mono@MONO_PATH_SEPARATOR@}$2"
+ shift
+ ;;
+ -*)
+ echo "csharpexec: unknown option '$1'" 1>&2
+ exit 1
+ ;;
+ *)
+ prog="$1"
+ break
+ ;;
+ esac
+ shift
+done
+if test -z "$prog"; then
+ echo "csharpexec: no program specified" 1>&2
+ exit 1
+fi
+case "$prog" in
+ *.exe) ;;
+ *)
+ echo "csharpexec: program is not a .exe" 1>&2
+ exit 1
+ ;;
+esac
+
+if test -n "@HAVE_ILRUN@"; then
+ test -z "$CSHARP_VERBOSE" || echo ilrun $options_ilrun "$@"
+ exec ilrun $options_ilrun "$@"
+else
+ if test -n "@HAVE_MONO@"; then
+ CONF_MONO_PATH='@MONO_PATH@'
+ if test -n "$libdirs_mono"; then
+ MONO_PATH="$libdirs_mono${CONF_MONO_PATH:+@MONO_PATH_SEPARATOR@$CONF_MONO_PATH}"
+ else
+ MONO_PATH="$CONF_MONO_PATH"
+ fi
+ export MONO_PATH
+ test -z "$CSHARP_VERBOSE" || echo mono "$@"
+ exec mono "$@"
+ else
+ if test -n "@HAVE_CLIX@"; then
+ CONF_CLIX_PATH='@CLIX_PATH@'
+ if test -n "$libdirs_mono"; then
+ @CLIX_PATH_VAR@="$libdirs_mono${CONF_CLIX_PATH:+@MONO_PATH_SEPARATOR@$CONF_CLIX_PATH}"
+ else
+ @CLIX_PATH_VAR@="$CONF_CLIX_PATH"
+ fi
+ export @CLIX_PATH_VAR@
+ test -z "$CSHARP_VERBOSE" || echo clix "$@"
+ exec clix "$@"
+ else
+ echo 'C# virtual machine not found, try installing pnet, then reconfigure' 1>&2
+ exit 1
+ fi
+ fi
+fi
-#!/bin/sh
+#!/bin/sh -e
# gendocs.sh -- generate a GNU manual in many formats. This script is
# mentioned in maintain.texi. See the help message below for usage details.
-scriptversion=2009-04-08.09
+scriptversion=2011-04-08.14
-# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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
-# the Free Software Foundation; either version 3 of the License,
-# or (at your option) any later version.
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
#
# Original author: Mohit Agarwal.
# Send bug reports and any other correspondence to bug-texinfo@gnu.org.
+#
+# The latest version of this script, and the companion template, is
+# available from Texinfo CVS:
+# http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs.sh
+# http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/util/gendocs_template
+#
+# An up-to-date copy is also maintained in Gnulib (gnu.org/software/gnulib).
prog=`basename "$0"`
srcdir=`pwd`
version="gendocs.sh $scriptversion
-Copyright 2009 Free Software Foundation, Inc.
+Copyright 2010 Free Software Foundation, Inc.
There is NO warranty. You may redistribute this software
under the terms of the GNU General Public License.
For more information about these matters, see the files named COPYING."
http://www.gnu.org/prep/maintain_toc.html
Options:
+ -s SRCFILE read Texinfo from SRCFILE, instead of PACKAGE.{texinfo|texi|txi}
-o OUTDIR write files into OUTDIR, instead of manual/.
--email ADR use ADR as contact in generated web pages.
--docbook convert to DocBook too (xml, txt, html, pdf and ps).
first copy or symlink all Texinfo sources into a single directory.
(Part of the script's work is to make a tar.gz of the sources.)
-You can set the environment variables MAKEINFO, TEXI2DVI, and DVIPS to
-control the programs that get executed, and GENDOCS_TEMPLATE_DIR to
-control where the gendocs_template file is looked for. (With --docbook,
-the environment variables DOCBOOK2HTML, DOCBOOK2PDF, DOCBOOK2PS, and
-DOCBOOK2TXT are also respected.)
+You can set the environment variables MAKEINFO, TEXI2DVI, TEXI2HTML, and
+DVIPS to control the programs that get executed, and
+GENDOCS_TEMPLATE_DIR to control where the gendocs_template file is
+looked for. With --docbook, the environment variables DOCBOOK2HTML,
+DOCBOOK2PDF, DOCBOOK2PS, and DOCBOOK2TXT are also respected.
-By default, makeinfo is run in the default (English) locale, since
-that's the language of most Texinfo manuals. If you happen to have a
-non-English manual and non-English web site, see the SETLANG setting
-in the source.
+By default, makeinfo and texi2dvi are run in the default (English)
+locale, since that's the language of most Texinfo manuals. If you
+happen to have a non-English manual and non-English web site, see the
+SETLANG setting in the source.
Email bug reports or enhancement requests to bug-texinfo@gnu.org.
"
EMAIL=webmasters@gnu.org # please override with --email
htmlarg=
outdir=manual
+srcfile=
while test $# -gt 0; do
case $1 in
--email) shift; EMAIL=$1;;
--help) echo "$usage"; exit 0;;
--version) echo "$version"; exit 0;;
+ -s) shift; srcfile=$1;;
-o) shift; outdir=$1;;
--docbook) docbook=yes;;
--html) shift; htmlarg=$1;;
shift
done
-if test -s "$srcdir/$PACKAGE.texinfo"; then
+# For most of the following, the base name is just $PACKAGE
+base=$PACKAGE
+
+if test -n "$srcfile"; then
+ # but here, we use the basename of $srcfile
+ base=`basename "$srcfile"`
+ case $base in
+ *.txi|*.texi|*.texinfo) base=`echo "$base"|sed 's/\.[texinfo]*$//'`;;
+ esac
+ PACKAGE=$base
+elif test -s "$srcdir/$PACKAGE.texinfo"; then
srcfile=$srcdir/$PACKAGE.texinfo
elif test -s "$srcdir/$PACKAGE.texi"; then
srcfile=$srcdir/$PACKAGE.texi
fi
case $outdir in
- /*) dotdot_outdir="$outdir";;
- *) dotdot_outdir="../$outdir";;
+ /*) abs_outdir=$outdir;;
+ *) abs_outdir=$srcdir/$outdir;;
esac
echo Generating output formats for $srcfile
cmd="$SETLANG $MAKEINFO -o $PACKAGE.info \"$srcfile\""
echo "Generating info files... ($cmd)"
eval "$cmd"
-mkdir -p $outdir/
-tar czf $outdir/$PACKAGE.info.tar.gz $PACKAGE.info*
-info_tgz_size=`calcsize $outdir/$PACKAGE.info.tar.gz`
+mkdir -p "$outdir/"
+tar czf "$outdir/$PACKAGE.info.tar.gz" $PACKAGE.info*
+info_tgz_size=`calcsize "$outdir/$PACKAGE.info.tar.gz"`
# do not mv the info files, there's no point in having them available
# separately on the web.
-cmd="${TEXI2DVI} \"$srcfile\""
+cmd="$SETLANG ${TEXI2DVI} \"$srcfile\""
echo "Generating dvi ... ($cmd)"
eval "$cmd"
${DVIPS} $PACKAGE -o
gzip -f -9 $PACKAGE.ps
ps_gz_size=`calcsize $PACKAGE.ps.gz`
-mv $PACKAGE.ps.gz $outdir/
+mv $PACKAGE.ps.gz "$outdir/"
# compress/finish dvi:
gzip -f -9 $PACKAGE.dvi
dvi_gz_size=`calcsize $PACKAGE.dvi.gz`
-mv $PACKAGE.dvi.gz $outdir/
+mv $PACKAGE.dvi.gz "$outdir/"
-cmd="${TEXI2DVI} --pdf \"$srcfile\""
+cmd="$SETLANG ${TEXI2DVI} --pdf \"$srcfile\""
echo "Generating pdf ... ($cmd)"
eval "$cmd"
pdf_size=`calcsize $PACKAGE.pdf`
-mv $PACKAGE.pdf $outdir/
+mv $PACKAGE.pdf "$outdir/"
cmd="$SETLANG $MAKEINFO -o $PACKAGE.txt --no-split --no-headers \"$srcfile\""
echo "Generating ASCII... ($cmd)"
eval "$cmd"
ascii_size=`calcsize $PACKAGE.txt`
-gzip -f -9 -c $PACKAGE.txt >$outdir/$PACKAGE.txt.gz
-ascii_gz_size=`calcsize $outdir/$PACKAGE.txt.gz`
-mv $PACKAGE.txt $outdir/
+gzip -f -9 -c $PACKAGE.txt >"$outdir/$PACKAGE.txt.gz"
+ascii_gz_size=`calcsize "$outdir/$PACKAGE.txt.gz"`
+mv $PACKAGE.txt "$outdir/"
html_split()
{
(
cd ${split_html_dir} || exit 1
ln -sf ${PACKAGE}.html index.html
- tar -czf $dotdot_outdir/${PACKAGE}.html_$1.tar.gz -- *.html
+ tar -czf "$abs_outdir/${PACKAGE}.html_$1.tar.gz" -- *.html
)
- eval html_$1_tgz_size=`calcsize $outdir/${PACKAGE}.html_$1.tar.gz`
- rm -f $outdir/html_$1/*.html
- mkdir -p $outdir/html_$1/
- mv ${split_html_dir}/*.html $outdir/html_$1/
+ eval html_$1_tgz_size=`calcsize "$outdir/${PACKAGE}.html_$1.tar.gz"`
+ rm -f "$outdir"/html_$1/*.html
+ mkdir -p "$outdir/html_$1/"
+ mv ${split_html_dir}/*.html "$outdir/html_$1/"
rmdir ${split_html_dir}
}
rm -rf $PACKAGE.html # in case a directory is left over
eval "$cmd"
html_mono_size=`calcsize $PACKAGE.html`
- gzip -f -9 -c $PACKAGE.html >$outdir/$PACKAGE.html.gz
- html_mono_gz_size=`calcsize $outdir/$PACKAGE.html.gz`
- mv $PACKAGE.html $outdir/
+ gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz"
+ html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"`
+ mv $PACKAGE.html "$outdir/"
cmd="$SETLANG $MAKEINFO --html -o $PACKAGE.html $htmlarg \"$srcfile\""
echo "Generating html by node... ($cmd)"
split_html_dir=$PACKAGE.html
(
cd ${split_html_dir} || exit 1
- tar -czf $dotdot_outdir/${PACKAGE}.html_node.tar.gz -- *.html
+ tar -czf "$abs_outdir/${PACKAGE}.html_node.tar.gz" -- *.html
)
- html_node_tgz_size=`calcsize $outdir/${PACKAGE}.html_node.tar.gz`
- rm -f $outdir/html_node/*.html
- mkdir -p $outdir/html_node/
- mv ${split_html_dir}/*.html $outdir/html_node/
+ html_node_tgz_size=`calcsize "$outdir/${PACKAGE}.html_node.tar.gz"`
+ rm -f "$outdir"/html_node/*.html
+ mkdir -p "$outdir/html_node/"
+ mv ${split_html_dir}/*.html "$outdir/html_node/"
rmdir ${split_html_dir}
else
cmd="$SETLANG $TEXI2HTML --output $PACKAGE.html $htmlarg \"$srcfile\""
rm -rf $PACKAGE.html # in case a directory is left over
eval "$cmd"
html_mono_size=`calcsize $PACKAGE.html`
- gzip -f -9 -c $PACKAGE.html >$outdir/$PACKAGE.html.gz
- html_mono_gz_size=`calcsize $outdir/$PACKAGE.html.gz`
- mv $PACKAGE.html $outdir/
+ gzip -f -9 -c $PACKAGE.html >"$outdir/$PACKAGE.html.gz"
+ html_mono_gz_size=`calcsize "$outdir/$PACKAGE.html.gz"`
+ mv $PACKAGE.html "$outdir/"
html_split node
html_split chapter
fi
echo Making .tar.gz for sources...
-srcfiles=`ls *.texinfo *.texi *.txi *.eps 2>/dev/null`
-tar cvzfh $outdir/$PACKAGE.texi.tar.gz $srcfiles
-texi_tgz_size=`calcsize $outdir/$PACKAGE.texi.tar.gz`
+d=`dirname $srcfile`
+(
+ cd "$d"
+ srcfiles=`ls *.texinfo *.texi *.txi *.eps 2>/dev/null` || true
+ tar cvzfh "$abs_outdir/$PACKAGE.texi.tar.gz" $srcfiles
+)
+texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"`
if test -n "$docbook"; then
cmd="$SETLANG $MAKEINFO -o - --docbook \"$srcfile\" > ${srcdir}/$PACKAGE-db.xml"
- echo "Generating docbook XML... $(cmd)"
+ echo "Generating docbook XML... ($cmd)"
eval "$cmd"
docbook_xml_size=`calcsize $PACKAGE-db.xml`
- gzip -f -9 -c $PACKAGE-db.xml >$outdir/$PACKAGE-db.xml.gz
- docbook_xml_gz_size=`calcsize $outdir/$PACKAGE-db.xml.gz`
- mv $PACKAGE-db.xml $outdir/
+ gzip -f -9 -c $PACKAGE-db.xml >"$outdir/$PACKAGE-db.xml.gz"
+ docbook_xml_gz_size=`calcsize "$outdir/$PACKAGE-db.xml.gz"`
+ mv $PACKAGE-db.xml "$outdir/"
- cmd="${DOCBOOK2HTML} -o $split_html_db_dir ${outdir}/$PACKAGE-db.xml"
+ split_html_db_dir=html_node_db
+ cmd="${DOCBOOK2HTML} -o $split_html_db_dir \"${outdir}/$PACKAGE-db.xml\""
echo "Generating docbook HTML... ($cmd)"
eval "$cmd"
- split_html_db_dir=html_node_db
(
cd ${split_html_db_dir} || exit 1
- tar -czf $dotdot_outdir/${PACKAGE}.html_node_db.tar.gz -- *.html
+ tar -czf "$abs_outdir/${PACKAGE}.html_node_db.tar.gz" -- *.html
)
- html_node_db_tgz_size=`calcsize $outdir/${PACKAGE}.html_node_db.tar.gz`
- rm -f $outdir/html_node_db/*.html
- mkdir -p $outdir/html_node_db
- mv ${split_html_db_dir}/*.html $outdir/html_node_db/
+ html_node_db_tgz_size=`calcsize "$outdir/${PACKAGE}.html_node_db.tar.gz"`
+ rm -f "$outdir"/html_node_db/*.html
+ mkdir -p "$outdir/html_node_db"
+ mv ${split_html_db_dir}/*.html "$outdir/html_node_db/"
rmdir ${split_html_db_dir}
- cmd="${DOCBOOK2TXT} ${outdir}/$PACKAGE-db.xml"
+ cmd="${DOCBOOK2TXT} \"${outdir}/$PACKAGE-db.xml\""
echo "Generating docbook ASCII... ($cmd)"
eval "$cmd"
docbook_ascii_size=`calcsize $PACKAGE-db.txt`
- mv $PACKAGE-db.txt $outdir/
+ mv $PACKAGE-db.txt "$outdir/"
- cmd="${DOCBOOK2PS} ${outdir}/$PACKAGE-db.xml"
- echo "Generating docbook PS... $(cmd)"
+ cmd="${DOCBOOK2PS} \"${outdir}/$PACKAGE-db.xml\""
+ echo "Generating docbook PS... ($cmd)"
eval "$cmd"
- gzip -f -9 -c $PACKAGE-db.ps >$outdir/$PACKAGE-db.ps.gz
- docbook_ps_gz_size=`calcsize $outdir/$PACKAGE-db.ps.gz`
- mv $PACKAGE-db.ps $outdir/
+ gzip -f -9 -c $PACKAGE-db.ps >"$outdir/$PACKAGE-db.ps.gz"
+ docbook_ps_gz_size=`calcsize "$outdir/$PACKAGE-db.ps.gz"`
+ mv $PACKAGE-db.ps "$outdir/"
- cmd="${DOCBOOK2PDF} ${outdir}/$PACKAGE-db.xml"
+ cmd="${DOCBOOK2PDF} \"${outdir}/$PACKAGE-db.xml\""
echo "Generating docbook PDF... ($cmd)"
eval "$cmd"
docbook_pdf_size=`calcsize $PACKAGE-db.pdf`
- mv $PACKAGE-db.pdf $outdir/
+ mv $PACKAGE-db.pdf "$outdir/"
fi
echo "Writing index file..."
-e "s,%%SCRIPTURL%%,$scripturl,g" \
-e "s!%%SCRIPTNAME%%!$prog!g" \
-e "$CONDS" \
-$GENDOCS_TEMPLATE_DIR/gendocs_template >$outdir/index.html
+$GENDOCS_TEMPLATE_DIR/gendocs_template >"$outdir/index.html"
echo "Done, see $outdir/ subdirectory for new files."
#!/bin/sh
# Sign files and upload them.
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2010-05-23.15; # UTC
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
delete_symlinks=
collect_var=
dbg=
+nl='
+'
-usage="Usage: $0 [OPTIONS]... [COMMAND] FILES... [[COMMAND] FILES...]
+usage="Usage: $0 [OPTION]... [CMD] FILE... [[CMD] FILE...]
-Sign all FILES, and upload them to selected destinations, according to
-<http://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html>.
+Sign all FILES, and process them at selected destinations according to CMD.
+<http://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html>
+explains further.
Commands:
--delete delete FILES from destination
(#) and empty lines in $conffile are allowed.
Examples:
-1. Upload automake-1.8.2b.tar.gz and automake-1.8.2b.tar.bz2 to two sites:
- gnupload --to sources.redhat.com:~ftp/pub/automake \\
- --to alpha.gnu.org:automake \\
- automake-1.8.2b.tar.gz automake-1.8.2b.tar.bz2
-
-2. Same as above, but also create symbolic links to automake-latest.tar.*:
- gnupload --to sources.redhat.com:~ftp/pub/automake \\
- --to alpha.gnu.org:automake \\
- --symlink-regex \\
- automake-1.8.2b.tar.gz automake-1.8.2b.tar.bz2
+1. Upload foobar-1.0.tar.gz to ftp.gnu.org:
+ gnupload --to ftp.gnu.org:foobar foobar-1.0.tar.gz
+
+2. Upload foobar-1.0.tar.gz and foobar-1.0.tar.xz to ftp.gnu.org:
+ gnupload --to ftp.gnu.org:foobar foobar-1.0.tar.gz foobar-1.0.tar.xz
-3. Symlink automake-1.8.2b.tar.gz to automake-latest.tar.gz and
-automake-1.8.2b.tar.bz2 to automake-latest.tar.bz2 on both sites:
+3. Same as above, and also create symbolic links to foobar-latest.tar.*:
+ gnupload --to ftp.gnu.org:foobar \\
+ --symlink-regex \\
+ foobar-1.0.tar.gz foobar-1.0.tar.xz
- gnupload --to sources.redhat.com:~ftp/pub/automake \\
- --to alpha.gnu.org:automake \\
- --symlink automake-1.8.2b.tar.gz automake-latest.tar.gz \\
- automake-1.8.2b.tar.bz2 automake-latest.tar.bz2
+4. Upload foobar-0.9.90.tar.gz to two sites:
+ gnupload --to alpha.gnu.org:foobar \\
+ --to sources.redhat.com:~ftp/pub/foobar \\
+ foobar-0.9.90.tar.gz
-4. Delete automake-1.8.2a.tar.gz and .bz2, remove symlink
-automake-latest.tar.gz and upload automake-1.8.2b.tar.gz:
+5. Delete oopsbar-0.9.91.tar.gz and upload foobar-0.9.91.tar.gz
+ (the -- terminates the list of files to delete):
+ gnupload --to alpha.gnu.org:foobar \\
+ --to sources.redhat.com:~ftp/pub/foobar \\
+ --delete oopsbar-0.9.91.tar.gz \\
+ -- foobar-0.9.91.tar.gz
- gnupload --to sources.redhat.com:~ftp/pub/automake \\
- --to alpha.gnu.org:automake \\
- --delete automake-1.8.2a.tar.gz automake-1.8.2a.tar.bz2 \\
- --rmsymlink automake-latest.tar.gz \\
- -- \\
- automake-1.8.2b.tar.gz automake-1.8.2b.tar.bz2
+gnupload uses the ncftpput program to do the transfers; if you don't
+happen to have an ncftp package installed, the ncftpput-ftp script in
+the build-aux/ directory of the gnulib package
+(http://savannah.gnu.org/projects/gnulib) may serve as a replacement.
Report bugs to <bug-automake@gnu.org>.
Send patches to <automake-patches@gnu.org>."
# Read local configuration file
if test -r "$conffile"; then
echo "$0: Reading configuration file $conffile"
- eval set x "`sed 's/#.*$//;/^$/d' \"$conffile\" | tr '\012\015' ' '` \"\$@\""
+ conf=`sed 's/#.*$//;/^$/d' "$conffile" | tr "\015$nl" ' '`
+ eval set x "$conf \"\$@\""
shift
fi
dprint()
{
- echo "Running $*..."
+ echo "Running $* ..."
}
if $dry_run; then
if test $# -ne 0; then
for file
do
- echo "Signing $file..."
+ echo "Signing $file ..."
rm -f $file.sig
echo "$passphrase" | $dbg $GPG --passphrase-fd 0 -ba -o $file.sig $file
done
do
for file
do
- echo "Uploading $file to $dest..."
+ echo "Uploading $file to $dest ..."
stmt=
files="$file $file.sig"
destdir=`echo $dest | sed 's/[^:]*://'`
+++ /dev/null
-/* GL_LINK_WARNING("literal string") arranges to emit the literal string as
- a linker warning on most glibc systems.
- We use a linker warning rather than a preprocessor warning, because
- #warning cannot be used inside macros. */
-#ifndef GL_LINK_WARNING
- /* This works on platforms with GNU ld and ELF object format.
- Testing __GLIBC__ is sufficient for asserting that GNU ld is in use.
- Testing __ELF__ guarantees the ELF object format.
- Testing __GNUC__ is necessary for the compound expression syntax. */
-# if defined __GLIBC__ && defined __ELF__ && defined __GNUC__
-# define GL_LINK_WARNING(message) \
- GL_LINK_WARNING1 (__FILE__, __LINE__, message)
-# define GL_LINK_WARNING1(file, line, message) \
- GL_LINK_WARNING2 (file, line, message) /* macroexpand file and line */
-# define GL_LINK_WARNING2(file, line, message) \
- GL_LINK_WARNING3 (file ":" #line ": warning: " message)
-# define GL_LINK_WARNING3(message) \
- ({ static const char warning[sizeof (message)] \
- __attribute__ ((__unused__, \
- __section__ (".gnu.warning"), \
- __aligned__ (1))) \
- = message "\n"; \
- (void)0; \
- })
-# else
-# define GL_LINK_WARNING(message) ((void) 0)
-# endif
-#endif
# Generated from ltmain.m4sh.
-# ltmain.sh (GNU libtool) 2.2.6
+# libtool (GNU libtool) 2.2.10
# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# Provide generalized library-building support services.
#
-# --config show all configuration variables
-# --debug enable verbose shell tracing
-# -n, --dry-run display commands without modifying any files
-# --features display basic configuration information and exit
-# --mode=MODE use operation mode MODE
-# --preserve-dup-deps don't remove duplicate dependency libraries
-# --quiet, --silent don't print informational messages
-# --tag=TAG use configuration variables from tag TAG
-# -v, --verbose print informational messages (default)
-# --version print version information
-# -h, --help print short or long help message
+# --config show all configuration variables
+# --debug enable verbose shell tracing
+# -n, --dry-run display commands without modifying any files
+# --features display basic configuration information and exit
+# --mode=MODE use operation mode MODE
+# --preserve-dup-deps don't remove duplicate dependency libraries
+# --quiet, --silent don't print informational messages
+# --no-quiet, --no-silent
+# print informational messages (default)
+# --tag=TAG use configuration variables from tag TAG
+# -v, --verbose print more informational messages than default
+# --no-verbose don't print the extra informational messages
+# --version print version information
+# -h, --help, --help-all print short, long, or detailed help message
#
# MODE must be one of the following:
#
-# clean remove files from the build directory
-# compile compile a source file into a libtool object
-# execute automatically set library path, then run a program
-# finish complete the installation of libtool libraries
-# install install libraries or executables
-# link create a library or an executable
-# uninstall remove libraries from an installed directory
+# clean remove files from the build directory
+# compile compile a source file into a libtool object
+# execute automatically set library path, then run a program
+# finish complete the installation of libtool libraries
+# install install libraries or executables
+# link create a library or an executable
+# uninstall remove libraries from an installed directory
#
-# MODE-ARGS vary depending on the MODE.
+# MODE-ARGS vary depending on the MODE. When passed as first option,
+# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
#
# When reporting a bug, please describe a test case to reproduce it and
# include the following information:
#
-# host-triplet: $host
-# shell: $SHELL
-# compiler: $LTCC
-# compiler flags: $LTCFLAGS
-# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.2.6
-# automake: $automake_version
-# autoconf: $autoconf_version
+# host-triplet: $host
+# shell: $SHELL
+# compiler: $LTCC
+# compiler flags: $LTCFLAGS
+# linker: $LD (gnu? $with_gnu_ld)
+# $progname: (GNU libtool) 2.2.10
+# automake: $automake_version
+# autoconf: $autoconf_version
#
# Report bugs to <bug-libtool@gnu.org>.
-PROGRAM=ltmain.sh
+PROGRAM=libtool
PACKAGE=libtool
-VERSION=2.2.6
+VERSION=2.2.10
TIMESTAMP=""
-package_revision=1.3012
+package_revision=1.3175
# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
# NLS nuisances: We save the old values to restore during execute mode.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
lt_user_locale=
lt_safe_locale=
for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
fi"
done
+LC_ALL=C
+LANGUAGE=C
+export LANGUAGE LC_ALL
$lt_unset CDPATH
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
: ${CP="cp -f"}
-: ${ECHO="echo"}
-: ${EGREP="/usr/bin/grep -E"}
-: ${FGREP="/usr/bin/grep -F"}
-: ${GREP="/usr/bin/grep"}
+test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+: ${EGREP="grep -E"}
+: ${FGREP="grep -F"}
+: ${GREP="grep"}
: ${LN_S="ln -s"}
: ${MAKE="make"}
: ${MKDIR="mkdir"}
: ${MV="mv -f"}
: ${RM="rm -f"}
-: ${SED="/opt/local/bin/gsed"}
+: ${SED="sed"}
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
: ${Xsed="$SED -e 1s/^X//"}
func_dirname_and_basename ()
{
# Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
if test "X$func_dirname_result" = "X${1}"; then
func_dirname_result="${3}"
else
func_dirname_result="$func_dirname_result${2}"
fi
- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+ func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
}
# Generated shell functions inserted here.
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
+# These SED scripts presuppose an absolute path with a trailing slash.
+pathcar='s,^/\([^/]*\).*$,\1,'
+pathcdr='s,^/[^/]*,,'
+removedotparts=':dotsl
+ s@/\./@/@g
+ t dotsl
+ s,/\.$,/,'
+collapseslashes='s@/\{1,\}@/@g'
+finalslash='s,/*$,/,'
+
+# func_normal_abspath PATH
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+# value returned in "$func_normal_abspath_result"
+func_normal_abspath ()
+{
+ # Start from root dir and reassemble the path.
+ func_normal_abspath_result=
+ func_normal_abspath_tpath=$1
+ func_normal_abspath_altnamespace=
+ case $func_normal_abspath_tpath in
+ "")
+ # Empty path, that just means $cwd.
+ func_stripname '' '/' "`pwd`"
+ func_normal_abspath_result=$func_stripname_result
+ return
+ ;;
+ # The next three entries are used to spot a run of precisely
+ # two leading slashes without using negated character classes;
+ # we take advantage of case's first-match behaviour.
+ ///*)
+ # Unusual form of absolute path, do nothing.
+ ;;
+ //*)
+ # Not necessarily an ordinary path; POSIX reserves leading '//'
+ # and for example Cygwin uses it to access remote file shares
+ # over CIFS/SMB, so we conserve a leading double slash if found.
+ func_normal_abspath_altnamespace=/
+ ;;
+ /*)
+ # Absolute path, do nothing.
+ ;;
+ *)
+ # Relative path, prepend $cwd.
+ func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+ ;;
+ esac
+ # Cancel out all the simple stuff to save iterations. We also want
+ # the path to end with a slash for ease of parsing, so make sure
+ # there is one (and only one) here.
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
+ while :; do
+ # Processed it all yet?
+ if test "$func_normal_abspath_tpath" = / ; then
+ # If we ascended to the root using ".." the result may be empty now.
+ if test -z "$func_normal_abspath_result" ; then
+ func_normal_abspath_result=/
+ fi
+ break
+ fi
+ func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$pathcar"`
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$pathcdr"`
+ # Figure out what to do with it
+ case $func_normal_abspath_tcomponent in
+ "")
+ # Trailing empty path component, ignore it.
+ ;;
+ ..)
+ # Parent dir; strip last assembled component from result.
+ func_dirname "$func_normal_abspath_result"
+ func_normal_abspath_result=$func_dirname_result
+ ;;
+ *)
+ # Actual path component, append it.
+ func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
+ ;;
+ esac
+ done
+ # Restore leading double-slash if one was found on entry.
+ func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+# func_relative_path SRCDIR DSTDIR
+# generates a relative path from SRCDIR to DSTDIR, with a trailing
+# slash if non-empty, suitable for immediately appending a filename
+# without needing to append a separator.
+# value returned in "$func_relative_path_result"
+func_relative_path ()
+{
+ func_relative_path_result=
+ func_normal_abspath "$1"
+ func_relative_path_tlibdir=$func_normal_abspath_result
+ func_normal_abspath "$2"
+ func_relative_path_tbindir=$func_normal_abspath_result
+
+ # Ascend the tree starting from libdir
+ while :; do
+ # check if we have found a prefix of bindir
+ case $func_relative_path_tbindir in
+ $func_relative_path_tlibdir)
+ # found an exact match
+ func_relative_path_tcancelled=
+ break
+ ;;
+ $func_relative_path_tlibdir*)
+ # found a matching prefix
+ func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+ func_relative_path_tcancelled=$func_stripname_result
+ if test -z "$func_relative_path_result"; then
+ func_relative_path_result=.
+ fi
+ break
+ ;;
+ *)
+ func_dirname $func_relative_path_tlibdir
+ func_relative_path_tlibdir=${func_dirname_result}
+ if test "x$func_relative_path_tlibdir" = x ; then
+ # Have to descend all the way to the root!
+ func_relative_path_result=../$func_relative_path_result
+ func_relative_path_tcancelled=$func_relative_path_tbindir
+ break
+ fi
+ func_relative_path_result=../$func_relative_path_result
+ ;;
+ esac
+ done
+
+ # Now calculate path; take care to avoid doubling-up slashes.
+ func_stripname '' '/' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ func_stripname '/' '/' "$func_relative_path_tcancelled"
+ if test "x$func_stripname_result" != x ; then
+ func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
+ fi
+
+ # Normalisation. If bindir is libdir, return empty string,
+ # else relative path ending with a slash; either way, target
+ # file name can be directly appended.
+ if test ! -z "$func_relative_path_result"; then
+ func_stripname './' '' "$func_relative_path_result/"
+ func_relative_path_result=$func_stripname_result
+ fi
+}
# The name of this program:
-# In the unlikely event $progname began with a '-', it would play havoc with
-# func_echo (imagine progname=-n), so we prepend ./ in that case:
func_dirname_and_basename "$progpath"
progname=$func_basename_result
-case $progname in
- -*) progname=./$progname ;;
-esac
# Make sure we have an absolute path for reexecution:
case $progpath in
:
}
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
# func_error arg...
# Echo program name prefixed message to standard error.
func_error ()
case $my_directory_path in */*) ;; *) break ;; esac
# ...otherwise throw away the child directory and loop
- my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+ my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
done
- my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+ my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
save_mkdir_p_IFS="$IFS"; IFS=':'
for my_dir in $my_dir_list; do
func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
fi
- $ECHO "X$my_tmpdir" | $Xsed
+ $ECHO "$my_tmpdir"
}
{
case $1 in
*[\\\`\"\$]*)
- func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+ func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
*)
func_quote_for_eval_unquoted_result="$1" ;;
esac
{
case $1 in
*[\\\`\"]*)
- my_arg=`$ECHO "X$1" | $Xsed \
+ my_arg=`$ECHO "$1" | $SED \
-e "$double_quote_subst" -e "$sed_double_backslash"` ;;
*)
my_arg="$1" ;;
}
-
-
-
# func_version
# Echo version message to standard output and exit.
func_version ()
{
- $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+ $SED -n '/(C)/!b go
+ :more
+ /\./!{
+ N
+ s/\n# / /
+ b more
+ }
+ :go
+ /^# '$PROGRAM' (GNU /,/# warranty; / {
s/^# //
s/^# *$//
s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
# Echo short help message to standard output and exit.
func_usage ()
{
- $SED -n '/^# Usage:/,/# -h/ {
+ $SED -n '/^# Usage:/,/^# *.*--help/ {
s/^# //
s/^# *$//
s/\$progname/'$progname'/
p
}' < "$progpath"
- $ECHO
+ echo
$ECHO "run \`$progname --help | more' for full usage"
exit $?
}
-# func_help
-# Echo long help message to standard output and exit.
+# func_help [NOEXIT]
+# Echo long help message to standard output and exit,
+# unless 'noexit' is passed as argument.
func_help ()
{
$SED -n '/^# Usage:/,/# Report bugs to/ {
s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
p
}' < "$progpath"
- exit $?
+ ret=$?
+ if test -z "$1"; then
+ exit $ret
+ fi
}
# func_missing_arg argname
# exit_cmd.
func_missing_arg ()
{
- func_error "missing argument for $1"
+ func_error "missing argument for $1."
exit_cmd=exit
}
-# Check that we have a working $ECHO.
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
- # Yippee, $ECHO works!
- :
-else
- # Restart under the correct shell, and then maybe $ECHO will work.
- exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit $EXIT_SUCCESS
-fi
magic="%%%MAGIC variable%%%"
magic_exe="%%%MAGIC EXE variable%%%"
# Display the features supported by this script.
func_features ()
{
- $ECHO "host: $host"
+ echo "host: $host"
if test "$build_libtool_libs" = yes; then
- $ECHO "enable shared libraries"
+ echo "enable shared libraries"
else
- $ECHO "disable shared libraries"
+ echo "disable shared libraries"
fi
if test "$build_old_libs" = yes; then
- $ECHO "enable static libraries"
+ echo "enable static libraries"
else
- $ECHO "disable static libraries"
+ echo "disable static libraries"
fi
exit $?
--quiet|--silent) preserve_args="$preserve_args $opt"
opt_silent=:
+ opt_verbose=false
+ ;;
+
+ --no-quiet|--no-silent)
+ preserve_args="$preserve_args $opt"
+ opt_silent=false
;;
--verbose| -v) preserve_args="$preserve_args $opt"
opt_silent=false
+ opt_verbose=:
+ ;;
+
+ --no-verbose) preserve_args="$preserve_args $opt"
+ opt_verbose=false
;;
--tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
-\?|-h) func_usage ;;
--help) opt_help=: ;;
+ --help-all) opt_help=': help-all' ;;
--version) func_version ;;
-*) func_fatal_help "unrecognized option \`$opt'" ;;
func_quote_for_eval "$arg"
CC_quoted="$CC_quoted $func_quote_for_eval_result"
done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
case $@ in
# Blanks in the command may have been stripped by the calling shell,
# but not from the CC environment variable when configure was run.
- " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
# Blanks at the start of $base_compile will cause this to fail
# if we don't check for them as well.
*)
func_quote_for_eval "$arg"
CC_quoted="$CC_quoted $func_quote_for_eval_result"
done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
case "$@ " in
- " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
# The compiler in the base compile command matches
# the one in the tagged configuration.
# Assume this is the tagged configuration we want.
*.[cCFSifmso] | \
*.ada | *.adb | *.ads | *.asm | \
*.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
- *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+ *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
func_xform "$libobj"
libobj=$func_xform_result
;;
# Calculate the filename of the output object if compiler does
# not support -o with -c
if test "$compiler_c_o" = no; then
- output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+ output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
lockfile="$output_obj.lock"
else
output_obj=
}
$opt_help || {
-test "$mode" = compile && func_mode_compile ${1+"$@"}
+ test "$mode" = compile && func_mode_compile ${1+"$@"}
}
func_mode_help ()
-o OUTPUT-FILE set the output file name to OUTPUT-FILE
-no-suppress do not suppress compiler output for multiple passes
- -prefer-pic try to building PIC objects only
- -prefer-non-pic try to building non-PIC objects only
+ -prefer-pic try to build PIC objects only
+ -prefer-non-pic try to build non-PIC objects only
-shared do not build a \`.o' file suitable for static linking
-static only build a \`.o' file suitable for static linking
+ -Wc,FLAG pass FLAG directly to the compiler
COMPILE-COMMAND is a command to be used in creating a \`standard' object file
from the given SOURCEFILE.
The following components of INSTALL-COMMAND are treated specially:
- -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+ -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
The rest of the components are interpreted as arguments to that command (only
BSD-compatible install options are recognized)."
-all-static do not do any dynamic linking at all
-avoid-version do not add a version suffix if possible
+ -bindir BINDIR specify path to binaries directory (for systems where
+ libraries must be found in the PATH setting at runtime)
-dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
-dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
-export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-version-info CURRENT[:REVISION[:AGE]]
specify library version info [each variable defaults to 0]
-weak LIBNAME declare that the target provides the LIBNAME interface
+ -Wc,FLAG
+ -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
+ -Wl,FLAG
+ -Xlinker FLAG pass linker-specific FLAG directly to the linker
+ -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
All other options (arguments beginning with \`-') are ignored.
;;
esac
- $ECHO
+ echo
$ECHO "Try \`$progname --help' for more information about other modes."
-
- exit $?
}
- # Now that we've collected a possible --mode arg, show help if necessary
- $opt_help && func_mode_help
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+ if test "$opt_help" = :; then
+ func_mode_help
+ else
+ {
+ func_help noexit
+ for mode in compile link execute install finish uninstall clean; do
+ func_mode_help
+ done
+ } | sed -n '1p; 2,$s/^Usage:/ or: /p'
+ {
+ func_help noexit
+ for mode in compile link execute install finish uninstall clean; do
+ echo
+ func_mode_help
+ done
+ } |
+ sed '1d
+ /^When reporting/,/^Report/{
+ H
+ d
+ }
+ $x
+ /information about other modes/d
+ /more detailed .*MODE/d
+ s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+ fi
+ exit $?
+fi
# func_mode_execute arg...
for file
do
case $file in
- -*) ;;
+ -* | *.la | *.lo ) ;;
*)
# Do a test to see if this is really a libtool program.
if func_ltwrapper_script_p "$file"; then
# Display what would be done.
if test -n "$shlibpath_var"; then
eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
- $ECHO "export $shlibpath_var"
+ echo "export $shlibpath_var"
fi
$ECHO "$cmd$args"
exit $EXIT_SUCCESS
# Exit here if they wanted silent mode.
$opt_silent && exit $EXIT_SUCCESS
- $ECHO "X----------------------------------------------------------------------" | $Xsed
- $ECHO "Libraries have been installed in:"
+ echo "----------------------------------------------------------------------"
+ echo "Libraries have been installed in:"
for libdir in $libdirs; do
$ECHO " $libdir"
done
- $ECHO
- $ECHO "If you ever happen to want to link against installed libraries"
- $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
- $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
- $ECHO "flag during linking and do at least one of the following:"
+ echo
+ echo "If you ever happen to want to link against installed libraries"
+ echo "in a given directory, LIBDIR, you must either use libtool, and"
+ echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ echo "flag during linking and do at least one of the following:"
if test -n "$shlibpath_var"; then
- $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable"
- $ECHO " during execution"
+ echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ echo " during execution"
fi
if test -n "$runpath_var"; then
- $ECHO " - add LIBDIR to the \`$runpath_var' environment variable"
- $ECHO " during linking"
+ echo " - add LIBDIR to the \`$runpath_var' environment variable"
+ echo " during linking"
fi
if test -n "$hardcode_libdir_flag_spec"; then
libdir=LIBDIR
$ECHO " - have your system administrator run these commands:$admincmds"
fi
if test -f /etc/ld.so.conf; then
- $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
fi
- $ECHO
+ echo
- $ECHO "See any operating system documentation about shared libraries for"
+ echo "See any operating system documentation about shared libraries for"
case $host in
solaris2.[6789]|solaris2.1[0-9])
- $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
- $ECHO "pages."
+ echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+ echo "pages."
;;
*)
- $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
+ echo "more information, such as the ld(1) and ld.so(8) manual pages."
;;
esac
- $ECHO "X----------------------------------------------------------------------" | $Xsed
+ echo "----------------------------------------------------------------------"
exit $EXIT_SUCCESS
}
# install_prog (especially on Windows NT).
if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
# Allow the use of GNU shtool's install command.
- $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+ case $nonopt in *shtool*) :;; *) false;; esac; then
# Aesthetically quote it.
func_quote_for_eval "$nonopt"
install_prog="$func_quote_for_eval_result "
# Aesthetically quote it.
func_quote_for_eval "$arg"
install_prog="$install_prog$func_quote_for_eval_result"
+ install_shared_prog=$install_prog
+ case " $install_prog " in
+ *[\\\ /]cp\ *) install_cp=: ;;
+ *) install_cp=false ;;
+ esac
# We need to accept at least all the BSD install flags.
dest=
install_type=
isdir=no
stripme=
+ no_mode=:
for arg
do
+ arg2=
if test -n "$dest"; then
files="$files $dest"
dest=$arg
case $arg in
-d) isdir=yes ;;
-f)
- case " $install_prog " in
- *[\\\ /]cp\ *) ;;
- *) prev=$arg ;;
- esac
+ if $install_cp; then :; else
+ prev=$arg
+ fi
;;
-g | -m | -o)
prev=$arg
*)
# If the previous option needed an argument, then skip it.
if test -n "$prev"; then
+ if test "x$prev" = x-m && test -n "$install_override_mode"; then
+ arg2=$install_override_mode
+ no_mode=false
+ fi
prev=
else
dest=$arg
# Aesthetically quote the argument.
func_quote_for_eval "$arg"
install_prog="$install_prog $func_quote_for_eval_result"
+ if test -n "$arg2"; then
+ func_quote_for_eval "$arg2"
+ fi
+ install_shared_prog="$install_shared_prog $func_quote_for_eval_result"
done
test -z "$install_prog" && \
test -n "$prev" && \
func_fatal_help "the \`$prev' option requires an argument"
+ if test -n "$install_override_mode" && $no_mode; then
+ if $install_cp; then :; else
+ func_quote_for_eval "$install_override_mode"
+ install_shared_prog="$install_shared_prog -m $func_quote_for_eval_result"
+ fi
+ fi
+
if test -z "$files"; then
if test -z "$dest"; then
func_fatal_help "no file or destination specified"
if test -n "$relink_command"; then
# Determine the prefix the user has applied to our future dir.
- inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+ inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
# Don't allow the user to place us outside of our expected
# location b/c this prevents finding dependent libraries that
if test -n "$inst_prefix_dir"; then
# Stick the inst_prefix_dir data into the link command.
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
else
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
fi
func_warning "relinking \`$file'"
test -n "$relink_command" && srcname="$realname"T
# Install the shared library and build the symlinks.
- func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+ func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
'exit $?'
tstripme="$stripme"
case $host_os in
if test -f "$lib"; then
func_source "$lib"
fi
- libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
if test -n "$libdir" && test ! -f "$libfile"; then
func_warning "\`$lib' has not been installed in \`$libdir'"
finalize=no
file="$func_basename_result"
outputname="$tmpdir/$file"
# Replace the output file specification.
- relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+ relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
$opt_silent || {
func_quote_for_expand "$relink_command"
}
else
# Install the binary that we compiled earlier.
- file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+ file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
fi
fi
extern \"C\" {
#endif
+#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
+
/* External symbol declarations for the compiler. */\
"
$opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
# Add our own program objects to the symbol list.
- progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
for progfile in $progfiles; do
func_verbose "extracting global C symbols from \`$progfile'"
$opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
eval '$MV "$nlist"T "$nlist"'
case $host in
- *cygwin | *mingw* | *cegcc* )
+ *cygwin* | *mingw* | *cegcc* )
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
;;
if test -f "$nlist"S; then
eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
else
- $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
fi
- $ECHO >> "$output_objdir/$my_dlsyms" "\
+ echo >> "$output_objdir/$my_dlsyms" "\
/* The mapping between symbol names and symbols. */
typedef struct {
"
case $host in
*cygwin* | *mingw* | *cegcc* )
- $ECHO >> "$output_objdir/$my_dlsyms" "\
+ echo >> "$output_objdir/$my_dlsyms" "\
/* DATA imports from DLLs on WIN32 con't be const, because
runtime relocations are performed -- see ld's documentation
on pseudo-relocs. */"
lt_dlsym_const=const ;;
esac
- $ECHO >> "$output_objdir/$my_dlsyms" "\
+ echo >> "$output_objdir/$my_dlsyms" "\
extern $lt_dlsym_const lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[];
$lt_dlsym_const lt_dlsymlist
eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
;;
esac
- $ECHO >> "$output_objdir/$my_dlsyms" "\
+ echo >> "$output_objdir/$my_dlsyms" "\
{0, (void *) 0}
};
case $host in
*cygwin* | *mingw* | *cegcc* )
if test -f "$output_objdir/$my_outputname.def"; then
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
else
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
fi
;;
*)
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
;;
esac
;;
# really was required.
# Nullify the symbol file.
- compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
- finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
fi
}
# Need a lot of goo to handle *both* DLLs and import libs
# Has to be a shell function in order to 'eat' the argument
# that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
func_win32_libid ()
{
$opt_debug
win32_libid_type="x86 archive import"
;;
*ar\ archive*) # could be an import, or static
+ # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
- $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+ $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
win32_nmres=`eval $NM -f posix -A $1 |
$SED -n -e '
1,100{
$opt_debug
f_ex_an_ar_dir="$1"; shift
f_ex_an_ar_oldlib="$1"
- func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+ if test "$lock_old_archive_extraction" = yes; then
+ lockfile=$f_ex_an_ar_oldlib.lock
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ fi
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+ 'stat=$?; rm -f "$lockfile"; exit $stat'
+ if test "$lock_old_archive_extraction" = yes; then
+ $opt_dry_run || rm -f "$lockfile"
+ fi
if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
:
else
darwin_file=
darwin_files=
for darwin_file in $darwin_filelist; do
- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+ darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
$LIPO -create -output "$darwin_file" $darwin_files
done # $darwin_filelist
$RM -rf unfat-$$
func_extract_an_archive "$my_xdir" "$my_xabs"
;;
esac
- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
done
func_extract_archives_result="$my_oldobjs"
}
-
-# func_emit_wrapper_part1 [arg=no]
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable. Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
#
-# Emit the first part of a libtool wrapper script on stdout.
-# For more information, see the description associated with
-# func_emit_wrapper(), below.
-func_emit_wrapper_part1 ()
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take. If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory. This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
{
- func_emit_wrapper_part1_arg1=no
- if test -n "$1" ; then
- func_emit_wrapper_part1_arg1=$1
- fi
+ func_emit_wrapper_arg1=${1-no}
$ECHO "\
#! $SHELL
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
sed_quote_subst='$sed_quote_subst'
# Be Bourne compatible
else
# When we are sourced in execute mode, \$file and \$ECHO are already set.
if test \"\$libtool_execute_magic\" != \"$magic\"; then
- ECHO=\"$qecho\"
- file=\"\$0\"
- # Make sure echo works.
- if test \"X\$1\" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
- elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
- # Yippee, \$ECHO works!
- :
- else
- # Restart under the correct shell, and then maybe \$ECHO will work.
- exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
- fi
- fi\
+ file=\"\$0\""
+
+ qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+ $ECHO "\
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+ ECHO=\"$qECHO\"
+ fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ which is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options which match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+ lt_script_arg0=\$0
+ shift
+ for lt_opt
+ do
+ case \"\$lt_opt\" in
+ --lt-debug) lt_option_debug=1 ;;
+ --lt-dump-script)
+ lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+ test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+ lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+ cat \"\$lt_dump_D/\$lt_dump_F\"
+ exit 0
+ ;;
+ --lt-*)
+ \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+ exit 1
+ ;;
+ esac
+ done
+
+ # Print the debug banner immediately:
+ if test -n \"\$lt_option_debug\"; then
+ echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+ fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+ lt_dump_args_N=1;
+ for lt_arg
+ do
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+ lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+ done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
"
- $ECHO "\
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2* | *-cegcc*)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $ECHO "\
+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+ exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+ for lt_wr_arg
+ do
+ case \$lt_wr_arg in
+ --lt-*) ;;
+ *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+ esac
+ shift
+ done
+ func_exec_program_core \${1+\"\$@\"}
+}
+
+ # Parse options
+ func_parse_lt_options \"\$0\" \${1+\"\$@\"}
# Find the directory that this script lives in.
- thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+ thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
test \"x\$thisdir\" = \"x\$file\" && thisdir=.
# Follow symbolic links until we get to the real thisdir.
- file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+ file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
while test -n \"\$file\"; do
- destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+ destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
# If there was a directory component, then change thisdir.
if test \"x\$destdir\" != \"x\$file\"; then
esac
fi
- file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
- file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+ file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
done
-"
-}
-# end: func_emit_wrapper_part1
-
-# func_emit_wrapper_part2 [arg=no]
-#
-# Emit the second part of a libtool wrapper script on stdout.
-# For more information, see the description associated with
-# func_emit_wrapper(), below.
-func_emit_wrapper_part2 ()
-{
- func_emit_wrapper_part2_arg1=no
- if test -n "$1" ; then
- func_emit_wrapper_part2_arg1=$1
- fi
-
- $ECHO "\
# Usually 'no', except on cygwin/mingw when embedded into
# the cwrapper.
- WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
# special case for '.'
if test \"\$thisdir\" = \".\"; then
fi
# remove .libs from thisdir
case \"\$thisdir\" in
- *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
$objdir ) thisdir=. ;;
esac
fi
# Some systems cannot cope with colon-terminated $shlibpath_var
# The second colon is a workaround for a bug in BeOS R4 sed
- $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+ $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
export $shlibpath_var
"
$ECHO "\
if test \"\$libtool_execute_magic\" != \"$magic\"; then
# Run the actual program with our arguments.
-"
- case $host in
- # Backslashes separate directories on plain windows
- *-*-mingw | *-*-os2* | *-cegcc*)
- $ECHO "\
- exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
- ;;
-
- *)
- $ECHO "\
- exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
- ;;
- esac
- $ECHO "\
- \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
- exit 1
+ func_exec_program \${1+\"\$@\"}
fi
else
# The program doesn't exist.
\$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
\$ECHO \"This script is just a wrapper for \$program.\" 1>&2
- $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
exit 1
fi
fi\
"
}
-# end: func_emit_wrapper_part2
-
-
-# func_emit_wrapper [arg=no]
-#
-# Emit a libtool wrapper script on stdout.
-# Don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable. Must ONLY be called from within
-# func_mode_link because it depends on a number of variables
-# set therein.
-#
-# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take. If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
-# the $objdir directory. This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
-{
- func_emit_wrapper_arg1=no
- if test -n "$1" ; then
- func_emit_wrapper_arg1=$1
- fi
-
- # split this up so that func_emit_cwrapperexe_src
- # can call each part independently.
- func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
- func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
-}
# func_to_host_path arg
func_to_host_path ()
{
func_to_host_path_result="$1"
- if test -n "$1" ; then
+ if test -n "$1"; then
case $host in
*mingw* )
lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
case $build in
*mingw* ) # actually, msys
# awkward: cmd appends spaces to result
- lt_sed_strip_trailing_spaces="s/[ ]*\$//"
- func_to_host_path_tmp1=`( cmd //c echo "$1" |\
- $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
- func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
- $SED -e "$lt_sed_naive_backslashify"`
+ func_to_host_path_result=`( cmd //c echo "$1" ) 2>/dev/null |
+ $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
;;
*cygwin* )
- func_to_host_path_tmp1=`cygpath -w "$1"`
- func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
- $SED -e "$lt_sed_naive_backslashify"`
+ func_to_host_path_result=`cygpath -w "$1" |
+ $SED -e "$lt_sed_naive_backslashify"`
;;
* )
# Unfortunately, winepath does not exit with a non-zero
# the odd construction:
func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
- func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ func_to_host_path_result=`$ECHO "$func_to_host_path_tmp1" |
$SED -e "$lt_sed_naive_backslashify"`
else
# Allow warning below.
- func_to_host_path_result=""
+ func_to_host_path_result=
fi
;;
esac
if test -z "$func_to_host_path_result" ; then
func_error "Could not determine host path corresponding to"
- func_error " '$1'"
+ func_error " \`$1'"
func_error "Continuing, but uninstalled executables may not work."
# Fallback:
func_to_host_path_result="$1"
func_to_host_pathlist ()
{
func_to_host_pathlist_result="$1"
- if test -n "$1" ; then
+ if test -n "$1"; then
case $host in
*mingw* )
lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
# Remove leading and trailing path separator characters from
# ARG. msys behavior is inconsistent here, cygpath turns them
# into '.;' and ';.', and winepath ignores them completely.
- func_to_host_pathlist_tmp2="$1"
- # Once set for this call, this variable should not be
- # reassigned. It is used in tha fallback case.
- func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
- $SED -e 's|^:*||' -e 's|:*$||'`
+ func_stripname : : "$1"
+ func_to_host_pathlist_tmp1=$func_stripname_result
case $build in
*mingw* ) # Actually, msys.
# Awkward: cmd appends spaces to result.
- lt_sed_strip_trailing_spaces="s/[ ]*\$//"
- func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
- $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
- func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
- $SED -e "$lt_sed_naive_backslashify"`
+ func_to_host_pathlist_result=`
+ ( cmd //c echo "$func_to_host_pathlist_tmp1" ) 2>/dev/null |
+ $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
;;
*cygwin* )
- func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
- func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+ func_to_host_pathlist_result=`cygpath -w -p "$func_to_host_pathlist_tmp1" |
$SED -e "$lt_sed_naive_backslashify"`
;;
* )
if test -z "$func_to_host_pathlist_result" ; then
func_to_host_pathlist_result="$func_to_host_path_result"
else
- func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
+ func_append func_to_host_pathlist_result ";$func_to_host_path_result"
fi
fi
fi
- IFS=:
done
IFS=$func_to_host_pathlist_oldIFS
;;
esac
- if test -z "$func_to_host_pathlist_result" ; then
+ if test -z "$func_to_host_pathlist_result"; then
func_error "Could not determine the host path(s) corresponding to"
- func_error " '$1'"
+ func_error " \`$1'"
func_error "Continuing, but uninstalled executables may not work."
# Fallback. This may break if $1 contains DOS-style drive
# specifications. The fix is not to complicate the expression
;;
esac
case "$1" in
- *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
+ *: ) func_append func_to_host_pathlist_result ";"
;;
esac
;;
This wrapper executable should never be moved out of the build directory.
If it is, it will not operate correctly.
-
- Currently, it simply execs the wrapper *script* "$SHELL $output",
- but could eventually absorb all of the scripts functionality and
- exec $objdir/$outputname directly.
*/
EOF
cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
#include <stdio.h>
#include <stdlib.h>
#ifdef _MSC_VER
# include <direct.h>
# include <process.h>
# include <io.h>
-# define setmode _setmode
#else
# include <unistd.h>
# include <stdint.h>
# ifdef __CYGWIN__
# include <io.h>
-# define HAVE_SETENV
-# ifdef __STRICT_ANSI__
-char *realpath (const char *, char *);
-int putenv (char *);
-int setenv (const char *, const char *, int);
-# endif
# endif
#endif
#include <malloc.h>
#include <fcntl.h>
#include <sys/stat.h>
+/* declarations of non-ANSI functions */
+#if defined(__MINGW32__)
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined(__CYGWIN__)
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined (other platforms) ... */
+#endif
+
+/* portability defines, excluding path handling macros */
+#if defined(_MSC_VER)
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+# define S_IXUSR _S_IEXEC
+# ifndef _INTPTR_T_DEFINED
+# define _INTPTR_T_DEFINED
+# define intptr_t int
+# endif
+#elif defined(__MINGW32__)
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+#elif defined(__CYGWIN__)
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined (other platforms) ... */
+#endif
+
#if defined(PATH_MAX)
# define LT_PATHMAX PATH_MAX
#elif defined(MAXPATHLEN)
# define S_IXGRP 0
#endif
-#ifdef _MSC_VER
-# define S_IXUSR _S_IEXEC
-# define stat _stat
-# ifndef _INTPTR_T_DEFINED
-# define intptr_t int
-# endif
-#endif
-
+/* path handling portability macros */
#ifndef DIR_SEPARATOR
# define DIR_SEPARATOR '/'
# define PATH_SEPARATOR ':'
# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
#endif /* PATH_SEPARATOR_2 */
-#ifdef __CYGWIN__
-# define FOPEN_WB "wb"
-#endif
-
#ifndef FOPEN_WB
# define FOPEN_WB "w"
#endif
if (stale) { free ((void *) stale); stale = 0; } \
} while (0)
-#undef LTWRAPPER_DEBUGPRINTF
-#if defined DEBUGWRAPPER
-# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
-static void
-ltwrapper_debugprintf (const char *fmt, ...)
-{
- va_list args;
- va_start (args, fmt);
- (void) vfprintf (stderr, fmt, args);
- va_end (args);
-}
+#if defined(LT_DEBUGWRAPPER)
+static int lt_debug = 1;
#else
-# define LTWRAPPER_DEBUGPRINTF(args)
+static int lt_debug = 0;
#endif
-const char *program_name = NULL;
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
void *xmalloc (size_t num);
char *xstrdup (const char *string);
int make_executable (const char *path);
int check_executable (const char *path);
char *strendzap (char *str, const char *pat);
-void lt_fatal (const char *message, ...);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
void lt_setenv (const char *name, const char *value);
char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-void lt_opt_process_env_set (const char *arg);
-void lt_opt_process_env_prepend (const char *arg);
-void lt_opt_process_env_append (const char *arg);
-int lt_split_name_value (const char *arg, char** name, char** value);
void lt_update_exe_path (const char *name, const char *value);
void lt_update_lib_path (const char *name, const char *value);
-
-static const char *script_text_part1 =
-EOF
-
- func_emit_wrapper_part1 yes |
- $SED -e 's/\([\\"]\)/\\\1/g' \
- -e 's/^/ "/' -e 's/$/\\n"/'
- echo ";"
- cat <<EOF
-
-static const char *script_text_part2 =
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
EOF
- func_emit_wrapper_part2 yes |
- $SED -e 's/\([\\"]\)/\\\1/g' \
- -e 's/^/ "/' -e 's/$/\\n"/'
- echo ";"
cat <<EOF
const char * MAGIC_EXE = "$magic_exe";
cat <<"EOF"
#define LTWRAPPER_OPTION_PREFIX "--lt-"
-#define LTWRAPPER_OPTION_PREFIX_LENGTH 5
-static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
-
static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
-
-static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
-static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
- /* argument is putenv-style "foo=bar", value of foo is set to bar */
-
-static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
-static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
- /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
-
-static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
-static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
- /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
int
main (int argc, char *argv[])
int i;
program_name = (char *) xstrdup (base_name (argv[0]));
- LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0]));
- LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+ newargz = XMALLOC (char *, argc + 1);
- /* very simple arg parsing; don't want to rely on getopt */
+ /* very simple arg parsing; don't want to rely on getopt
+ * also, copy all non cwrapper options to newargz, except
+ * argz[0], which is handled differently
+ */
+ newargc=0;
for (i = 1; i < argc; i++)
{
if (strcmp (argv[i], dumpscript_opt) == 0)
esac
cat <<"EOF"
- printf ("%s", script_text_part1);
- printf ("%s", script_text_part2);
+ lt_dump_script (stdout);
return 0;
}
+ if (strcmp (argv[i], debug_opt) == 0)
+ {
+ lt_debug = 1;
+ continue;
+ }
+ if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal (__FILE__, __LINE__,
+ "unrecognized %s option: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
}
+ newargz[++newargc] = NULL;
+
+EOF
+ cat <<EOF
+ /* The GNU banner must be the first non-error debug message */
+ lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
+EOF
+ cat <<"EOF"
+ lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
- newargz = XMALLOC (char *, argc + 1);
tmp_pathspec = find_executable (argv[0]);
if (tmp_pathspec == NULL)
- lt_fatal ("Couldn't find %s", argv[0]);
- LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
- tmp_pathspec));
+ lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (before symlink chase) at: %s\n",
+ tmp_pathspec);
actual_cwrapper_path = chase_symlinks (tmp_pathspec);
- LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
- actual_cwrapper_path));
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (after symlink chase) at: %s\n",
+ actual_cwrapper_path);
XFREE (tmp_pathspec);
- actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
+ actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
strendzap (actual_cwrapper_path, actual_cwrapper_name);
/* wrapper name transforms */
target_name = tmp_pathspec;
tmp_pathspec = 0;
- LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
- target_name));
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) libtool target name: %s\n",
+ target_name);
EOF
cat <<EOF
lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
- newargc=0;
- for (i = 1; i < argc; i++)
- {
- if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
- {
- if (argv[i][env_set_opt_len] == '=')
- {
- const char *p = argv[i] + env_set_opt_len + 1;
- lt_opt_process_env_set (p);
- }
- else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
- {
- lt_opt_process_env_set (argv[++i]); /* don't copy */
- }
- else
- lt_fatal ("%s missing required argument", env_set_opt);
- continue;
- }
- if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
- {
- if (argv[i][env_prepend_opt_len] == '=')
- {
- const char *p = argv[i] + env_prepend_opt_len + 1;
- lt_opt_process_env_prepend (p);
- }
- else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
- {
- lt_opt_process_env_prepend (argv[++i]); /* don't copy */
- }
- else
- lt_fatal ("%s missing required argument", env_prepend_opt);
- continue;
- }
- if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
- {
- if (argv[i][env_append_opt_len] == '=')
- {
- const char *p = argv[i] + env_append_opt_len + 1;
- lt_opt_process_env_append (p);
- }
- else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
- {
- lt_opt_process_env_append (argv[++i]); /* don't copy */
- }
- else
- lt_fatal ("%s missing required argument", env_append_opt);
- continue;
- }
- if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
- {
- /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
- namespace, but it is not one of the ones we know about and
- have already dealt with, above (inluding dump-script), then
- report an error. Otherwise, targets might begin to believe
- they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
- namespace. The first time any user complains about this, we'll
- need to make LTWRAPPER_OPTION_PREFIX a configure-time option
- or a configure.ac-settable value.
- */
- lt_fatal ("Unrecognized option in %s namespace: '%s'",
- ltwrapper_option_prefix, argv[i]);
- }
- /* otherwise ... */
- newargz[++newargc] = xstrdup (argv[i]);
- }
- newargz[++newargc] = NULL;
-
- LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+ lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+ nonnull (lt_argv_zero));
for (i = 0; i < newargc; i++)
{
- LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
+ lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+ i, nonnull (newargz[i]));
}
EOF
mingw*)
cat <<"EOF"
/* execv doesn't actually work on mingw as expected on unix */
+ newargz = prepare_spawn (newargz);
rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
if (rval == -1)
{
/* failed to start process */
- LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) failed to launch target \"%s\": %s\n",
+ lt_argv_zero, nonnull (strerror (errno)));
return 127;
}
return rval;
{
void *p = (void *) malloc (num);
if (!p)
- lt_fatal ("Memory exhausted");
+ lt_fatal (__FILE__, __LINE__, "memory exhausted");
return p;
}
{
struct stat st;
- LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
- path ? (*path ? path : "EMPTY!") : "NULL!"));
+ lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+ nonempty (path));
if ((!path) || (!*path))
return 0;
int rval = 0;
struct stat st;
- LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
- path ? (*path ? path : "EMPTY!") : "NULL!"));
+ lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+ nonempty (path));
if ((!path) || (!*path))
return 0;
int tmp_len;
char *concat_name;
- LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
- wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+ lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+ nonempty (wrapper));
if ((wrapper == NULL) || (*wrapper == '\0'))
return NULL;
{
/* empty path: current directory */
if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
tmp_len = strlen (tmp);
concat_name =
XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
}
/* Relative path | not found in path: prepend cwd */
if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
tmp_len = strlen (tmp);
concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
memcpy (concat_name, tmp, tmp_len);
int has_symlinks = 0;
while (strlen (tmp_pathspec) && !has_symlinks)
{
- LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
- tmp_pathspec));
+ lt_debugprintf (__FILE__, __LINE__,
+ "checking path component for symlinks: %s\n",
+ tmp_pathspec);
if (lstat (tmp_pathspec, &s) == 0)
{
if (S_ISLNK (s.st_mode) != 0)
}
else
{
- char *errstr = strerror (errno);
- lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+ lt_fatal (__FILE__, __LINE__,
+ "error accessing file \"%s\": %s",
+ tmp_pathspec, nonnull (strerror (errno)));
}
}
XFREE (tmp_pathspec);
tmp_pathspec = realpath (pathspec, buf);
if (tmp_pathspec == 0)
{
- lt_fatal ("Could not follow symlinks for %s", pathspec);
+ lt_fatal (__FILE__, __LINE__,
+ "could not follow symlinks for %s", pathspec);
}
return xstrdup (tmp_pathspec);
#endif
return str;
}
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+ va_list args;
+ if (lt_debug)
+ {
+ (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+ va_start (args, fmt);
+ (void) vfprintf (stderr, fmt, args);
+ va_end (args);
+ }
+}
+
static void
-lt_error_core (int exit_status, const char *mode,
+lt_error_core (int exit_status, const char *file,
+ int line, const char *mode,
const char *message, va_list ap)
{
- fprintf (stderr, "%s: %s: ", program_name, mode);
+ fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
vfprintf (stderr, message, ap);
fprintf (stderr, ".\n");
}
void
-lt_fatal (const char *message, ...)
+lt_fatal (const char *file, int line, const char *message, ...)
{
va_list ap;
va_start (ap, message);
- lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+ lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
va_end (ap);
}
+static const char *
+nonnull (const char *s)
+{
+ return s ? s : "(null)";
+}
+
+static const char *
+nonempty (const char *s)
+{
+ return (s && !*s) ? "(empty)" : nonnull (s);
+}
+
void
lt_setenv (const char *name, const char *value)
{
- LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
- (name ? name : "<NULL>"),
- (value ? value : "<NULL>")));
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_setenv) setting '%s' to '%s'\n",
+ nonnull (name), nonnull (value));
{
#ifdef HAVE_SETENV
/* always make a copy, for consistency with !HAVE_SETENV */
return new_value;
}
-int
-lt_split_name_value (const char *arg, char** name, char** value)
-{
- const char *p;
- int len;
- if (!arg || !*arg)
- return 1;
-
- p = strchr (arg, (int)'=');
-
- if (!p)
- return 1;
-
- *value = xstrdup (++p);
-
- len = strlen (arg) - strlen (*value);
- *name = XMALLOC (char, len);
- strncpy (*name, arg, len-1);
- (*name)[len - 1] = '\0';
-
- return 0;
-}
-
-void
-lt_opt_process_env_set (const char *arg)
-{
- char *name = NULL;
- char *value = NULL;
-
- if (lt_split_name_value (arg, &name, &value) != 0)
- {
- XFREE (name);
- XFREE (value);
- lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
- }
-
- lt_setenv (name, value);
- XFREE (name);
- XFREE (value);
-}
-
-void
-lt_opt_process_env_prepend (const char *arg)
-{
- char *name = NULL;
- char *value = NULL;
- char *new_value = NULL;
-
- if (lt_split_name_value (arg, &name, &value) != 0)
- {
- XFREE (name);
- XFREE (value);
- lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
- }
-
- new_value = lt_extend_str (getenv (name), value, 0);
- lt_setenv (name, new_value);
- XFREE (new_value);
- XFREE (name);
- XFREE (value);
-}
-
-void
-lt_opt_process_env_append (const char *arg)
-{
- char *name = NULL;
- char *value = NULL;
- char *new_value = NULL;
-
- if (lt_split_name_value (arg, &name, &value) != 0)
- {
- XFREE (name);
- XFREE (value);
- lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
- }
-
- new_value = lt_extend_str (getenv (name), value, 1);
- lt_setenv (name, new_value);
- XFREE (new_value);
- XFREE (name);
- XFREE (value);
-}
-
void
lt_update_exe_path (const char *name, const char *value)
{
- LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
- (name ? name : "<NULL>"),
- (value ? value : "<NULL>")));
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
if (name && *name && value && *value)
{
void
lt_update_lib_path (const char *name, const char *value)
{
- LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
- (name ? name : "<NULL>"),
- (value ? value : "<NULL>")));
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
if (name && *name && value && *value)
{
}
}
+EOF
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+ Note that spawn() does not by itself call the command interpreter
+ (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+ ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx(&v);
+ v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+ }) ? "cmd.exe" : "command.com").
+ Instead it simply concatenates the arguments, separated by ' ', and calls
+ CreateProcess(). We must quote the arguments since Win32 CreateProcess()
+ interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+ special way:
+ - Space and tab are interpreted as delimiters. They are not treated as
+ delimiters if they are surrounded by double quotes: "...".
+ - Unescaped double quotes are removed from the input. Their only effect is
+ that within double quotes, space and tab are treated like normal
+ characters.
+ - Backslashes not followed by double quotes are not special.
+ - But 2*n+1 backslashes followed by a double quote become
+ n backslashes followed by a double quote (n >= 0):
+ \" -> "
+ \\\" -> \"
+ \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+ size_t argc;
+ char **new_argv;
+ size_t i;
+
+ /* Count number of arguments. */
+ for (argc = 0; argv[argc] != NULL; argc++)
+ ;
+
+ /* Allocate new argument vector. */
+ new_argv = XMALLOC (char *, argc + 1);
+
+ /* Put quoted arguments into the new argument vector. */
+ for (i = 0; i < argc; i++)
+ {
+ const char *string = argv[i];
+
+ if (string[0] == '\0')
+ new_argv[i] = xstrdup ("\"\"");
+ else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+ {
+ int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+ size_t length;
+ unsigned int backslashes;
+ const char *s;
+ char *quoted_string;
+ char *p;
+
+ length = 0;
+ backslashes = 0;
+ if (quote_around)
+ length++;
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ length += backslashes + 1;
+ length++;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ length += backslashes + 1;
+
+ quoted_string = XMALLOC (char, length + 1);
+
+ p = quoted_string;
+ backslashes = 0;
+ if (quote_around)
+ *p++ = '"';
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ {
+ unsigned int j;
+ for (j = backslashes + 1; j > 0; j--)
+ *p++ = '\\';
+ }
+ *p++ = c;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ {
+ unsigned int j;
+ for (j = backslashes; j > 0; j--)
+ *p++ = '\\';
+ *p++ = '"';
+ }
+ *p = '\0';
+
+ new_argv[i] = quoted_string;
+ }
+ else
+ new_argv[i] = (char *) string;
+ }
+ new_argv[argc] = NULL;
+
+ return new_argv;
+}
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+void lt_dump_script (FILE* f)
+{
+EOF
+ func_emit_wrapper yes |
+ $SED -e 's/\([\\"]\)/\\\1/g' \
+ -e 's/^/ fputs ("/' -e 's/$/\\n", f);/'
+ cat <<"EOF"
+}
EOF
}
# end: func_emit_cwrapperexe_src
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
+{
+ $opt_debug
+ case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+ *import*) : ;;
+ *) false ;;
+ esac
+}
+
# func_mode_link arg...
func_mode_link ()
{
new_inherited_linker_flags=
avoid_version=no
+ bindir=
dlfiles=
dlprefiles=
dlself=no
esac
case $prev in
+ bindir)
+ bindir="$arg"
+ prev=
+ continue
+ ;;
dlfiles|dlprefiles)
if test "$preload" = no; then
# Add the symbol object into the linking commands.
continue
;;
+ -bindir)
+ prev=bindir
+ continue
+ ;;
+
-dlopen)
prev=dlfiles
continue
esac
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
- testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+ testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$dir:"*) ;;
::) dllsearchpath=$dir;;
-l*)
if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
# These systems don't actually have a C or math library (as such)
continue
;;
for flag in $args; do
IFS="$save_ifs"
func_quote_for_eval "$flag"
- arg="$arg $wl$func_quote_for_eval_result"
+ arg="$arg $func_quote_for_eval_result"
compiler_flags="$compiler_flags $func_quote_for_eval_result"
done
IFS="$save_ifs"
arg="$func_quote_for_eval_result"
;;
- # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
- # -r[0-9][0-9]* specifies the processor on the SGI compiler
- # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
- # +DA*, +DD* enable 64-bit mode on the HP compiler
- # -q* pass through compiler args for the IBM compiler
- # -m*, -t[45]*, -txscale* pass through architecture-specific
- # compiler args for GCC
- # -F/path gives path to uninstalled frameworks, gcc on darwin
- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
- # @file GCC response files
+ # Flags to be passed through unchanged, with rationale:
+ # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
+ # -r[0-9][0-9]* specify processor for the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+ # +DA*, +DD* enable 64-bit mode for the HP compiler
+ # -q* compiler args for the IBM compiler
+ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+ # -F/path path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
+ # @file GCC response files
+ # -tp=* Portland pgcc target processor selection
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*)
func_quote_for_eval "$arg"
arg="$func_quote_for_eval_result"
func_append compile_command " $arg"
if test -n "$shlibpath_var"; then
# get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+ eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
else
shlib_search_path=
fi
# Collect preopened libtool deplibs, except any this library
# has declared as weak libs
for deplib in $dependency_libs; do
- deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+ func_basename "$deplib"
+ deplib_base=$func_basename_result
case " $weak_libs " in
*" $deplib_base "*) ;;
*) deplibs="$deplibs $deplib" ;;
match_pattern*)
set dummy $deplibs_check_method; shift
match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
- if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
+ if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
| $EGREP "$match_pattern_regex" > /dev/null; then
valid_a_lib=yes
fi
;;
esac
if test "$valid_a_lib" != yes; then
- $ECHO
+ echo
$ECHO "*** Warning: Trying to link with static lib archive $deplib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because the file extensions .$libext of this argument makes me believe"
- $ECHO "*** that it is just a static archive that I should not use here."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because the file extensions .$libext of this argument makes me believe"
+ echo "*** that it is just a static archive that I should not use here."
else
- $ECHO
+ echo
$ECHO "*** Warning: Linking the shared library $output against the"
$ECHO "*** static library $deplib is not portable!"
deplibs="$deplib $deplibs"
# Convert "-framework foo" to "foo.ltframework"
if test -n "$inherited_linker_flags"; then
- tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+ tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
case " $new_inherited_linker_flags " in
*" $tmp_inherited_linker_flag "*) ;;
esac
done
fi
- dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
if test "$linkmode,$pass" = "lib,link" ||
test "$linkmode,$pass" = "prog,scan" ||
{ test "$linkmode" != prog && test "$linkmode" != lib; }; then
fi
done
if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
- $ECHO
+ echo
if test "$linkmode" = prog; then
$ECHO "*** Warning: Linking the executable $output against the loadable module"
else
if test "X$dlopenmodule" != "X$lib"; then
$ECHO "*** Warning: lib $linklib is a module, not a shared library"
if test -z "$old_library" ; then
- $ECHO
- $ECHO "*** And there doesn't seem to be a static archive available"
- $ECHO "*** The link will probably fail, sorry"
+ echo
+ echo "*** And there doesn't seem to be a static archive available"
+ echo "*** The link will probably fail, sorry"
else
add="$dir/$old_library"
fi
# Just print a warning and add the library to dependency_libs so
# that the program can be linked against the static library.
- $ECHO
+ echo
$ECHO "*** Warning: This system can not link to static lib archive $lib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have."
if test "$module" = yes; then
- $ECHO "*** But as you try to build a module library, libtool will still create "
- $ECHO "*** a static module, that should work as long as the dlopening application"
- $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ echo "*** But as you try to build a module library, libtool will still create "
+ echo "*** a static module, that should work as long as the dlopening application"
+ echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
if test -z "$global_symbol_pipe"; then
- $ECHO
- $ECHO "*** However, this would only work if libtool was able to extract symbol"
- $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $ECHO "*** not find such a program. So, this module is probably useless."
- $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
fi
if test "$build_old_libs" = no; then
build_libtool_libs=module
if test "$link_all_deplibs" != no; then
# Add the search paths of all dependency libraries
for deplib in $dependency_libs; do
+ path=
case $deplib in
-L*) path="$deplib" ;;
*.la)
compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
else
- compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
fi
fi
dependency_libs="$newdependency_libs"
if test "$deplibs_check_method" != pass_all; then
func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
else
- $ECHO
+ echo
$ECHO "*** Warning: Linking the shared library $output against the non-libtool"
$ECHO "*** objects $objs is not portable!"
libobjs="$libobjs $objs"
age="$number_minor"
revision="$number_revision"
;;
- freebsd-aout|freebsd-elf|sunos)
+ freebsd-aout|freebsd-elf|qnx|sunos)
current="$number_major"
revision="$number_minor"
age="0"
oldlibs="$oldlibs $output_objdir/$libname.$libext"
# Transform .lo files to .o files.
- oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+ oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
fi
# Eliminate all temporary directories.
#for path in $notinst_path; do
- # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
- # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
- # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
+ # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+ # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+ # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
#done
if test -n "$xrpath"; then
if test "$build_libtool_libs" = yes; then
if test -n "$rpath"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
# these systems don't actually have a c library (as such)!
;;
*-*-rhapsody* | *-*-darwin1.[012])
newdeplibs="$newdeplibs $i"
else
droppeddeps=yes
- $ECHO
+ echo
$ECHO "*** Warning: dynamic linker does not accept needed library $i."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which I believe you do not have"
- $ECHO "*** because a test_compile did reveal that the linker did not use it for"
- $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which I believe you do not have"
+ echo "*** because a test_compile did reveal that the linker did not use it for"
+ echo "*** its dynamic dependency list that programs get resolved with at runtime."
fi
fi
;;
newdeplibs="$newdeplibs $i"
else
droppeddeps=yes
- $ECHO
+ echo
$ECHO "*** Warning: dynamic linker does not accept needed library $i."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because a test_compile did reveal that the linker did not use this one"
- $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because a test_compile did reveal that the linker did not use this one"
+ echo "*** as a dynamic dependency that programs can get resolved with at runtime."
fi
fi
else
droppeddeps=yes
- $ECHO
+ echo
$ECHO "*** Warning! Library $i is needed by this library but I was not able to"
- $ECHO "*** make it link in! You will probably need to install it or some"
- $ECHO "*** library that it depends on before this library will be fully"
- $ECHO "*** functional. Installing it before continuing would be even better."
+ echo "*** make it link in! You will probably need to install it or some"
+ echo "*** library that it depends on before this library will be fully"
+ echo "*** functional. Installing it before continuing would be even better."
fi
;;
*)
potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
case $potliblink in
[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+ *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
esac
done
if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
fi
if test -n "$a_deplib" ; then
droppeddeps=yes
- $ECHO
+ echo
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because I did check the linker path looking for a file starting"
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
if test -z "$potlib" ; then
$ECHO "*** with $libname but no candidates were found. (...for file magic test)"
else
potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
for potent_lib in $potential_libs; do
potlib="$potent_lib" # see symlink-check above in file_magic test
- if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+ if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
$EGREP "$match_pattern_regex" > /dev/null; then
newdeplibs="$newdeplibs $a_deplib"
a_deplib=""
fi
if test -n "$a_deplib" ; then
droppeddeps=yes
- $ECHO
+ echo
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
- $ECHO "*** I have the capability to make that library automatically link in when"
- $ECHO "*** you link to this library. But I can only do this if you have a"
- $ECHO "*** shared version of the library, which you do not appear to have"
- $ECHO "*** because I did check the linker path looking for a file starting"
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
if test -z "$potlib" ; then
$ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
else
;;
none | unknown | *)
newdeplibs=""
- tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
- -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
+ tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
for i in $predeps $postdeps ; do
# can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
+ tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
done
fi
- if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' |
- $GREP . >/dev/null; then
- $ECHO
+ case $tmp_deplibs in
+ *[!\ \ ]*)
+ echo
if test "X$deplibs_check_method" = "Xnone"; then
- $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
+ echo "*** Warning: inter-library dependencies are not supported in this platform."
else
- $ECHO "*** Warning: inter-library dependencies are not known to be supported."
+ echo "*** Warning: inter-library dependencies are not known to be supported."
fi
- $ECHO "*** All declared inter-library dependencies are being dropped."
+ echo "*** All declared inter-library dependencies are being dropped."
droppeddeps=yes
- fi
+ ;;
+ esac
;;
esac
versuffix=$versuffix_save
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
# On Rhapsody replace the C library with the System framework
- newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
;;
esac
if test "$droppeddeps" = yes; then
if test "$module" = yes; then
- $ECHO
- $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+ echo
+ echo "*** Warning: libtool could not satisfy all declared inter-library"
$ECHO "*** dependencies of module $libname. Therefore, libtool will create"
- $ECHO "*** a static module, that should work as long as the dlopening"
- $ECHO "*** application is linked with the -dlopen flag."
+ echo "*** a static module, that should work as long as the dlopening"
+ echo "*** application is linked with the -dlopen flag."
if test -z "$global_symbol_pipe"; then
- $ECHO
- $ECHO "*** However, this would only work if libtool was able to extract symbol"
- $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $ECHO "*** not find such a program. So, this module is probably useless."
- $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
fi
if test "$build_old_libs" = no; then
oldlibs="$output_objdir/$libname.$libext"
build_libtool_libs=no
fi
else
- $ECHO "*** The inter-library dependencies that have been dropped here will be"
- $ECHO "*** automatically added whenever a program is linked with this library"
- $ECHO "*** or is declared to -dlopen it."
+ echo "*** The inter-library dependencies that have been dropped here will be"
+ echo "*** automatically added whenever a program is linked with this library"
+ echo "*** or is declared to -dlopen it."
if test "$allow_undefined" = no; then
- $ECHO
- $ECHO "*** Since this library must not contain undefined symbols,"
- $ECHO "*** because either the platform does not support them or"
- $ECHO "*** it was explicitly requested with -no-undefined,"
- $ECHO "*** libtool will only create a static version of it."
+ echo
+ echo "*** Since this library must not contain undefined symbols,"
+ echo "*** because either the platform does not support them or"
+ echo "*** it was explicitly requested with -no-undefined,"
+ echo "*** libtool will only create a static version of it."
if test "$build_old_libs" = no; then
oldlibs="$output_objdir/$libname.$libext"
build_libtool_libs=module
# Time to change all our "foo.ltframework" stuff back to "-framework foo"
case $host in
*-*-darwin*)
- newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
;;
esac
done
# Use standard objects if they are pic
- test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
test "X$libobjs" = "X " && libobjs=
delfiles=
if test -n "$export_symbols" && test -n "$include_expsyms"; then
tmp_export_symbols="$export_symbols"
test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
- $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
save_libobjs=$libobjs
fi
save_output=$output
- output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+ func_basename "$output"
+ output_la=$func_basename_result
# Clear the reloadable object creation command queue and
# initialize k to one.
if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
output=${output_objdir}/${output_la}.lnkscript
func_verbose "creating GNU ld script: $output"
- $ECHO 'INPUT (' > $output
+ echo 'INPUT (' > $output
for obj in $save_libobjs
do
$ECHO "$obj" >> $output
done
- $ECHO ')' >> $output
+ echo ')' >> $output
delfiles="$delfiles $output"
elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
output=${output_objdir}/${output_la}.lnk
# command to the queue.
if test "$k" -eq 1 ; then
# The first file doesn't have a previous command to add.
- eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+ reload_objs=$objlist
+ eval concat_cmds=\"$reload_cmds\"
else
# All subsequent reloadable object files will link in
# the last one created.
- eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
fi
last_robj=$output_objdir/$output_la-${k}.$objext
func_arith $k + 1
k=$func_arith_result
output=$output_objdir/$output_la-${k}.$objext
- objlist=$obj
+ objlist=" $obj"
func_len " $last_robj"
func_arith $len0 + $func_len_result
len=$func_arith_result
# reloadable object file. All subsequent reloadable object
# files will link in the last one created.
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
if test -n "$last_robj"; then
eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
fi
if test -n "$export_symbols" && test -n "$include_expsyms"; then
tmp_export_symbols="$export_symbols"
test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
- $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
if test -n "$orig_export_symbols"; then
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+ reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
else
gentop="$output_objdir/${obj}x"
generated="$generated $gentop"
fi
# Create the old-style object.
- reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+ reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
output="$obj"
func_execute_cmds "$reload_cmds" 'exit $?'
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
# On Rhapsody replace the C library is the System framework
- compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
- finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
;;
esac
esac
fi
# Time to change all our "foo.ltframework" stuff back to "-framework foo"
- compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
- finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
;;
esac
if test -n "$libobjs" && test "$build_old_libs" = yes; then
# Transform all the library objects into standard objects.
- compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+ compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
fi
func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
wrappers_required=yes
case $host in
+ *cegcc* | *mingw32ce*)
+ # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+ wrappers_required=no
+ ;;
*cygwin* | *mingw* )
if test "$build_libtool_libs" != yes; then
wrappers_required=no
fi
;;
- *cegcc)
- # Disable wrappers for cegcc, we are cross compiling anyway.
- wrappers_required=no
- ;;
*)
if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
wrappers_required=no
esac
if test "$wrappers_required" = no; then
# Replace the output file specification.
- compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
link_command="$compile_command$compile_rpath"
# We have no uninstalled library dependencies, so finalize right now.
# We don't need to create a wrapper script.
link_command="$compile_var$compile_command$compile_rpath"
# Replace the output file specification.
- link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
# Delete the old output file.
$opt_dry_run || $RM $output
# Link the executable and exit
if test "$fast_install" != no; then
link_command="$finalize_var$compile_command$finalize_rpath"
if test "$fast_install" = yes; then
- relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+ relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
else
# fast_install is set to needless
relink_command=
fi
# Replace the output file specification.
- link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
# Delete the old output files.
$opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
fi
done
relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
- fi
-
- # Quote $ECHO for shipping.
- if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
- case $progpath in
- [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
- *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
- esac
- qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
- else
- qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
fi
# Only actually do things if not in dry run mode.
done | sort | sort -uc >/dev/null 2>&1); then
:
else
- $ECHO "copying selected object files to avoid basename conflicts..."
+ echo "copying selected object files to avoid basename conflicts..."
gentop="$output_objdir/${outputname}x"
generated="$generated $gentop"
func_mkdir_p "$gentop"
done
# Quote the link command for shipping.
relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
if test "$hardcode_automatic" = yes ; then
relink_command=
fi
fi
$RM $output
# place dlname in correct position for cygwin
+ # In fact, it would be nice if we could use this code for all target
+ # systems that can't hard-code library paths into their executables
+ # and that have no shared library path variable independent of PATH,
+ # but it turns out we can't easily determine that from inspecting
+ # libtool variables, so we have to hard-code the OSs to which it
+ # applies here; at the moment, that means platforms that use the PE
+ # object format with DLL files. See the long comment at the top of
+ # tests/bindir.at for full details.
tdlname=$dlname
case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+ # If a -bindir argument was supplied, place the dll there.
+ if test "x$bindir" != x ;
+ then
+ func_relative_path "$install_libdir" "$bindir"
+ tdlname=$func_relative_path_result$dlname
+ else
+ # Otherwise fall back on heuristic.
+ tdlname=../bin/$dlname
+ fi
+ ;;
esac
$ECHO > $output "\
# $outputname - a libtool library file
body {
-
font-family: Helvetica, sans-serif;
-
}
.page_title {
-
font: 18pt Georgia, serif;
-/* font-size: 1.5em;
- font-weight: bold; */
color: darkred;
- border-bottom: 2px solid darkred;
}
.section_title {
-
font: 14pt Georgia, serif;
color: darkred;
- border-bottom: 2px dashed darkred;
}
.report_timestamp {
-
color: darkred;
font-weight: bold;
-
}
.function_src {
-
text-align: left;
background: white;
}
.resume_table {
-
}
.resume_header_entry {
-
color: black;
}
.resume_number_entry {
-
color: darkred;
font-weight: bold;
text-align: right;
}
.ranges_table {
-
border-spacing: 0px;
border-bottom: solid 2px black;
border-top: solid 2px black;
}
.ranges_header_entry {
-
padding: 5px;
border-bottom: solid 1px black;
font-size: 1em;
}
.ranges_entry {
-
}
.ranges_entry_simple {
-
background: #87ff75;
-
}
.ranges_entry_moderate {
-
background: #fffc60;
-
}
.ranges_entry_high {
-
background: #ff5a5d;
-
}
.ranges_entry_untestable {
-
background: #993300
-
}
.function_table {
-
border-spacing: 0px;
border-bottom: solid 2px black;
border-top: solid 2px black;
}
.function_table_caption {
-
font-size: 1.1em;
font-weight: bold;
color: black;
}
.function_table_header {
-
}
.function_table_header_entry {
-
padding: 5px;
border-bottom: solid 1px black;
font-size: 1em;
}
.function_entry {
-
-
}
.function_entry_simple {
-
background: #87ff75;
-
}
.function_entry_moderate {
-
background: #fffc60;
-
}
.function_entry_high {
-
background: #ff5a5d;
-
}
.function_entry_untestable {
-
background: #993300
-
}
.function_entry_name {
-
font-size: 1em;
text-align: left;
font-weight: bold;
}
.function_entry_cyclo {
-
font-size: 1em;
text-align: right;
text-valign: top;
}
.function_entry_number {
-
font-size: 1em;
text-align: right;
text-valign: top;
}
.function_entry_filename {
-
font-size: 1em;
text-align: left;
text-valign: top;
border-top: solid 1px black;
padding: 3px;
}
-
-.sidemenu {
-
- border: 1px black solid;
- padding: 5px;
-
-}
-
-.sidemenuheader {
-
- color: darkred;
- font-size: 1.1em;
- font-weight: bold;
- border-bottom: 1px dashed darkred;
-}
-
-.sidemenuentry {
-
-
-}
-
-.menu {
-
-}
-
-#!/usr/bin/awk -f
-# pmccabe2html - pmccabe to html converter
+# pmccabe2html - AWK script to convert pmccabe output to html -*- awk -*-
-# Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2007-2011 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# Typical Invocation is from a Makefile.am:
#
-# cyclo-libidn.html:
-# $(PMCCABE) ${top_srcdir}/lib/*.[ch] \
-# | sort -nr \
-# | $(AWK) -f ${top_srcdir}/build-aux/pmccabe2html \
-# -v lang=html -v name="$(PACKAGE_NAME)" \
-# -v vcurl="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=%FILENAME%;hb=HEAD" \
-# -v url="http://www.gnu.org/software/libidn/" \
-# -v css=../../build-aux/pmccabe.css \
-# > tmp
-# mv tmp $@
+# CYCLO_SOURCES = ${top_srcdir}/src/*.[ch]
+#
+# cyclo-$(PACKAGE).html: $(CYCLO_SOURCES)
+# $(PMCCABE) $(CYCLO_SOURCES) \
+# | sort -nr \
+# | $(AWK) -f ${top_srcdir}/build-aux/pmccabe2html \
+# -v lang=html -v name="$(PACKAGE_NAME)" \
+# -v vcurl="http://git.savannah.gnu.org/gitweb/?p=$(PACKAGE).git;a=blob;f=%FILENAME%;hb=HEAD" \
+# -v url="http://www.gnu.org/software/$(PACKAGE)/" \
+# -v css=${top_srcdir}/build-aux/pmccabe.css \
+# -v cut_dir=${top_srcdir}/ \
+# > $@-tmp
+# mv $@-tmp $@
#
# The variables available are:
# lang output language, either 'html' or 'wiki'
cyclo_simple_max = 10
cyclo_moderate_max = 20
cyclo_high_max = 50
- cut_dir = "/../"
source_file_link_tmpl = vcurl
# HTML options
html_prolog = "<a href=\"" url "\">Back to " package_name " Homepage</a><br/><br/>"
}
html_epilog = "<hr color=\"black\" size=\"2\"/> \
-Copyright (c) 2007, 2008 Free Software Foundation Inc."
+Copyright (c) 2007, 2008 Free Software Foundation, Inc."
html_doctype = "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \
\"http://www.w3.org/TR/html401/loose.dtd\">"
html_comment = "<!-- Generated by gnulib's pmccabe2html at " systime() " -->"
function html_fnc_table_complete (caption)
{
- html_fnc_table(caption, 1, 0, 1, 1, 1, 0, 1)
+ html_fnc_table(caption, 1, 1, 0, 1, 1, 0, 1)
}
function html_fnc_table_abbrev (caption)
{
- html_fnc_table(caption, 1, 0, 1, 0, 1, 0, 0)
+ html_fnc_table(caption, 1, 1, 0, 0, 1, 0, 0)
}
{
print "<caption class=\"function_table_caption\">" caption "</caption>"
}
- html_fnc_header(fname_p,
- mcyclo_p,
- cyclo_p,
- num_statements_p,
- num_lines_p,
- first_line_p,
+ html_fnc_header(fname_p,
+ mcyclo_p,
+ cyclo_p,
+ num_statements_p,
+ num_lines_p,
+ first_line_p,
file_p)
- for (nfnc = 1; nfnc < nfuncs; nfnc++)
+ for (nfnc = 1; nfnc <= nfuncs; nfnc++)
{
html_fnc(nfnc,
- fname_p,
- mcyclo_p,
- cyclo_p,
- num_statements_p,
- num_lines_p,
- first_line_p,
+ fname_p,
+ mcyclo_p,
+ cyclo_p,
+ num_statements_p,
+ num_lines_p,
+ first_line_p,
file_p)
}
print "</table>"
if (mcyclo[nfun] > cyclo_high_max)
{
trclass="function_entry_untestable"
- }
+ }
else if (mcyclo[nfun] > cyclo_moderate_max)
{
trclass="function_entry_high"
{
print file[nfun]
}
-
+
print "</td>"
if (num_lines_p) { num_columns++ }
if (first_line_p) { num_columns++ }
if (file_p) { num_columns++ }
-
+
print "<td colspan=\"" num_columns "\" height=\"0\">"
print "<div id=\"" fname "_src\" class=\"function_src\" style=\"position: relative; display: none;\">"
print "<pre class=\"function_src\">"
sub(/\\</, "<", codeline)
sub(/\\>/, ">", codeline)
sub(/&/, "&", codeline)
-
+
print codeline
}
close(fname nfun "_fn.txt")
- system("rm " fname nfun "_fn.txt")
+ system("rm " "'" fname "'" nfun "_fn.txt")
print "</pre>"
print "</div>"
print "</td>"
function html_global_stats ()
{
- print "<div class=\"section_title\">Resume</div>"
+ print "<div class=\"section_title\">Summary</div>"
- print "<br/>"
- print "<table class=\"resume_table\">"
+ print "<table class=\"summary_table\">"
# Total number of functions
print "<tr>"
- print "<td class=\"resume_header_entry\">"
+ print "<td class=\"summary_header_entry\">"
print "Total number of functions"
print "</td>"
- print "<td class=\"resume_number_entry\">"
+ print "<td class=\"summary_number_entry\">"
print num_of_functions
print "</td>"
print "</tr>"
# Number of simple functions
print "<tr>"
- print "<td class=\"resume_header_entry\">"
+ print "<td class=\"summary_header_entry\">"
print "Number of low risk functions"
print "</td>"
- print "<td class=\"resume_number_entry\">"
+ print "<td class=\"summary_number_entry\">"
print num_of_simple_functions
print "</td>"
print "</tr>"
# Number of moderate functions
print "<tr>"
- print "<td class=\"resume_header_entry\">"
+ print "<td class=\"summary_header_entry\">"
print "Number of moderate risk functions"
print "</td>"
- print "<td class=\"resume_number_entry\">"
+ print "<td class=\"summary_number_entry\">"
print num_of_moderate_functions
print "</td>"
print "</tr>"
# Number of high functions
print "<tr>"
- print "<td class=\"resume_header_entry\">"
+ print "<td class=\"summary_header_entry\">"
print "Number of high risk functions"
print "</td>"
- print "<td class=\"resume_number_entry\">"
+ print "<td class=\"summary_number_entry\">"
print num_of_high_functions
print "</td>"
print "</tr>"
# Number of untestable functions
print "<tr>"
- print "<td class=\"resume_header_entry\">"
+ print "<td class=\"summary_header_entry\">"
print "Number of untestable functions"
print "</td>"
- print "<td class=\"resume_number_entry\">"
+ print "<td class=\"summary_number_entry\">"
print num_of_untestable_functions
print "</td>"
print "</tr>"
function html_function_cyclo ()
{
print "<div class=\"section_title\">Details for all functions</div>"
- print "<p>Used ranges:</p>"
print "<table class=\"ranges_table\">"
print "<tr>"
print "Simple module, without much risk"
print "</td>"
print "</tr>"
- # Moderate
+ # Moderate
print "<tr>"
print "<td class=\"ranges_entry_moderate\">"
print " "
function wiki_global_stats ()
{
- print "{| class=\"cyclo_resume_table\""
+ print "{| class=\"cyclo_summary_table\""
# Total number of functions
print "|-"
- print "| class=\"cyclo_resume_header_entry\" | Total number of functions"
- print "| class=\"cyclo_resume_number_entry\" |" num_of_functions
+ print "| class=\"cyclo_summary_header_entry\" | Total number of functions"
+ print "| class=\"cyclo_summary_number_entry\" |" num_of_functions
# Number of simple functions
print "|-"
- print "| class=\"cyclo_resume_header_entry\" | Number of low risk functions"
- print "| class=\"cyclo_resume_number_entry\" |" num_of_simple_functions
+ print "| class=\"cyclo_summary_header_entry\" | Number of low risk functions"
+ print "| class=\"cyclo_summary_number_entry\" |" num_of_simple_functions
# Number of moderate functions
print "|-"
- print "| class=\"cyclo_resume_header_entry\" | Number of moderate risk functions"
- print "| class=\"cyclo_resume_number_entry\" |" num_of_moderate_functions
+ print "| class=\"cyclo_summary_header_entry\" | Number of moderate risk functions"
+ print "| class=\"cyclo_summary_number_entry\" |" num_of_moderate_functions
# Number of high functions
print "|-"
- print "| class=\"cyclo_resume_header_entry\" | Number of high risk functions"
- print "| class=\"cyclo_resume_number_entry\" |" num_of_high_functions
+ print "| class=\"cyclo_summary_header_entry\" | Number of high risk functions"
+ print "| class=\"cyclo_summary_number_entry\" |" num_of_high_functions
# Number of untestable functions
print "|-"
- print "| class=\"cyclo_resume_header_entry\" | Number of untestable functions"
- print "| class=\"cyclo_resume_number_entry\" |" num_of_untestable_functions
+ print "| class=\"cyclo_summary_header_entry\" | Number of untestable functions"
+ print "| class=\"cyclo_summary_number_entry\" |" num_of_untestable_functions
print "|}"
}
print "==Details for all functions=="
print "Used ranges:"
-
+
print "{| class =\"cyclo_ranges_table\""
print "|-"
print "| class=\"cyclo_ranges_header_entry\" | "
function wiki_fnc_table_complete (caption)
{
- wiki_fnc_table(caption, 1, 0, 1, 1, 1, 0, 1)
+ wiki_fnc_table(caption, 1, 1, 0, 1, 1, 0, 1)
}
function wiki_fnc_table_abbrev (caption)
{
print "|+" caption
}
- wiki_fnc_header(fname_p,
- mcyclo_p,
- cyclo_p,
- num_statements_p,
- num_lines_p,
- first_line_p,
+ wiki_fnc_header(fname_p,
+ mcyclo_p,
+ cyclo_p,
+ num_statements_p,
+ num_lines_p,
+ first_line_p,
file_p)
- for (nfnc = 1; nfnc < nfuncs; nfnc++)
+ for (nfnc = 1; nfnc <= nfuncs; nfnc++)
{
wiki_fnc(nfnc,
- fname_p,
- mcyclo_p,
- cyclo_p,
- num_statements_p,
- num_lines_p,
- first_line_p,
+ fname_p,
+ mcyclo_p,
+ cyclo_p,
+ num_statements_p,
+ num_lines_p,
+ first_line_p,
file_p)
}
print "|}"
if (mcyclo[nfnc] > cyclo_high_max)
{
trclass="cyclo_function_entry_untestable"
- }
+ }
else if (mcyclo[nfnc] > cyclo_moderate_max)
{
trclass="cyclo_function_entry_high"
href = source_file_link_tmpl
sub(/%FILENAME%/, file[nfnc], href)
}
-
+
# Source file
print "| class=\"cyclo_function_entry_filename\" |" \
((href != "") ? "[" href " " file[nfnc] "]" : "[" file[nfnc] "]")
}
# Print prolog
- if ((output_lang == "html") &&
+ if ((output_lang == "html") &&
(html_prolog != ""))
{
print html_prolog
wiki_function_cyclo()
}
}
-
+
# Print epilog
- if ((output_lang == "html") &&
+ if ((output_lang == "html") &&
(html_epilog != ""))
{
print html_epilog
--- /dev/null
+#ifndef _Noreturn
+# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
+ || 0x5110 <= __SUNPRO_C)
+# define _Noreturn __attribute__ ((__noreturn__))
+# elif 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
+# else
+# define _Noreturn
+# endif
+#endif
--- /dev/null
+/* A C macro for declaring that specific arguments must not be NULL.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
+ that the values passed as arguments n, ..., m must be non-NULL pointers.
+ n = 1 stands for the first argument, n = 2 for the second argument etc. */
+#ifndef _GL_ARG_NONNULL
+# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
+# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
+# else
+# define _GL_ARG_NONNULL(params)
+# endif
+#endif
--- /dev/null
+/* C++ compatible function declaration macros.
+ Copyright (C) 2010-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _GL_CXXDEFS_H
+#define _GL_CXXDEFS_H
+
+/* The three most frequent use cases of these macros are:
+
+ * For providing a substitute for a function that is missing on some
+ platforms, but is declared and works fine on the platforms on which
+ it exists:
+
+ #if @GNULIB_FOO@
+ # if !@HAVE_FOO@
+ _GL_FUNCDECL_SYS (foo, ...);
+ # endif
+ _GL_CXXALIAS_SYS (foo, ...);
+ _GL_CXXALIASWARN (foo);
+ #elif defined GNULIB_POSIXCHECK
+ ...
+ #endif
+
+ * For providing a replacement for a function that exists on all platforms,
+ but is broken/insufficient and needs to be replaced on some platforms:
+
+ #if @GNULIB_FOO@
+ # if @REPLACE_FOO@
+ # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+ # undef foo
+ # define foo rpl_foo
+ # endif
+ _GL_FUNCDECL_RPL (foo, ...);
+ _GL_CXXALIAS_RPL (foo, ...);
+ # else
+ _GL_CXXALIAS_SYS (foo, ...);
+ # endif
+ _GL_CXXALIASWARN (foo);
+ #elif defined GNULIB_POSIXCHECK
+ ...
+ #endif
+
+ * For providing a replacement for a function that exists on some platforms
+ but is broken/insufficient and needs to be replaced on some of them and
+ is additionally either missing or undeclared on some other platforms:
+
+ #if @GNULIB_FOO@
+ # if @REPLACE_FOO@
+ # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+ # undef foo
+ # define foo rpl_foo
+ # endif
+ _GL_FUNCDECL_RPL (foo, ...);
+ _GL_CXXALIAS_RPL (foo, ...);
+ # else
+ # if !@HAVE_FOO@ or if !@HAVE_DECL_FOO@
+ _GL_FUNCDECL_SYS (foo, ...);
+ # endif
+ _GL_CXXALIAS_SYS (foo, ...);
+ # endif
+ _GL_CXXALIASWARN (foo);
+ #elif defined GNULIB_POSIXCHECK
+ ...
+ #endif
+*/
+
+/* _GL_EXTERN_C declaration;
+ performs the declaration with C linkage. */
+#if defined __cplusplus
+# define _GL_EXTERN_C extern "C"
+#else
+# define _GL_EXTERN_C extern
+#endif
+
+/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
+ declares a replacement function, named rpl_func, with the given prototype,
+ consisting of return type, parameters, and attributes.
+ Example:
+ _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
+ _GL_ARG_NONNULL ((1)));
+ */
+#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
+ _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
+#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
+ _GL_EXTERN_C rettype rpl_func parameters_and_attributes
+
+/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
+ declares the system function, named func, with the given prototype,
+ consisting of return type, parameters, and attributes.
+ Example:
+ _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
+ _GL_ARG_NONNULL ((1)));
+ */
+#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
+ _GL_EXTERN_C rettype func parameters_and_attributes
+
+/* _GL_CXXALIAS_RPL (func, rettype, parameters);
+ declares a C++ alias called GNULIB_NAMESPACE::func
+ that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
+ Example:
+ _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
+ */
+#define _GL_CXXALIAS_RPL(func,rettype,parameters) \
+ _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
+ namespace GNULIB_NAMESPACE \
+ { \
+ rettype (*const func) parameters = ::rpl_func; \
+ } \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
+ is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
+ except that the C function rpl_func may have a slightly different
+ declaration. A cast is used to silence the "invalid conversion" error
+ that would otherwise occur. */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
+ namespace GNULIB_NAMESPACE \
+ { \
+ rettype (*const func) parameters = \
+ reinterpret_cast<rettype(*)parameters>(::rpl_func); \
+ } \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIAS_SYS (func, rettype, parameters);
+ declares a C++ alias called GNULIB_NAMESPACE::func
+ that redirects to the system provided function func, if GNULIB_NAMESPACE
+ is defined.
+ Example:
+ _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
+ */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+ /* If we were to write
+ rettype (*const func) parameters = ::func;
+ like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls
+ better (remove an indirection through a 'static' pointer variable),
+ but then the _GL_CXXALIASWARN macro below would cause a warning not only
+ for uses of ::func but also for uses of GNULIB_NAMESPACE::func. */
+# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
+ namespace GNULIB_NAMESPACE \
+ { \
+ static rettype (*func) parameters = ::func; \
+ } \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
+ is like _GL_CXXALIAS_SYS (func, rettype, parameters);
+ except that the C function func may have a slightly different declaration.
+ A cast is used to silence the "invalid conversion" error that would
+ otherwise occur. */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
+ namespace GNULIB_NAMESPACE \
+ { \
+ static rettype (*func) parameters = \
+ reinterpret_cast<rettype(*)parameters>(::func); \
+ } \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
+ is like _GL_CXXALIAS_SYS (func, rettype, parameters);
+ except that the C function is picked among a set of overloaded functions,
+ namely the one with rettype2 and parameters2. Two consecutive casts
+ are used to silence the "cannot find a match" and "invalid conversion"
+ errors that would otherwise occur. */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+ /* The outer cast must be a reinterpret_cast.
+ The inner cast: When the function is defined as a set of overloaded
+ functions, it works as a static_cast<>, choosing the designated variant.
+ When the function is defined as a single variant, it works as a
+ reinterpret_cast<>. The parenthesized cast syntax works both ways. */
+# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
+ namespace GNULIB_NAMESPACE \
+ { \
+ static rettype (*func) parameters = \
+ reinterpret_cast<rettype(*)parameters>( \
+ (rettype2(*)parameters2)(::func)); \
+ } \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#else
+# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIASWARN (func);
+ causes a warning to be emitted when ::func is used but not when
+ GNULIB_NAMESPACE::func is used. func must be defined without overloaded
+ variants. */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIASWARN(func) \
+ _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
+# define _GL_CXXALIASWARN_1(func,namespace) \
+ _GL_CXXALIASWARN_2 (func, namespace)
+/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
+ we enable the warning only when not optimizing. */
+# if !__OPTIMIZE__
+# define _GL_CXXALIASWARN_2(func,namespace) \
+ _GL_WARN_ON_USE (func, \
+ "The symbol ::" #func " refers to the system function. " \
+ "Use " #namespace "::" #func " instead.")
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+# define _GL_CXXALIASWARN_2(func,namespace) \
+ extern __typeof__ (func) func
+# else
+# define _GL_CXXALIASWARN_2(func,namespace) \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+# endif
+#else
+# define _GL_CXXALIASWARN(func) \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
+ causes a warning to be emitted when the given overloaded variant of ::func
+ is used but not when GNULIB_NAMESPACE::func is used. */
+#if defined __cplusplus && defined GNULIB_NAMESPACE
+# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
+ _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
+ GNULIB_NAMESPACE)
+# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
+ _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
+/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
+ we enable the warning only when not optimizing. */
+# if !__OPTIMIZE__
+# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+ _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
+ "The symbol ::" #func " refers to the system function. " \
+ "Use " #namespace "::" #func " instead.")
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+ extern __typeof__ (func) func
+# else
+# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+# endif
+#else
+# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
+ _GL_EXTERN_C int _gl_cxxalias_dummy
+#endif
+
+#endif /* _GL_CXXDEFS_H */
--- /dev/null
+/* A C macro for declaring that specific function parameters are not used.
+ Copyright (C) 2008-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter
+ declarations for parameters that are not used. This helps to reduce
+ warnings, such as from GCC -Wunused-parameter. The syntax is as follows:
+ type param _GL_UNUSED_PARAMETER
+ or more generally
+ param_decl _GL_UNUSED_PARAMETER
+ For example:
+ int param _GL_UNUSED_PARAMETER
+ int *(*param)(void) _GL_UNUSED_PARAMETER
+ Other possible, but obscure and discouraged syntaxes:
+ int _GL_UNUSED_PARAMETER *(*param)(void)
+ _GL_UNUSED_PARAMETER int *(*param)(void)
+ */
+#ifndef _GL_UNUSED_PARAMETER
+# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+# define _GL_UNUSED_PARAMETER __attribute__ ((__unused__))
+# else
+# define _GL_UNUSED_PARAMETER
+# endif
+#endif
--- /dev/null
+/* A C macro for emitting warnings if a function is used.
+ Copyright (C) 2010-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* _GL_WARN_ON_USE (function, "literal string") issues a declaration
+ for FUNCTION which will then trigger a compiler warning containing
+ the text of "literal string" anywhere that function is called, if
+ supported by the compiler. If the compiler does not support this
+ feature, the macro expands to an unused extern declaration.
+
+ This macro is useful for marking a function as a potential
+ portability trap, with the intent that "literal string" include
+ instructions on the replacement function that should be used
+ instead. However, one of the reasons that a function is a
+ portability trap is if it has the wrong signature. Declaring
+ FUNCTION with a different signature in C is a compilation error, so
+ this macro must use the same type as any existing declaration so
+ that programs that avoid the problematic FUNCTION do not fail to
+ compile merely because they included a header that poisoned the
+ function. But this implies that _GL_WARN_ON_USE is only safe to
+ use if FUNCTION is known to already have a declaration. Use of
+ this macro implies that there must not be any other macro hiding
+ the declaration of FUNCTION; but undefining FUNCTION first is part
+ of the poisoning process anyway (although for symbols that are
+ provided only via a macro, the result is a compilation error rather
+ than a warning containing "literal string"). Also note that in
+ C++, it is only safe to use if FUNCTION has no overloads.
+
+ For an example, it is possible to poison 'getline' by:
+ - adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
+ [getline]) in configure.ac, which potentially defines
+ HAVE_RAW_DECL_GETLINE
+ - adding this code to a header that wraps the system <stdio.h>:
+ #undef getline
+ #if HAVE_RAW_DECL_GETLINE
+ _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
+ "not universally present; use the gnulib module getline");
+ #endif
+
+ It is not possible to directly poison global variables. But it is
+ possible to write a wrapper accessor function, and poison that
+ (less common usage, like &environ, will cause a compilation error
+ rather than issue the nice warning, but the end result of informing
+ the developer about their portability problem is still achieved):
+ #if HAVE_RAW_DECL_ENVIRON
+ static inline char ***rpl_environ (void) { return &environ; }
+ _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
+ # undef environ
+ # define environ (*rpl_environ ())
+ #endif
+ */
+#ifndef _GL_WARN_ON_USE
+
+# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
+/* A compiler attribute is available in gcc versions 4.3.0 and later. */
+# define _GL_WARN_ON_USE(function, message) \
+extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+/* Verify the existence of the function. */
+# define _GL_WARN_ON_USE(function, message) \
+extern __typeof__ (function) function
+# else /* Unsupported. */
+# define _GL_WARN_ON_USE(function, message) \
+_GL_WARN_EXTERN_C int _gl_warn_on_use
+# endif
+#endif
+
+/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
+ is like _GL_WARN_ON_USE (function, "string"), except that the function is
+ declared with the given prototype, consisting of return type, parameters,
+ and attributes.
+ This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
+ not work in this case. */
+#ifndef _GL_WARN_ON_USE_CXX
+# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
+# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
+extern rettype function parameters_and_attributes \
+ __attribute__ ((__warning__ (msg)))
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+/* Verify the existence of the function. */
+# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
+extern rettype function parameters_and_attributes
+# else /* Unsupported. */
+# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
+_GL_WARN_EXTERN_C int _gl_warn_on_use
+# endif
+#endif
+
+/* _GL_WARN_EXTERN_C declaration;
+ performs the declaration with C linkage. */
+#ifndef _GL_WARN_EXTERN_C
+# if defined __cplusplus
+# define _GL_WARN_EXTERN_C extern "C"
+# else
+# define _GL_WARN_EXTERN_C extern
+# endif
+#endif
% texinfo.tex -- TeX macros to handle Texinfo files.
-%
+%
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2009-05-16.16}
+\def\texinfoversion{2009-08-14.15}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
\ifpdf
%
- % Color manipulation macros based on pdfcolor.tex.
- \def\cmykDarkRed{0.28 1 1 0.35}
- \def\cmykBlack{0 0 0 1}
+ % Color manipulation macros based on pdfcolor.tex,
+ % except using rgb instead of cmyk; the latter is said to render as a
+ % very dark gray on-screen and a very dark halftone in print, instead
+ % of actual black.
+ \def\rgbDarkRed{0.50 0.09 0.12}
+ \def\rgbBlack{0 0 0}
%
% k sets the color for filling (usual text, etc.);
% K sets the color for stroking (thin rules, e.g., normal _'s).
- \def\pdfsetcolor#1{\pdfliteral{#1 k #1 K}}
+ \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}}
%
% Set color, and create a mark which defines \thiscolor accordingly,
% so that \makeheadline knows which color to restore.
\pdfsetcolor{#1}%
}
%
- \def\maincolor{\cmykBlack}
+ \def\maincolor{\rgbBlack}
\pdfsetcolor{\maincolor}
\edef\thiscolor{\maincolor}
\def\lastcolordefs{}
%
% by default, use a color that is dark enough to print on paper as
% nearly black, but still distinguishable for online viewing.
- \def\urlcolor{\cmykDarkRed}
- \def\linkcolor{\cmykDarkRed}
+ \def\urlcolor{\rgbDarkRed}
+ \def\linkcolor{\rgbDarkRed}
\def\endlink{\setcolor{\maincolor}\pdfendlink}
%
% Adding outlines to PDF; macros for calculating structure of outlines
\definedummyword\code
\definedummyword\command
\definedummyword\dfn
+ \definedummyword\email
\definedummyword\emph
\definedummyword\env
\definedummyword\file
@markupsetuplqdefault
@markupsetuprqdefault
-@c Gnulib now utterly and painfully insists on no trailing whitespace.
-@c So we have to nuke it.
-
@c Local variables:
@c eval: (add-hook 'write-file-hooks 'time-stamp)
-@c eval: (add-hook 'write-file-hooks 'nuke-trailing-whitespace)
@c page-delimiter: "^\\\\message"
@c time-stamp-start: "def\\\\texinfoversion{"
@c time-stamp-format: "%:y-%02m-%02d.%02H"
--- /dev/null
+eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}'
+ & eval 'exec perl -wS -0777 -pi "$0" $argv:q'
+ if 0;
+# Update an FSF copyright year list to include the current year.
+
+my $VERSION = '2011-01-02.20:59'; # UTC
+
+# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Written by Jim Meyering and Joel E. Denny
+
+# The arguments to this script should be names of files that contain
+# copyright statements to be updated. The copyright holder's name
+# defaults to "Free Softward Foundation, Inc." but may be changed to
+# any other name by using the "UPDATE_COPYRIGHT_HOLDER" environment
+# variable.
+#
+# For example, you might wish to use the update-copyright target rule
+# in maint.mk from gnulib's maintainer-makefile module.
+#
+# Iff a copyright statement is recognized in a file and the final
+# year is not the current year, then the statement is updated for the
+# new year and it is reformatted to:
+#
+# 1. Fit within 72 columns.
+# 2. Convert 2-digit years to 4-digit years by prepending "19".
+# 3. Expand copyright year intervals. (See "Environment variables"
+# below.)
+#
+# A warning is printed for every file for which no copyright
+# statement is recognized.
+#
+# Each file's copyright statement must be formated correctly in
+# order to be recognized. For example, each of these is fine:
+#
+# Copyright @copyright{} 1990-2005, 2007-2009 Free Software
+# Foundation, Inc.
+#
+# # Copyright (C) 1990-2005, 2007-2009 Free Software
+# # Foundation, Inc.
+#
+# /*
+# * Copyright © 90,2005,2007-2009
+# * Free Software Foundation, Inc.
+# */
+#
+# However, the following format is not recognized because the line
+# prefix changes after the first line:
+#
+# ## Copyright (C) 1990-2005, 2007-2009 Free Software
+# # Foundation, Inc.
+#
+# However, any correctly formatted copyright statement following
+# a non-matching copyright statements would be recognized.
+#
+# The exact conditions that a file's copyright statement must meet
+# to be recognized are:
+#
+# 1. It is the first copyright statement that meets all of the
+# following conditions. Subsequent copyright statements are
+# ignored.
+# 2. Its format is "Copyright (C)", then a list of copyright years,
+# and then the name of the copyright holder.
+# 3. The "(C)" takes one of the following forms or is omitted
+# entirely:
+#
+# A. (C)
+# B. (c)
+# C. @copyright{}
+# D. ©
+#
+# 4. The "Copyright" appears at the beginning of a line, except that it
+# may be prefixed by any sequence (e.g., a comment) of no more than
+# 5 characters -- including white space.
+# 5. Iff such a prefix is present, the same prefix appears at the
+# beginning of each remaining line within the FSF copyright
+# statement. There is one exception in order to support C-style
+# comments: if the first line's prefix contains nothing but
+# whitespace surrounding a "/*", then the prefix for all subsequent
+# lines is the same as the first line's prefix except with each of
+# "/" and possibly "*" replaced by a " ". The replacement of "*"
+# by " " is consistent throughout all subsequent lines.
+# 6. Blank lines, even if preceded by the prefix, do not appear
+# within the FSF copyright statement.
+# 7. Each copyright year is 2 or 4 digits, and years are separated by
+# commas or dashes. Whitespace may appear after commas.
+#
+# Environment variables:
+#
+# 1. If UPDATE_COPYRIGHT_FORCE=1, a recognized FSF copyright statement
+# is reformatted even if it does not need updating for the new
+# year. If unset or set to 0, only updated FSF copyright
+# statements are reformatted.
+# 2. If UPDATE_COPYRIGHT_USE_INTERVALS=1, every series of consecutive
+# copyright years (such as 90, 1991, 1992-2007, 2008) in a
+# reformatted FSF copyright statement is collapsed to a single
+# interval (such as 1990-2008). If unset or set to 0, all existing
+# copyright year intervals in a reformatted FSF copyright statement
+# are expanded instead.
+# 3. For testing purposes, you can set the assumed current year in
+# UPDATE_COPYRIGHT_YEAR.
+# 4. The default maximum line length for a copyright line is 72.
+# Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH to use a different length.
+# 5. Set UPDATE_COPYRIGHT_HOLDER if the copyright holder is other
+# than "Free Software Foundation, Inc.".
+
+use strict;
+use warnings;
+
+my $copyright_re = 'Copyright';
+my $circle_c_re = '(?:\([cC]\)|@copyright{}|©)';
+my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER};
+$holder ||= 'Free Software Foundation, Inc.';
+my $prefix_max = 5;
+my $margin = $ENV{UPDATE_COPYRIGHT_MAX_LINE_LENGTH};
+!$margin || $margin !~ m/^\d+$/
+ and $margin = 72;
+
+my $tab_width = 8;
+
+my $this_year = $ENV{UPDATE_COPYRIGHT_YEAR};
+if (!$this_year || $this_year !~ m/^\d{4}$/)
+ {
+ my ($sec, $min, $hour, $mday, $month, $year) = localtime (time ());
+ $this_year = $year + 1900;
+ }
+
+# Unless the file consistently uses "\r\n" as the EOL, use "\n" instead.
+my $eol = /(?:^|[^\r])\n/ ? "\n" : "\r\n";
+
+my $leading;
+my $prefix;
+my $ws_re;
+my $stmt_re;
+while (/(^|\n)(.{0,$prefix_max})$copyright_re/g)
+ {
+ $leading = "$1$2";
+ $prefix = $2;
+ if ($prefix =~ /^(\s*\/)\*(\s*)$/)
+ {
+ $prefix =~ s,/, ,;
+ my $prefix_ws = $prefix;
+ $prefix_ws =~ s/\*/ /; # Only whitespace.
+ if (/\G(?:[^*\n]|\*[^\/\n])*\*?\n$prefix_ws/)
+ {
+ $prefix = $prefix_ws;
+ }
+ }
+ $ws_re = '[ \t\r\f]'; # \s without \n
+ $ws_re =
+ "(?:$ws_re*(?:$ws_re|\\n" . quotemeta($prefix) . ")$ws_re*)";
+ my $holder_re = $holder;
+ $holder_re =~ s/\s/$ws_re/g;
+ my $stmt_remainder_re =
+ "(?:$ws_re$circle_c_re)?"
+ . "$ws_re(?:(?:\\d\\d)?\\d\\d(?:,$ws_re?|-))*"
+ . "((?:\\d\\d)?\\d\\d)$ws_re$holder_re";
+ if (/\G$stmt_remainder_re/)
+ {
+ $stmt_re =
+ quotemeta($leading) . "($copyright_re$stmt_remainder_re)";
+ last;
+ }
+ }
+if (defined $stmt_re)
+ {
+ /$stmt_re/ or die; # Should never die.
+ my $stmt = $1;
+ my $final_year_orig = $2;
+
+ # Handle two-digit year numbers like "98" and "99".
+ my $final_year = $final_year_orig;
+ $final_year <= 99
+ and $final_year += 1900;
+
+ if ($final_year != $this_year)
+ {
+ # Update the year.
+ $stmt =~ s/$final_year_orig/$final_year, $this_year/;
+ }
+ if ($final_year != $this_year || $ENV{'UPDATE_COPYRIGHT_FORCE'})
+ {
+ # Normalize all whitespace including newline-prefix sequences.
+ $stmt =~ s/$ws_re/ /g;
+
+ # Put spaces after commas.
+ $stmt =~ s/, ?/, /g;
+
+ # Convert 2-digit to 4-digit years.
+ $stmt =~ s/(\b\d\d\b)/19$1/g;
+
+ # Make the use of intervals consistent.
+ if (!$ENV{UPDATE_COPYRIGHT_USE_INTERVALS})
+ {
+ $stmt =~ s/(\d{4})-(\d{4})/join(', ', $1..$2)/eg;
+ }
+ else
+ {
+ $stmt =~
+ s/
+ (\d{4})
+ (?:
+ (,\ |-)
+ ((??{
+ if ($2 eq '-') { '\d{4}'; }
+ elsif (!$3) { $1 + 1; }
+ else { $3 + 1; }
+ }))
+ )+
+ /$1-$3/gx;
+ }
+
+ # Format within margin.
+ my $stmt_wrapped;
+ my $text_margin = $margin - length($prefix);
+ if ($prefix =~ /^(\t+)/)
+ {
+ $text_margin -= length($1) * ($tab_width - 1);
+ }
+ while (length $stmt)
+ {
+ if (($stmt =~ s/^(.{1,$text_margin})(?: |$)//)
+ || ($stmt =~ s/^([\S]+)(?: |$)//))
+ {
+ my $line = $1;
+ $stmt_wrapped .= $stmt_wrapped ? "$eol$prefix" : $leading;
+ $stmt_wrapped .= $line;
+ }
+ else
+ {
+ # Should be unreachable, but we don't want an infinite
+ # loop if it can be reached.
+ die;
+ }
+ }
+
+ # Replace the old copyright statement.
+ s/$stmt_re/$stmt_wrapped/;
+ }
+ }
+else
+ {
+ print STDERR "$ARGV: warning: copyright statement not found\n";
+ }
+
+# Local variables:
+# mode: perl
+# indent-tabs-mode: nil
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "my $VERSION = '"
+# time-stamp-format: "%:y-%02m-%02d.%02H:%02M"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "'; # UTC"
+# End:
-#!/usr/bin/perl -T
+eval '(exit $?0)' && eval 'exec perl -wST "$0" ${1+"$@"}'
+ & eval 'exec perl -wST "$0" $argv:q'
+ if 0;
# Detect instances of "if (p) free (p);".
-# Likewise for "if (p != NULL) free (p);". And with braces.
-# Also detect "if (NULL != p) free (p);".
-# And with 0 in place of NULL.
+# Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces.
-my $VERSION = '2009-04-16 15:57'; # UTC
+my $VERSION = '2011-04-20 13:43'; # UTC
# The definition above must lie within the first 8 lines in order
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
# do its job. Otherwise, update this string manually.
-# Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2008-2011 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
OPTIONS:
- --list print only the name of each matching FILE (\0-terminated)
+ --list print only the name of each matching FILE (\\0-terminated)
--name=N add name N to the list of \`free\'-like functions to detect;
may be repeated
while ($line =~
/\b(if\s*\(\s*([^)]+?)(?:\s*!=\s*([^)]+?))?\s*\)
# 1 2 3
- (?: \s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)|
+ (?: \s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;|
\s*\{\s*$regexp\s*\((?:\s*\([^)]+\))?\s*([^)]+)\)\s*;\s*\}))/sxg)
{
my $all = $1;
git grep -l -z "$free *(" \
| xargs -0 useless-if-before-free -l --name="$free" \
| xargs -0 perl -0x3b -pi -e \
- 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s+('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\))/$2/s'
+ 's/\bif\s*\(\s*(\S+?)(?:\s*!=\s*(?:0|NULL))?\s*\)\s+('"$free"'\s*\((?:\s*\([^)]+\))?\s*\1\s*\)\s*;)/$2/s'
# Use the following to remove redundant uses of kfree inside braces.
# Note that -0777 puts perl in slurp-whole-file mode;
EOF
## Local Variables:
+## mode: perl
## indent-tabs-mode: nil
## eval: (add-hook 'write-file-hooks 'time-stamp)
## time-stamp-start: "my $VERSION = '"
# List version-controlled file names.
# Print a version string.
-scriptversion=2009-04-25.13; # UTC
+scriptversion=2011-05-16.22; # UTC
-# Copyright (C) 2006-2009 Free Software Foundation, Inc.
+# Copyright (C) 2006-2011 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
postprocess=
case $1 in
--help) cat <<EOF
-Usage: $0 [-C SRCDIR] [DIR]
+Usage: $0 [-C SRCDIR] [DIR...]
Output a list of version-controlled files in DIR (default .), relative to
SRCDIR (default .). SRCDIR must be the top directory of a checkout.
shift; shift ;;
esac
-dir=
-case $# in
- 0) ;;
- 1) dir=$1 ;;
- *) echo "$0: too many arguments" 1>&2
- echo "Usage: $0 [-C srcdir] [DIR]" 1>&2; exit 1;;
-esac
-
-test "x$dir" = x && dir=.
-
-if test -d .git; then
- test "x$dir" = x. \
- && dir= sed_esc= \
- || dir="$dir/" sed_esc=`echo "$dir"|sed 's,\([\\/]\),\\\\\1,g'`
- # Ignore git symlinks - either they point into the tree, in which case
- # we don't need to visit the target twice, or they point somewhere
- # else (often into a submodule), in which case the content does not
- # belong to this package.
- eval exec git ls-tree -r 'HEAD:"$dir"' \
- \| sed -n '"s/^100[^ ]*./$sed_esc/p"' $postprocess
-elif test -d .hg; then
- eval exec hg locate '"$dir/*"' $postprocess
-elif test -d .bzr; then
- test "$postprocess" = '' && postprocess="| sed 's|^\./||'"
- eval exec bzr ls --versioned '"$dir"' $postprocess
-elif test -d CVS; then
- test "$postprocess" = '' && postprocess="| sed 's|^\./||'"
- if test -x build-aux/cvsu; then
- eval build-aux/cvsu --find --types=AFGM '"$dir"' $postprocess
- elif (cvsu --help) >/dev/null 2>&1; then
- eval cvsu --find --types=AFGM '"$dir"' $postprocess
+test $# = 0 && set .
+
+for dir
+do
+ if test -d .git; then
+ test "x$dir" = x. \
+ && dir= sed_esc= \
+ || { dir="$dir/"; sed_esc=`echo "$dir"|env sed 's,\([\\/]\),\\\\\1,g'`; }
+ # Ignore git symlinks - either they point into the tree, in which case
+ # we don't need to visit the target twice, or they point somewhere
+ # else (often into a submodule), in which case the content does not
+ # belong to this package.
+ eval exec git ls-tree -r 'HEAD:"$dir"' \
+ \| sed -n '"s/^100[^ ]*./$sed_esc/p"' $postprocess
+ elif test -d .hg; then
+ eval exec hg locate '"$dir/*"' $postprocess
+ elif test -d .bzr; then
+ test "$postprocess" = '' && postprocess="| sed 's|^\./||'"
+ eval exec bzr ls -R --versioned '"$dir"' $postprocess
+ elif test -d CVS; then
+ test "$postprocess" = '' && postprocess="| sed 's|^\./||'"
+ if test -x build-aux/cvsu; then
+ eval build-aux/cvsu --find --types=AFGM '"$dir"' $postprocess
+ elif (cvsu --help) >/dev/null 2>&1; then
+ eval cvsu --find --types=AFGM '"$dir"' $postprocess
+ else
+ eval awk -F/ \''{ \
+ if (!$1 && $3 !~ /^-/) { \
+ f=FILENAME; \
+ if (f ~ /CVS\/Entries$/) \
+ f = substr(f, 1, length(f)-11); \
+ print f $2; \
+ }}'\'' \
+ `find "$dir" -name Entries -print` /dev/null' $postprocess
+ fi
+ elif test -d .svn; then
+ eval exec svn list -R '"$dir"' $postprocess
else
- eval awk -F/ \''{ \
- if (!$1 && $3 !~ /^-/) { \
- f=FILENAME; \
- if (f ~ /CVS\/Entries$/) \
- f = substr(f, 1, length(f)-11); \
- print f $2; \
- }}'\'' \
- `find "$dir" -name Entries -print` /dev/null' $postprocess
+ echo "$0: Failed to determine type of version control used in `pwd`" 1>&2
+ exit 1
fi
-else
- echo "$0: Failed to determine type of version control used in `pwd`" 1>&2
- exit 1
-fi
+done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
-# Copyright (C) 2006, 2007, 2008, 2009 Simon Josefsson
+# Copyright (C) 2006-2011 Simon Josefsson
#
# This file is part of GNU Libidn.
#
WFLAGS ?= --enable-gcc-warnings
ADDFLAGS ?=
-CFGFLAGS ?= --enable-java --enable-gtk-doc $(ADDFLAGS) $(WFLAGS)
+CFGFLAGS ?= --enable-java --enable-gtk-doc --enable-gtk-doc-pdf \
+ $(ADDFLAGS) $(WFLAGS)
ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile)
.DEFAULT_GOAL := bootstrap
local-checks-to-skip = sc_prohibit_strcmp sc_prohibit_have_config_h \
sc_require_config_h sc_require_config_h_first \
sc_prohibit_HAVE_MBRTOWC sc_program_name sc_trailing_blank \
- sc_useless_cpp_parens sc_GPL_version sc_immutable_NEWS \
- sc_two_space_separator_in_usage sc_m4_quote_check sc_po_check \
- sc_copyright_check
+ sc_GPL_version sc_immutable_NEWS
+VC_LIST_ALWAYS_EXCLUDE_REGEX = \
+ ^(maint.mk|gtk-doc.make|m4/pkg.m4|doc/specifications|contrib/doxygen/Doxyfile|doc/fdl-1.3.texi|csharp/libidn.*suo|(lib/)?(gl|gltests|build-aux)/)
+update-copyright-env = UPDATE_COPYRIGHT_HOLDER="Simon Josefsson"
+
+# Explicit syntax-check exceptions.
+exclude_file_name_regexp--sc_bindtextdomain = ^examples/|libc/|tests/
+exclude_file_name_regexp--sc_prohibit_atoi_atof = ^examples/example2.c$$
+exclude_file_name_regexp--sc_copyright_check = ^doc/libidn.texi
+exclude_file_name_regexp--sc_useless_cpp_parens = ^lib/nfkc.c$$
doc/Makefile.gdoc:
printf "gdoc_MANS =\ngdoc_TEXINFOS =\n" > doc/Makefile.gdoc
bootstrap: autoreconf
./configure $(CFGFLAGS)
-web-coverage:
+review-diff:
+ git diff `git describe --abbrev=0`.. \
+ | grep -v -e ^index -e '^diff --git' \
+ | filterdiff -p 1 -x 'build-aux/*' -x 'gl/*' -x 'gltests/*' -x 'lib/gl/*' -x 'lib/gltests/*' -x 'po/*' -x 'maint.mk' -x '.gitignore' -x '.x-sc*' -x ChangeLog -x GNUmakefile \
+ | less
+
+# Release
+
+htmldir = ../www-$(PACKAGE)
+
+i18n:
+ -$(MAKE) update-po
+
+coverage-my:
+ ln -s . lib/gl/unistr/unistr
+ ln -s . lib/gltests/glthread/glthread
+ ln -s . lib/gltests/unistr/unistr
+ $(MAKE) coverage WERROR_CFLAGS=
+
+coverage-copy:
rm -fv `find $(htmldir)/coverage -type f | grep -v CVS`
cp -rv $(COVERAGE_OUT)/* $(htmldir)/coverage/
-upload-web-coverage:
+coverage-upload:
+ cd $(htmldir) && cvs commit -m "Update." coverage
+
+clang:
+ make clean
+ scan-build ./configure
+ rm -rf scan.tmp
+ scan-build -o scan.tmp make
+
+clang-copy:
+ rm -fv `find $(htmldir)/clang-analyzer -type f | grep -v CVS`
+ mkdir -p $(htmldir)/clang-analyzer/
+ cp -rv scan.tmp/*/* $(htmldir)/clang-analyzer/
+
+clang-upload:
cd $(htmldir) && \
- cvs commit -m "Update." coverage
+ cvs add clang-analyzer || true && \
+ cvs add clang-analyzer/*.css clang-analyzer/*.js \
+ clang-analyzer/*.html || true && \
+ cvs commit -m "Update." clang-analyzer
-W32ROOT ?= $(HOME)/gnutls4win/inst
+cyclo-copy:
+ cp -v doc/cyclo/cyclo-$(PACKAGE).html $(htmldir)/cyclo/index.html
-mingw32: autoreconf
- ./configure --enable-gtk-doc --host=i586-mingw32msvc --build=`build-aux/config.guess` --prefix=$(W32ROOT)
+cyclo-upload:
+ cd $(htmldir) && cvs commit -m "Update." cyclo/index.html
+
+gendoc-copy:
+ cd doc && env MAKEINFO="makeinfo -I ../examples" \
+ TEXI2DVI="texi2dvi -I ../examples" \
+ $(SHELL) ../build-aux/gendocs.sh \
+ --html "--css-include=texinfo.css" \
+ -o ../$(htmldir)/manual/ $(PACKAGE) "$(PACKAGE_NAME)"
+
+gendoc-upload:
+ cd $(htmldir) && \
+ cvs add manual || true && \
+ cvs add manual/html_node || true && \
+ cvs add -kb manual/*.gz manual/*.pdf || true && \
+ cvs add manual/*.txt manual/*.html \
+ manual/html_node/*.html || true && \
+ cvs commit -m "Update." manual/
+
+gtkdoc-copy:
+ mkdir -p $(htmldir)/reference/
+ cp -v doc/reference/$(PACKAGE).pdf \
+ doc/reference/html/*.html \
+ doc/reference/html/*.png \
+ doc/reference/html/*.devhelp \
+ doc/reference/html/*.css \
+ $(htmldir)/reference/
+
+gtkdoc-upload:
+ cd $(htmldir) && \
+ cvs add reference || true && \
+ cvs add -kb reference/*.png reference/*.pdf || true && \
+ cvs add reference/*.html reference/*.css \
+ reference/*.devhelp || true && \
+ cvs commit -m "Update." reference/
+
+javadoc-copy:
+ cp -rv doc/java/* $(htmldir)/javadoc/
+
+javadoc-upload:
+ cd $(htmldir) && \
+ cvs commit -m "Update." javadoc/
+
+doxygen-copy:
+ cd contrib/doxygen && doxygen && cd ../.. && cp -v contrib/doxygen/html/* $(htmldir)/doxygen/ && cd contrib/doxygen/latex && make refman.pdf && cd ../../../ && cp contrib/doxygen/latex/refman.pdf $(htmldir)/doxygen/$(PACKAGE).pdf
+
+doxygen-upload:
+ cd $(htmldir) && \
+ cvs commit -m "Update." doxygen/
ChangeLog:
git2cl > ChangeLog
cat .clcopying >> ChangeLog
tag = $(PACKAGE)-`echo $(VERSION) | sed 's/\./-/g'`
-htmldir = ../www-$(PACKAGE)
-
-release: prepare upload web upload-web
-prepare:
+tarball:
! git tag -l $(tag) | grep $(PACKAGE) > /dev/null
rm -f ChangeLog
$(MAKE) ChangeLog distcheck
+
+binaries:
+ cd win32 && make -f libidn4win.mk libidn4win VERSION=$(VERSION)
+
+binaries-upload:
+ cd win32 && make -f libidn4win.mk upload VERSION=$(VERSION)
+
+source:
git commit -m Generated. ChangeLog
git tag -u b565716f! -m $(VERSION) $(tag)
-upload:
+release-check: syntax-check i18n tarball binaries gendoc-copy gtkdoc-copy coverage-my coverage-copy clang clang-copy cyclo-copy javadoc-copy doxygen-copy
+
+release-upload-www: gendoc-upload gtkdoc-upload coverage-upload clang-upload cyclo-copy javadoc-copy doxygen-upload
+
+release-upload-ftp:
git push
git push --tags
- build-aux/gnupload --to ftp.gnu.org:$(PACKAGE) --to alpha.gnu.org:$(PACKAGE) $(distdir).tar.gz
+ build-aux/gnupload --to ftp.gnu.org:$(PACKAGE) $(distdir).tar.gz
cp $(distdir).tar.gz $(distdir).tar.gz.sig ../releases/$(PACKAGE)/
-web:
- cd doc && env MAKEINFO="makeinfo -I ../examples" \
- TEXI2DVI="texi2dvi -I ../examples" \
- ../build-aux/gendocs.sh --html "--css-include=texinfo.css" \
- -o ../$(htmldir)/manual/ $(PACKAGE) "$(PACKAGE_NAME)"
- cd contrib/doxygen && doxygen && cd ../.. && cp -v contrib/doxygen/html/* $(htmldir)/doxygen/ && cd contrib/doxygen/latex && make refman.pdf && cd ../../../ && cp contrib/doxygen/latex/refman.pdf $(htmldir)/doxygen/$(PACKAGE).pdf
- cp -v doc/reference/html/*.html doc/reference/html/*.png doc/reference/html/*.devhelp doc/reference/html/*.css $(htmldir)/reference/
- cp -rv doc/java/* $(htmldir)/javadoc/
- cp -v doc/cyclo/cyclo-$(PACKAGE).html $(htmldir)/cyclo/
-
-upload-web:
- cd $(htmldir) && \
- cvs commit -m "Update." manual/ javadoc/ reference/ doxygen/
+release: release-check release-upload-www source release-upload-ftp binaries-upload
/* config.h.in. Generated from configure.ac by autoheader. */
-/* Define if the compiler is building for multiple architectures of Apple
- platforms at once. */
-#undef AA_APPLE_UNIVERSAL_BUILD
-
/* Define to the number of bits in type 'ptrdiff_t'. */
#undef BITSIZEOF_PTRDIFF_T
/* Define to the number of bits in type 'wint_t'. */
#undef BITSIZEOF_WINT_T
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+ systems. This function is required for `alloca.c' support on those systems.
+ */
+#undef CRAY_STACKSEG_END
+
/* Define if mono is the preferred C# implementation. */
#undef CSHARP_CHOICE_MONO
/* Define if pnet is the preferred C# implementation. */
#undef CSHARP_CHOICE_PNET
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
+/* Define to make the limit macros in <stdint.h> visible. */
+#undef GL_TRIGGER_STDC_LIMIT_MACROS
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+ whether the gnulib module strerror shall be considered present. */
+#undef GNULIB_STRERROR
+
+/* Define to 1 when the gnulib module close should be tested. */
+#undef GNULIB_TEST_CLOSE
+
+/* Define to 1 when the gnulib module dup2 should be tested. */
+#undef GNULIB_TEST_DUP2
+
+/* Define to 1 when the gnulib module environ should be tested. */
+#undef GNULIB_TEST_ENVIRON
+
+/* Define to 1 when the gnulib module fdopen should be tested. */
+#undef GNULIB_TEST_FDOPEN
+
+/* Define to 1 when the gnulib module fstat should be tested. */
+#undef GNULIB_TEST_FSTAT
+
+/* Define to 1 when the gnulib module getcwd should be tested. */
+#undef GNULIB_TEST_GETCWD
+
+/* Define to 1 when the gnulib module getopt-gnu should be tested. */
+#undef GNULIB_TEST_GETOPT_GNU
+
+/* Define to 1 when the gnulib module lstat should be tested. */
+#undef GNULIB_TEST_LSTAT
+
+/* Define to 1 when the gnulib module malloc-posix should be tested. */
+#undef GNULIB_TEST_MALLOC_POSIX
+
+/* Define to 1 when the gnulib module open should be tested. */
+#undef GNULIB_TEST_OPEN
+
+/* Define to 1 when the gnulib module putenv should be tested. */
+#undef GNULIB_TEST_PUTENV
+
+/* Define to 1 when the gnulib module setenv should be tested. */
+#undef GNULIB_TEST_SETENV
+
+/* Define to 1 when the gnulib module setlocale should be tested. */
+#undef GNULIB_TEST_SETLOCALE
+
+/* Define to 1 when the gnulib module stat should be tested. */
+#undef GNULIB_TEST_STAT
+
+/* Define to 1 when the gnulib module strerror should be tested. */
+#undef GNULIB_TEST_STRERROR
+
+/* Define to 1 when the gnulib module strverscmp should be tested. */
+#undef GNULIB_TEST_STRVERSCMP
+
+/* Define to 1 when the gnulib module symlink should be tested. */
+#undef GNULIB_TEST_SYMLINK
+
+/* Define to 1 when the gnulib module unsetenv should be tested. */
+#undef GNULIB_TEST_UNSETENV
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+ whether the gnulib module unistr/u8-mbtoucr shall be considered present. */
+#undef GNULIB_UNISTR_U8_MBTOUCR
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+ whether the gnulib module unistr/u8-uctomb shall be considered present. */
+#undef GNULIB_UNISTR_U8_UCTOMB
+
+/* Define to 1 if you have 'alloca' after including <alloca.h>, a header that
+ may be supplied by this distribution. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+ */
+#undef HAVE_ALLOCA_H
+
/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
CoreFoundation framework. */
#undef HAVE_CFLOCALECOPYCURRENT
*/
#undef HAVE_DECL_GETENV
-/* Define to 1 if you have the declaration of `strerror', and to 0 if you
- don't. */
-#undef HAVE_DECL_STRERROR
+/* Define to 1 if you have the declaration of `program_invocation_name', and
+ to 0 if you don't. */
+#undef HAVE_DECL_PROGRAM_INVOCATION_NAME
+
+/* Define to 1 if you have the declaration of `program_invocation_short_name',
+ and to 0 if you don't. */
+#undef HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
+
+/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't.
+ */
+#undef HAVE_DECL_SETENV
/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
don't. */
#undef HAVE_DECL_STRERROR_R
+/* Define to 1 if you have the declaration of `unsetenv', and to 0 if you
+ don't. */
+#undef HAVE_DECL_UNSETENV
+
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
-/* Define to 1 if you have the <errno.h> header file. */
-#undef HAVE_ERRNO_H
+/* Define to 1 if you have the 'dup2' function. */
+#undef HAVE_DUP2
+
+/* Define if you have the declaration of environ. */
+#undef HAVE_ENVIRON_DECL
+
+/* Define to 1 if you have the <features.h> header file. */
+#undef HAVE_FEATURES_H
/* Define to 1 if you have the <getopt.h> header file. */
#undef HAVE_GETOPT_H
/* Define to 1 if you have the <iconv.h> header file. */
#undef HAVE_ICONV_H
+/* Define to 1 if the compiler supports one of the keywords 'inline',
+ '__inline__', '__inline' and effectively inlines functions marked as such.
+ */
+#undef HAVE_INLINE
+
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
#undef HAVE_LANGINFO_CODESET
+/* Define if your <locale.h> file defines LC_MESSAGES. */
+#undef HAVE_LC_MESSAGES
+
/* Define to 1 if the system has the type `long long int'. */
#undef HAVE_LONG_LONG_INT
+/* Define to 1 if you have the `lstat' function. */
+#undef HAVE_LSTAT
+
+/* Define if the 'malloc' function is POSIX compliant. */
+#undef HAVE_MALLOC_POSIX
+
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
+/* Define to 1 on MSVC platforms that have the "invalid parameter handler"
+ concept. */
+#undef HAVE_MSVC_INVALID_PARAMETER_HANDLER
+
+/* Define to 1 if you have the `newlocale' function. */
+#undef HAVE_NEWLOCALE
+
+/* Define to 1 if you have the `pthread_atfork' function. */
+#undef HAVE_PTHREAD_ATFORK
+
+/* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. */
+#undef HAVE_PTHREAD_MUTEX_RECURSIVE
+
+/* Define if the POSIX multithreading library has read/write locks. */
+#undef HAVE_PTHREAD_RWLOCK
+
+/* Define to 1 if atoll is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ATOLL
+
+/* Define to 1 if btowc is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_BTOWC
+
+/* Define to 1 if canonicalize_file_name is declared even after undefining
+ macros. */
+#undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
+
+/* Define to 1 if chdir is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_CHDIR
+
+/* Define to 1 if chown is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_CHOWN
+
+/* Define to 1 if dprintf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_DPRINTF
+
+/* Define to 1 if dup is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_DUP
+
+/* Define to 1 if dup2 is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_DUP2
+
+/* Define to 1 if dup3 is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_DUP3
+
+/* Define to 1 if duplocale is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_DUPLOCALE
+
+/* Define to 1 if endusershell is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ENDUSERSHELL
+
+/* Define to 1 if environ is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ENVIRON
+
+/* Define to 1 if euidaccess is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_EUIDACCESS
+
+/* Define to 1 if faccessat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FACCESSAT
+
+/* Define to 1 if fchdir is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FCHDIR
+
+/* Define to 1 if fchmodat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FCHMODAT
+
+/* Define to 1 if fchownat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FCHOWNAT
+
+/* Define to 1 if fcntl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FCNTL
+
+/* Define to 1 if fdatasync is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FDATASYNC
+
+/* Define to 1 if ffsl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FFSL
+
+/* Define to 1 if ffsll is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FFSLL
+
+/* Define to 1 if fpurge is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FPURGE
+
+/* Define to 1 if fseeko is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FSEEKO
+
+/* Define to 1 if fstat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FSTAT
+
+/* Define to 1 if fstatat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FSTATAT
+
+/* Define to 1 if fsync is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FSYNC
+
+/* Define to 1 if ftello is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FTELLO
+
+/* Define to 1 if ftruncate is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FTRUNCATE
+
+/* Define to 1 if futimens is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FUTIMENS
+
+/* Define to 1 if getcwd is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETCWD
+
+/* Define to 1 if getdelim is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETDELIM
+
+/* Define to 1 if getdomainname is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETDOMAINNAME
+
+/* Define to 1 if getdtablesize is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETDTABLESIZE
+
+/* Define to 1 if getgroups is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETGROUPS
+
+/* Define to 1 if gethostname is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETHOSTNAME
+
+/* Define to 1 if getline is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETLINE
+
+/* Define to 1 if getloadavg is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETLOADAVG
+
+/* Define to 1 if getlogin is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETLOGIN
+
+/* Define to 1 if getlogin_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETLOGIN_R
+
+/* Define to 1 if getpagesize is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETPAGESIZE
+
+/* Define to 1 if getsubopt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETSUBOPT
+
+/* Define to 1 if getusershell is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETUSERSHELL
+
+/* Define to 1 if grantpt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GRANTPT
+
+/* Define to 1 if group_member is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GROUP_MEMBER
+
+/* Define to 1 if imaxabs is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_IMAXABS
+
+/* Define to 1 if imaxdiv is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_IMAXDIV
+
+/* Define to 1 if initstate_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_INITSTATE_R
+
+/* Define to 1 if lchmod is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LCHMOD
+
+/* Define to 1 if lchown is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LCHOWN
+
+/* Define to 1 if link is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LINK
+
+/* Define to 1 if linkat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LINKAT
+
+/* Define to 1 if lseek is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LSEEK
+
+/* Define to 1 if lstat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LSTAT
+
+/* Define to 1 if mbrlen is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MBRLEN
+
+/* Define to 1 if mbrtowc is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MBRTOWC
+
+/* Define to 1 if mbsinit is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MBSINIT
+
+/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MBSNRTOWCS
+
+/* Define to 1 if mbsrtowcs is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MBSRTOWCS
+
+/* Define to 1 if memmem is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MEMMEM
+
+/* Define to 1 if mempcpy is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MEMPCPY
+
+/* Define to 1 if memrchr is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MEMRCHR
+
+/* Define to 1 if mkdirat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKDIRAT
+
+/* Define to 1 if mkdtemp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKDTEMP
+
+/* Define to 1 if mkfifo is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKFIFO
+
+/* Define to 1 if mkfifoat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKFIFOAT
+
+/* Define to 1 if mknod is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKNOD
+
+/* Define to 1 if mknodat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKNODAT
+
+/* Define to 1 if mkostemp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKOSTEMP
+
+/* Define to 1 if mkostemps is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKOSTEMPS
+
+/* Define to 1 if mkstemp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKSTEMP
+
+/* Define to 1 if mkstemps is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKSTEMPS
+
+/* Define to 1 if openat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_OPENAT
+
+/* Define to 1 if pclose is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PCLOSE
+
+/* Define to 1 if pipe is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PIPE
+
+/* Define to 1 if pipe2 is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PIPE2
+
+/* Define to 1 if popen is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_POPEN
+
+/* Define to 1 if posix_openpt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_POSIX_OPENPT
+
+/* Define to 1 if pread is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PREAD
+
+/* Define to 1 if ptsname is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PTSNAME
+
+/* Define to 1 if ptsname_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PTSNAME_R
+
+/* Define to 1 if pwrite is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PWRITE
+
+/* Define to 1 if random_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RANDOM_R
+
+/* Define to 1 if rawmemchr is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RAWMEMCHR
+
+/* Define to 1 if readlink is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_READLINK
+
+/* Define to 1 if readlinkat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_READLINKAT
+
+/* Define to 1 if realpath is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_REALPATH
+
+/* Define to 1 if renameat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RENAMEAT
+
+/* Define to 1 if rmdir is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RMDIR
+
+/* Define to 1 if rpmatch is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RPMATCH
+
+/* Define to 1 if setenv is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SETENV
+
+/* Define to 1 if setlocale is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SETLOCALE
+
+/* Define to 1 if setstate_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SETSTATE_R
+
+/* Define to 1 if setusershell is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SETUSERSHELL
+
+/* Define to 1 if sleep is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SLEEP
+
+/* Define to 1 if snprintf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SNPRINTF
+
+/* Define to 1 if srandom_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SRANDOM_R
+
+/* Define to 1 if stat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STAT
+
+/* Define to 1 if stpcpy is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STPCPY
+
+/* Define to 1 if stpncpy is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STPNCPY
+
+/* Define to 1 if strcasestr is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRCASESTR
+
+/* Define to 1 if strchrnul is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRCHRNUL
+
+/* Define to 1 if strdup is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRDUP
+
+/* Define to 1 if strerror_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRERROR_R
+
+/* Define to 1 if strncat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRNCAT
+
+/* Define to 1 if strndup is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRNDUP
+
+/* Define to 1 if strnlen is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRNLEN
+
+/* Define to 1 if strpbrk is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRPBRK
+
+/* Define to 1 if strsep is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRSEP
+
+/* Define to 1 if strsignal is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRSIGNAL
+
+/* Define to 1 if strtod is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRTOD
+
+/* Define to 1 if strtoimax is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRTOIMAX
+
+/* Define to 1 if strtok_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRTOK_R
+
+/* Define to 1 if strtoll is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRTOLL
+
+/* Define to 1 if strtoull is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRTOULL
+
+/* Define to 1 if strtoumax is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRTOUMAX
+
+/* Define to 1 if strverscmp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRVERSCMP
+
+/* Define to 1 if symlink is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SYMLINK
+
+/* Define to 1 if symlinkat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SYMLINKAT
+
+/* Define to 1 if tmpfile is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_TMPFILE
+
+/* Define to 1 if ttyname_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_TTYNAME_R
+
+/* Define to 1 if unlink is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_UNLINK
+
+/* Define to 1 if unlinkat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_UNLINKAT
+
+/* Define to 1 if unlockpt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_UNLOCKPT
+
+/* Define to 1 if unsetenv is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_UNSETENV
+
+/* Define to 1 if usleep is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_USLEEP
+
+/* Define to 1 if utimensat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_UTIMENSAT
+
+/* Define to 1 if vdprintf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_VDPRINTF
+
+/* Define to 1 if vsnprintf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_VSNPRINTF
+
+/* Define to 1 if wcpcpy is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCPCPY
+
+/* Define to 1 if wcpncpy is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCPNCPY
+
+/* Define to 1 if wcrtomb is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCRTOMB
+
+/* Define to 1 if wcscasecmp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSCASECMP
+
+/* Define to 1 if wcscat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSCAT
+
+/* Define to 1 if wcschr is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSCHR
+
+/* Define to 1 if wcscmp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSCMP
+
+/* Define to 1 if wcscoll is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSCOLL
+
+/* Define to 1 if wcscpy is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSCPY
+
+/* Define to 1 if wcscspn is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSCSPN
+
+/* Define to 1 if wcsdup is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSDUP
+
+/* Define to 1 if wcslen is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSLEN
+
+/* Define to 1 if wcsncasecmp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSNCASECMP
+
+/* Define to 1 if wcsncat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSNCAT
+
+/* Define to 1 if wcsncmp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSNCMP
+
+/* Define to 1 if wcsncpy is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSNCPY
+
+/* Define to 1 if wcsnlen is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSNLEN
+
+/* Define to 1 if wcsnrtombs is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSNRTOMBS
+
+/* Define to 1 if wcspbrk is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSPBRK
+
+/* Define to 1 if wcsrchr is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSRCHR
+
+/* Define to 1 if wcsrtombs is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSRTOMBS
+
+/* Define to 1 if wcsspn is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSSPN
+
+/* Define to 1 if wcsstr is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSSTR
+
+/* Define to 1 if wcstok is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSTOK
+
+/* Define to 1 if wcswidth is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSWIDTH
+
+/* Define to 1 if wcsxfrm is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCSXFRM
+
+/* Define to 1 if wctob is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCTOB
+
+/* Define to 1 if wcwidth is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WCWIDTH
+
+/* Define to 1 if wmemchr is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WMEMCHR
+
+/* Define to 1 if wmemcmp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WMEMCMP
+
+/* Define to 1 if wmemcpy is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WMEMCPY
+
+/* Define to 1 if wmemmove is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WMEMMOVE
+
+/* Define to 1 if wmemset is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_WMEMSET
+
+/* Define to 1 if _Exit is declared even after undefining macros. */
+#undef HAVE_RAW_DECL__EXIT
+
+/* Define to 1 if you have the <search.h> header file. */
+#undef HAVE_SEARCH_H
+
+/* Define to 1 if you have the `setenv' function. */
+#undef HAVE_SETENV
+
+/* Define to 1 if you have the `setlocale' function. */
+#undef HAVE_SETLOCALE
+
/* Define to 1 if 'sig_atomic_t' is a signed integer type. */
#undef HAVE_SIGNED_SIG_ATOMIC_T
/* Define to 1 if 'wint_t' is a signed integer type. */
#undef HAVE_SIGNED_WINT_T
-/* Define to 1 if you have the <stdarg.h> header file. */
-#undef HAVE_STDARG_H
-
-/* Define to 1 if stdbool.h conforms to C99. */
-#undef HAVE_STDBOOL_H
-
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the `strverscmp' function. */
#undef HAVE_STRVERSCMP
+/* Define to 1 if you have the `symlink' function. */
+#undef HAVE_SYMLINK
+
/* Define to 1 if you have the <sys/bitypes.h> header file. */
#undef HAVE_SYS_BITYPES_H
/* Define to 1 if you have the <sys/inttypes.h> header file. */
#undef HAVE_SYS_INTTYPES_H
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
+/* Define to 1 if you have the `tsearch' function. */
+#undef HAVE_TSEARCH
+
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define to 1 if you have the `unsetenv' function. */
+#undef HAVE_UNSETENV
+
/* Define to 1 if the system has the type `unsigned long long int'. */
#undef HAVE_UNSIGNED_LONG_LONG_INT
+/* Define to 1 if you have the `uselocale' function. */
+#undef HAVE_USELOCALE
+
/* Define to 1 or 0, depending whether the compiler supports simple visibility
declarations. */
#undef HAVE_VISIBILITY
/* Define if you have the 'wint_t' type. */
#undef HAVE_WINT_T
+/* Define to 1 if O_NOATIME works. */
+#undef HAVE_WORKING_O_NOATIME
+
+/* Define to 1 if O_NOFOLLOW works. */
+#undef HAVE_WORKING_O_NOFOLLOW
+
+/* Define to 1 if you have the <xlocale.h> header file. */
+#undef HAVE_XLOCALE_H
+
/* Define to 1 if the system has the type `_Bool'. */
#undef HAVE__BOOL
+/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */
+#undef HAVE__SET_INVALID_PARAMETER_HANDLER
+
/* Define as const if the declaration of iconv() needs const. */
#undef ICONV_CONST
implementation. */
#undef ICONV_FLAVOR
+/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
+ slash. */
+#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
+
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#undef LT_OBJDIR
+/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */
+#undef MALLOC_0_IS_NONNULL
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
+/* Define to 1 if open() fails to recognize a trailing slash. */
+#undef OPEN_TRAILING_SLASH_BUG
+
/* Name of package */
#undef PACKAGE
/* Define to the version of this package. */
#undef PACKAGE_VERSION
+/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
+#undef PRI_MACROS_BROKEN
+
+/* Define to the type that is the result of default argument promotions of
+ type mode_t. */
+#undef PROMOTED_MODE_T
+
+/* Define if the pthread_in_use() detection is hard. */
+#undef PTHREAD_IN_USE_DETECTION_HARD
+
/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
'ptrdiff_t'. */
#undef PTRDIFF_T_SUFFIX
-/* Define this to 1 if strerror is broken. */
-#undef REPLACE_STRERROR
+/* Define to 1 if stat needs help when passed a directory name with a trailing
+ slash */
+#undef REPLACE_FUNC_STAT_DIR
+
+/* Define to 1 if stat needs help when passed a file name with a trailing
+ slash */
+#undef REPLACE_FUNC_STAT_FILE
+
+/* Define to 1 if strerror(0) does not return a message implying success. */
+#undef REPLACE_STRERROR_0
/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
'sig_atomic_t'. */
'size_t'. */
#undef SIZE_T_SUFFIX
+/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at runtime.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
+#undef STAT_MACROS_BROKEN
+
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if strerror_r returns char *. */
#undef STRERROR_R_CHAR_P
+/* Define if the POSIX multithreading library can be used. */
+#undef USE_POSIX_THREADS
+
+/* Define if references to the POSIX multithreading library should be made
+ weak. */
+#undef USE_POSIX_THREADS_WEAK
+
+/* Define if the GNU Pth multithreading library can be used. */
+#undef USE_PTH_THREADS
+
+/* Define if references to the GNU Pth multithreading library should be made
+ weak. */
+#undef USE_PTH_THREADS_WEAK
+
+/* Define if the old Solaris multithreading library can be used. */
+#undef USE_SOLARIS_THREADS
+
+/* Define if references to the old Solaris multithreading library should be
+ made weak. */
+#undef USE_SOLARIS_THREADS_WEAK
+
+/* Define if the Win32 multithreading API can be used. */
+#undef USE_WIN32_THREADS
+
/* Version number of package */
#undef VERSION
+/* Define to 1 if unsetenv returns void instead of int. */
+#undef VOID_UNSETENV
+
/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
'wchar_t'. */
#undef WCHAR_T_SUFFIX
/* Define to 1 if you want TLD code. */
#undef WITH_TLD
+/* Enable large inode numbers on Mac OS X. */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
+
/* Define to 1 if on MINIX. */
#undef _MINIX
+/* The _Noreturn keyword of draft C1X. */
+#ifndef _Noreturn
+# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
+ || 0x5110 <= __SUNPRO_C)
+# define _Noreturn __attribute__ ((__noreturn__))
+# elif defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
+# else
+# define _Noreturn
+# endif
+#endif
+
+
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#undef _POSIX_1_SOURCE
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
+/* Enable general extensions on MacOS X. */
+#ifndef _DARWIN_C_SOURCE
+# undef _DARWIN_C_SOURCE
+#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
used. */
#undef __GETOPT_PREFIX
+/* Ensure that <stdint.h> defines the limit macros, since gnulib's
+ <inttypes.h> relies on them. */
+#if defined __cplusplus && !defined __STDC_LIMIT_MACROS && GL_TRIGGER_STDC_LIMIT_MACROS
+# define __STDC_LIMIT_MACROS 1
+#endif
+
+
/* A replacement for va_copy, if needed. */
#define gl_va_copy(a,b) ((a) = (b))
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+#undef inline
+#endif
+
/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
# define __GNUC_STDC_INLINE__ 1
#endif
+/* Define to `int' if <sys/types.h> does not define. */
+#undef mode_t
+
+/* Define to the type of st_nlink in struct stat, or a supertype. */
+#undef nlink_t
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef pid_t
+
/* Define to the equivalent of the C99 'restrict' keyword, or to
nothing if this is not supported. Do not define if restrict is
supported directly. */
#undef restrict
-/* Work around a bug in Sun C++: it does not support _Restrict, even
- though the corresponding Sun C compiler does, which causes
- "#define restrict _Restrict" in the previous line. Perhaps some future
- version of Sun C++ will work with _Restrict; if so, it'll probably
- define __RESTRICT, just as Sun C does. */
+/* Work around a bug in Sun C++: it does not support _Restrict or
+ __restrict__, even though the corresponding Sun C compiler ends up with
+ "#define restrict _Restrict" or "#define restrict __restrict__" in the
+ previous line. Perhaps some future version of Sun C++ will work with
+ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */
#if defined __SUNPRO_CC && !defined __RESTRICT
# define _Restrict
+# define __restrict__
#endif
-/* Define as a marker that can be attached to function parameter declarations
- for parameters that are not used. This helps to reduce warnings, such as
- from GCC -Wunused-parameter. */
+/* Define as a signed type of the same size as size_t. */
+#undef ssize_t
+
+/* Define as a marker that can be attached to declarations that might not
+ be used. This helps to reduce warnings, such as from
+ GCC -Wunused-parameter. */
#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-# define _UNUSED_PARAMETER_ __attribute__ ((__unused__))
+# define _GL_UNUSED __attribute__ ((__unused__))
+#else
+# define _GL_UNUSED
+#endif
+/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name
+ is a misnomer outside of parameter lists. */
+#define _UNUSED_PARAMETER_ _GL_UNUSED
+
+/* The __pure__ attribute was added in gcc 2.96. */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#else
+# define _GL_ATTRIBUTE_PURE /* empty */
+#endif
+
+/* The __const__ attribute was added in gcc 2.95. */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
+# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
#else
-# define _UNUSED_PARAMETER_
+# define _GL_ATTRIBUTE_CONST /* empty */
#endif
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63b for GNU Libidn 1.15.
+# Generated by GNU Autoconf 2.67 for GNU Libidn 1.23.
#
# Report bugs to <bug-libidn@gnu.org>.
#
+#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
# Foundation, Inc.
#
+#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
#
-# Copyright (c) 2002-2008 Simon Josefsson <simon@josefsson.org>.
+# Copyright (c) 2002-2011 Simon Josefsson <simon@josefsson.org>.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in #(
- *posix*) set -o posix ;; #(
- *) : ;;
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
esac
fi
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
setopt NO_GLOB_SUBST
else
case \`(set -o) 2>/dev/null\` in #(
- *posix*) set -o posix ;; #(
- *) : ;;
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
esac
fi
"
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then
- :
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
else
exitcode=1; echo positional parameters were not saved.
fi
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then
+test \$(( 1 + 1 )) = 2 || exit 1
+
+ test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
as_have_required=yes
else
as_have_required=no
fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then
- :
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
# Try only shells that exist, to save several forks.
as_shell=$as_dir/$as_base
if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
break 2
fi
fi
as_found=false
done
$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
CONFIG_SHELL=$SHELL as_have_required=yes
fi; }
IFS=$as_save_IFS
- if test "x$CONFIG_SHELL" != x; then
+ if test "x$CONFIG_SHELL" != x; then :
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
fi
- if test x$as_have_required = xno; then
+ if test x$as_have_required = xno; then :
$as_echo "$0: This script requires a shell more modern than all"
$as_echo "$0: the shells that I found on your system."
if test x${ZSH_VERSION+set} = xset ; then
fi
SHELL=${CONFIG_SHELL-/bin/sh}
export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
## --------------------- ##
## M4sh Shell Functions. ##
return $1
} # as_fn_set_status
-# as_fn_exit [STATUS=$?]
-# ----------------------
+# as_fn_exit STATUS
+# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
- as_status=$?
set +e
- as_fn_set_status ${1-$as_status}
- exit ${1-$as_status}
+ as_fn_set_status $1
+ exit $1
} # as_fn_exit
# as_fn_mkdir_p
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
eval 'as_fn_append ()
{
eval $1+=\$2
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
fi # as_fn_arith
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
- as_status=$?; test $as_status -eq 0 && as_status=1
- if test "$3"; then
- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
- $as_echo "$as_me: error: $1" >&2
+ $as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
}
ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #((((
+case `echo -n x` in #(((((
-n*)
- case `echo 'x\c'` in
+ case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# Check that we are running under the correct shell.
SHELL=${CONFIG_SHELL-/bin/sh}
-case X$lt_ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
- ;;
-esac
-
-ECHO=${lt_ECHO-echo}
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
- # Yippee, $ECHO works!
- :
-else
- # Restart under the correct shell.
- exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<_LT_EOF
-$*
-_LT_EOF
- exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$lt_ECHO"; then
- if test "X${echo_test_string+set}" != Xset; then
- # find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
- { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
- then
- break
- fi
- done
- fi
-
- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
- else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- ECHO="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$ECHO" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- ECHO='print -r'
- elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
- else
- # Try using printf.
- ECHO='printf %s\n'
- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- ECHO="$CONFIG_SHELL $0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- ECHO="$CONFIG_SHELL $0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
-
- for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
- if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
-
- if test "$prev" != 'sed 50q "$0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
- else
- # Oops. We lost completely, so just stick with echo.
- ECHO=echo
- fi
- fi
- fi
- fi
- fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-lt_ECHO=$ECHO
-if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
- lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
-fi
-
-
-
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
# Identity of this package.
PACKAGE_NAME='GNU Libidn'
PACKAGE_TARNAME='libidn'
-PACKAGE_VERSION='1.15'
-PACKAGE_STRING='GNU Libidn 1.15'
+PACKAGE_VERSION='1.23'
+PACKAGE_STRING='GNU Libidn 1.23'
PACKAGE_BUGREPORT='bug-libidn@gnu.org'
PACKAGE_URL='http://www.gnu.org/software/libidn/'
# include <unistd.h>
#endif"
+gl_use_threads_default=
gt_needs=
+gl_getopt_required=POSIX
ac_header_list=
+gl_getopt_required=POSIX
+ac_func_list=
ac_subst_vars='lgltests_LTLIBOBJS
lgltests_LIBOBJS
lgl_LTLIBOBJS
gltests_LIBOBJS
gl_LTLIBOBJS
gl_LIBOBJS
+CONFIG_INCLUDE
am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
WSTACK_CFLAGS
WERROR_CFLAGS
-VALGRIND
CSHARP_FALSE
CSHARP_TRUE
+HAVE_CLIX
+HAVE_MONO
+HAVE_ILRUN
+CLIX_PATH
+CLIX_PATH_VAR
+MONO_PATH_SEPARATOR
+MONO_PATH
+HAVE_CLIX_IN_PATH
+HAVE_MONO_IN_PATH
+HAVE_ILRUN_IN_PATH
JAVA_FALSE
JAVA_TRUE
GJDOC
am__fastdepGCJ_TRUE
GCJDEPMODE
GCJFLAGS
+ac_ct_GCJ
GCJ
GTK_DOC_USE_REBASE_FALSE
GTK_DOC_USE_REBASE_TRUE
GTK_DOC_BUILD_HTML_TRUE
ENABLE_GTK_DOC_FALSE
ENABLE_GTK_DOC_TRUE
-PKG_CONFIG
HTML_DIR
GTKDOC_MKPDF
GTKDOC_REBASE
GTKDOC_CHECK
+PKG_CONFIG
TLD_FALSE
TLD_TRUE
-LIBTESTS_LIBDEPS
+YIELD_LIB
+LOCALE_ZH_CN
+LOCALE_JA
+LOCALE_FR_UTF8
+LTLIBMULTITHREAD
+LIBMULTITHREAD
+LTLIBTHREAD
+LIBTHREAD
+LIBPTH_PREFIX
+LTLIBPTH
+LIBPTH
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H
+NEXT_LOCALE_H
+HAVE_XLOCALE_H
+REPLACE_DUPLOCALE
+REPLACE_SETLOCALE
+HAVE_DUPLOCALE
+GNULIB_DUPLOCALE
+GNULIB_SETLOCALE
LOCALE_TR_UTF8
LOCALE_FR
+lgltests_WITNESS
+LIBUNISTRING_UNITYPES_H
+LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE
+LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE
+LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE
+LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE
+LIBUNISTRING_UNISTR_H
+HAVE_VISIBILITY
+CFLAG_VISIBILITY
+HAVE_LD_VERSION_SCRIPT_FALSE
+HAVE_LD_VERSION_SCRIPT_TRUE
+HAVE_LD_OUTPUT_DEF_FALSE
+HAVE_LD_OUTPUT_DEF_TRUE
+NEXT_AS_FIRST_DIRECTIVE_ICONV_H
+NEXT_ICONV_H
+GL_GENERATE_ICONV_H_FALSE
+GL_GENERATE_ICONV_H_TRUE
+ICONV_H
+REPLACE_ICONV_UTF
+REPLACE_ICONV_OPEN
+REPLACE_ICONV
+ICONV_CONST
+GNULIB_ICONV
+LIBTESTS_LIBDEPS
+HAVE_WINT_T
+HAVE_FEATURES_H
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H
NEXT_WCHAR_H
-HAVE_WCHAR_H
-HAVE_WINT_T
-WCHAR_H
+REPLACE_WCSWIDTH
REPLACE_WCWIDTH
REPLACE_WCSNRTOMBS
REPLACE_WCSRTOMBS
REPLACE_MBSTATE_T
HAVE_DECL_WCWIDTH
HAVE_DECL_WCTOB
+HAVE_WCSWIDTH
+HAVE_WCSTOK
+HAVE_WCSSTR
+HAVE_WCSPBRK
+HAVE_WCSSPN
+HAVE_WCSCSPN
+HAVE_WCSRCHR
+HAVE_WCSCHR
+HAVE_WCSDUP
+HAVE_WCSXFRM
+HAVE_WCSCOLL
+HAVE_WCSNCASECMP
+HAVE_WCSCASECMP
+HAVE_WCSNCMP
+HAVE_WCSCMP
+HAVE_WCSNCAT
+HAVE_WCSCAT
+HAVE_WCPNCPY
+HAVE_WCSNCPY
+HAVE_WCPCPY
+HAVE_WCSCPY
+HAVE_WCSNLEN
+HAVE_WCSLEN
+HAVE_WMEMSET
+HAVE_WMEMMOVE
+HAVE_WMEMCPY
+HAVE_WMEMCMP
+HAVE_WMEMCHR
HAVE_WCSNRTOMBS
HAVE_WCSRTOMBS
HAVE_WCRTOMB
HAVE_MBRTOWC
HAVE_MBSINIT
HAVE_BTOWC
+GNULIB_WCSWIDTH
+GNULIB_WCSTOK
+GNULIB_WCSSTR
+GNULIB_WCSPBRK
+GNULIB_WCSSPN
+GNULIB_WCSCSPN
+GNULIB_WCSRCHR
+GNULIB_WCSCHR
+GNULIB_WCSDUP
+GNULIB_WCSXFRM
+GNULIB_WCSCOLL
+GNULIB_WCSNCASECMP
+GNULIB_WCSCASECMP
+GNULIB_WCSNCMP
+GNULIB_WCSCMP
+GNULIB_WCSNCAT
+GNULIB_WCSCAT
+GNULIB_WCPNCPY
+GNULIB_WCSNCPY
+GNULIB_WCPCPY
+GNULIB_WCSCPY
+GNULIB_WCSNLEN
+GNULIB_WCSLEN
+GNULIB_WMEMSET
+GNULIB_WMEMMOVE
+GNULIB_WMEMCPY
+GNULIB_WMEMCMP
+GNULIB_WMEMCHR
GNULIB_WCWIDTH
GNULIB_WCSNRTOMBS
GNULIB_WCSRTOMBS
GNULIB_MBSINIT
GNULIB_WCTOB
GNULIB_BTOWC
+abs_aux_dir
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC
+TIME_H_DEFINES_STRUCT_TIMESPEC
+NEXT_AS_FIRST_DIRECTIVE_TIME_H
+NEXT_TIME_H
+REPLACE_TIMEGM
+REPLACE_NANOSLEEP
+REPLACE_MKTIME
+REPLACE_LOCALTIME_R
+HAVE_TIMEGM
+HAVE_STRPTIME
+HAVE_NANOSLEEP
+HAVE_DECL_LOCALTIME_R
+GNULIB_TIME_R
+GNULIB_TIMEGM
+GNULIB_STRPTIME
+GNULIB_NANOSLEEP
+GNULIB_MKTIME
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H
+NEXT_SYS_STAT_H
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H
+NEXT_STDLIB_H
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H
+NEXT_STDIO_H
+HAVE__BOOL
+GL_GENERATE_STDBOOL_H_FALSE
+GL_GENERATE_STDBOOL_H_TRUE
+STDBOOL_H
+REPLACE_WCTOMB
+REPLACE_UNSETENV
+REPLACE_STRTOD
+REPLACE_SETENV
+REPLACE_REALPATH
+REPLACE_REALLOC
+REPLACE_PUTENV
+REPLACE_PTSNAME_R
+REPLACE_MKSTEMP
+REPLACE_MBTOWC
+REPLACE_MALLOC
+REPLACE_CANONICALIZE_FILE_NAME
+REPLACE_CALLOC
+HAVE_DECL_UNSETENV
+HAVE_UNLOCKPT
+HAVE_SYS_LOADAVG_H
+HAVE_STRUCT_RANDOM_DATA
+HAVE_STRTOULL
+HAVE_STRTOLL
+HAVE_STRTOD
+HAVE_DECL_SETENV
+HAVE_SETENV
+HAVE_RPMATCH
+HAVE_REALPATH
+HAVE_RANDOM_R
+HAVE_RANDOM_H
+HAVE_PTSNAME_R
+HAVE_PTSNAME
+HAVE_POSIX_OPENPT
+HAVE_MKSTEMPS
+HAVE_MKSTEMP
+HAVE_MKOSTEMPS
+HAVE_MKOSTEMP
+HAVE_MKDTEMP
+HAVE_GRANTPT
+HAVE_GETSUBOPT
+HAVE_DECL_GETLOADAVG
+HAVE_CANONICALIZE_FILE_NAME
+HAVE_ATOLL
+HAVE__EXIT
+GNULIB_WCTOMB
+GNULIB_UNSETENV
+GNULIB_UNLOCKPT
+GNULIB_SYSTEM_POSIX
+GNULIB_STRTOULL
+GNULIB_STRTOLL
+GNULIB_STRTOD
+GNULIB_SETENV
+GNULIB_RPMATCH
+GNULIB_REALPATH
+GNULIB_REALLOC_POSIX
+GNULIB_RANDOM_R
+GNULIB_PUTENV
+GNULIB_PTSNAME_R
+GNULIB_PTSNAME
+GNULIB_POSIX_OPENPT
+GNULIB_MKSTEMPS
+GNULIB_MKSTEMP
+GNULIB_MKOSTEMPS
+GNULIB_MKOSTEMP
+GNULIB_MKDTEMP
+GNULIB_MBTOWC
+GNULIB_MALLOC_POSIX
+GNULIB_GRANTPT
+GNULIB_GETSUBOPT
+GNULIB_GETLOADAVG
+GNULIB_CANONICALIZE_FILE_NAME
+GNULIB_CALLOC_POSIX
+GNULIB_ATOLL
+GNULIB__EXIT
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H
+NEXT_INTTYPES_H
+UINT64_MAX_EQ_ULONG_MAX
+UINT32_MAX_LT_UINTMAX_MAX
+PRIPTR_PREFIX
+PRI_MACROS_BROKEN
+INT64_MAX_EQ_LONG_MAX
+INT32_MAX_LT_INTMAX_MAX
+HAVE_DECL_STRTOUMAX
+HAVE_DECL_STRTOIMAX
+HAVE_DECL_IMAXDIV
+HAVE_DECL_IMAXABS
+GNULIB_STRTOUMAX
+GNULIB_STRTOIMAX
+GNULIB_IMAXDIV
+GNULIB_IMAXABS
+GL_GENERATE_STDINT_H_FALSE
+GL_GENERATE_STDINT_H_TRUE
STDINT_H
WINT_T_SUFFIX
WCHAR_T_SUFFIX
BITSIZEOF_SIG_ATOMIC_T
BITSIZEOF_SIZE_T
BITSIZEOF_PTRDIFF_T
+APPLE_UNIVERSAL_BUILD
HAVE_SYS_BITYPES_H
HAVE_SYS_INTTYPES_H
HAVE_STDINT_H
NEXT_STDINT_H
HAVE_SYS_TYPES_H
HAVE_INTTYPES_H
+HAVE_WCHAR_H
HAVE_UNSIGNED_LONG_LONG_INT
HAVE_LONG_LONG_INT
-HAVE__BOOL
-STDBOOL_H
-APPLE_UNIVERSAL_BUILD
-HAVE_VISIBILITY
-CFLAG_VISIBILITY
-HAVE_LD_VERSION_SCRIPT_FALSE
-HAVE_LD_VERSION_SCRIPT_TRUE
-HAVE_LD_OUTPUT_DEF_FALSE
-HAVE_LD_OUTPUT_DEF_TRUE
-NEXT_AS_FIRST_DIRECTIVE_ICONV_H
-NEXT_ICONV_H
-ICONV_H
-REPLACE_ICONV_UTF
-REPLACE_ICONV_OPEN
-REPLACE_ICONV
-abs_aux_dir
+REPLACE_UTIMENSAT
+REPLACE_STAT
+REPLACE_MKNOD
+REPLACE_MKFIFO
+REPLACE_MKDIR
+REPLACE_LSTAT
+REPLACE_FUTIMENS
+REPLACE_FSTATAT
+REPLACE_FSTAT
+HAVE_UTIMENSAT
+HAVE_MKNODAT
+HAVE_MKNOD
+HAVE_MKFIFOAT
+HAVE_MKFIFO
+HAVE_MKDIRAT
+HAVE_LSTAT
+HAVE_LCHMOD
+HAVE_FUTIMENS
+HAVE_FSTATAT
+HAVE_FCHMODAT
+GNULIB_UTIMENSAT
+GNULIB_STAT
+GNULIB_MKNODAT
+GNULIB_MKNOD
+GNULIB_MKFIFOAT
+GNULIB_MKFIFO
+GNULIB_MKDIRAT
+GNULIB_LSTAT
+GNULIB_LCHMOD
+GNULIB_FUTIMENS
+GNULIB_FSTATAT
+GNULIB_FSTAT
+GNULIB_FCHMODAT
+REPLACE_VSPRINTF
+REPLACE_VSNPRINTF
+REPLACE_VPRINTF
+REPLACE_VFPRINTF
+REPLACE_VDPRINTF
+REPLACE_VASPRINTF
+REPLACE_TMPFILE
+REPLACE_STDIO_WRITE_FUNCS
+REPLACE_STDIO_READ_FUNCS
+REPLACE_SPRINTF
+REPLACE_SNPRINTF
+REPLACE_RENAMEAT
+REPLACE_RENAME
+REPLACE_REMOVE
+REPLACE_PRINTF
+REPLACE_POPEN
+REPLACE_PERROR
+REPLACE_OBSTACK_PRINTF
+REPLACE_GETLINE
+REPLACE_GETDELIM
+REPLACE_FTELLO
+REPLACE_FTELL
+REPLACE_FSEEKO
+REPLACE_FSEEK
+REPLACE_FREOPEN
+REPLACE_FPURGE
+REPLACE_FPRINTF
+REPLACE_FOPEN
+REPLACE_FFLUSH
+REPLACE_FDOPEN
+REPLACE_FCLOSE
+REPLACE_DPRINTF
+HAVE_VDPRINTF
+HAVE_VASPRINTF
+HAVE_RENAMEAT
+HAVE_POPEN
+HAVE_PCLOSE
+HAVE_FTELLO
+HAVE_FSEEKO
+HAVE_DPRINTF
+HAVE_DECL_VSNPRINTF
+HAVE_DECL_SNPRINTF
+HAVE_DECL_OBSTACK_PRINTF
+HAVE_DECL_GETLINE
+HAVE_DECL_GETDELIM
+HAVE_DECL_FTELLO
+HAVE_DECL_FSEEKO
+HAVE_DECL_FPURGE
+GNULIB_VSPRINTF_POSIX
+GNULIB_VSNPRINTF
+GNULIB_VPRINTF_POSIX
+GNULIB_VPRINTF
+GNULIB_VFPRINTF_POSIX
+GNULIB_VFPRINTF
+GNULIB_VDPRINTF
+GNULIB_VSCANF
+GNULIB_VFSCANF
+GNULIB_VASPRINTF
+GNULIB_TMPFILE
+GNULIB_STDIO_H_SIGPIPE
+GNULIB_STDIO_H_NONBLOCKING
+GNULIB_SPRINTF_POSIX
+GNULIB_SNPRINTF
+GNULIB_SCANF
+GNULIB_RENAMEAT
+GNULIB_RENAME
+GNULIB_REMOVE
+GNULIB_PUTS
+GNULIB_PUTCHAR
+GNULIB_PUTC
+GNULIB_PRINTF_POSIX
+GNULIB_PRINTF
+GNULIB_POPEN
+GNULIB_PERROR
+GNULIB_PCLOSE
+GNULIB_OBSTACK_PRINTF_POSIX
+GNULIB_OBSTACK_PRINTF
+GNULIB_GETS
+GNULIB_GETLINE
+GNULIB_GETDELIM
+GNULIB_GETCHAR
+GNULIB_GETC
+GNULIB_FWRITE
+GNULIB_FTELLO
+GNULIB_FTELL
+GNULIB_FSEEKO
+GNULIB_FSEEK
+GNULIB_FSCANF
+GNULIB_FREOPEN
+GNULIB_FREAD
+GNULIB_FPUTS
+GNULIB_FPUTC
+GNULIB_FPURGE
+GNULIB_FPRINTF_POSIX
+GNULIB_FPRINTF
+GNULIB_FOPEN
+GNULIB_FGETS
+GNULIB_FGETC
+GNULIB_FFLUSH
+GNULIB_FDOPEN
+GNULIB_FCLOSE
+GNULIB_DPRINTF
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H
+NEXT_FCNTL_H
+REPLACE_OPENAT
+REPLACE_OPEN
+REPLACE_FCNTL
+HAVE_OPENAT
+HAVE_FCNTL
+GNULIB_OPENAT
+GNULIB_OPEN
+GNULIB_NONBLOCKING
+GNULIB_FCNTL
+GL_GENERATE_ALLOCA_H_FALSE
+GL_GENERATE_ALLOCA_H_TRUE
+ALLOCA_H
+ALLOCA
+gltests_WITNESS
WARN_CFLAGS
+VALGRIND
HAVE_UNISTD_H
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H
NEXT_UNISTD_H
-UNISTD_H_HAVE_WINSOCK2_H
-REPLACE_WRITE
-REPLACE_LSEEK
-REPLACE_LCHOWN
-REPLACE_GETPAGESIZE
-REPLACE_GETCWD
-REPLACE_FCHDIR
-REPLACE_CLOSE
-REPLACE_CHOWN
-HAVE_SYS_PARAM_H
-HAVE_OS_H
-HAVE_DECL_GETLOGIN_R
-HAVE_DECL_ENVIRON
-HAVE_SLEEP
-HAVE_READLINK
-HAVE_LINK
-HAVE_GETUSERSHELL
-HAVE_GETPAGESIZE
-HAVE_GETHOSTNAME
-HAVE_GETDTABLESIZE
-HAVE_GETDOMAINNAME
-HAVE_FTRUNCATE
-HAVE_FSYNC
-HAVE_EUIDACCESS
-HAVE_DUP2
-GNULIB_WRITE
-GNULIB_UNISTD_H_SIGPIPE
-GNULIB_SLEEP
-GNULIB_READLINK
-GNULIB_LSEEK
-GNULIB_LINK
-GNULIB_LCHOWN
-GNULIB_GETUSERSHELL
-GNULIB_GETPAGESIZE
-GNULIB_GETLOGIN_R
-GNULIB_GETHOSTNAME
-GNULIB_GETDTABLESIZE
-GNULIB_GETDOMAINNAME
-GNULIB_GETCWD
-GNULIB_FTRUNCATE
-GNULIB_FSYNC
-GNULIB_FCHDIR
-GNULIB_EUIDACCESS
-GNULIB_ENVIRON
-GNULIB_DUP2
-GNULIB_CLOSE
-GNULIB_CHOWN
NEXT_AS_FIRST_DIRECTIVE_STRING_H
NEXT_STRING_H
+HAVE_WINSOCK2_H
+UNDEFINE_STRTOK_R
+REPLACE_STRTOK_R
REPLACE_STRSIGNAL
+REPLACE_STRNLEN
+REPLACE_STRNDUP
+REPLACE_STRNCAT
+REPLACE_STRERROR_R
REPLACE_STRERROR
+REPLACE_STRCHRNUL
REPLACE_STRCASESTR
REPLACE_STRSTR
REPLACE_STRDUP
+REPLACE_STPNCPY
REPLACE_MEMMEM
+REPLACE_MEMCHR
HAVE_STRVERSCMP
HAVE_DECL_STRSIGNAL
-HAVE_DECL_STRERROR
+HAVE_DECL_STRERROR_R
HAVE_DECL_STRTOK_R
HAVE_STRCASESTR
HAVE_STRSEP
HAVE_STRPBRK
HAVE_DECL_STRNLEN
HAVE_DECL_STRNDUP
-HAVE_STRNDUP
HAVE_DECL_STRDUP
HAVE_STRCHRNUL
HAVE_STPNCPY
HAVE_DECL_MEMRCHR
HAVE_MEMPCPY
HAVE_DECL_MEMMEM
+HAVE_MEMCHR
+HAVE_FFSLL
+HAVE_FFSL
+HAVE_MBSLEN
GNULIB_STRVERSCMP
GNULIB_STRSIGNAL
+GNULIB_STRERROR_R
GNULIB_STRERROR
GNULIB_MBSTOK_R
GNULIB_MBSSEP
GNULIB_STRPBRK
GNULIB_STRNLEN
GNULIB_STRNDUP
+GNULIB_STRNCAT
GNULIB_STRDUP
GNULIB_STRCHRNUL
GNULIB_STPNCPY
GNULIB_MEMRCHR
GNULIB_MEMPCPY
GNULIB_MEMMEM
+GNULIB_MEMCHR
+GNULIB_FFSLL
+GNULIB_FFSL
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H
+NEXT_STDDEF_H
+GL_GENERATE_STDDEF_H_FALSE
+GL_GENERATE_STDDEF_H_TRUE
+STDDEF_H
+HAVE_WCHAR_T
+REPLACE_NULL
+GL_GENERATE_STDARG_H_FALSE
+GL_GENERATE_STDARG_H_TRUE
+STDARG_H
NEXT_AS_FIRST_DIRECTIVE_STDARG_H
NEXT_STDARG_H
-STDARG_H
PMCCABE
+HAVE_MSVC_INVALID_PARAMETER_HANDLER
GETOPT_H
+HAVE_GETOPT_H
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H
+NEXT_GETOPT_H
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS
+UNISTD_H_HAVE_WINSOCK2_H
+REPLACE_WRITE
+REPLACE_USLEEP
+REPLACE_UNLINKAT
+REPLACE_UNLINK
+REPLACE_TTYNAME_R
+REPLACE_SYMLINK
+REPLACE_SLEEP
+REPLACE_RMDIR
+REPLACE_READLINK
+REPLACE_READ
+REPLACE_PWRITE
+REPLACE_PREAD
+REPLACE_LSEEK
+REPLACE_LINKAT
+REPLACE_LINK
+REPLACE_LCHOWN
+REPLACE_GETPAGESIZE
+REPLACE_GETGROUPS
+REPLACE_GETLOGIN_R
+REPLACE_GETDOMAINNAME
+REPLACE_GETCWD
+REPLACE_FCHOWNAT
+REPLACE_DUP2
+REPLACE_DUP
+REPLACE_CLOSE
+REPLACE_CHOWN
+HAVE_SYS_PARAM_H
+HAVE_OS_H
+HAVE_DECL_TTYNAME_R
+HAVE_DECL_GETUSERSHELL
+HAVE_DECL_GETPAGESIZE
+HAVE_DECL_GETLOGIN_R
+HAVE_DECL_GETDOMAINNAME
+HAVE_DECL_FDATASYNC
+HAVE_DECL_FCHDIR
+HAVE_DECL_ENVIRON
+HAVE_USLEEP
+HAVE_UNLINKAT
+HAVE_SYMLINKAT
+HAVE_SYMLINK
+HAVE_SLEEP
+HAVE_READLINKAT
+HAVE_READLINK
+HAVE_PWRITE
+HAVE_PREAD
+HAVE_PIPE2
+HAVE_PIPE
+HAVE_LINKAT
+HAVE_LINK
+HAVE_LCHOWN
+HAVE_GROUP_MEMBER
+HAVE_GETPAGESIZE
+HAVE_GETLOGIN
+HAVE_GETHOSTNAME
+HAVE_GETGROUPS
+HAVE_GETDTABLESIZE
+HAVE_FTRUNCATE
+HAVE_FSYNC
+HAVE_FDATASYNC
+HAVE_FCHOWNAT
+HAVE_FCHDIR
+HAVE_FACCESSAT
+HAVE_EUIDACCESS
+HAVE_DUP3
+HAVE_DUP2
+HAVE_CHOWN
+GNULIB_WRITE
+GNULIB_USLEEP
+GNULIB_UNLINKAT
+GNULIB_UNLINK
+GNULIB_UNISTD_H_SIGPIPE
+GNULIB_UNISTD_H_NONBLOCKING
+GNULIB_UNISTD_H_GETOPT
+GNULIB_TTYNAME_R
+GNULIB_SYMLINKAT
+GNULIB_SYMLINK
+GNULIB_SLEEP
+GNULIB_RMDIR
+GNULIB_READLINKAT
+GNULIB_READLINK
+GNULIB_READ
+GNULIB_PWRITE
+GNULIB_PREAD
+GNULIB_PIPE2
+GNULIB_PIPE
+GNULIB_LSEEK
+GNULIB_LINKAT
+GNULIB_LINK
+GNULIB_LCHOWN
+GNULIB_GROUP_MEMBER
+GNULIB_GETUSERSHELL
+GNULIB_GETPAGESIZE
+GNULIB_GETLOGIN_R
+GNULIB_GETLOGIN
+GNULIB_GETHOSTNAME
+GNULIB_GETGROUPS
+GNULIB_GETDTABLESIZE
+GNULIB_GETDOMAINNAME
+GNULIB_GETCWD
+GNULIB_FTRUNCATE
+GNULIB_FSYNC
+GNULIB_FDATASYNC
+GNULIB_FCHOWNAT
+GNULIB_FCHDIR
+GNULIB_FACCESSAT
+GNULIB_EUIDACCESS
+GNULIB_ENVIRON
+GNULIB_DUP3
+GNULIB_DUP2
+GNULIB_DUP
+GNULIB_CLOSE
+GNULIB_CHOWN
+GNULIB_CHDIR
EOVERFLOW_VALUE
EOVERFLOW_HIDDEN
ENOLINK_VALUE
ENOLINK_HIDDEN
EMULTIHOP_VALUE
EMULTIHOP_HIDDEN
+GL_GENERATE_ERRNO_H_FALSE
+GL_GENERATE_ERRNO_H_TRUE
ERRNO_H
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H
NEXT_ERRNO_H
+PRAGMA_COLUMNS
PRAGMA_SYSTEM_HEADER
INCLUDE_NEXT_AS_FIRST_DIRECTIVE
INCLUDE_NEXT
LIPO
NMEDIT
DSYMUTIL
-lt_ECHO
-AR
LN_S
NM
ac_ct_DUMPBIN
FGREP
SED
LIBTOOL
+OBJDUMP
+DLLTOOL
+AS
+DLL_VERSION
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+RANLIB
+ARFLAGS
+AR
EGREP
GREP
CPP
-RANLIB
am__fastdepCC_FALSE
am__fastdepCC_TRUE
CCDEPMODE
LDFLAGS
CFLAGS
CC
-OBJDUMP
-DLLTOOL
-AS
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
+LT_AGE
+LT_REVISION
+LT_CURRENT
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
am__untar
am__tar
AMTAR
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
-DLL_VERSION
-LT_AGE
-LT_REVISION
-LT_CURRENT
target_alias
host_alias
build_alias
ac_subst_files=''
ac_user_opts='
enable_option_checking
+enable_silent_rules
enable_dependency_tracking
+enable_largefile
+enable_threads
enable_shared
enable_static
with_pic
with_libintl_prefix
with_lispdir
enable_csharp
+enable_valgrind_tests
with_packager
with_packager_version
with_packager_bug_reports
enable_ld_version_script
+with_libpth_prefix
enable_tld
with_html_dir
enable_gtk_doc
enable_gtk_doc_html
enable_gtk_doc_pdf
enable_java
-enable_valgrind_tests
enable_gcc_warnings
'
ac_precious_vars='build_alias
fi
case $ac_option in
- *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *) ac_optarg=yes ;;
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid feature name: $ac_useropt"
+ as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid feature name: $ac_useropt"
+ as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid package name: $ac_useropt"
+ as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid package name: $ac_useropt"
+ as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
;;
*=*)
# Reject names that are not valid shell variable names.
case $ac_envvar in #(
'' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
esac
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error "missing argument to $ac_option"
+ as_fn_error $? "missing argument to $ac_option"
fi
if test -n "$ac_unrecognized_opts"; then
case $enable_option_checking in
no) ;;
- fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
*) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
- as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
# There might be people who depend on the old broken behavior: `$host'
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
+ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used" >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error "working directory cannot be determined"
+ as_fn_error $? "working directory cannot be determined"
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error "pwd does not report name of working directory"
+ as_fn_error $? "pwd does not report name of working directory"
# Find the source files, if location was not specified.
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GNU Libidn 1.15 to adapt to many kinds of systems.
+\`configure' configures GNU Libidn 1.23 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
+ -q, --quiet, --silent do not print \`checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GNU Libidn 1.15:";;
+ short | recursive ) echo "Configuration of GNU Libidn 1.23:";;
esac
cat <<\_ACEOF
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-silent-rules less verbose build output (undo: `make V=1')
+ --disable-silent-rules verbose build output (undo: `make V=0')
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
+ --disable-largefile omit support for large files
+ --enable-threads={posix|solaris|pth|win32}
+ specify multithreading API
+ --disable-threads build without multithread safety
--enable-shared[=PKGS] build shared libraries [default=yes]
--enable-static[=PKGS] build static libraries [default=yes]
--enable-fast-install[=PKGS]
--disable-nls do not use Native Language Support
--disable-rpath do not hardcode runtime library paths
--enable-csharp[=IMPL] choose preferred C# implementation (pnet or mono)
+ --enable-valgrind-tests run self tests under valgrind
--enable-ld-version-script
enable linker version script (default is enabled
when possible)
--disable-tld disable TLD code
- --enable-gtk-doc use gtk-doc to build documentation [default=no]
- --enable-gtk-doc-html build documentation in html format [default=yes]
- --enable-gtk-doc-pdf build documentation in pdf format [default=no]
+ --enable-gtk-doc use gtk-doc to build documentation [[default=no]]
+ --enable-gtk-doc-html build documentation in html format [[default=yes]]
+ --enable-gtk-doc-pdf build documentation in pdf format [[default=no]]
--enable-java enable Java API
- --enable-valgrind-tests run self tests under valgrind
--enable-gcc-warnings turn on lots of GCC warnings (for developers)
Optional Packages:
--with-packager-version Packager-specific version information
--with-packager-bug-reports
Packager info for bug reports (URL/e-mail/...)
+ --with-libpth-prefix[=DIR] search for libpth in DIR/include and DIR/lib
+ --without-libpth-prefix don't search for libpth in includedir and libdir
--with-html-dir=PATH path to installed docs
Some influential environment variables:
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
EMACS the Emacs editor command
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GNU Libidn configure 1.15
-generated by GNU Autoconf 2.63b
+GNU Libidn configure 1.23
+generated by GNU Autoconf 2.67
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
-Copyright (c) 2002-2008 Simon Josefsson <simon@josefsson.org>.
+Copyright (c) 2002-2011 Simon Josefsson <simon@josefsson.org>.
_ACEOF
exit
fi
test $ac_status = 0; } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
+ } && test -s conftest.$ac_objext; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } >/dev/null && {
+ test $ac_status = 0; } > conftest.i && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
- }; then
+ }; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ as_fn_set_status $ac_retval
} # ac_fn_c_try_cpp
ac_fn_c_check_header_mongrel ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then
+ if eval "test \"\${$3+set}\"" = set; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
fi
eval ac_res=\$$3
$4
#include <$2>
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
+if ac_fn_c_try_compile "$LINENO"; then :
ac_header_compiler=yes
else
ac_header_compiler=no
/* end confdefs.h. */
#include <$2>
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then
+if ac_fn_c_try_cpp "$LINENO"; then :
ac_header_preproc=yes
else
ac_header_preproc=no
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( cat <<\_ASBOX
-## --------------------------------- ##
+( $as_echo "## --------------------------------- ##
## Report this to bug-libidn@gnu.org ##
-## --------------------------------- ##
-_ASBOX
+## --------------------------------- ##"
) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
eval "$3=\$ac_header_compiler"
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
+ test $ac_status = 0; }; }; then :
ac_retval=0
else
$as_echo "$as_me: program exited with status $ac_status" >&5
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ as_fn_set_status $ac_retval
} # ac_fn_c_try_run
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
$4
#include <$2>
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
+if ac_fn_c_try_compile "$LINENO"; then :
eval "$3=yes"
else
eval "$3=no"
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
$as_test_x conftest$ac_exeext
- }; then
+ }; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ as_fn_set_status $ac_retval
} # ac_fn_c_try_link
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
+if ac_fn_c_try_link "$LINENO"; then :
eval "$3=yes"
else
eval "$3=no"
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
+if ac_fn_c_try_compile "$LINENO"; then :
ac_lo=0 ac_mid=0
while :; do
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
+if ac_fn_c_try_compile "$LINENO"; then :
ac_hi=$ac_mid; break
else
as_fn_arith $ac_mid + 1 && ac_lo=$as_val
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
+if ac_fn_c_try_compile "$LINENO"; then :
ac_hi=-1 ac_mid=-1
while :; do
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
+if ac_fn_c_try_compile "$LINENO"; then :
ac_lo=$ac_mid; break
else
as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
+if ac_fn_c_try_compile "$LINENO"; then :
ac_hi=$ac_mid
else
as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then
+if ac_fn_c_try_run "$LINENO"; then :
echo >>conftest.val; read $3 <conftest.val; ac_retval=0
else
ac_retval=1
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
rm -f conftest.val
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
- return $ac_retval
+ as_fn_set_status $ac_retval
} # ac_fn_c_compute_int
-# ac_fn_c_check_decl LINENO SYMBOL VAR
-# ------------------------------------
-# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
ac_fn_c_check_decl ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5
-$as_echo_n "checking whether $2 is declared... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then
+ as_decl_name=`echo $2|sed 's/ *(.*//'`
+ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
int
main ()
{
-#ifndef $2
- (void) $2;
+#ifndef $as_decl_name
+#ifdef __cplusplus
+ (void) $as_decl_use;
+#else
+ (void) $as_decl_name;
+#endif
#endif
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
+if ac_fn_c_try_compile "$LINENO"; then :
eval "$3=yes"
else
eval "$3=no"
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
eval "$3=no"
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
+if ac_fn_c_try_compile "$LINENO"; then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- :
+if ac_fn_c_try_compile "$LINENO"; then :
+
else
eval "$3=yes"
fi
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GNU Libidn $as_me 1.15, which was
-generated by GNU Autoconf 2.63b. Invocation command line was
+It was created by GNU Libidn $as_me 1.23, which was
+generated by GNU Autoconf 2.67. Invocation command line was
$ $0 $@
{
echo
- cat <<\_ASBOX
-## ---------------- ##
+ $as_echo "## ---------------- ##
## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
echo
# The following way of writing the cache mishandles newlines in values,
(
)
echo
- cat <<\_ASBOX
-## ----------------- ##
+ $as_echo "## ----------------- ##
## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
echo
for ac_var in $ac_subst_vars
do
echo
if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------------- ##
+ $as_echo "## ------------------- ##
## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
echo
for ac_var in $ac_subst_files
do
fi
if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
+ $as_echo "## ----------- ##
## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
echo
cat confdefs.h
echo
ac_site_file1=NONE
ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
- ac_site_file1=$CONFIG_SITE
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
elif test "x$prefix" != xNONE; then
ac_site_file1=$prefix/share/config.site
ac_site_file2=$prefix/etc/config.site
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
test "x$ac_site_file" = xNONE && continue
- if test -r "$ac_site_file"; then
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5 ; }
fi
done
if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
fi
gt_needs="$gt_needs "
-as_fn_append ac_header_list " errno.h"
-as_fn_append ac_header_list " stdarg.h"
+gl_getopt_required=GNU
+as_fn_append ac_header_list " getopt.h"
+as_fn_append ac_func_list " _set_invalid_parameter_handler"
as_fn_append ac_header_list " sys/socket.h"
-as_fn_append ac_header_list " string.h"
as_fn_append ac_header_list " unistd.h"
-as_fn_append ac_header_list " iconv.h"
-as_fn_append ac_header_list " stdint.h"
as_fn_append ac_header_list " wchar.h"
+as_fn_append ac_header_list " stdint.h"
+as_fn_append ac_header_list " inttypes.h"
+as_fn_append ac_func_list " lstat"
+as_fn_append ac_header_list " sys/param.h"
+as_fn_append ac_func_list " setenv"
+as_fn_append ac_func_list " symlink"
+as_fn_append ac_header_list " sys/stat.h"
+as_fn_append ac_header_list " sys/time.h"
+as_fn_append ac_header_list " features.h"
+as_fn_append ac_header_list " iconv.h"
+as_fn_append ac_header_list " xlocale.h"
+as_fn_append ac_func_list " newlocale"
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
-
-# Library code modified: REVISION++
-# Interfaces changed/added/removed: CURRENT++ REVISION=0
-# Interfaces added: AGE++
-# Interfaces removed: AGE=0
-LT_CURRENT=16
-
-LT_REVISION=44
-
-LT_AGE=5
-
-
-# For DEF file.
-DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}`
-
-
ac_aux_dir=
for ac_dir in build-aux "$srcdir"/build-aux; do
- for ac_t in install-sh install.sh shtool; do
- if test -f "$ac_dir/$ac_t"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/$ac_t -c"
- break 2
- fi
- done
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
done
if test -z "$ac_aux_dir"; then
- as_fn_error "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5
fi
# These three variables are undocumented and unsupported,
+ac_config_headers="$ac_config_headers config.h"
+
am__api_version='1.11'
# Find a good install program. We prefer a C program (faster),
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
$as_echo_n "checking for a BSD-compatible install... " >&6; }
if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
+if test "${ac_cv_path_install+set}" = set; then :
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
'
case `pwd` in
*[\\\"\#\$\&\'\`$am_lf]*)
- as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;;
esac
case $srcdir in
*[\\\"\#\$\&\'\`$am_lf\ \ ]*)
- as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+ as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;;
esac
# Do `set' in a subshell so we don't clobber the current shell's
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
- as_fn_error "ls -t appears to fail. Make sure there is not a broken
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
alias in your environment" "$LINENO" 5
fi
# Ok.
:
else
- as_fn_error "newly created file is older than distributed files!
+ as_fn_error $? "newly created file is older than distributed files!
Check your system clock" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
set dummy ${ac_tool_prefix}strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
+if test "${ac_cv_prog_STRIP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$STRIP"; then
set dummy strip; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$ac_ct_STRIP"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
if test -z "$MKDIR_P"; then
- if test "${ac_cv_path_mkdir+set}" = set; then
+ if test "${ac_cv_path_mkdir+set}" = set; then :
$as_echo_n "(cached) " >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
fi
+ test -d ./--version && rmdir ./--version
if test "${ac_cv_path_mkdir+set}" = set; then
MKDIR_P="$ac_cv_path_mkdir -p"
else
# value for MKDIR_P within a source directory, because that will
# break other packages using the cache if that directory is
# removed, or if the value is a relative name.
- test -d ./--version && rmdir ./--version
MKDIR_P="$ac_install_sh -d"
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
$as_echo "$MKDIR_P" >&6; }
+
mkdir_p="$MKDIR_P"
case $mkdir_p in
[\\/$]* | ?:[\\/]*) ;;
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then
+if test "${ac_cv_prog_AWK+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$AWK"; then
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
cat >conftest.make <<\_ACEOF
all:
@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
case `${MAKE-make} -f conftest.make 2>/dev/null` in
*@@@%%%=?*=@@@%%%*)
eval ac_cv_prog_make_${ac_make}_set=yes;;
am__isrc=' -I$(srcdir)'
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
- as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
fi
fi
# Define the identity of the package.
PACKAGE='libidn'
- VERSION='1.15'
+ VERSION='1.23'
cat >>confdefs.h <<_ACEOF
-ac_config_headers="$ac_config_headers config.h"
-
-
-# Checks for programs.
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no) AM_DEFAULT_VERBOSITY=1;;
+*) AM_DEFAULT_VERBOSITY=0;;
esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+AM_BACKSLASH='\'
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
+# Library code modified: REVISION++
+# Interfaces changed/added/removed: CURRENT++ REVISION=0
+# Interfaces added: AGE++
+# Interfaces removed: AGE=0
+LT_CURRENT=17
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+LT_REVISION=6
+LT_AGE=6
-enable_win32_dll=yes
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AS+set}" = set; then
+if test "${ac_cv_prog_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AS="${ac_tool_prefix}as"
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
fi
fi
-AS=$ac_cv_prog_AS
-if test -n "$AS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
-$as_echo "$AS" >&6; }
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
-if test -z "$ac_cv_prog_AS"; then
- ac_ct_AS=$AS
- # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$ac_ct_AS"; then
- ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AS="as"
+ ac_cv_prog_ac_ct_CC="gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
fi
fi
-ac_ct_AS=$ac_cv_prog_ac_ct_AS
-if test -n "$ac_ct_AS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
-$as_echo "$ac_ct_AS" >&6; }
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- if test "x$ac_ct_AS" = x; then
- AS="false"
+ if test "x$ac_ct_CC" = x; then
+ CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
- AS=$ac_ct_AS
+ CC=$ac_ct_CC
fi
else
- AS="$ac_cv_prog_AS"
+ CC="$ac_cv_prog_CC"
fi
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DLLTOOL+set}" = set; then
+if test "${ac_cv_prog_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
fi
fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
+ fi
fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then
+if test "${ac_cv_prog_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
else
+ ac_prog_rejected=no
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
IFS=$as_save_IFS
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
fi
fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- if test "x$ac_ct_DLLTOOL" = x; then
- DLLTOOL="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- DLLTOOL=$ac_ct_DLLTOOL
- fi
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
+fi
+if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then
+if test "${ac_cv_prog_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
fi
fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
+ test -n "$CC" && break
+ done
fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
fi
fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
- OBJDUMP=$ac_ct_OBJDUMP
+ CC=$ac_ct_CC
fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
fi
- ;;
-esac
-
-test -z "$AS" && AS=as
-
-
-
-
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
+fi
-test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5 ; }
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+ac_rmfiles=
+for ac_file in $ac_files
do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
+rm -f $ac_rmfiles
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
done
- done
-IFS=$as_save_IFS
+test "$ac_cv_exeext" = no && ac_cv_exeext=
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
else
+ ac_file=''
+fi
+if test -z "$ac_file"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5 ; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
esac
- CC=$ac_ct_CC
- fi
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
else
- CC="$ac_cv_prog_CC"
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5 ; }
fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-{ { ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-{ { ac_try="$ac_compiler -v >&5"
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler -v >&5") 2>&5
+ (eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
-{ { ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler -V >&5") 2>&5
+ (eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5 ; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-if test -z "$ac_file"; then
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
-fi
-ac_exeext=$ac_cv_exeext
-
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
-fi
-rm -f conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
(eval "$ac_compile") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
+ test $ac_status = 0; }; then :
for ac_file in conftest.o conftest.obj conftest.*; do
test -f "$ac_file" || continue;
case $ac_file in
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5 ; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
ac_objext=$OBJEXT
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
+if test "${ac_cv_c_compiler_gnu+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
+if ac_fn_c_try_compile "$LINENO"; then :
ac_compiler_gnu=yes
else
ac_compiler_gnu=no
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
+if test "${ac_cv_prog_cc_g+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
+if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_prog_cc_g=yes
else
CFLAGS=""
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- :
+if ac_fn_c_try_compile "$LINENO"; then :
+
else
ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
+if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_prog_cc_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
+if test "${ac_cv_prog_cc_c89+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_cv_prog_cc_c89=no
-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then
+ if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_prog_cc_c89=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac
-if test "x$ac_cv_prog_cc_c89" != xno; then
- :
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
fi
ac_ext=c
rm -f confinc confmf
# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
+if test "${enable_dependency_tracking+set}" = set; then :
enableval=$enable_dependency_tracking;
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
fi
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
CPP=
fi
if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then
+ if test "${ac_cv_prog_CPP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
#endif
Syntax error
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then
- :
+if ac_fn_c_try_cpp "$LINENO"; then :
+
else
# Broken: fails on valid input.
continue
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then
+if ac_fn_c_try_cpp "$LINENO"; then :
# Broken: success on invalid input.
continue
else
ac_preproc_ok=:
break
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
break
fi
#endif
Syntax error
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then
- :
+if ac_fn_c_try_cpp "$LINENO"; then :
+
else
# Broken: fails on valid input.
continue
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then
+if ac_fn_c_try_cpp "$LINENO"; then :
# Broken: success on invalid input.
continue
else
ac_preproc_ok=:
break
fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5 ; }
fi
ac_ext=c
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
+if test "${ac_cv_path_GREP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -z "$GREP"; then
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_GREP"; then
- as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_GREP=$GREP
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
+if test "${ac_cv_path_EGREP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_EGREP"; then
- as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_EGREP=$EGREP
EGREP="$ac_cv_path_EGREP"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-int
-main ()
-{
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- ac_cv_header_stdc=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Minix Amsterdam compiler" >&5
+$as_echo_n "checking for Minix Amsterdam compiler... " >&6; }
+if test "${gl_cv_c_amsterdam_compiler+set}" = set; then :
+ $as_echo_n "(cached) " >&6
else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <string.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
+#ifdef __ACK__
+Amsterdam
+#endif
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
+ $EGREP "Amsterdam" >/dev/null 2>&1; then :
+ gl_cv_c_amsterdam_compiler=yes
else
- ac_cv_header_stdc=no
+ gl_cv_c_amsterdam_compiler=no
fi
rm -f conftest*
-fi
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_amsterdam_compiler" >&5
+$as_echo "$gl_cv_c_amsterdam_compiler" >&6; }
+ if test -z "$AR"; then
+ if test $gl_cv_c_amsterdam_compiler = yes; then
+ AR='cc -c.a'
+ if test -z "$ARFLAGS"; then
+ ARFLAGS='-o'
+ fi
+ else
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then :
+ $as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then
- :
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-fi
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-eval as_val=\$$as_ac_Header
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
fi
-
+if test -z "$ac_cv_prog_AR"; then
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AR="ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
done
+ done
+IFS=$as_save_IFS
-
-
-
-
- ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then
- MINIX=yes
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
else
- MINIX=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-
- if test "$MINIX" = yes; then
-
-$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
-
-
-$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
-
-
-$as_echo "#define _MINIX 1" >>confdefs.h
-
+ if test "x$ac_ct_AR" = x; then
+ AR="ar"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
fi
+else
+ AR="$ac_cv_prog_AR"
+fi
- case "$host_os" in
- hpux*)
-
-$as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h
-
- ;;
- esac
+ if test -z "$ARFLAGS"; then
+ ARFLAGS='cru'
+ fi
+ fi
+ else
+ if test -z "$ARFLAGS"; then
+ ARFLAGS='cru'
+ fi
+ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
-$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then
+ if test -z "$RANLIB"; then
+ if test $gl_cv_c_amsterdam_compiler = yes; then
+ RANLIB=':'
+ else
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-# define __EXTENSIONS__ 1
- $ac_includes_default
-int
-main ()
-{
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- ac_cv_safe_to_define___extensions__=yes
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
else
- ac_cv_safe_to_define___extensions__=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
-$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
- test $ac_cv_safe_to_define___extensions__ = yes &&
- $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
- $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+ fi
+ fi
- $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
- case $ac_cv_prog_cc_stdc in #(
- no) ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #(
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5
-$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
-if test "${ac_cv_prog_cc_c99+set}" = set; then
- $as_echo_n "(cached) " >&6
else
- ac_cv_prog_cc_c99=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdbool.h>
#include <stdlib.h>
-#include <wchar.h>
-#include <stdio.h>
-// Check varargs macros. These examples are taken from C99 6.10.3.5.
-#define debug(...) fprintf (stderr, __VA_ARGS__)
-#define showlist(...) puts (#__VA_ARGS__)
-#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
-static void
-test_varargs_macros (void)
-{
- int x = 1234;
- int y = 5678;
- debug ("Flag");
- debug ("X = %d\n", x);
- showlist (The first, second, and third items.);
- report (x>y, "x is %d but y is %d", x, y);
-}
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
-// Check long long types.
-#define BIG64 18446744073709551615ull
-#define BIG32 4294967295ul
-#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
-#if !BIG_OK
- your preprocessor is broken;
-#endif
-#if BIG_OK
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
#else
- your preprocessor is broken;
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
#endif
-static long long int bignum = -9223372036854775807LL;
-static unsigned long long int ubignum = BIG64;
-struct incomplete_array
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
{
- int datasize;
- double data[];
-};
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
-struct named_init {
- int number;
- const wchar_t *name;
- double average;
-};
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
-typedef const char *ccp;
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
-static inline int
-test_restrict (ccp restrict text)
-{
- // See if C++-style comments work.
- // Iterate through items via the restricted pointer.
- // Also check for declarations in for loops.
- for (unsigned int i = 0; *(text+i) != '\0'; ++i)
- continue;
- return 0;
-}
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-// Check varargs and va_copy.
-static void
-test_varargs (const char *format, ...)
-{
- va_list args;
- va_start (args, format);
- va_list args_copy;
- va_copy (args_copy, args);
+fi
- const char *str;
- int number;
- float fnumber;
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
- while (*format)
- {
- switch (*format++)
- {
- case 's': // string
- str = va_arg (args_copy, const char *);
- break;
- case 'd': // int
- number = va_arg (args_copy, int);
- break;
- case 'f': // float
- fnumber = va_arg (args_copy, double);
- break;
- default:
- break;
- }
- }
- va_end (args_copy);
- va_end (args);
-}
+fi
-int
-main ()
-{
+done
- // Check bool.
- _Bool success = false;
- // Check restrict.
- if (test_restrict ("String literal") == 0)
- success = true;
- char *restrict newvar = "Another string";
- // Check varargs.
- test_varargs ("s, d' f .", "string", 65, 34.234);
- test_varargs_macros ();
- // Check flexible array members.
- struct incomplete_array *ia =
- malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
- ia->datasize = 10;
- for (int i = 0; i < ia->datasize; ++i)
- ia->data[i] = i * 1.234;
- // Check named initializers.
- struct named_init ni = {
- .number = 34,
- .name = L"Test wide string",
- .average = 543.34343,
- };
+ ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
+if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+ MINIX=yes
+else
+ MINIX=
+fi
- ni.number = 58;
- int dynamic_array[ni.number];
- dynamic_array[ni.number - 1] = 543;
+ if test "$MINIX" = yes; then
- // work around unused variable warnings
- return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
- || dynamic_array[ni.number - 1] != 543);
+$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then
- ac_cv_prog_cc_c99=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c99" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c99" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c99"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
-$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c99" != xno; then
- ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
+$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+
+$as_echo "#define _MINIX 1" >>confdefs.h
+
+ fi
+
+ case "$host_os" in
+ hpux*)
+
+$as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h
+
+ ;;
+ esac
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
+# define __EXTENSIONS__ 1
+ $ac_includes_default
int
main ()
{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+
;
return 0;
}
_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then
- ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_safe_to_define___extensions__=yes
else
- ac_cv_prog_cc_stdc=no
-fi
-
+ ac_cv_safe_to_define___extensions__=no
fi
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5
-$as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; }
- if test "${ac_cv_prog_cc_stdc+set}" = set; then
- $as_echo_n "(cached) " >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+ test $ac_cv_safe_to_define___extensions__ = yes &&
+ $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
- case $ac_cv_prog_cc_stdc in #(
- no) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;; #(
- '') { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;; #(
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5
-$as_echo "$ac_cv_prog_cc_stdc" >&6; } ;;
-esac
-
-
+ $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+ $as_echo "#define _DARWIN_C_SOURCE 1" >>confdefs.h
+ $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+ $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
- if test -z "$AB_PACKAGE"; then
- AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE}
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild project... $AB_PACKAGE" >&5
-$as_echo "$as_me: autobuild project... $AB_PACKAGE" >&6;}
-
- if test -z "$AB_VERSION"; then
- AB_VERSION=${PACKAGE_VERSION:-$VERSION}
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild revision... $AB_VERSION" >&5
-$as_echo "$as_me: autobuild revision... $AB_VERSION" >&6;}
-
- hostname=`hostname`
- if test "$hostname"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild hostname... $hostname" >&5
-$as_echo "$as_me: autobuild hostname... $hostname" >&6;}
- fi
-
-
-
- date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ`
- if test "$?" != 0; then
- date=`date`
- fi
- if test "$date"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild timestamp... $date" >&5
-$as_echo "$as_me: autobuild timestamp... $date" >&6;}
- fi
-
-
-
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.2.6'
-macro_revision='1.3012'
+ $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+# Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then :
+ enableval=$enable_largefile;
+fi
+if test "$enable_largefile" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if test "${ac_cv_sys_largefile_CC+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_sys_largefile_CC=no
+ if test "$GCC" != yes; then
+ ac_save_CC=$CC
+ while :; do
+ # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+ if ac_fn_c_try_compile "$LINENO"; then :
+ break
+fi
+rm -f core conftest.err conftest.$ac_objext
+ CC="$CC -n32"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_largefile_CC=' -n32'; break
+fi
+rm -f core conftest.err conftest.$ac_objext
+ break
+ done
+ CC=$ac_save_CC
+ rm -f conftest.$ac_ext
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+ if test "$ac_cv_sys_largefile_CC" != no; then
+ CC=$CC$ac_cv_sys_largefile_CC
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if test "${ac_cv_sys_file_offset_bits+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
-ltmain="$ac_aux_dir/ltmain.sh"
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_file_offset_bits=no; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_file_offset_bits=64; break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_file_offset_bits=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ if test $ac_cv_sys_file_offset_bits = unknown; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+if test "${ac_cv_sys_large_files+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
- for ac_i in 1 2 3 4 5 6 7; do
- ac_script="$ac_script$as_nl$ac_script"
- done
- echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
- { ac_script=; unset ac_script;}
- if test -z "$SED"; then
- ac_path_SED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
- # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
- ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo '' >> "conftest.nl"
- "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_SED_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_SED="$ac_path_SED"
- ac_path_SED_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
- $ac_path_SED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_SED"; then
- as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
- fi
-else
- ac_cv_path_SED=$SED
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_large_files=no; break
fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#define _LARGE_FILES 1
+#include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sys_large_files=1; break
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
- rm -f conftest.sed
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_large_files=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+$as_echo "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ fi
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
+fi
+ case $ac_cv_prog_cc_stdc in #(
+ no) :
+ ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #(
+ *) :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5
+$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
+if test "${ac_cv_prog_cc_c99+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <wchar.h>
+#include <stdio.h>
+// Check varargs macros. These examples are taken from C99 6.10.3.5.
+#define debug(...) fprintf (stderr, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+ int x = 1234;
+ int y = 5678;
+ debug ("Flag");
+ debug ("X = %d\n", x);
+ showlist (The first, second, and third items.);
+ report (x>y, "x is %d but y is %d", x, y);
+}
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+ your preprocessor is broken;
+#endif
+#if BIG_OK
+#else
+ your preprocessor is broken;
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
+struct incomplete_array
+{
+ int datasize;
+ double data[];
+};
+struct named_init {
+ int number;
+ const wchar_t *name;
+ double average;
+};
+typedef const char *ccp;
+static inline int
+test_restrict (ccp restrict text)
+{
+ // See if C++-style comments work.
+ // Iterate through items via the restricted pointer.
+ // Also check for declarations in for loops.
+ for (unsigned int i = 0; *(text+i) != '\0'; ++i)
+ continue;
+ return 0;
+}
+// Check varargs and va_copy.
+static void
+test_varargs (const char *format, ...)
+{
+ va_list args;
+ va_start (args, format);
+ va_list args_copy;
+ va_copy (args_copy, args);
+ const char *str;
+ int number;
+ float fnumber;
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
+ while (*format)
+ {
+ switch (*format++)
+ {
+ case 's': // string
+ str = va_arg (args_copy, const char *);
+ break;
+ case 'd': // int
+ number = va_arg (args_copy, int);
+ break;
+ case 'f': // float
+ fnumber = va_arg (args_copy, double);
+ break;
+ default:
+ break;
+ }
+ }
+ va_end (args_copy);
+ va_end (args);
+}
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
+int
+main ()
+{
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
+ // Check bool.
+ _Bool success = false;
+ // Check restrict.
+ if (test_restrict ("String literal") == 0)
+ success = true;
+ char *restrict newvar = "Another string";
-test -z "$GREP" && GREP=grep
+ // Check varargs.
+ test_varargs ("s, d' f .", "string", 65, 34.234);
+ test_varargs_macros ();
+ // Check flexible array members.
+ struct incomplete_array *ia =
+ malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+ ia->datasize = 10;
+ for (int i = 0; i < ia->datasize; ++i)
+ ia->data[i] = i * 1.234;
+ // Check named initializers.
+ struct named_init ni = {
+ .number = 34,
+ .name = L"Test wide string",
+ .average = 543.34343,
+ };
+ ni.number = 58;
+ int dynamic_array[ni.number];
+ dynamic_array[ni.number - 1] = 543;
+ // work around unused variable warnings
+ return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
+ || dynamic_array[ni.number - 1] != 543);
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c99" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c99"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c99" != xno; then :
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+ ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+else
+ ac_cv_prog_cc_stdc=no
+fi
+fi
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5
+$as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; }
+ if test "${ac_cv_prog_cc_stdc+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+fi
+ case $ac_cv_prog_cc_stdc in #(
+ no) :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;; #(
+ '') :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;; #(
+ *) :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5
+$as_echo "$ac_cv_prog_cc_stdc" >&6; } ;;
+esac
+ # Code from module alloca-opt:
+ # Code from module alloca-opt-tests:
+ # Code from module autobuild:
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then
+ if test -z "$AB_PACKAGE"; then
+ AB_PACKAGE=${PACKAGE_NAME:-$PACKAGE}
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild project... $AB_PACKAGE" >&5
+$as_echo "$as_me: autobuild project... $AB_PACKAGE" >&6;}
+
+ if test -z "$AB_VERSION"; then
+ AB_VERSION=${PACKAGE_VERSION:-$VERSION}
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild revision... $AB_VERSION" >&5
+$as_echo "$as_me: autobuild revision... $AB_VERSION" >&6;}
+
+ hostname=`hostname`
+ if test "$hostname"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild hostname... $hostname" >&5
+$as_echo "$as_me: autobuild hostname... $hostname" >&6;}
+ fi
+
+
+
+ date=`TZ=UTC0 date +%Y%m%dT%H%M%SZ`
+ if test "$?" != 0; then
+ date=`date`
+ fi
+ if test "$date"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: autobuild timestamp... $date" >&5
+$as_echo "$as_me: autobuild timestamp... $date" >&6;}
+ fi
+
+ # Code from module binary-io:
+ # Code from module close:
+ # Code from module close-tests:
+ # Code from module csharpcomp-script:
+ # Code from module csharpexec-script:
+ # Code from module dosname:
+ # Code from module dup2:
+ # Code from module dup2-tests:
+ # Code from module environ:
+ # Code from module environ-tests:
+ # Code from module errno:
+ # Code from module errno-tests:
+ # Code from module error:
+ # Code from module extensions:
+
+ # Code from module fcntl-h:
+ # Code from module fd-hook:
+ # Code from module fdl-1.3:
+ # Code from module fdopen:
+ # Code from module fdopen-tests:
+ # Code from module fgetc-tests:
+ # Code from module fputc-tests:
+ # Code from module fread-tests:
+ # Code from module fstat:
+ # Code from module fstat-tests:
+ # Code from module fwrite-tests:
+ # Code from module gendocs:
+ # Code from module getcwd-lgpl:
+ # Code from module getcwd-lgpl-tests:
+ # Code from module getopt-gnu:
+ # Code from module getopt-posix:
+ # Code from module getopt-posix-tests:
+ # Code from module gettext-h:
+ # Code from module gnumakefile:
+ # Code from module gnupload:
+ # Code from module gpl-3.0:
+ # Code from module ignore-value:
+ # Code from module ignore-value-tests:
+ # Code from module include_next:
+ # Code from module intprops:
+ # Code from module intprops-tests:
+ # Code from module inttypes:
+ # Code from module inttypes-incomplete:
+ # Code from module inttypes-tests:
+ # Code from module largefile:
+
+ # Code from module lgpl-2.1:
+ # Code from module lstat:
+ # Code from module lstat-tests:
+ # Code from module maintainer-makefile:
+ # Code from module malloc-posix:
+ # Code from module malloca:
+ # Code from module malloca-tests:
+ # Code from module manywarnings:
+ # Code from module msvc-inval:
+ # Code from module msvc-nothrow:
+ # Code from module multiarch:
+ # Code from module nocrash:
+ # Code from module open:
+ # Code from module open-tests:
+ # Code from module pathmax:
+ # Code from module pathmax-tests:
+ # Code from module pmccabe2html:
+ # Code from module progname:
+ # Code from module putenv:
+ # Code from module same-inode:
+ # Code from module setenv:
+ # Code from module setenv-tests:
+ # Code from module snippet/_Noreturn:
+ # Code from module snippet/arg-nonnull:
+ # Code from module snippet/c++defs:
+ # Code from module snippet/warn-on-use:
+ # Code from module ssize_t:
+ # Code from module stat:
+ # Code from module stat-tests:
+ # Code from module stdarg:
+
+
+
+ # Code from module stdbool:
+ # Code from module stdbool-tests:
+ # Code from module stddef:
+ # Code from module stddef-tests:
+ # Code from module stdint:
+ # Code from module stdint-tests:
+ # Code from module stdio:
+ # Code from module stdio-tests:
+ # Code from module stdlib:
+ # Code from module strerror:
+ # Code from module strerror-override:
+ # Code from module strerror-tests:
+ # Code from module string:
+ # Code from module symlink:
+ # Code from module symlink-tests:
+ # Code from module sys_stat:
+ # Code from module time:
+ # Code from module unistd:
+ # Code from module unsetenv:
+ # Code from module unsetenv-tests:
+ # Code from module update-copyright:
+ # Code from module useless-if-before-free:
+ # Code from module valgrind-tests:
+ # Code from module vc-list-files:
+ # Code from module vc-list-files-tests:
+ # Code from module verify:
+ # Code from module verify-tests:
+ # Code from module version-etc:
+ # Code from module version-etc-fsf:
+ # Code from module version-etc-tests:
+ # Code from module warnings:
+ # Code from module wchar:
+
+if test "x$CC" != xcc; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
+$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
+$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
+fi
+set dummy $CC; ac_cc=`$as_echo "$2" |
+ sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+# Make sure it works both with $CC and with simple cc.
+# We do the test twice because some compilers refuse to overwrite an
+# existing .o file with -o, though they will create one.
+ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+rm -f conftest2.*
+if { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } &&
+ test -f conftest2.$ac_objext && { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; };
+then
+ eval ac_cv_prog_cc_${ac_cc}_c_o=yes
+ if test "x$CC" != xcc; then
+ # Test first that cc exists at all.
+ if { ac_try='cc -c conftest.$ac_ext >&5'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
+ rm -f conftest2.*
+ if { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } &&
+ test -f conftest2.$ac_objext && { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; };
+ then
+ # cc works too.
+ :
+ else
+ # cc exists but doesn't like -o.
+ eval ac_cv_prog_cc_${ac_cc}_c_o=no
+ fi
fi
- done
- IFS="$lt_save_ifs"
+ fi
else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
+ eval ac_cv_prog_cc_${ac_cc}_c_o=no
fi
+rm -f core conftest*
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
+fi
+if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
+
+$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
+
fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
+
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
+if test "$am_t" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
+ # Check whether --enable-threads was given.
+if test "${enable_threads+set}" = set; then :
+ enableval=$enable_threads; gl_use_threads=$enableval
+else
+ if test -n "$gl_use_threads_default"; then
+ gl_use_threads="$gl_use_threads_default"
+ else
+ case "$host_os" in
+ osf*) gl_use_threads=no ;;
+ cygwin*)
+ case `uname -r` in
+ 1.[0-5].*) gl_use_threads=no ;;
+ *) gl_use_threads=yes ;;
+ esac
+ ;;
+ *) gl_use_threads=yes ;;
+ esac
+ fi
+fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
+ 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
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
+
+
+
+
+ # Code from module alloca-opt:
+ # Code from module alloca-opt-tests:
+ # Code from module c-ctype:
+ # Code from module c-ctype-tests:
+ # Code from module c-strcase:
+ # Code from module c-strcase-tests:
+ # Code from module environ:
+ # Code from module environ-tests:
+ # Code from module extensions:
+
+ # Code from module gettext-h:
+ # Code from module gperf:
+ # Code from module havelib:
+ # Code from module iconv:
+ # Code from module iconv-h:
+ # Code from module iconv-tests:
+ # Code from module iconv_open:
+ # Code from module include_next:
+ # Code from module inline:
+ # Code from module intprops:
+ # Code from module intprops-tests:
+ # Code from module inttypes:
+ # Code from module inttypes-incomplete:
+ # Code from module inttypes-tests:
+ # Code from module lib-msvc-compat:
+ # Code from module lib-symbol-versions:
+ # Code from module lib-symbol-visibility:
+ # Code from module locale:
+ # Code from module locale-tests:
+ # Code from module localename:
+ # Code from module localename-tests:
+ # Code from module lock:
+ # Code from module lock-tests:
+ # Code from module malloc-posix:
+ # Code from module malloca:
+ # Code from module malloca-tests:
+ # Code from module multiarch:
+ # Code from module putenv:
+ # Code from module setenv:
+ # Code from module setenv-tests:
+ # Code from module setlocale:
+ # Code from module setlocale-tests:
+ # Code from module snippet/_Noreturn:
+ # Code from module snippet/arg-nonnull:
+ # Code from module snippet/c++defs:
+ # Code from module snippet/unused-parameter:
+ # Code from module snippet/warn-on-use:
+ # Code from module ssize_t:
+ # Code from module stdbool:
+ # Code from module stdbool-tests:
+ # Code from module stddef:
+ # Code from module stddef-tests:
+ # Code from module stdint:
+ # Code from module stdint-tests:
+ # Code from module stdlib:
+ # Code from module stdlib-tests:
+ # Code from module striconv:
+ # Code from module striconv-tests:
+ # Code from module string:
+ # Code from module strverscmp:
+ # Code from module strverscmp-tests:
+ # Code from module thread:
+ # Code from module thread-tests:
+ # Code from module threadlib:
+
+
+
+ # Code from module unistd:
+ # Code from module unistd-tests:
+ # Code from module unistr/base:
+ # Code from module unistr/u8-mbtoucr:
+ # Code from module unistr/u8-mbtoucr-tests:
+ # Code from module unistr/u8-uctomb:
+ # Code from module unistr/u8-uctomb-tests:
+ # Code from module unitypes:
+ # Code from module unsetenv:
+ # Code from module unsetenv-tests:
+ # Code from module verify:
+ # Code from module verify-tests:
+ # Code from module wchar:
+ # Code from module yield:
+
+
+# For DEF file.
+DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}`
+
+
+# We can't replace this with LT_INIT([win32-dll]) yet. For example,
+# the Ubuntu 8.04 LTS is still shipping a libtool version that doesn't
+# have it.
+enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
if test -n "$ac_tool_prefix"; then
- for ac_prog in "dumpbin -symbols" "link -dump -symbols"
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then
+if test "${ac_cv_prog_AS+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$DUMPBIN"; then
- ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+ ac_cv_prog_AS="${ac_tool_prefix}as"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
fi
fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
+$as_echo "$AS" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- test -n "$DUMPBIN" && break
- done
fi
-if test -z "$DUMPBIN"; then
- ac_ct_DUMPBIN=$DUMPBIN
- for ac_prog in "dumpbin -symbols" "link -dump -symbols"
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
+if test -z "$ac_cv_prog_AS"; then
+ ac_ct_AS=$AS
+ # Extract the first word of "as", so it can be a program name with args.
+set dummy as; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
+if test "${ac_cv_prog_ac_ct_AS+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$ac_ct_DUMPBIN"; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+ if test -n "$ac_ct_AS"; then
+ ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+ ac_cv_prog_ac_ct_AS="as"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
fi
fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
+ac_ct_AS=$ac_cv_prog_ac_ct_AS
+if test -n "$ac_ct_AS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
+$as_echo "$ac_ct_AS" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
-
- test -n "$ac_ct_DUMPBIN" && break
-done
-
- if test "x$ac_ct_DUMPBIN" = x; then
- DUMPBIN=":"
+ if test "x$ac_ct_AS" = x; then
+ AS="false"
else
case $cross_compiling:$ac_tool_warned in
yes:)
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
- DUMPBIN=$ac_ct_DUMPBIN
+ AS=$ac_ct_AS
fi
+else
+ AS="$ac_cv_prog_AS"
fi
-
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DLLTOOL"; then
+ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
fi
-fi
-test -z "$NM" && NM=nm
+done
+ done
+IFS=$as_save_IFS
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+ ac_ct_DLLTOOL=$DLLTOOL
+ # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DLLTOOL"; then
+ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+ if test "x$ac_ct_DLLTOOL" = x; then
+ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DLLTOOL=$ac_ct_DLLTOOL
+ fi
+else
+ DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:6154: $ac_compile\"" >&5)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&5
- (eval echo "\"\$as_me:6157: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&5
- (eval echo "\"\$as_me:6160: output\"" >&5)
- cat conftest.out >&5
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
fi
- rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
+done
+ done
+IFS=$as_save_IFS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- i=0
- teststring="ABCD"
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
+ ;;
+esac
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
+test -z "$AS" && AS=as
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
- = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-fi
-if test -n $lt_cv_sys_max_cmd_len ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$OBJDUMP" && OBJDUMP=objdump
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
+case `pwd` in
+ *\ * | *\ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+macro_version='2.2.10'
+macro_revision='1.3175'
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- lt_cv_ld_reload_flag='-r'
+
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`print -r -- -n 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
- else
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- fi
- ;;
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO ""
+}
+
+case "$ECHO" in
+ printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+ print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+ *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
esac
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${ac_cv_path_SED+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$OBJDUMP"; then
- ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ { ac_script=; unset ac_script;}
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
done
-IFS=$as_save_IFS
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
+ $ac_path_SED_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ ac_cv_path_SED=$SED
fi
-
fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
- ac_ct_OBJDUMP=$OBJDUMP
- # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OBJDUMP"; then
- ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OBJDUMP="objdump"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
- if test "x$ac_ct_OBJDUMP" = x; then
- OBJDUMP="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OBJDUMP=$ac_ct_OBJDUMP
- fi
-else
- OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-test -z "$OBJDUMP" && OBJDUMP=objdump
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if test "${ac_cv_path_FGREP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
+ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+ then ac_cv_path_FGREP="$GREP -F"
+ else
+ if test -z "$FGREP"; then
+ ac_path_FGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in fgrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+ # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'FGREP' >> "conftest.nl"
+ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_FGREP="$ac_path_FGREP"
+ ac_path_FGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
-case $host_os in
-aix[4-9]*)
- lt_cv_deplibs_check_method=pass_all
- ;;
+ $ac_path_FGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_FGREP"; then
+ as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_FGREP=$FGREP
+fi
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
-bsdi[45]*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-cygwin*)
- # func_win32_libid is a shell function defined in ltmain.sh
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- ;;
+test -z "$GREP" && GREP=grep
-mingw* | pw32*)
- # Base MSYS/MinGW do not provide the 'file' command needed by
- # func_win32_libid shell function, so use a weaker test based on 'objdump',
- # unless we find 'file', for example because we are cross-compiling.
- if ( file / ) >/dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-cegcc)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-interix[3-9]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
- ;;
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
- fi
- ;;
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
- fi
- ;;
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
;;
- pc)
- lt_cv_deplibs_check_method=pass_all
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
;;
esac
- ;;
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
-tpf*)
- lt_cv_deplibs_check_method=pass_all
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
;;
esac
-
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if test "${lt_cv_path_NM+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in dumpbin "link -dump"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then
+if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
+ if test -n "$DUMPBIN"; then
+ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
+ ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
fi
fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
+ test -n "$DUMPBIN" && break
+ done
fi
-if test -z "$ac_cv_prog_AR"; then
- ac_ct_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
+if test -z "$DUMPBIN"; then
+ ac_ct_DUMPBIN=$DUMPBIN
+ for ac_prog in dumpbin "link -dump"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+ if test -n "$ac_ct_DUMPBIN"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_AR="ar"
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
fi
fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- if test "x$ac_ct_AR" = x; then
- AR="false"
+
+ test -n "$ac_ct_DUMPBIN" && break
+done
+
+ if test "x$ac_ct_DUMPBIN" = x; then
+ DUMPBIN=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
- AR=$ac_ct_AR
+ DUMPBIN=$ac_ct_DUMPBIN
fi
-else
- AR="$ac_cv_prog_AR"
fi
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-
-
-
-
+ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if test "${lt_cv_nm_interface+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
fi
-done
- done
-IFS=$as_save_IFS
-
-fi
+ rm -f conftest*
fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
fi
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_STRIP="strip"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+ i=0
+ teststring="ABCD"
- if test "x$ac_ct_STRIP" = x; then
- STRIP=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
-test -z "$STRIP" && STRIP=:
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-test -z "$RANLIB" && RANLIB=:
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
fi
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if test "${lt_cv_ld_reload_flag+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+test -z "$OBJDUMP" && OBJDUMP=objdump
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if test "${lt_cv_deplibs_check_method+set}" = set; then :
$as_echo_n "(cached) " >&6
else
+ lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
+case $host_os in
+aix[4-9]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[BCDT]'
+bsdi[45]*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[ABCDGISTW]'
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[ABCDEGRST]'
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+ if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-irix* | nonstopux*)
- symcode='[BCDEGRST]'
- ;;
-osf*)
- symcode='[BCDEGQRST]'
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
;;
-solaris*)
- symcode='[BDRT]'
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
;;
-sco3.2v5*)
- symcode='[DT]'
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
;;
-sysv4.2uw2*)
- symcode='[DT]'
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[ABDT]'
+
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
;;
-sysv4)
- symcode='[DFNSTU]'
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
;;
-esac
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[ABCDGIRSTW]' ;;
-esac
+interix[3-9]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+ ;;
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+ fi
;;
-esac
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK '"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx"
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
fi
+ ;;
- # Check to see that the pipe works correctly.
- pipe_works=no
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5
- (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
- cat <<_LT_EOF >> conftest.$ac_ext
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
-/* The mapping between symbol names and symbols. */
-const struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_save_LIBS="$LIBS"
- lt_save_CFLAGS="$CFLAGS"
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS="$lt_save_LIBS"
- CFLAGS="$lt_save_CFLAGS"
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&5
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
- fi
- else
- echo "$progname: failed program was:" >&5
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
fi
done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
fi
+if test -z "$ac_cv_prog_AR"; then
+ ac_ct_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AR="ar"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+else
+ AR="$ac_cv_prog_AR"
fi
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+test -z "$STRIP" && STRIP=:
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval=$enable_libtool_lock;
-fi
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line 7362 "configure"' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- lt_cv_cc_needs_belf=yes
-else
- lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-
- case $host_os in
- rhapsody* | darwin*)
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$DSYMUTIL"; then
- ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
fi
done
done
fi
fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
- ac_ct_DSYMUTIL=$DSYMUTIL
- # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$ac_ct_DSYMUTIL"; then
- ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
fi
fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- if test "x$ac_ct_DSYMUTIL" = x; then
- DSYMUTIL=":"
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
- DSYMUTIL=$ac_ct_DSYMUTIL
+ RANLIB=$ac_ct_RANLIB
fi
else
- DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+ RANLIB="$ac_cv_prog_RANLIB"
fi
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$NMEDIT"; then
- ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
+test -z "$RANLIB" && RANLIB=:
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
- ac_ct_NMEDIT=$NMEDIT
- # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_NMEDIT"; then
- ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_NMEDIT="nmedit"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
fi
- if test "x$ac_ct_NMEDIT" = x; then
- NMEDIT=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
esac
- NMEDIT=$ac_ct_NMEDIT
- fi
-else
- NMEDIT="$ac_cv_prog_NMEDIT"
-fi
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$LIPO"; then
- ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-fi
-if test -z "$ac_cv_prog_LIPO"; then
- ac_ct_LIPO=$LIPO
- # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_LIPO"; then
- ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_LIPO="lipo"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
- if test "x$ac_ct_LIPO" = x; then
- LIPO=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- LIPO=$ac_ct_LIPO
- fi
-else
- LIPO="$ac_cv_prog_LIPO"
-fi
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL"; then
- ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
- ac_ct_OTOOL=$OTOOL
- # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL"; then
- ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL="otool"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
- if test "x$ac_ct_OTOOL" = x; then
- OTOOL=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL=$ac_ct_OTOOL
- fi
-else
- OTOOL="$ac_cv_prog_OTOOL"
-fi
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$OTOOL64"; then
- ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
- ac_ct_OTOOL64=$OTOOL64
- # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_OTOOL64"; then
- ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_OTOOL64="otool64"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
- if test "x$ac_ct_OTOOL64" = x; then
- OTOOL64=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- OTOOL64=$ac_ct_OTOOL64
- fi
-else
- OTOOL64="$ac_cv_prog_OTOOL64"
-fi
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+# Allow CC to be a program name with arguments.
+compiler=$CC
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&5
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- lt_cv_ld_exported_symbols_list=yes
-else
- lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
- case $host_os in
- rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
-for ac_header in dlfcn.h
-do
- ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-fi
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[BCDT]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[ABCDEGRST]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[BCDEGRST]'
+ ;;
+osf*)
+ symcode='[BCDEGQRST]'
+ ;;
+solaris*)
+ symcode='[BDRT]'
+ ;;
+sco3.2v5*)
+ symcode='[DT]'
+ ;;
+sysv4.2uw2*)
+ symcode='[DT]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[ABDT]'
+ ;;
+sysv4)
+ symcode='[DFNSTU]'
+ ;;
+esac
-done
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[ABCDGIRSTW]' ;;
+esac
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-# Set options
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
- enable_dlopen=no
-
-
-
- # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then
- enableval=$enable_shared; p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_shared=yes
-fi
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK '"\
+" {last_section=section; section=\$ 3};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
+ (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+ cat <<_LT_EOF >> conftest.$ac_ext
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
- # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then
- enableval=$enable_static; p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
-else
- enable_static=yes
-fi
-
-
-
-
-
-
-
-
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+ fi
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then
- withval=$with_pic; pic_mode="$withval"
-else
- pic_mode=default
fi
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
- # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
- enableval=$enable_fast_install; p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
else
- enable_fast_install=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
fi
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+ enableval=$enable_libtool_lock;
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-
-
-
-
-
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if test "${lt_cv_cc_needs_belf+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_cc_needs_belf=yes
+else
+ lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
fi
+ rm -rf conftest*
;;
esac
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
+need_locks="$enable_libtool_lock"
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
+IFS=$as_save_IFS
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- case $MAGIC_CMD in
-[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac
-fi
+IFS=$as_save_IFS
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
-
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
else
- MAGIC_CMD=:
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ NMEDIT=$ac_ct_NMEDIT
fi
+else
+ NMEDIT="$ac_cv_prog_NMEDIT"
fi
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_LIPO+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LIPO"; then
+ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
+done
+ done
+IFS=$as_save_IFS
-lt_prog_compiler_no_builtin_flag=
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
-if test "$GCC" = yes; then
- lt_prog_compiler_no_builtin_flag=' -fno-builtin'
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+ ac_ct_LIPO=$LIPO
+ # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- lt_cv_prog_compiler_rtti_exceptions=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8622: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:8626: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_rtti_exceptions=yes
- fi
- fi
- $RM conftest*
+ if test -n "$ac_ct_LIPO"; then
+ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_LIPO="lipo"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
else
- :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
+ if test "x$ac_ct_LIPO" = x; then
+ LIPO=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ LIPO=$ac_ct_LIPO
+ fi
+else
+ LIPO="$ac_cv_prog_LIPO"
fi
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL"; then
+ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+ ac_ct_OTOOL=$OTOOL
+ # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL"; then
+ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OTOOL="otool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_static='-static'
+ if test "x$ac_ct_OTOOL" = x; then
+ OTOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL=$ac_ct_OTOOL
+ fi
+else
+ OTOOL="$ac_cv_prog_OTOOL"
+fi
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL64"; then
+ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- lt_prog_compiler_pic='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+ ac_ct_OTOOL64=$OTOOL64
+ # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL64"; then
+ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OTOOL64="otool64"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- lt_prog_compiler_pic='-fno-common'
- ;;
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- ;;
+ if test "x$ac_ct_OTOOL64" = x; then
+ OTOOL64=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL64=$ac_ct_OTOOL64
+ fi
+else
+ OTOOL64="$ac_cv_prog_OTOOL64"
+fi
- interix[3-9]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- lt_prog_compiler_can_build_shared=no
- enable_shared=no
- ;;
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- lt_prog_compiler_pic=-Kconform_pic
- fi
- ;;
- *)
- lt_prog_compiler_pic='-fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_prog_compiler_static='-Bstatic'
- else
- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- lt_prog_compiler_pic='-DDLL_EXPORT'
- ;;
- hpux9* | hpux10* | hpux11*)
- lt_prog_compiler_wl='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- lt_prog_compiler_pic='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
- ;;
- irix5* | irix6* | nonstopux*)
- lt_prog_compiler_wl='-Wl,'
- # PIC (with -KPIC) is the default.
- lt_prog_compiler_static='-non_shared'
- ;;
- linux* | k*bsd*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fPIC'
- lt_prog_compiler_static='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-fpic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- ccc*)
- lt_prog_compiler_wl='-Wl,'
- # All Alpha code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- xl*)
- # IBM XL C 8.0/Fortran 10.1 on PPC
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-qpic'
- lt_prog_compiler_static='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl='-Wl,'
- ;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- lt_prog_compiler_wl=''
- ;;
- esac
- ;;
- esac
- ;;
- newsos6)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- lt_prog_compiler_pic='-fPIC -shared'
- ;;
- osf3* | osf4* | osf5*)
- lt_prog_compiler_wl='-Wl,'
- # All OSF/1 code is PIC.
- lt_prog_compiler_static='-non_shared'
- ;;
- rdos*)
- lt_prog_compiler_static='-non_shared'
- ;;
-
- solaris*)
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
- esac
- ;;
- sunos4*)
- lt_prog_compiler_wl='-Qoption ld '
- lt_prog_compiler_pic='-PIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- sysv4 | sysv4.2uw2* | sysv4.3*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- sysv4*MP*)
- if test -d /usr/nec ;then
- lt_prog_compiler_pic='-Kconform_pic'
- lt_prog_compiler_static='-Bstatic'
- fi
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- ;;
- unicos*)
- lt_prog_compiler_wl='-Wl,'
- lt_prog_compiler_can_build_shared=no
- ;;
- uts4*)
- lt_prog_compiler_pic='-pic'
- lt_prog_compiler_static='-Bstatic'
- ;;
- *)
- lt_prog_compiler_can_build_shared=no
- ;;
- esac
- fi
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- lt_prog_compiler_pic=
- ;;
- *)
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
-$as_echo "$lt_prog_compiler_pic" >&6; }
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- lt_cv_prog_compiler_pic_works=no
- ac_outfile=conftest.$ac_objext
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8961: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
- echo "$as_me:8965: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_pic_works=yes
- fi
- fi
- $RM conftest*
+ lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_ld_exported_symbols_list=yes
+else
+ lt_cv_ld_exported_symbols_list=no
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
- case $lt_prog_compiler_pic in
- "" | " "*) ;;
- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
- esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if test "${lt_cv_ld_force_load+set}" = set; then :
+ $as_echo_n "(cached) " >&6
else
- lt_prog_compiler_pic=
- lt_prog_compiler_can_build_shared=no
+ lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
+ echo "$RANLIB libconftest.a" >&5
+ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[012]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
+for ac_header in dlfcn.h
+do :
+ ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
fi
+done
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&5
- $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_static_works=yes
- fi
- else
- lt_cv_prog_compiler_static_works=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
+# Set options
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
- :
+
+ enable_dlopen=no
+
+
+
+ # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+ enableval=$enable_shared; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
else
- lt_prog_compiler_static=
+ enable_shared=yes
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:9066: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:9070: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
+ # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+ enableval=$enable_static; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_static=yes
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- lt_cv_prog_compiler_c_o=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:9121: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
- echo "$as_me:9125: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- lt_cv_prog_compiler_c_o=yes
- fi
- fi
- chmod u+w . 2>&5
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+ withval=$with_pic; pic_mode="$withval"
+else
+ pic_mode=default
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+test -z "$pic_mode" && pic_mode=default
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
- need_locks=warn
- fi
+
+
+
+
+
+ # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+ enableval=$enable_fast_install; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
else
- need_locks=no
+ enable_fast_install=yes
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
- runpath_var=
- allow_undefined_flag=
- always_export_symbols=no
- archive_cmds=
- archive_expsym_cmds=
- compiler_needs_object=no
- enable_shared_with_static_runtimes=no
- export_dynamic_flag_spec=
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- hardcode_automatic=no
- hardcode_direct=no
- hardcode_direct_absolute=no
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld=
- hardcode_libdir_separator=
- hardcode_minus_L=no
- hardcode_shlibpath_var=unsupported
- inherit_rpath=no
- link_all_deplibs=unknown
- module_cmds=
- module_expsym_cmds=
- old_archive_from_new_cmds=
- old_archive_from_expsyms_cmds=
- thread_safe_flag_spec=
- whole_archive_flag_spec=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- include_expsyms=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
- extract_expsyms_cmds=
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
- ld_shlibs=yes
- if test "$with_gnu_ld" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- whole_archive_flag_spec=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[3-9]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-_LT_EOF
- fi
- ;;
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- allow_undefined_flag=unsupported
- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
- # as there is no search path for DLLs.
- hardcode_libdir_flag_spec='-L$libdir'
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- ld_shlibs=no
- fi
- ;;
- interix[3-9]*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- gnu* | linux* | tpf* | k*bsd*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- whole_archive_flag_spec=
- tmp_sharedflag='--shared' ;;
- xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
- compiler_needs_object=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- case $cc_basename in
- xlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
- archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- ld_shlibs=no
- fi
- ;;
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
- ld_shlibs=no
- cat <<_LT_EOF 1>&2
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- ;;
- sunos4*)
- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
- ;;
- esac
- if test "$ld_shlibs" = no; then
- runpath_var=
- hardcode_libdir_flag_spec=
- export_dynamic_flag_spec=
- whole_archive_flag_spec=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- allow_undefined_flag=unsupported
- always_export_symbols=yes
- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- hardcode_direct=unsupported
- fi
- ;;
- aix[4-9]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
- archive_cmds=''
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- file_list_spec='${wl}-f,'
- if test "$GCC" = yes; then
- case $host_os in aix4.[012]|aix4.[012].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
- export_dynamic_flag_spec='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+test -z "$LN_S" && LN_S="ln -s"
-int
-main ()
-{
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int
-main ()
-{
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
-lt_aix_libpath_sed='
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\(.*\)$/\1/
- p
- }
- }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec='$convenience'
- archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds=''
- ;;
- m68k)
- archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- ;;
- esac
- ;;
- bsdi[45]*)
- export_dynamic_flag_spec=-rdynamic
- ;;
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- hardcode_libdir_flag_spec=' '
- allow_undefined_flag=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- old_archive_from_new_cmds='true'
- # FIXME: Should let the user specify the lib program.
- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
- fix_srcfile_path='`cygpath -w "$srcfile"`'
- enable_shared_with_static_runtimes=yes
- ;;
- darwin* | rhapsody*)
- archive_cmds_need_lc=no
- hardcode_direct=no
- hardcode_automatic=yes
- hardcode_shlibpath_var=unsupported
- whole_archive_flag_spec=''
- link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=echo
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
- else
- ld_shlibs=no
- fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if test "${lt_cv_objdir+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
- ;;
- dgux*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
- freebsd1*)
- ld_shlibs=no
- ;;
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
- hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
- ;;
- hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_flag_spec_ld='+b $libdir'
- hardcode_libdir_separator=:
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- fi
- ;;
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
- hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
- hardcode_libdir_separator=:
+# Global variables:
+ofile=libtool
+can_build_shared=yes
- case $host_cpu in
- hppa*64*|ia64*)
- hardcode_direct=no
- hardcode_shlibpath_var=no
- ;;
- *)
- hardcode_direct=yes
- hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- hardcode_minus_L=yes
- ;;
- esac
- fi
- ;;
+with_gnu_ld="$lt_cv_prog_gnu_ld"
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int foo(void) {}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- inherit_rpath=yes
- link_all_deplibs=yes
- ;;
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
+for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
- newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- hardcode_shlibpath_var=no
- ;;
- *nto* | *qnx*)
- ;;
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/${ac_tool_prefix}file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
- else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- ld_shlibs=no
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
fi
- ;;
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
- os2*)
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_minus_L=yes
- allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
- osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- hardcode_libdir_separator=:
- ;;
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
- # Both c and cxx compiler support -rpath directly
- hardcode_libdir_flag_spec='-rpath $libdir'
- fi
- archive_cmds_need_lc='no'
- hardcode_libdir_separator=:
- ;;
- solaris*)
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_shlibpath_var=no
- case $host_os in
- solaris2.[0-5] | solaris2.[0-5].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- link_all_deplibs=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_minus_L=yes
- hardcode_shlibpath_var=no
- ;;
- sysv4)
- case $host_vendor in
- sni)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- reload_cmds='$CC -r -o $output$reload_objs'
- hardcode_direct=no
- ;;
- motorola)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- hardcode_shlibpath_var=no
- ;;
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
- sysv4.3*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- export_dynamic_flag_spec='-Bexport'
- ;;
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
- sysv4*MP*)
- if test -d /usr/nec; then
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_shlibpath_var=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- ld_shlibs=yes
+_LT_EOF
+ fi ;;
+ esac
fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
- archive_cmds_need_lc=no
- hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
- hardcode_libdir_separator=':'
- link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
-
- *)
- ld_shlibs=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
- # Assume -lc should be added
- archive_cmds_need_lc=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $archive_cmds in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl
- pic_flag=$lt_prog_compiler_pic
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag
- allow_undefined_flag=
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
- (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- then
- archive_cmds_need_lc=no
- else
- archive_cmds_need_lc=yes
- fi
- allow_undefined_flag=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5
-$as_echo "$archive_cmds_need_lc" >&6; }
- ;;
- esac
- fi
- ;;
-esac
-
-
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+ else
+ MAGIC_CMD=:
+ fi
+fi
+ fi
+ ;;
+esac
+# Use C for the default configuration in the libtool script
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+# Source file extension for C test sources.
+ac_ext=c
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+# Allow CC to be a program name with arguments.
+compiler=$CC
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+lt_prog_compiler_no_builtin_flag=
+if test "$GCC" = yes; then
+ case $cc_basename in
+ nvcc*)
+ lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+ *)
+ lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_rtti_exceptions=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-fno-rtti -fno-exceptions"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_rtti_exceptions=yes
+ fi
+ fi
+ $RM conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+ :
+fi
+fi
+ lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_static='-static'
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ ;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ lt_prog_compiler_static=
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ ;;
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared=no
+ enable_shared=no
+ ;;
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic=-Kconform_pic
+ fi
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ lt_prog_compiler_wl='-Xlinker '
+ lt_prog_compiler_pic='-Xcompiler -fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ lt_prog_compiler_wl='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ else
+ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static='${wl}-a ${wl}archive'
+ ;;
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-qpic'
+ lt_prog_compiler_static='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ F* | *Sun*Fortran*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl=''
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Wl,'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ newsos6)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+ rdos*)
+ lt_prog_compiler_static='-non_shared'
+ ;;
+ solaris*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+ esac
+ ;;
+ sunos4*)
+ lt_prog_compiler_wl='-Qoption ld '
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_prog_compiler_pic='-Kconform_pic'
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ unicos*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_can_build_shared=no
+ ;;
+ uts4*)
+ lt_prog_compiler_pic='-pic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ *)
+ lt_prog_compiler_can_build_shared=no
+ ;;
+ esac
+ fi
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic=
+ ;;
+ *)
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic_works=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works=yes
+ fi
+ fi
+ $RM conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+ case $lt_prog_compiler_pic in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+ esac
+else
+ lt_prog_compiler_pic=
+ lt_prog_compiler_can_build_shared=no
+fi
+fi
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_static_works=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+ :
+else
+ lt_prog_compiler_static=
+fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+ runpath_var=
+ allow_undefined_flag=
+ always_export_symbols=no
+ archive_cmds=
+ archive_expsym_cmds=
+ compiler_needs_object=no
+ enable_shared_with_static_runtimes=no
+ export_dynamic_flag_spec=
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ hardcode_automatic=no
+ hardcode_direct=no
+ hardcode_direct_absolute=no
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld=
+ hardcode_libdir_separator=
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=unsupported
+ inherit_rpath=no
+ link_all_deplibs=unknown
+ module_cmds=
+ module_expsym_cmds=
+ old_archive_from_new_cmds=
+ old_archive_from_expsyms_cmds=
+ thread_safe_flag_spec=
+ whole_archive_flag_spec=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ include_expsyms=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+ extract_expsyms_cmds=
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+ ld_shlibs=yes
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+ *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+ if test "$lt_use_gnu_ld_interface" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[3-9]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+_LT_EOF
+ fi
+ ;;
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ export_dynamic_flag_spec='${wl}--export-all-symbols'
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ haiku*)
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ link_all_deplibs=yes
+ ;;
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
+ xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ case $cc_basename in
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+ sunos4*)
+ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ if test "$ld_shlibs" = no; then
+ runpath_var=
+ hardcode_libdir_flag_spec=
+ export_dynamic_flag_spec=
+ whole_archive_flag_spec=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+ archive_cmds=''
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ file_list_spec='${wl}-f,'
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+ export_dynamic_flag_spec='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ always_export_symbols=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
- else
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[lt_foo]++; }
- if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
- sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag=' ${wl}-bernotok'
+ allow_undefined_flag=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec='$convenience'
+ fi
+ archive_cmds_need_lc=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
+ bsdi[45]*)
+ export_dynamic_flag_spec=-rdynamic
+ ;;
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ fix_srcfile_path='`cygpath -w "$srcfile"`'
+ enable_shared_with_static_runtimes=yes
+ ;;
-aix[4-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
+ darwin* | rhapsody*)
+
+
+ archive_cmds_need_lc=no
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
- # instead of lib<name>.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
+ whole_archive_flag_spec=''
fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
+ link_all_deplibs=yes
+ allow_undefined_flag="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
esac
- ;;
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
+ else
+ ld_shlibs=no
+ fi
-bsdi[45]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
+ ;;
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
- case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
+ freebsd1*)
+ ld_shlibs=no
+ ;;
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ export_dynamic_flag_spec='${wl}-E'
;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- ;;
- *)
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec_ld='+b $libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+ hpux11*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if test "${lt_cv_prog_compiler__b+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler__b=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -b"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler__b=yes
+ fi
+ else
+ lt_cv_prog_compiler__b=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
-freebsd1*)
- dynamic_linker=no
- ;;
+if test x"$lt_cv_prog_compiler__b" = xyes; then
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[123]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ ;;
+ *)
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[01]* | freebsdelf3.[01]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo(void) {}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
- postinstall_cmds='chmod 555 $lib'
- ;;
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ inherit_rpath=yes
+ link_all_deplibs=yes
+ ;;
-interix[3-9]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- # Some binutils ld are patched to set DT_RUNPATH
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
- LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
- shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
+ newsos6)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_shlibpath_var=no
+ ;;
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
+ *nto* | *qnx*)
+ ;;
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ hardcode_direct_absolute=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_separator=:
+ ;;
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
+ solaris*)
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_shlibpath_var=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- shlibpath_overrides_runpath=yes
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+ fi
;;
esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
+ link_all_deplibs=yes
+ ;;
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
-rdos*)
- dynamic_linker=no
- ;;
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds='$CC -r -o $output$reload_objs'
+ hardcode_direct=no
+ ;;
+ motorola)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs=yes
+ fi
+ ;;
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag='${wl}-z,text'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
;;
- siemens)
- need_lib_prefix=no
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag='${wl}-z,text'
+ allow_undefined_flag='${wl}-z,nodefs'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-R,$libdir'
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+
+ uts4*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
;;
- esac
- ;;
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
;;
- esac
+ esac
+ fi
fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
+with_gnu_ld=$with_gnu_ld
-*)
- dynamic_linker=no
- ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc=yes
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl
+ pic_flag=$lt_prog_compiler_pic
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ then
+ lt_cv_archive_cmds_need_lc=no
+ else
+ lt_cv_archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+ archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
+ ;;
+ esac
+ fi
+ ;;
+esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
- test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
- # We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
- # Linking always hardcodes the temporary library directory.
- hardcode_action=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- hardcode_action=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
- if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
- darwin*)
- # if libdl is installed we need to link against it
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
-fi
- ;;
- *)
- ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then
- lt_cv_dlopen="shl_load"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- ac_cv_lib_dld_shl_load=yes
-else
- ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
- ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then
- lt_cv_dlopen="dlopen"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- ac_cv_lib_dl_dlopen=yes
-else
- ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- ac_cv_lib_svld_dlopen=yes
-else
- ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- ac_cv_lib_dld_dld_link=yes
-else
- ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-fi
-fi
-fi
-fi
-fi
- ;;
- esac
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line 11488 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self=no
- fi
-fi
-rm -fr conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- lt_cv_dlopen_self_static=cross
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-#line 11584 "configure"
-#include "confdefs.h"
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-#include <stdio.h>
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-void fnord() { int i=42;}
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
- fi
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-fi
- # Report which library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
+if test "$GCC" = yes; then
case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
+ *) lt_sed_strip_eq="s,=/,/,g" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
;;
-
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
;;
esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[lt_foo]++; }
+ if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_commands="$ac_config_commands libtool"
-
-
-
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
-# Only expand once:
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
-PERL=${PERL-"${am_missing_run}perl"}
+aix[4-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
-HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"}
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+bsdi[45]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
-$as_echo_n "checking whether NLS is requested... " >&6; }
- # Check whether --enable-nls was given.
-if test "${enable_nls+set}" = set; then
- enableval=$enable_nls; USE_NLS=$enableval
-else
- USE_NLS=yes
-fi
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
- GETTEXT_MACRO_VERSION=0.17
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+freebsd1*)
+ dynamic_linker=no
+ ;;
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MSGFMT+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case "$MSGFMT" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[123]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- echo "$as_me: trying $ac_dir/$ac_word..." >&5
- if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 &&
- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test "$MSGFMT" != ":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
-$as_echo "$MSGFMT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
- # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GMSGFMT+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case $GMSGFMT in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
- test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+haiku*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
;;
-esac
-fi
-GMSGFMT=$ac_cv_path_GMSGFMT
-if test -n "$GMSGFMT"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
-$as_echo "$GMSGFMT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+interix[3-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
- case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
- *) MSGFMT_015=$MSGFMT ;;
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
esac
-
- case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
- *) GMSGFMT_015=$GMSGFMT ;;
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XGETTEXT+set}" = set; then
+ # Some binutils ld are patched to set DT_RUNPATH
+ if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- case "$XGETTEXT" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- echo "$as_me: trying $ac_dir/$ac_word..." >&5
- if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 &&
- (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
- ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test "$XGETTEXT" != ":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
-$as_echo "$XGETTEXT" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- rm -f messages.po
-
- case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
- *) XGETTEXT_015=$XGETTEXT ;;
- esac
-
+ lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int
+main ()
+{
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+ lt_cv_shlibpath_overrides_runpath=yes
fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
fi
-rm -f conf$$.file
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
-# Extract the first word of "msgmerge", so it can be a program name with args.
-set dummy msgmerge; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MSGMERGE+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case "$MSGMERGE" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- echo "$as_me: trying $ac_dir/$ac_word..." >&5
- if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then
- ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
- ;;
-esac
-fi
-MSGMERGE="$ac_cv_path_MSGMERGE"
-if test "$MSGMERGE" != ":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
-$as_echo "$MSGMERGE" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
fi
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
- test -n "$localedir" || localedir='${datadir}/locale'
-
-
- test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
-
-
- ac_config_commands="$ac_config_commands po-directories"
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
- if test "X$prefix" = "XNONE"; then
- acl_final_prefix="$ac_default_prefix"
- else
- acl_final_prefix="$prefix"
- fi
- if test "X$exec_prefix" = "XNONE"; then
- acl_final_exec_prefix='${prefix}'
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
else
- acl_final_exec_prefix="$exec_prefix"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
fi
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
- prefix="$acl_save_prefix"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
else
- PATH_SEPARATOR=:
+ shlibpath_overrides_runpath=yes
fi
- rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
-$as_echo_n "checking for ld used by GCC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | [A-Za-z]:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if test "${acl_cv_path_LD+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- acl_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break ;;
- *)
- test "$with_gnu_ld" != yes && break ;;
- esac
- fi
- done
- IFS="$ac_save_ifs"
-else
- acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
+ ;;
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${acl_cv_prog_gnu_ld+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- acl_cv_prog_gnu_ld=yes ;;
-*)
- acl_cv_prog_gnu_ld=no ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
-$as_echo "$acl_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$acl_cv_prog_gnu_ld
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
-$as_echo_n "checking for shared library run path origin... " >&6; }
-if test "${acl_cv_rpath+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
- CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
- ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
- . ./conftest.sh
- rm -f ./conftest.sh
- acl_cv_rpath=done
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
-$as_echo "$acl_cv_rpath" >&6; }
- wl="$acl_cv_wl"
- acl_libext="$acl_cv_libext"
- acl_shlibext="$acl_cv_shlibext"
- acl_libname_spec="$acl_cv_libname_spec"
- acl_library_names_spec="$acl_cv_library_names_spec"
- acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- acl_hardcode_direct="$acl_cv_hardcode_direct"
- acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
- # Check whether --enable-rpath was given.
-if test "${enable_rpath+set}" = set; then
- enableval=$enable_rpath; :
-else
- enable_rpath=yes
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
fi
- acl_libdirstem=lib
- searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
- if test -n "$searchpath"; then
- acl_save_IFS="${IFS= }"; IFS=":"
- for searchdir in $searchpath; do
- if test -d "$searchdir"; then
- case "$searchdir" in
- */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
- *) searchdir=`cd "$searchdir" && pwd`
- case "$searchdir" in
- */lib64 ) acl_libdirstem=lib64 ;;
- esac ;;
- esac
- fi
- done
- IFS="$acl_save_IFS"
- fi
- use_additional=yes
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-# Check whether --with-libiconv-prefix was given.
-if test "${with_libiconv_prefix+set}" = set; then
- withval=$with_libiconv_prefix;
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+ test -n "$runpath_var" ||
+ test "X$hardcode_automatic" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$hardcode_direct" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
+ test "$hardcode_minus_L" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test "$hardcode_action" = relink ||
+ test "$inherit_rpath" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+
+
+
+
+
+ if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+
+fi
+
+ ;;
+
+ *)
+ ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = x""yes; then :
+ lt_cv_dlopen="shl_load"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_shl_load=yes
+else
+ ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+ ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = x""yes; then :
+ lt_cv_dlopen="dlopen"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_svld_dlopen=yes
+else
+ ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_dld_link=yes
+else
+ ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+void fnord () __attribute__((visibility("default")));
+#endif
+
+void fnord () { int i=42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self_static+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self_static=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+void fnord () __attribute__((visibility("default")));
+#endif
+
+void fnord () { int i=42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ ;;
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+ # Report which library types will actually be built
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+
+# Checks for programs.
+
+PERL=${PERL-"${am_missing_run}perl"}
+
+
+HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"}
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
+$as_echo_n "checking whether NLS is requested... " >&6; }
+ # Check whether --enable-nls was given.
+if test "${enable_nls+set}" = set; then :
+ enableval=$enable_nls; USE_NLS=$enableval
+else
+ USE_NLS=yes
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+
+
+
+
+ GETTEXT_MACRO_VERSION=0.18
+
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_MSGFMT+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case "$MSGFMT" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 &&
+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
+ ;;
+esac
+fi
+MSGFMT="$ac_cv_path_MSGFMT"
+if test "$MSGFMT" != ":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ # Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_GMSGFMT+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $GMSGFMT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+ ;;
+esac
+fi
+GMSGFMT=$ac_cv_path_GMSGFMT
+if test -n "$GMSGFMT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
+$as_echo "$GMSGFMT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+ *) MSGFMT_015=$MSGFMT ;;
+ esac
+
+ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+ *) GMSGFMT_015=$GMSGFMT ;;
+ esac
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_XGETTEXT+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case "$XGETTEXT" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 &&
+ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
+ ;;
+esac
+fi
+XGETTEXT="$ac_cv_path_XGETTEXT"
+if test "$XGETTEXT" != ":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
+$as_echo "$XGETTEXT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ rm -f messages.po
+
+ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+ *) XGETTEXT_015=$XGETTEXT ;;
+ esac
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_MSGMERGE+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case "$MSGMERGE" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then
+ ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
+ ;;
+esac
+fi
+MSGMERGE="$ac_cv_path_MSGMERGE"
+if test "$MSGMERGE" != ":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
+$as_echo "$MSGMERGE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$localedir" || localedir='${datadir}/locale'
+
+
+ test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+
+
+ ac_config_commands="$ac_config_commands po-directories"
+
+
+
+ if test "X$prefix" = "XNONE"; then
+ acl_final_prefix="$ac_default_prefix"
+ else
+ acl_final_prefix="$prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ acl_final_exec_prefix='${prefix}'
+ else
+ acl_final_exec_prefix="$exec_prefix"
+ fi
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+ prefix="$acl_save_prefix"
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
+$as_echo_n "checking for ld used by GCC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | [A-Za-z]:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the path of ld
+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${acl_cv_path_LD+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ acl_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break ;;
+ *)
+ test "$with_gnu_ld" != yes && break ;;
+ esac
+ fi
+ done
+ IFS="$ac_save_ifs"
+else
+ acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${acl_cv_prog_gnu_ld+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ acl_cv_prog_gnu_ld=yes ;;
+*)
+ acl_cv_prog_gnu_ld=no ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
+$as_echo "$acl_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$acl_cv_prog_gnu_ld
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
+$as_echo_n "checking for shared library run path origin... " >&6; }
+if test "${acl_cv_rpath+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+ . ./conftest.sh
+ rm -f ./conftest.sh
+ acl_cv_rpath=done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
+$as_echo "$acl_cv_rpath" >&6; }
+ wl="$acl_cv_wl"
+ acl_libext="$acl_cv_libext"
+ acl_shlibext="$acl_cv_shlibext"
+ acl_libname_spec="$acl_cv_libname_spec"
+ acl_library_names_spec="$acl_cv_library_names_spec"
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ acl_hardcode_direct="$acl_cv_hardcode_direct"
+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ # Check whether --enable-rpath was given.
+if test "${enable_rpath+set}" = set; then :
+ enableval=$enable_rpath; :
+else
+ enable_rpath=yes
+fi
+
+
+
+
+ acl_libdirstem=lib
+ acl_libdirstem2=
+ case "$host_os" in
+ solaris*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
+$as_echo_n "checking for 64-bit host... " >&6; }
+if test "${gl_cv_solaris_64bit+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef _LP64
+sixtyfour bits
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
+ gl_cv_solaris_64bit=yes
+else
+ gl_cv_solaris_64bit=no
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
+$as_echo "$gl_cv_solaris_64bit" >&6; }
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+ esac
+ fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+
+
+
+
+
+
+
+
+
+
+
+
+ use_additional=yes
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+
+# Check whether --with-libiconv-prefix was given.
+if test "${with_libiconv_prefix+set}" = set; then :
+ withval=$with_libiconv_prefix;
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
+ fi
+ fi
+
+fi
+
+ LIBICONV=
+ LTLIBICONV=
+ INCICONV=
+ LIBICONV_PREFIX=
+ HAVE_LIBICONV=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='iconv '
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
+ else
+ :
+ fi
+ else
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
+ if test $use_additional = yes; then
+ dir="$additional_libdir"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ if test "$acl_hardcode_direct" = yes; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ haveit=
+ for x in $LDFLAGS $LIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
+ fi
+ if test "$acl_hardcode_minus_L" != no; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
+ fi
+ fi
+ additional_includedir=
+ case "$found_dir" in
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = 'iconv'; then
+ LIBICONV_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = 'iconv'; then
+ LIBICONV_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INCICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -n "$found_la"; then
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+ else
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ for found_dir in $ltrpathdirs; do
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
+ done
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
+$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
+if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <CoreFoundation/CFPreferences.h>
+int
+main ()
+{
+CFPreferencesCopyAppValue(NULL, NULL)
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gt_cv_func_CFPreferencesCopyAppValue=yes
+else
+ gt_cv_func_CFPreferencesCopyAppValue=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$gt_save_LIBS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
+$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+
+$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5
+$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; }
+if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <CoreFoundation/CFLocale.h>
+int
+main ()
+{
+CFLocaleCopyCurrent();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gt_cv_func_CFLocaleCopyCurrent=yes
+else
+ gt_cv_func_CFLocaleCopyCurrent=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$gt_save_LIBS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
+$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
+ if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+
+$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
+
+ fi
+ INTL_MACOSX_LIBS=
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+ fi
+
+
+
+
+
+
+ LIBINTL=
+ LTLIBINTL=
+ POSUB=
+
+ 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"
+
+ if test "$USE_NLS" = "yes"; then
+ gt_use_preinstalled_gnugettext=no
+
+
+ if test $gt_api_version -ge 3; then
+ gt_revision_test_code='
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+'
+ 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
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
+$as_echo_n "checking for GNU gettext in libc... " >&6; }
+if eval "test \"\${$gt_func_gnugettext_libc+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <libintl.h>
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+int
+main ()
+{
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$gt_func_gnugettext_libc=yes"
+else
+ eval "$gt_func_gnugettext_libc=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$gt_func_gnugettext_libc
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+
+
+
+
+
+ am_save_CPPFLAGS="$CPPFLAGS"
+
+ for element in $INCICONV; do
+ haveit=
+ for x in $CPPFLAGS; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+ fi
+ done
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+$as_echo_n "checking for iconv... " >&6; }
+if test "${am_cv_func_iconv+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <iconv.h>
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <iconv.h>
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ am_cv_lib_iconv=yes
+ am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$am_save_LIBS"
+ fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+$as_echo "$am_cv_func_iconv" >&6; }
+ if test "$am_cv_func_iconv" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+$as_echo_n "checking for working iconv... " >&6; }
+if test "${am_cv_func_iconv_works+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ am_save_LIBS="$LIBS"
+ if test $am_cv_lib_iconv = yes; then
+ LIBS="$LIBS $LIBICONV"
+ fi
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+ *) am_cv_func_iconv_works="guessing yes" ;;
+ esac
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <iconv.h>
+#include <string.h>
+int main ()
+{
+ /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+ returns. */
+ {
+ iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+ if (cd_utf8_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\342\202\254"; /* EURO SIGN */
+ char buf[10];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_utf8_to_88591,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ return 1;
+ }
+ }
+ /* Test against Solaris 10 bug: Failures are not distinguishable from
+ successful returns. */
+ {
+ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+ if (cd_ascii_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\263";
+ char buf[10];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_ascii_to_88591,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ return 1;
+ }
+ }
+#if 0 /* This bug could be worked around by the caller. */
+ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+ char buf[50];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_88591_to_utf8,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if ((int)res > 0)
+ return 1;
+ }
+ }
+#endif
+ /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+ provided. */
+ if (/* Try standardized names. */
+ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+ /* Try IRIX, OSF/1 names. */
+ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+ /* Try AIX names. */
+ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+ /* Try HP-UX names. */
+ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+ return 1;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ am_cv_func_iconv_works=yes
+else
+ am_cv_func_iconv_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ LIBS="$am_save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+$as_echo "$am_cv_func_iconv_works" >&6; }
+ case "$am_cv_func_iconv_works" in
+ *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+ *) am_func_iconv=yes ;;
+ esac
+ else
+ am_func_iconv=no am_cv_lib_iconv=no
+ fi
+ if test "$am_func_iconv" = yes; then
+
+$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+
+ fi
+ if test "$am_cv_lib_iconv" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+$as_echo_n "checking how to link with libiconv... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+$as_echo "$LIBICONV" >&6; }
+ else
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBICONV=
+ LTLIBICONV=
+ fi
+
+
+
+
+
+
+
+
+
+
+
+ use_additional=yes
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+
+# Check whether --with-libintl-prefix was given.
+if test "${with_libintl_prefix+set}" = set; then :
+ withval=$with_libintl_prefix;
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
+ fi
+ fi
+
+fi
+
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ LIBINTL_PREFIX=
+ HAVE_LIBINTL=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='intl '
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
+ else
+ :
+ fi
+ else
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
+ if test $use_additional = yes; then
+ dir="$additional_libdir"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ if test "$acl_hardcode_direct" = yes; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ haveit=
+ for x in $LDFLAGS $LIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
+ fi
+ if test "$acl_hardcode_minus_L" != no; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
+ fi
+ fi
+ additional_includedir=
+ case "$found_dir" in
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = 'intl'; then
+ LIBINTL_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = 'intl'; then
+ LIBINTL_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INCINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -n "$found_la"; then
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+ else
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ for found_dir in $ltrpathdirs; do
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
+ done
+ fi
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
+$as_echo_n "checking for GNU gettext in libintl... " >&6; }
+if eval "test \"\${$gt_func_gnugettext_libintl+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $INCINTL"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBINTL"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <libintl.h>
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+int
+main ()
+{
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$gt_func_gnugettext_libintl=yes"
+else
+ eval "$gt_func_gnugettext_libintl=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
+ LIBS="$LIBS $LIBICONV"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <libintl.h>
+$gt_revision_test_code
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+int
+main ()
+{
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ LIBINTL="$LIBINTL $LIBICONV"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ eval "$gt_func_gnugettext_libintl=yes"
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ fi
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"
+fi
+eval ac_res=\$$gt_func_gnugettext_libintl
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ fi
+
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
+ && test "$PACKAGE" != gettext-runtime \
+ && test "$PACKAGE" != gettext-tools; }; then
+ gt_use_preinstalled_gnugettext=yes
+ else
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ fi
+
+
+
+ if test -n "$INTL_MACOSX_LIBS"; then
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+ LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+ fi
+ fi
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+
+$as_echo "#define ENABLE_NLS 1" >>confdefs.h
+
+ else
+ USE_NLS=no
+ fi
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
+$as_echo_n "checking whether to use NLS... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+ if test "$USE_NLS" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
+$as_echo_n "checking where the gettext function comes from... " >&6; }
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+ gt_source="external libintl"
+ else
+ gt_source="libc"
+ fi
+ else
+ gt_source="included intl directory"
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
+$as_echo "$gt_source" >&6; }
+ fi
+
+ if test "$USE_NLS" = "yes"; then
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
+$as_echo_n "checking how to link with libintl... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
+$as_echo "$LIBINTL" >&6; }
+
+ for element in $INCINTL; do
+ haveit=
+ for x in $CPPFLAGS; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+ fi
+ done
+
+ fi
+
+
+$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
+
+
+$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h
+
+ fi
+
+ POSUB=po
+ fi
+
+
+
+ INTLLIBS="$LIBINTL"
+
+
+
+
+
+
+
+
+
+
+
+
+ am_save_CPPFLAGS="$CPPFLAGS"
+
+ for element in $INCICONV; do
+ haveit=
+ for x in $CPPFLAGS; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
exec_prefix="$acl_save_exec_prefix"
prefix="$acl_save_prefix"
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/$acl_libdirstem"
- fi
- fi
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+ fi
+ done
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+$as_echo_n "checking for iconv... " >&6; }
+if test "${am_cv_func_iconv+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <iconv.h>
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <iconv.h>
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ am_cv_lib_iconv=yes
+ am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$am_save_LIBS"
+ fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+$as_echo "$am_cv_func_iconv" >&6; }
+ if test "$am_cv_func_iconv" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+$as_echo_n "checking for working iconv... " >&6; }
+if test "${am_cv_func_iconv_works+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ am_save_LIBS="$LIBS"
+ if test $am_cv_lib_iconv = yes; then
+ LIBS="$LIBS $LIBICONV"
+ fi
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+ *) am_cv_func_iconv_works="guessing yes" ;;
+ esac
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <iconv.h>
+#include <string.h>
+int main ()
+{
+ /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+ returns. */
+ {
+ iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+ if (cd_utf8_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\342\202\254"; /* EURO SIGN */
+ char buf[10];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_utf8_to_88591,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ return 1;
+ }
+ }
+ /* Test against Solaris 10 bug: Failures are not distinguishable from
+ successful returns. */
+ {
+ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+ if (cd_ascii_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\263";
+ char buf[10];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_ascii_to_88591,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ return 1;
+ }
+ }
+#if 0 /* This bug could be worked around by the caller. */
+ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+ char buf[50];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_88591_to_utf8,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if ((int)res > 0)
+ return 1;
+ }
+ }
+#endif
+ /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+ provided. */
+ if (/* Try standardized names. */
+ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+ /* Try IRIX, OSF/1 names. */
+ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+ /* Try AIX names. */
+ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+ /* Try HP-UX names. */
+ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+ return 1;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ am_cv_func_iconv_works=yes
+else
+ am_cv_func_iconv_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ LIBS="$am_save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+$as_echo "$am_cv_func_iconv_works" >&6; }
+ case "$am_cv_func_iconv_works" in
+ *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+ *) am_func_iconv=yes ;;
+ esac
+ else
+ am_func_iconv=no am_cv_lib_iconv=no
+ fi
+ if test "$am_func_iconv" = yes; then
+
+$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+
+ fi
+ if test "$am_cv_lib_iconv" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+$as_echo_n "checking how to link with libiconv... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+$as_echo "$LIBICONV" >&6; }
+ else
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBICONV=
+ LTLIBICONV=
+ fi
+
+
+
+ if test "$am_cv_func_iconv" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
+$as_echo_n "checking for iconv declaration... " >&6; }
+ if test "${am_cv_proto_iconv+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ am_cv_proto_iconv_arg1=""
+else
+ am_cv_proto_iconv_arg1="const"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
+fi
+
+ am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result:
+ $am_cv_proto_iconv" >&5
+$as_echo "
+ $am_cv_proto_iconv" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define ICONV_CONST $am_cv_proto_iconv_arg1
+_ACEOF
+
+ fi
+
+ # If set to t, that means we are running in a shell under Emacs.
+ # If you have an Emacs named "t", then use the full path.
+ test x"$EMACS" = xt && EMACS=
+ for ac_prog in emacs xemacs
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_EMACS+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$EMACS"; then
+ ac_cv_prog_EMACS="$EMACS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_EMACS="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+EMACS=$ac_cv_prog_EMACS
+if test -n "$EMACS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $EMACS" >&5
+$as_echo "$EMACS" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$EMACS" && break
+done
+test -n "$EMACS" || EMACS="no"
+
+
+
+
+# Check whether --with-lispdir was given.
+if test "${with_lispdir+set}" = set; then :
+ withval=$with_lispdir; lispdir="$withval"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where .elc files should go" >&5
+$as_echo_n "checking where .elc files should go... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lispdir" >&5
+$as_echo "$lispdir" >&6; }
+else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where .elc files should go" >&5
+$as_echo_n "checking where .elc files should go... " >&6; }
+if test "${am_cv_lispdir+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test $EMACS != "no"; then
+ if test x${lispdir+set} != xset; then
+ # If $EMACS isn't GNU Emacs or XEmacs, this can blow up pretty badly
+ # Some emacsen will start up in interactive mode, requiring C-x C-c to exit,
+ # which is non-obvious for non-emacs users.
+ # Redirecting /dev/null should help a bit; pity we can't detect "broken"
+ # emacsen earlier and avoid running this altogether.
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) \"\\n\")) (setq load-path (cdr load-path)))' </dev/null >conftest.out"; } >&5
+ ($EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' </dev/null >conftest.out) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ am_cv_lispdir=`sed -n \
+ -e 's,/$,,' \
+ -e '/.*\/lib\/x*emacs\/site-lisp$/{s,.*/lib/\(x*emacs/site-lisp\)$,${libdir}/\1,;p;q;}' \
+ -e '/.*\/share\/x*emacs\/site-lisp$/{s,.*/share/\(x*emacs/site-lisp\),${datarootdir}/\1,;p;q;}' \
+ conftest.out`
+ rm conftest.out
+ fi
+ fi
+ test -z "$am_cv_lispdir" && am_cv_lispdir='${datadir}/emacs/site-lisp'
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_lispdir" >&5
+$as_echo "$am_cv_lispdir" >&6; }
+ lispdir="$am_cv_lispdir"
+
+fi
+
+
+
+
+if test "$am_cv_func_iconv" != "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}:
+***
+
+Your system does not have iconv(). The iconv() function is not
+strictly required by the source code. However, that may change in
+the future, unless you report that this may be a problem for you.
+
+Please report this to $PACKAGE_BUGREPORT.
+
+***" >&5
+$as_echo "$as_me:
+***
+
+Your system does not have iconv(). The iconv() function is not
+strictly required by the source code. However, that may change in
+the future, unless you report that this may be a problem for you.
+
+Please report this to $PACKAGE_BUGREPORT.
+
+***" >&6;}
+fi
+
+# Checks for header files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+
+# For gnulib stuff in gl/.
+
+
+
+
+
+ LIBC_FATAL_STDERR_=1
+ export LIBC_FATAL_STDERR_
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for preferred C# implementation" >&5
+$as_echo_n "checking for preferred C# implementation... " >&6; }
+ # Check whether --enable-csharp was given.
+if test "${enable_csharp+set}" = set; then :
+ enableval=$enable_csharp; CSHARP_CHOICE="$enableval"
+else
+ CSHARP_CHOICE=any
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CSHARP_CHOICE" >&5
+$as_echo "$CSHARP_CHOICE" >&6; }
+ case "$CSHARP_CHOICE" in
+ pnet)
+
+$as_echo "#define CSHARP_CHOICE_PNET 1" >>confdefs.h
+
+ ;;
+ mono)
+
+$as_echo "#define CSHARP_CHOICE_MONO 1" >>confdefs.h
+
+ ;;
+ esac
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C# compiler" >&5
+$as_echo_n "checking for C# compiler... " >&6; }
+ HAVE_CSHARPCOMP=1
+ # Extract the first word of "cscc", so it can be a program name with args.
+set dummy cscc; ac_word=$2
+:
+if test "${ac_cv_prog_HAVE_CSCC_IN_PATH+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$HAVE_CSCC_IN_PATH"; then
+ ac_cv_prog_HAVE_CSCC_IN_PATH="$HAVE_CSCC_IN_PATH" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_HAVE_CSCC_IN_PATH="yes"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+HAVE_CSCC_IN_PATH=$ac_cv_prog_HAVE_CSCC_IN_PATH
+if test -n "$HAVE_CSCC_IN_PATH"; then
+ :
+else
+ :
+fi
+
+
+ # Extract the first word of "mcs", so it can be a program name with args.
+set dummy mcs; ac_word=$2
+:
+if test "${ac_cv_prog_HAVE_MCS_IN_PATH+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$HAVE_MCS_IN_PATH"; then
+ ac_cv_prog_HAVE_MCS_IN_PATH="$HAVE_MCS_IN_PATH" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_HAVE_MCS_IN_PATH="yes"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+HAVE_MCS_IN_PATH=$ac_cv_prog_HAVE_MCS_IN_PATH
+if test -n "$HAVE_MCS_IN_PATH"; then
+ :
+else
+ :
+fi
+
+
+ # Extract the first word of "csc", so it can be a program name with args.
+set dummy csc; ac_word=$2
+:
+if test "${ac_cv_prog_HAVE_CSC_IN_PATH+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$HAVE_CSC_IN_PATH"; then
+ ac_cv_prog_HAVE_CSC_IN_PATH="$HAVE_CSC_IN_PATH" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_HAVE_CSC_IN_PATH="yes"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+HAVE_CSC_IN_PATH=$ac_cv_prog_HAVE_CSC_IN_PATH
+if test -n "$HAVE_CSC_IN_PATH"; then
+ :
+else
+ :
+fi
+
+
+ for impl in "$CSHARP_CHOICE" pnet mono sscli no; do
+ case "$impl" in
+ pnet)
+ if test -n "$HAVE_CSCC_IN_PATH" \
+ && cscc --version >/dev/null 2>/dev/null \
+ && (
+ # See if pnetlib is well installed.
+ echo 'class ConfTest { static void Main() { } }' > conftest.cs
+ cscc -o conftest.exe conftest.cs 2>/dev/null
+ error=$?
+ rm -f conftest.cs conftest.exe
+ exit $error
+ ); then
+ HAVE_CSCC=1
+ ac_result="cscc"
+ break
+ fi
+ ;;
+ mono)
+ if test -n "$HAVE_MCS_IN_PATH" \
+ && mcs --version >/dev/null 2>/dev/null \
+ && mcs --version 2>/dev/null | grep Mono >/dev/null; then
+ HAVE_MCS=1
+ ac_result="mcs"
+ break
+ fi
+ ;;
+ sscli)
+ if test -n "$HAVE_CSC_IN_PATH" \
+ && csc -help >/dev/null 2>/dev/null \
+ && { if csc -help 2>/dev/null | grep -i chicken > /dev/null; then false; else true; fi; }; then
+ HAVE_CSC=1
+ ac_result="csc"
+ break
+ fi
+ ;;
+ no)
+ HAVE_CSHARPCOMP=
+ ac_result="no"
+ break
+ ;;
+ esac
+ done
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_result" >&5
+$as_echo "$ac_result" >&6; }
+
+
+
+ if test -z "${CSHARPCOMPFLAGS+set}"; then
+ CSHARPCOMPFLAGS="-O -g"
+ fi
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5
+$as_echo_n "checking whether the preprocessor supports include_next... " >&6; }
+if test "${gl_cv_have_include_next+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ rm -rf conftestd1a conftestd1b conftestd2
+ mkdir conftestd1a conftestd1b conftestd2
+ cat <<EOF > conftestd1a/conftest.h
+#define DEFINED_IN_CONFTESTD1
+#include_next <conftest.h>
+#ifdef DEFINED_IN_CONFTESTD2
+int foo;
+#else
+#error "include_next doesn't work"
+#endif
+EOF
+ cat <<EOF > conftestd1b/conftest.h
+#define DEFINED_IN_CONFTESTD1
+#include <stdio.h>
+#include_next <conftest.h>
+#ifdef DEFINED_IN_CONFTESTD2
+int foo;
+#else
+#error "include_next doesn't work"
+#endif
+EOF
+ cat <<EOF > conftestd2/conftest.h
+#ifndef DEFINED_IN_CONFTESTD1
+#error "include_next test doesn't work"
+#endif
+#define DEFINED_IN_CONFTESTD2
+EOF
+ gl_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <conftest.h>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_have_include_next=yes
+else
+ CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <conftest.h>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_have_include_next=buggy
+else
+ gl_cv_have_include_next=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$gl_save_CPPFLAGS"
+ rm -rf conftestd1a conftestd1b conftestd2
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5
+$as_echo "$gl_cv_have_include_next" >&6; }
+ PRAGMA_SYSTEM_HEADER=
+ if test $gl_cv_have_include_next = yes; then
+ INCLUDE_NEXT=include_next
+ INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next
+ if test -n "$GCC"; then
+ PRAGMA_SYSTEM_HEADER='#pragma GCC system_header'
+ fi
+ else
+ if test $gl_cv_have_include_next = buggy; then
+ INCLUDE_NEXT=include
+ INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next
+ else
+ INCLUDE_NEXT=include
+ INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include
+ fi
+ fi
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system header files limit the line length" >&5
+$as_echo_n "checking whether system header files limit the line length... " >&6; }
+if test "${gl_cv_pragma_columns+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef __TANDEM
+choke me
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "choke me" >/dev/null 2>&1; then :
+ gl_cv_pragma_columns=yes
+else
+ gl_cv_pragma_columns=no
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_pragma_columns" >&5
+$as_echo "$gl_cv_pragma_columns" >&6; }
+ if test $gl_cv_pragma_columns = yes; then
+ PRAGMA_COLUMNS="#pragma COLUMNS 10000"
+ else
+ PRAGMA_COLUMNS=
+ fi
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5
+$as_echo_n "checking for complete errno.h... " >&6; }
+if test "${gl_cv_header_errno_h_complete+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <errno.h>
+#if !defined ENOMSG
+booboo
+#endif
+#if !defined EIDRM
+booboo
+#endif
+#if !defined ENOLINK
+booboo
+#endif
+#if !defined EPROTO
+booboo
+#endif
+#if !defined EMULTIHOP
+booboo
+#endif
+#if !defined EBADMSG
+booboo
+#endif
+#if !defined EOVERFLOW
+booboo
+#endif
+#if !defined ENOTSUP
+booboo
+#endif
+#if !defined ENETRESET
+booboo
+#endif
+#if !defined ECONNABORTED
+booboo
+#endif
+#if !defined ESTALE
+booboo
+#endif
+#if !defined EDQUOT
+booboo
+#endif
+#if !defined ECANCELED
+booboo
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "booboo" >/dev/null 2>&1; then :
+ gl_cv_header_errno_h_complete=no
+else
+ gl_cv_header_errno_h_complete=yes
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5
+$as_echo "$gl_cv_header_errno_h_complete" >&6; }
+ if test $gl_cv_header_errno_h_complete = yes; then
+ ERRNO_H=''
+ else
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_errno_h='<'errno.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <errno.h>" >&5
+$as_echo_n "checking absolute name of <errno.h>... " >&6; }
+if test "${gl_cv_next_errno_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <errno.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'errno.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_errno_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5
+$as_echo "$gl_cv_next_errno_h" >&6; }
+ fi
+ NEXT_ERRNO_H=$gl_cv_next_errno_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'errno.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_errno_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_ERRNO_H=$gl_next_as_first_directive
+
+
+
+
+ ERRNO_H='errno.h'
+ fi
+
+ if test -n "$ERRNO_H"; then
+ GL_GENERATE_ERRNO_H_TRUE=
+ GL_GENERATE_ERRNO_H_FALSE='#'
+else
+ GL_GENERATE_ERRNO_H_TRUE='#'
+ GL_GENERATE_ERRNO_H_FALSE=
+fi
+
+
+ if test -n "$ERRNO_H"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5
+$as_echo_n "checking for EMULTIHOP value... " >&6; }
+if test "${gl_cv_header_errno_h_EMULTIHOP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <errno.h>
+#ifdef EMULTIHOP
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "yes" >/dev/null 2>&1; then :
+ gl_cv_header_errno_h_EMULTIHOP=yes
+else
+ gl_cv_header_errno_h_EMULTIHOP=no
+fi
+rm -f conftest*
+
+ if test $gl_cv_header_errno_h_EMULTIHOP = no; then
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+#ifdef EMULTIHOP
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "yes" >/dev/null 2>&1; then :
+ gl_cv_header_errno_h_EMULTIHOP=hidden
+fi
+rm -f conftest*
+
+ if test $gl_cv_header_errno_h_EMULTIHOP = hidden; then
+ if ac_fn_c_compute_int "$LINENO" "EMULTIHOP" "gl_cv_header_errno_h_EMULTIHOP" "
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug. */
+#include <stdio.h>
+#include <stdlib.h>
+"; then :
+
+fi
+
+ fi
+ fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5
+$as_echo "$gl_cv_header_errno_h_EMULTIHOP" >&6; }
+ case $gl_cv_header_errno_h_EMULTIHOP in
+ yes | no)
+ EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE=
+ ;;
+ *)
+ EMULTIHOP_HIDDEN=1; EMULTIHOP_VALUE="$gl_cv_header_errno_h_EMULTIHOP"
+ ;;
+ esac
+
+
+ fi
+
+
+ if test -n "$ERRNO_H"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5
+$as_echo_n "checking for ENOLINK value... " >&6; }
+if test "${gl_cv_header_errno_h_ENOLINK+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <errno.h>
+#ifdef ENOLINK
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "yes" >/dev/null 2>&1; then :
+ gl_cv_header_errno_h_ENOLINK=yes
+else
+ gl_cv_header_errno_h_ENOLINK=no
+fi
+rm -f conftest*
+
+ if test $gl_cv_header_errno_h_ENOLINK = no; then
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+#ifdef ENOLINK
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "yes" >/dev/null 2>&1; then :
+ gl_cv_header_errno_h_ENOLINK=hidden
+fi
+rm -f conftest*
+
+ if test $gl_cv_header_errno_h_ENOLINK = hidden; then
+ if ac_fn_c_compute_int "$LINENO" "ENOLINK" "gl_cv_header_errno_h_ENOLINK" "
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug. */
+#include <stdio.h>
+#include <stdlib.h>
+"; then :
+
+fi
+
+ fi
+ fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5
+$as_echo "$gl_cv_header_errno_h_ENOLINK" >&6; }
+ case $gl_cv_header_errno_h_ENOLINK in
+ yes | no)
+ ENOLINK_HIDDEN=0; ENOLINK_VALUE=
+ ;;
+ *)
+ ENOLINK_HIDDEN=1; ENOLINK_VALUE="$gl_cv_header_errno_h_ENOLINK"
+ ;;
+ esac
+
+
+ fi
+
+
+ if test -n "$ERRNO_H"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5
+$as_echo_n "checking for EOVERFLOW value... " >&6; }
+if test "${gl_cv_header_errno_h_EOVERFLOW+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <errno.h>
+#ifdef EOVERFLOW
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "yes" >/dev/null 2>&1; then :
+ gl_cv_header_errno_h_EOVERFLOW=yes
+else
+ gl_cv_header_errno_h_EOVERFLOW=no
+fi
+rm -f conftest*
+
+ if test $gl_cv_header_errno_h_EOVERFLOW = no; then
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+#ifdef EOVERFLOW
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "yes" >/dev/null 2>&1; then :
+ gl_cv_header_errno_h_EOVERFLOW=hidden
+fi
+rm -f conftest*
+
+ if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then
+ if ac_fn_c_compute_int "$LINENO" "EOVERFLOW" "gl_cv_header_errno_h_EOVERFLOW" "
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug. */
+#include <stdio.h>
+#include <stdlib.h>
+"; then :
+
+fi
+
+ fi
+ fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5
+$as_echo "$gl_cv_header_errno_h_EOVERFLOW" >&6; }
+ case $gl_cv_header_errno_h_EOVERFLOW in
+ yes | no)
+ EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE=
+ ;;
+ *)
+ EOVERFLOW_HIDDEN=1; EOVERFLOW_VALUE="$gl_cv_header_errno_h_EOVERFLOW"
+ ;;
+ esac
+
+
+ fi
+
+
+ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strerror_r" = x""yes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRERROR_R $ac_have_decl
+_ACEOF
+
+for ac_func in strerror_r
+do :
+ ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r"
+if test "x$ac_cv_func_strerror_r" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_STRERROR_R 1
+_ACEOF
+
+fi
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5
+$as_echo_n "checking whether strerror_r returns char *... " >&6; }
+if test "${ac_cv_func_strerror_r_char_p+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ac_cv_func_strerror_r_char_p=no
+ if test $ac_cv_have_decl_strerror_r = yes; then
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ char buf[100];
+ char x = *strerror_r (0, buf, sizeof buf);
+ char *p = strerror_r (0, buf, sizeof buf);
+ return !p || x;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_func_strerror_r_char_p=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ else
+ # strerror_r is not declared. Choose between
+ # systems that have relatively inaccessible declarations for the
+ # function. BeOS and DEC UNIX 4.0 fall in this category, but the
+ # former has a strerror_r that returns char*, while the latter
+ # has a strerror_r that returns `int'.
+ # This test should segfault on the DEC system.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+ extern char *strerror_r ();
+int
+main ()
+{
+char buf[100];
+ char x = *strerror_r (0, buf, sizeof buf);
+ return ! isalpha (x);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_func_strerror_r_char_p=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5
+$as_echo "$ac_cv_func_strerror_r_char_p" >&6; }
+if test $ac_cv_func_strerror_r_char_p = yes; then
+
+$as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+$as_echo_n "checking for inline... " >&6; }
+if test "${ac_cv_c_inline+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __cplusplus
+typedef int foo_t;
+static $ac_kw foo_t static_foo () {return 0; }
+$ac_kw foo_t foo () {return 0; }
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_inline=$ac_kw
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ test "$ac_cv_c_inline" != no && break
+done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+$as_echo "$ac_cv_c_inline" >&6; }
+
+case $ac_cv_c_inline in
+ inline | yes) ;;
+ *)
+ case $ac_cv_c_inline in
+ no) ac_val=;;
+ *) ac_val=$ac_cv_c_inline;;
+ esac
+ cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
+_ACEOF
+ ;;
+esac
+
+
+ XGETTEXT_EXTRA_OPTIONS=
+
+
+ GNULIB_CHDIR=0;
+ GNULIB_CHOWN=0;
+ GNULIB_CLOSE=0;
+ GNULIB_DUP=0;
+ GNULIB_DUP2=0;
+ GNULIB_DUP3=0;
+ GNULIB_ENVIRON=0;
+ GNULIB_EUIDACCESS=0;
+ GNULIB_FACCESSAT=0;
+ GNULIB_FCHDIR=0;
+ GNULIB_FCHOWNAT=0;
+ GNULIB_FDATASYNC=0;
+ GNULIB_FSYNC=0;
+ GNULIB_FTRUNCATE=0;
+ GNULIB_GETCWD=0;
+ GNULIB_GETDOMAINNAME=0;
+ GNULIB_GETDTABLESIZE=0;
+ GNULIB_GETGROUPS=0;
+ GNULIB_GETHOSTNAME=0;
+ GNULIB_GETLOGIN=0;
+ GNULIB_GETLOGIN_R=0;
+ GNULIB_GETPAGESIZE=0;
+ GNULIB_GETUSERSHELL=0;
+ GNULIB_GROUP_MEMBER=0;
+ GNULIB_LCHOWN=0;
+ GNULIB_LINK=0;
+ GNULIB_LINKAT=0;
+ GNULIB_LSEEK=0;
+ GNULIB_PIPE=0;
+ GNULIB_PIPE2=0;
+ GNULIB_PREAD=0;
+ GNULIB_PWRITE=0;
+ GNULIB_READ=0;
+ GNULIB_READLINK=0;
+ GNULIB_READLINKAT=0;
+ GNULIB_RMDIR=0;
+ GNULIB_SLEEP=0;
+ GNULIB_SYMLINK=0;
+ GNULIB_SYMLINKAT=0;
+ GNULIB_TTYNAME_R=0;
+ GNULIB_UNISTD_H_GETOPT=0;
+ GNULIB_UNISTD_H_NONBLOCKING=0;
+ GNULIB_UNISTD_H_SIGPIPE=0;
+ GNULIB_UNLINK=0;
+ GNULIB_UNLINKAT=0;
+ GNULIB_USLEEP=0;
+ GNULIB_WRITE=0;
+ HAVE_CHOWN=1;
+ HAVE_DUP2=1;
+ HAVE_DUP3=1;
+ HAVE_EUIDACCESS=1;
+ HAVE_FACCESSAT=1;
+ HAVE_FCHDIR=1;
+ HAVE_FCHOWNAT=1;
+ HAVE_FDATASYNC=1;
+ HAVE_FSYNC=1;
+ HAVE_FTRUNCATE=1;
+ HAVE_GETDTABLESIZE=1;
+ HAVE_GETGROUPS=1;
+ HAVE_GETHOSTNAME=1;
+ HAVE_GETLOGIN=1;
+ HAVE_GETPAGESIZE=1;
+ HAVE_GROUP_MEMBER=1;
+ HAVE_LCHOWN=1;
+ HAVE_LINK=1;
+ HAVE_LINKAT=1;
+ HAVE_PIPE=1;
+ HAVE_PIPE2=1;
+ HAVE_PREAD=1;
+ HAVE_PWRITE=1;
+ HAVE_READLINK=1;
+ HAVE_READLINKAT=1;
+ HAVE_SLEEP=1;
+ HAVE_SYMLINK=1;
+ HAVE_SYMLINKAT=1;
+ HAVE_UNLINKAT=1;
+ HAVE_USLEEP=1;
+ HAVE_DECL_ENVIRON=1;
+ HAVE_DECL_FCHDIR=1;
+ HAVE_DECL_FDATASYNC=1;
+ HAVE_DECL_GETDOMAINNAME=1;
+ HAVE_DECL_GETLOGIN_R=1;
+ HAVE_DECL_GETPAGESIZE=1;
+ HAVE_DECL_GETUSERSHELL=1;
+ HAVE_DECL_TTYNAME_R=1;
+ HAVE_OS_H=0;
+ HAVE_SYS_PARAM_H=0;
+ REPLACE_CHOWN=0;
+ REPLACE_CLOSE=0;
+ REPLACE_DUP=0;
+ REPLACE_DUP2=0;
+ REPLACE_FCHOWNAT=0;
+ REPLACE_GETCWD=0;
+ REPLACE_GETDOMAINNAME=0;
+ REPLACE_GETLOGIN_R=0;
+ REPLACE_GETGROUPS=0;
+ REPLACE_GETPAGESIZE=0;
+ REPLACE_LCHOWN=0;
+ REPLACE_LINK=0;
+ REPLACE_LINKAT=0;
+ REPLACE_LSEEK=0;
+ REPLACE_PREAD=0;
+ REPLACE_PWRITE=0;
+ REPLACE_READ=0;
+ REPLACE_READLINK=0;
+ REPLACE_RMDIR=0;
+ REPLACE_SLEEP=0;
+ REPLACE_SYMLINK=0;
+ REPLACE_TTYNAME_R=0;
+ REPLACE_UNLINK=0;
+ REPLACE_UNLINKAT=0;
+ REPLACE_USLEEP=0;
+ REPLACE_WRITE=0;
+ UNISTD_H_HAVE_WINSOCK2_H=0;
+ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0;
+
+
+
+
+
+ for ac_header in $ac_header_list
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_getopt_h='<'getopt.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <getopt.h>" >&5
+$as_echo_n "checking absolute name of <getopt.h>... " >&6; }
+if test "${gl_cv_next_getopt_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test $ac_cv_header_getopt_h = yes; then
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <getopt.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'getopt.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_getopt_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+ else
+ gl_cv_next_getopt_h='<'getopt.h'>'
+ fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_getopt_h" >&5
+$as_echo "$gl_cv_next_getopt_h" >&6; }
+ fi
+ NEXT_GETOPT_H=$gl_cv_next_getopt_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'getopt.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_getopt_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H=$gl_next_as_first_directive
+
+
+
+
+ if test $ac_cv_header_getopt_h = yes; then
+ HAVE_GETOPT_H=1
+ else
+ HAVE_GETOPT_H=0
+ fi
+
+
+ gl_replace_getopt=
+
+ if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
+ for ac_header in getopt.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default"
+if test "x$ac_cv_header_getopt_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_GETOPT_H 1
+_ACEOF
+
+else
+ gl_replace_getopt=yes
+fi
+
+done
+
+ fi
+
+ if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
+ for ac_func in getopt_long_only
+do :
+ ac_fn_c_check_func "$LINENO" "getopt_long_only" "ac_cv_func_getopt_long_only"
+if test "x$ac_cv_func_getopt_long_only" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_GETOPT_LONG_ONLY 1
+_ACEOF
+
+else
+ gl_replace_getopt=yes
+fi
+done
+
+ fi
+
+ if test -z "$gl_replace_getopt"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getopt is POSIX compatible" >&5
+$as_echo_n "checking whether getopt is POSIX compatible... " >&6; }
+if test "${gl_cv_func_getopt_posix+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <unistd.h>
+int
+main ()
+{
+int *p = &optreset; return optreset;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_optind_min=1
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <getopt.h>
+int
+main ()
+{
+return !getopt_clip;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_optind_min=1
+else
+ gl_optind_min=0
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+ gl_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -DOPTIND_MIN=$gl_optind_min"
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ mingw*) gl_cv_func_getopt_posix="guessing no";;
+ darwin* | aix*) gl_cv_func_getopt_posix="guessing no";;
+ *) gl_cv_func_getopt_posix="guessing yes";;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
+int
+main ()
+{
+ {
+ static char program[] = "program";
+ static char a[] = "-a";
+ static char foo[] = "foo";
+ static char bar[] = "bar";
+ char *argv[] = { program, a, foo, bar, NULL };
+ int c;
+
+ optind = OPTIND_MIN;
+ opterr = 0;
+
+ c = getopt (4, argv, "ab");
+ if (!(c == 'a'))
+ return 1;
+ c = getopt (4, argv, "ab");
+ if (!(c == -1))
+ return 2;
+ if (!(optind == 2))
+ return 3;
+ }
+ /* Some internal state exists at this point. */
+ {
+ static char program[] = "program";
+ static char donald[] = "donald";
+ static char p[] = "-p";
+ static char billy[] = "billy";
+ static char duck[] = "duck";
+ static char a[] = "-a";
+ static char bar[] = "bar";
+ char *argv[] = { program, donald, p, billy, duck, a, bar, NULL };
+ int c;
+
+ optind = OPTIND_MIN;
+ opterr = 0;
+
+ c = getopt (7, argv, "+abp:q:");
+ if (!(c == -1))
+ return 4;
+ if (!(strcmp (argv[0], "program") == 0))
+ return 5;
+ if (!(strcmp (argv[1], "donald") == 0))
+ return 6;
+ if (!(strcmp (argv[2], "-p") == 0))
+ return 7;
+ if (!(strcmp (argv[3], "billy") == 0))
+ return 8;
+ if (!(strcmp (argv[4], "duck") == 0))
+ return 9;
+ if (!(strcmp (argv[5], "-a") == 0))
+ return 10;
+ if (!(strcmp (argv[6], "bar") == 0))
+ return 11;
+ if (!(optind == 1))
+ return 12;
+ }
+ /* Detect MacOS 10.5, AIX 7.1 bug. */
+ {
+ static char program[] = "program";
+ static char ab[] = "-ab";
+ char *argv[3] = { program, ab, NULL };
+ optind = OPTIND_MIN;
+ opterr = 0;
+ if (getopt (2, argv, "ab:") != 'a')
+ return 13;
+ if (getopt (2, argv, "ab:") != '?')
+ return 14;
+ if (optopt != 'b')
+ return 15;
+ if (optind != 2)
+ return 16;
+ }
+
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_getopt_posix=yes
+else
+ gl_cv_func_getopt_posix=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ CPPFLAGS=$gl_save_CPPFLAGS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_posix" >&5
+$as_echo "$gl_cv_func_getopt_posix" >&6; }
+ case "$gl_cv_func_getopt_posix" in
+ *no) gl_replace_getopt=yes ;;
+ esac
+ fi
+
+ if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt function" >&5
+$as_echo_n "checking for working GNU getopt function... " >&6; }
+if test "${gl_cv_func_getopt_gnu+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the
+ # optstring is necessary for programs like m4 that have POSIX-mandated
+ # semantics for supporting options interspersed with files.
+ # Also, since getopt_long is a GNU extension, we require optind=0.
+ # Bash ties 'set -o posix' to a non-exported POSIXLY_CORRECT;
+ # so take care to revert to the correct (non-)export state.
+ gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }'
+ case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" </dev/null` in
+ xx) gl_had_POSIXLY_CORRECT=exported ;;
+ x) gl_had_POSIXLY_CORRECT=yes ;;
+ *) gl_had_POSIXLY_CORRECT= ;;
+ esac
+ POSIXLY_CORRECT=1
+ export POSIXLY_CORRECT
+ if test "$cross_compiling" = yes; then :
+ case $host_os:$ac_cv_have_decl_optreset in
+ *-gnu*:* | mingw*:*) gl_cv_func_getopt_gnu=no;;
+ *:yes) gl_cv_func_getopt_gnu=no;;
+ *) gl_cv_func_getopt_gnu=yes;;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <getopt.h>
+ #include <stddef.h>
+ #include <string.h>
+
+#include <stdlib.h>
+#if defined __MACH__ && defined __APPLE__
+/* Avoid a crash on MacOS X. */
+#include <mach/mach.h>
+#include <mach/mach_error.h>
+#include <mach/thread_status.h>
+#include <mach/exception.h>
+#include <mach/task.h>
+#include <pthread.h>
+/* The exception port on which our thread listens. */
+static mach_port_t our_exception_port;
+/* The main function of the thread listening for exceptions of type
+ EXC_BAD_ACCESS. */
+static void *
+mach_exception_thread (void *arg)
+{
+ /* Buffer for a message to be received. */
+ struct {
+ mach_msg_header_t head;
+ mach_msg_body_t msgh_body;
+ char data[1024];
+ } msg;
+ mach_msg_return_t retval;
+ /* Wait for a message on the exception port. */
+ retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg),
+ our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+ if (retval != MACH_MSG_SUCCESS)
+ abort ();
+ exit (1);
+}
+static void
+nocrash_init (void)
+{
+ mach_port_t self = mach_task_self ();
+ /* Allocate a port on which the thread shall listen for exceptions. */
+ if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port)
+ == KERN_SUCCESS) {
+ /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */
+ if (mach_port_insert_right (self, our_exception_port, our_exception_port,
+ MACH_MSG_TYPE_MAKE_SEND)
+ == KERN_SUCCESS) {
+ /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting
+ for us. */
+ exception_mask_t mask = EXC_MASK_BAD_ACCESS;
+ /* Create the thread listening on the exception port. */
+ pthread_attr_t attr;
+ pthread_t thread;
+ if (pthread_attr_init (&attr) == 0
+ && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0
+ && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) {
+ pthread_attr_destroy (&attr);
+ /* Replace the exception port info for these exceptions with our own.
+ Note that we replace the exception port for the entire task, not only
+ for a particular thread. This has the effect that when our exception
+ port gets the message, the thread specific exception port has already
+ been asked, and we don't need to bother about it.
+ See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */
+ task_set_exception_ports (self, mask, our_exception_port,
+ EXCEPTION_DEFAULT, MACHINE_THREAD_STATE);
+ }
+ }
+ }
+}
+#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* Avoid a crash on native Windows. */
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#include <winerror.h>
+static LONG WINAPI
+exception_filter (EXCEPTION_POINTERS *ExceptionInfo)
+{
+ switch (ExceptionInfo->ExceptionRecord->ExceptionCode)
+ {
+ case EXCEPTION_ACCESS_VIOLATION:
+ case EXCEPTION_IN_PAGE_ERROR:
+ case EXCEPTION_STACK_OVERFLOW:
+ case EXCEPTION_GUARD_PAGE:
+ case EXCEPTION_PRIV_INSTRUCTION:
+ case EXCEPTION_ILLEGAL_INSTRUCTION:
+ case EXCEPTION_DATATYPE_MISALIGNMENT:
+ case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
+ case EXCEPTION_NONCONTINUABLE_EXCEPTION:
+ exit (1);
+ }
+ return EXCEPTION_CONTINUE_SEARCH;
+}
+static void
+nocrash_init (void)
+{
+ SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter);
+}
+#else
+/* Avoid a crash on POSIX systems. */
+#include <signal.h>
+/* A POSIX signal handler. */
+static void
+exception_handler (int sig)
+{
+ exit (1);
+}
+static void
+nocrash_init (void)
+{
+#ifdef SIGSEGV
+ signal (SIGSEGV, exception_handler);
+#endif
+#ifdef SIGBUS
+ signal (SIGBUS, exception_handler);
+#endif
+}
+#endif
+
+
+int
+main ()
+{
+
+ int result = 0;
+
+ nocrash_init();
+
+ /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw,
+ and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5,
+ OSF/1 5.1, Solaris 10. */
+ {
+ static char conftest[] = "conftest";
+ static char plus[] = "-+";
+ char *argv[3] = { conftest, plus, NULL };
+ opterr = 0;
+ if (getopt (2, argv, "+a") != '?')
+ result |= 1;
+ }
+ /* This code succeeds on glibc 2.8, mingw,
+ and fails on MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11,
+ IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */
+ {
+ static char program[] = "program";
+ static char p[] = "-p";
+ static char foo[] = "foo";
+ static char bar[] = "bar";
+ char *argv[] = { program, p, foo, bar, NULL };
+
+ optind = 1;
+ if (getopt (4, argv, "p::") != 'p')
+ result |= 2;
+ else if (optarg != NULL)
+ result |= 4;
+ else if (getopt (4, argv, "p::") != -1)
+ result |= 6;
+ else if (optind != 2)
+ result |= 8;
+ }
+ /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */
+ {
+ static char program[] = "program";
+ static char foo[] = "foo";
+ static char p[] = "-p";
+ char *argv[] = { program, foo, p, NULL };
+ optind = 0;
+ if (getopt (3, argv, "-p") != 1)
+ result |= 16;
+ else if (getopt (3, argv, "-p") != 'p')
+ result |= 32;
+ }
+ /* This code fails on glibc 2.11. */
+ {
+ static char program[] = "program";
+ static char b[] = "-b";
+ static char a[] = "-a";
+ char *argv[] = { program, b, a, NULL };
+ optind = opterr = 0;
+ if (getopt (3, argv, "+:a:b") != 'b')
+ result |= 64;
+ else if (getopt (3, argv, "+:a:b") != ':')
+ result |= 64;
+ }
+ /* This code dumps core on glibc 2.14. */
+ {
+ static char program[] = "program";
+ static char w[] = "-W";
+ static char dummy[] = "dummy";
+ char *argv[] = { program, w, dummy, NULL };
+ optind = opterr = 1;
+ if (getopt (3, argv, "W;") != 'W')
+ result |= 128;
+ }
+ return result;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_getopt_gnu=yes
+else
+ gl_cv_func_getopt_gnu=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ case $gl_had_POSIXLY_CORRECT in
+ exported) ;;
+ yes) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;}; POSIXLY_CORRECT=1 ;;
+ *) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} ;;
+ esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_gnu" >&5
+$as_echo "$gl_cv_func_getopt_gnu" >&6; }
+ if test "$gl_cv_func_getopt_gnu" = "no"; then
+ gl_replace_getopt=yes
+ fi
+ fi
+
+
+
+
+
+ REPLACE_GETOPT=0
+
+
+ if test -n "$gl_replace_getopt"; then :
+
+ REPLACE_GETOPT=1
+
+fi
+
+
+ if test $REPLACE_GETOPT = 1; then
+
+ GETOPT_H=getopt.h
+
+$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h
+
+
+
+ GNULIB_UNISTD_H_GETOPT=1
+ fi
+
+ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default"
+if test "x$ac_cv_have_decl_getenv" = x""yes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETENV $ac_have_decl
+_ACEOF
+
+
+
+
+ for ac_func in $ac_func_list
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+ REPLACE_NULL=0;
+ HAVE_WCHAR_T=1;
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5
+$as_echo_n "checking for wchar_t... " >&6; }
+if test "${gt_cv_c_wchar_t+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stddef.h>
+ wchar_t foo = (wchar_t)'\0';
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gt_cv_c_wchar_t=yes
+else
+ gt_cv_c_wchar_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5
+$as_echo "$gt_cv_c_wchar_t" >&6; }
+ if test $gt_cv_c_wchar_t = yes; then
+
+$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h
+
+ fi
+
+
+ GNULIB_FFSL=0;
+ GNULIB_FFSLL=0;
+ GNULIB_MEMCHR=0;
+ GNULIB_MEMMEM=0;
+ GNULIB_MEMPCPY=0;
+ GNULIB_MEMRCHR=0;
+ GNULIB_RAWMEMCHR=0;
+ GNULIB_STPCPY=0;
+ GNULIB_STPNCPY=0;
+ GNULIB_STRCHRNUL=0;
+ GNULIB_STRDUP=0;
+ GNULIB_STRNCAT=0;
+ GNULIB_STRNDUP=0;
+ GNULIB_STRNLEN=0;
+ GNULIB_STRPBRK=0;
+ GNULIB_STRSEP=0;
+ GNULIB_STRSTR=0;
+ GNULIB_STRCASESTR=0;
+ GNULIB_STRTOK_R=0;
+ GNULIB_MBSLEN=0;
+ GNULIB_MBSNLEN=0;
+ GNULIB_MBSCHR=0;
+ GNULIB_MBSRCHR=0;
+ GNULIB_MBSSTR=0;
+ GNULIB_MBSCASECMP=0;
+ GNULIB_MBSNCASECMP=0;
+ GNULIB_MBSPCASECMP=0;
+ GNULIB_MBSCASESTR=0;
+ GNULIB_MBSCSPN=0;
+ GNULIB_MBSPBRK=0;
+ GNULIB_MBSSPN=0;
+ GNULIB_MBSSEP=0;
+ GNULIB_MBSTOK_R=0;
+ GNULIB_STRERROR=0;
+ GNULIB_STRERROR_R=0;
+ GNULIB_STRSIGNAL=0;
+ GNULIB_STRVERSCMP=0;
+ HAVE_MBSLEN=0;
+ HAVE_FFSL=1;
+ HAVE_FFSLL=1;
+ HAVE_MEMCHR=1;
+ HAVE_DECL_MEMMEM=1;
+ HAVE_MEMPCPY=1;
+ HAVE_DECL_MEMRCHR=1;
+ HAVE_RAWMEMCHR=1;
+ HAVE_STPCPY=1;
+ HAVE_STPNCPY=1;
+ HAVE_STRCHRNUL=1;
+ HAVE_DECL_STRDUP=1;
+ HAVE_DECL_STRNDUP=1;
+ HAVE_DECL_STRNLEN=1;
+ HAVE_STRPBRK=1;
+ HAVE_STRSEP=1;
+ HAVE_STRCASESTR=1;
+ HAVE_DECL_STRTOK_R=1;
+ HAVE_DECL_STRERROR_R=1;
+ HAVE_DECL_STRSIGNAL=1;
+ HAVE_STRVERSCMP=1;
+ REPLACE_MEMCHR=0;
+ REPLACE_MEMMEM=0;
+ REPLACE_STPNCPY=0;
+ REPLACE_STRDUP=0;
+ REPLACE_STRSTR=0;
+ REPLACE_STRCASESTR=0;
+ REPLACE_STRCHRNUL=0;
+ REPLACE_STRERROR=0;
+ REPLACE_STRERROR_R=0;
+ REPLACE_STRNCAT=0;
+ REPLACE_STRNDUP=0;
+ REPLACE_STRNLEN=0;
+ REPLACE_STRSIGNAL=0;
+ REPLACE_STRTOK_R=0;
+ UNDEFINE_STRTOK_R=0;
+
+
+ REPLACE_STRERROR_0=0
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror(0) succeeds" >&5
+$as_echo_n "checking whether strerror(0) succeeds... " >&6; }
+if test "${gl_cv_func_strerror_0_works+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ gl_cv_func_strerror_0_works="guessing no"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+ #include <errno.h>
+
+int
+main ()
+{
+int result = 0;
+ char *str;
+ errno = 0;
+ str = strerror (0);
+ if (!*str) result |= 1;
+ if (errno) result |= 2;
+ if (strstr (str, "nknown") || strstr (str, "ndefined"))
+ result |= 4;
+ return result;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_strerror_0_works=yes
+else
+ gl_cv_func_strerror_0_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strerror_0_works" >&5
+$as_echo "$gl_cv_func_strerror_0_works" >&6; }
+ if test "$gl_cv_func_strerror_0_works" != yes; then
+ REPLACE_STRERROR_0=1
+
+$as_echo "#define REPLACE_STRERROR_0 1" >>confdefs.h
+
+ fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5
+$as_echo_n "checking for C/C++ restrict keyword... " >&6; }
+if test "${ac_cv_c_restrict+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_restrict=no
+ # The order here caters to the fact that C++ does not require restrict.
+ for ac_kw in __restrict __restrict__ _Restrict restrict; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+typedef int * int_ptr;
+ int foo (int_ptr $ac_kw ip) {
+ return ip[0];
+ }
+int
+main ()
+{
+int s[1];
+ int * $ac_kw t = s;
+ t[0] = 0;
+ return foo(t)
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_restrict=$ac_kw
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ test "$ac_cv_c_restrict" != no && break
+ done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5
+$as_echo "$ac_cv_c_restrict" >&6; }
+
+ case $ac_cv_c_restrict in
+ restrict) ;;
+ no) $as_echo "#define restrict /**/" >>confdefs.h
+ ;;
+ *) cat >>confdefs.h <<_ACEOF
+#define restrict $ac_cv_c_restrict
+_ACEOF
+ ;;
+ esac
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_string_h='<'string.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <string.h>" >&5
+$as_echo_n "checking absolute name of <string.h>... " >&6; }
+if test "${gl_cv_next_string_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'string.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_string_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5
+$as_echo "$gl_cv_next_string_h" >&6; }
+ fi
+ NEXT_STRING_H=$gl_cv_next_string_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'string.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_string_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_STRING_H=$gl_next_as_first_directive
+
+
+
+
+
+
+ for gl_func in ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r strerror_r strsignal strverscmp; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval "test \"\${$as_gl_Symbol+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+int
+main ()
+{
+#undef $gl_func
+ (void) $gl_func;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
+else
+ eval "$as_gl_Symbol=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+
+ eval ac_cv_have_decl_$gl_func=yes
+fi
+ done
+
+
+
+
+ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
+if test "x$ac_cv_type_pid_t" = x""yes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define pid_t int
+_ACEOF
+
+fi
+
+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+# for constant arguments. Useless!
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
+$as_echo_n "checking for working alloca.h... " >&6; }
+if test "${ac_cv_working_alloca_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <alloca.h>
+int
+main ()
+{
+char *p = (char *) alloca (2 * sizeof (int));
+ if (p) return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_working_alloca_h=yes
+else
+ ac_cv_working_alloca_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
+$as_echo "$ac_cv_working_alloca_h" >&6; }
+if test $ac_cv_working_alloca_h = yes; then
+
+$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
+$as_echo_n "checking for alloca... " >&6; }
+if test "${ac_cv_func_alloca_works+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+#else
+# ifdef _MSC_VER
+# include <malloc.h>
+# define alloca _alloca
+# else
+# ifdef HAVE_ALLOCA_H
+# include <alloca.h>
+# else
+# ifdef _AIX
+ #pragma alloca
+# else
+# ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+# endif
+# endif
+# endif
+# endif
+#endif
+
+int
+main ()
+{
+char *p = (char *) alloca (1);
+ if (p) return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_func_alloca_works=yes
+else
+ ac_cv_func_alloca_works=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
+$as_echo "$ac_cv_func_alloca_works" >&6; }
+
+if test $ac_cv_func_alloca_works = yes; then
+
+$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
+
+else
+ # The SVR3 libPW and SVR4 libucb both contain incompatible functions
+# that cause trouble. Some versions do not even contain alloca or
+# contain a buggy version. If you still want to use their alloca,
+# use ar to extract alloca.o from them instead of compiling alloca.c.
+
+
+
+
+
+ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
+
+$as_echo "#define C_ALLOCA 1" >>confdefs.h
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
+$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
+if test "${ac_cv_os_cray+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#if defined CRAY && ! defined CRAY2
+webecray
+#else
+wenotbecray
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "webecray" >/dev/null 2>&1; then :
+ ac_cv_os_cray=yes
+else
+ ac_cv_os_cray=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
+$as_echo "$ac_cv_os_cray" >&6; }
+if test $ac_cv_os_cray = yes; then
+ for ac_func in _getb67 GETB67 getb67; do
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+
+cat >>confdefs.h <<_ACEOF
+#define CRAY_STACKSEG_END $ac_func
+_ACEOF
+
+ break
+fi
+
+ done
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
+$as_echo_n "checking stack direction for C alloca... " >&6; }
+if test "${ac_cv_c_stack_direction+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ ac_cv_c_stack_direction=0
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+find_stack_direction (int *addr, int depth)
+{
+ int dir, dummy = 0;
+ if (! addr)
+ addr = &dummy;
+ *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+ dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+ return dir + dummy;
+}
+
+int
+main (int argc, char **argv)
+{
+ return find_stack_direction (0, argc + !argv + 20) < 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_c_stack_direction=1
+else
+ ac_cv_c_stack_direction=-1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
+$as_echo "$ac_cv_c_stack_direction" >&6; }
+cat >>confdefs.h <<_ACEOF
+#define STACK_DIRECTION $ac_cv_c_stack_direction
+_ACEOF
+
+
+fi
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5
+$as_echo_n "checking if environ is properly declared... " >&6; }
+ if test "${gt_cv_var_environ_declaration+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#if HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+ /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>. */
+ #include <stdlib.h>
+
+ extern struct { int foo; } environ;
+int
+main ()
+{
+environ.foo = 1;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gt_cv_var_environ_declaration=no
+else
+ gt_cv_var_environ_declaration=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5
+$as_echo "$gt_cv_var_environ_declaration" >&6; }
+ if test $gt_cv_var_environ_declaration = yes; then
+
+$as_echo "#define HAVE_ENVIRON_DECL 1" >>confdefs.h
+
+ fi
+
+
+ if test $gt_cv_var_environ_declaration != yes; then
+ HAVE_DECL_ENVIRON=0
+ fi
+
+
+ GNULIB_FCNTL=0;
+ GNULIB_NONBLOCKING=0;
+ GNULIB_OPEN=0;
+ GNULIB_OPENAT=0;
+ HAVE_FCNTL=1;
+ HAVE_OPENAT=1;
+ REPLACE_FCNTL=0;
+ REPLACE_OPEN=0;
+ REPLACE_OPENAT=0;
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fcntl.h" >&5
+$as_echo_n "checking for working fcntl.h... " >&6; }
+if test "${gl_cv_header_working_fcntl_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ gl_cv_header_working_fcntl_h=cross-compiling
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #ifndef O_NOATIME
+ #define O_NOATIME 0
+ #endif
+ #ifndef O_NOFOLLOW
+ #define O_NOFOLLOW 0
+ #endif
+ static int const constants[] =
+ {
+ O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND,
+ O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY
+ };
+
+int
+main ()
+{
+
+ int status = !constants;
+ {
+ static char const sym[] = "conftest.sym";
+ if (symlink (".", sym) != 0
+ || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0)
+ status |= 32;
+ unlink (sym);
+ }
+ {
+ static char const file[] = "confdefs.h";
+ int fd = open (file, O_RDONLY | O_NOATIME);
+ char c;
+ struct stat st0, st1;
+ if (fd < 0
+ || fstat (fd, &st0) != 0
+ || sleep (1) != 0
+ || read (fd, &c, 1) != 1
+ || close (fd) != 0
+ || stat (file, &st1) != 0
+ || st0.st_atime != st1.st_atime)
+ status |= 64;
+ }
+ return status;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_header_working_fcntl_h=yes
+else
+ case $? in #(
+ 32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #(
+ 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #(
+ 96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #(
+ *) gl_cv_header_working_fcntl_h='no';;
+ esac
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_fcntl_h" >&5
+$as_echo "$gl_cv_header_working_fcntl_h" >&6; }
+
+ case $gl_cv_header_working_fcntl_h in #(
+ *O_NOATIME* | no | cross-compiling) ac_val=0;; #(
+ *) ac_val=1;;
+ esac
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_WORKING_O_NOATIME $ac_val
+_ACEOF
+
+
+ case $gl_cv_header_working_fcntl_h in #(
+ *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #(
+ *) ac_val=1;;
+ esac
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_WORKING_O_NOFOLLOW $ac_val
+_ACEOF
+
+
+ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default"
+if test "x$ac_cv_type_mode_t" = x""yes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define mode_t int
+_ACEOF
+
+fi
+
+
+ GNULIB_DPRINTF=0;
+ GNULIB_FCLOSE=0;
+ GNULIB_FDOPEN=0;
+ GNULIB_FFLUSH=0;
+ GNULIB_FGETC=0;
+ GNULIB_FGETS=0;
+ GNULIB_FOPEN=0;
+ GNULIB_FPRINTF=0;
+ GNULIB_FPRINTF_POSIX=0;
+ GNULIB_FPURGE=0;
+ GNULIB_FPUTC=0;
+ GNULIB_FPUTS=0;
+ GNULIB_FREAD=0;
+ GNULIB_FREOPEN=0;
+ GNULIB_FSCANF=0;
+ GNULIB_FSEEK=0;
+ GNULIB_FSEEKO=0;
+ GNULIB_FTELL=0;
+ GNULIB_FTELLO=0;
+ GNULIB_FWRITE=0;
+ GNULIB_GETC=0;
+ GNULIB_GETCHAR=0;
+ GNULIB_GETDELIM=0;
+ GNULIB_GETLINE=0;
+ GNULIB_GETS=0;
+ GNULIB_OBSTACK_PRINTF=0;
+ GNULIB_OBSTACK_PRINTF_POSIX=0;
+ GNULIB_PCLOSE=0;
+ GNULIB_PERROR=0;
+ GNULIB_POPEN=0;
+ GNULIB_PRINTF=0;
+ GNULIB_PRINTF_POSIX=0;
+ GNULIB_PUTC=0;
+ GNULIB_PUTCHAR=0;
+ GNULIB_PUTS=0;
+ GNULIB_REMOVE=0;
+ GNULIB_RENAME=0;
+ GNULIB_RENAMEAT=0;
+ GNULIB_SCANF=0;
+ GNULIB_SNPRINTF=0;
+ GNULIB_SPRINTF_POSIX=0;
+ GNULIB_STDIO_H_NONBLOCKING=0;
+ GNULIB_STDIO_H_SIGPIPE=0;
+ GNULIB_TMPFILE=0;
+ GNULIB_VASPRINTF=0;
+ GNULIB_VFSCANF=0;
+ GNULIB_VSCANF=0;
+ GNULIB_VDPRINTF=0;
+ GNULIB_VFPRINTF=0;
+ GNULIB_VFPRINTF_POSIX=0;
+ GNULIB_VPRINTF=0;
+ GNULIB_VPRINTF_POSIX=0;
+ GNULIB_VSNPRINTF=0;
+ GNULIB_VSPRINTF_POSIX=0;
+ HAVE_DECL_FPURGE=1;
+ HAVE_DECL_FSEEKO=1;
+ HAVE_DECL_FTELLO=1;
+ HAVE_DECL_GETDELIM=1;
+ HAVE_DECL_GETLINE=1;
+ HAVE_DECL_OBSTACK_PRINTF=1;
+ HAVE_DECL_SNPRINTF=1;
+ HAVE_DECL_VSNPRINTF=1;
+ HAVE_DPRINTF=1;
+ HAVE_FSEEKO=1;
+ HAVE_FTELLO=1;
+ HAVE_PCLOSE=1;
+ HAVE_POPEN=1;
+ HAVE_RENAMEAT=1;
+ HAVE_VASPRINTF=1;
+ HAVE_VDPRINTF=1;
+ REPLACE_DPRINTF=0;
+ REPLACE_FCLOSE=0;
+ REPLACE_FDOPEN=0;
+ REPLACE_FFLUSH=0;
+ REPLACE_FOPEN=0;
+ REPLACE_FPRINTF=0;
+ REPLACE_FPURGE=0;
+ REPLACE_FREOPEN=0;
+ REPLACE_FSEEK=0;
+ REPLACE_FSEEKO=0;
+ REPLACE_FTELL=0;
+ REPLACE_FTELLO=0;
+ REPLACE_GETDELIM=0;
+ REPLACE_GETLINE=0;
+ REPLACE_OBSTACK_PRINTF=0;
+ REPLACE_PERROR=0;
+ REPLACE_POPEN=0;
+ REPLACE_PRINTF=0;
+ REPLACE_REMOVE=0;
+ REPLACE_RENAME=0;
+ REPLACE_RENAMEAT=0;
+ REPLACE_SNPRINTF=0;
+ REPLACE_SPRINTF=0;
+ REPLACE_STDIO_READ_FUNCS=0;
+ REPLACE_STDIO_WRITE_FUNCS=0;
+ REPLACE_TMPFILE=0;
+ REPLACE_VASPRINTF=0;
+ REPLACE_VDPRINTF=0;
+ REPLACE_VFPRINTF=0;
+ REPLACE_VPRINTF=0;
+ REPLACE_VSNPRINTF=0;
+ REPLACE_VSPRINTF=0;
+
+
+ GNULIB_FCHMODAT=0;
+ GNULIB_FSTAT=0;
+ GNULIB_FSTATAT=0;
+ GNULIB_FUTIMENS=0;
+ GNULIB_LCHMOD=0;
+ GNULIB_LSTAT=0;
+ GNULIB_MKDIRAT=0;
+ GNULIB_MKFIFO=0;
+ GNULIB_MKFIFOAT=0;
+ GNULIB_MKNOD=0;
+ GNULIB_MKNODAT=0;
+ GNULIB_STAT=0;
+ GNULIB_UTIMENSAT=0;
+ HAVE_FCHMODAT=1;
+ HAVE_FSTATAT=1;
+ HAVE_FUTIMENS=1;
+ HAVE_LCHMOD=1;
+ HAVE_LSTAT=1;
+ HAVE_MKDIRAT=1;
+ HAVE_MKFIFO=1;
+ HAVE_MKFIFOAT=1;
+ HAVE_MKNOD=1;
+ HAVE_MKNODAT=1;
+ HAVE_UTIMENSAT=1;
+ REPLACE_FSTAT=0;
+ REPLACE_FSTATAT=0;
+ REPLACE_FUTIMENS=0;
+ REPLACE_LSTAT=0;
+ REPLACE_MKDIR=0;
+ REPLACE_MKFIFO=0;
+ REPLACE_MKNOD=0;
+ REPLACE_STAT=0;
+ REPLACE_UTIMENSAT=0;
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getcwd (NULL, 0) allocates memory for result" >&5
+$as_echo_n "checking whether getcwd (NULL, 0) allocates memory for result... " >&6; }
+if test "${gl_cv_func_getcwd_null+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+
+ case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu*) gl_cv_func_getcwd_null="guessing yes";;
+ # Guess yes on Cygwin.
+ cygwin*) gl_cv_func_getcwd_null="guessing yes";;
+ # If we don't know, assume the worst.
+ *) gl_cv_func_getcwd_null="guessing no";;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+# if HAVE_UNISTD_H
+# include <unistd.h>
+# else /* on Windows with MSVC */
+# include <direct.h>
+# endif
+# ifndef getcwd
+ char *getcwd ();
+# endif
+
+int
+main ()
+{
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* mingw cwd does not start with '/', but getcwd does allocate.
+ However, mingw fails to honor non-zero size. */
+#else
+ if (chdir ("/") != 0)
+ return 1;
+ else
+ {
+ char *f = getcwd (NULL, 0);
+ if (! f)
+ return 2;
+ if (f[0] != '/')
+ return 3;
+ if (f[1] != '\0')
+ return 4;
+ return 0;
+ }
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_getcwd_null=yes
+else
+ gl_cv_func_getcwd_null=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_null" >&5
+$as_echo "$gl_cv_func_getcwd_null" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getcwd with POSIX signature" >&5
+$as_echo_n "checking for getcwd with POSIX signature... " >&6; }
+if test "${gl_cv_func_getcwd_posix_signature+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <unistd.h>
+int
+main ()
+{
+extern
+ #ifdef __cplusplus
+ "C"
+ #endif
+ char *getcwd (char *, size_t);
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_func_getcwd_posix_signature=yes
+else
+ gl_cv_func_getcwd_posix_signature=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_posix_signature" >&5
+$as_echo "$gl_cv_func_getcwd_posix_signature" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5
+$as_echo_n "checking for long long int... " >&6; }
+if test "${ac_cv_type_long_long_int+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ /* For now, do not test the preprocessor; as of 2007 there are too many
+ implementations with broken preprocessors. Perhaps this can
+ be revisited in 2012. In the meantime, code should not expect
+ #if to work with literals wider than 32 bits. */
+ /* Test literals. */
+ long long int ll = 9223372036854775807ll;
+ long long int nll = -9223372036854775807LL;
+ unsigned long long int ull = 18446744073709551615ULL;
+ /* Test constant expressions. */
+ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
+ ? 1 : -1)];
+ typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
+ ? 1 : -1)];
+ int i = 63;
+int
+main ()
+{
+/* Test availability of runtime routines for shift and division. */
+ long long int llmax = 9223372036854775807ll;
+ unsigned long long int ullmax = 18446744073709551615ull;
+ return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
+ | (llmax / ll) | (llmax % ll)
+ | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
+ | (ullmax / ull) | (ullmax % ull));
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ if test "$cross_compiling" = yes; then :
+ ac_cv_type_long_long_int=yes
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+ #ifndef LLONG_MAX
+ # define HALF \
+ (1LL << (sizeof (long long int) * CHAR_BIT - 2))
+ # define LLONG_MAX (HALF - 1 + HALF)
+ #endif
+int
+main ()
+{
+long long int n = 1;
+ int i;
+ for (i = 0; ; i++)
+ {
+ long long int m = n << i;
+ if (m >> i != n)
+ return 1;
+ if (LLONG_MAX / 2 < m)
+ break;
+ }
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_type_long_long_int=yes
+else
+ ac_cv_type_long_long_int=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+else
+ ac_cv_type_long_long_int=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5
+$as_echo "$ac_cv_type_long_long_int" >&6; }
+ if test $ac_cv_type_long_long_int = yes; then
+
+$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h
+
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5
+$as_echo_n "checking for unsigned long long int... " >&6; }
+if test "${ac_cv_type_unsigned_long_long_int+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ /* For now, do not test the preprocessor; as of 2007 there are too many
+ implementations with broken preprocessors. Perhaps this can
+ be revisited in 2012. In the meantime, code should not expect
+ #if to work with literals wider than 32 bits. */
+ /* Test literals. */
+ long long int ll = 9223372036854775807ll;
+ long long int nll = -9223372036854775807LL;
+ unsigned long long int ull = 18446744073709551615ULL;
+ /* Test constant expressions. */
+ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
+ ? 1 : -1)];
+ typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
+ ? 1 : -1)];
+ int i = 63;
+int
+main ()
+{
+/* Test availability of runtime routines for shift and division. */
+ long long int llmax = 9223372036854775807ll;
+ unsigned long long int ullmax = 18446744073709551615ull;
+ return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
+ | (llmax / ll) | (llmax % ll)
+ | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
+ | (ullmax / ull) | (ullmax % ull));
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_type_unsigned_long_long_int=yes
+else
+ ac_cv_type_unsigned_long_long_int=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5
+$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; }
+ if test $ac_cv_type_unsigned_long_long_int = yes; then
+
+$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h
+
+ fi
+
+
+
+
+
+
+ gl_cv_c_multiarch=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ arch=
+ prev=
+ for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
+ if test -n "$prev"; then
+ case $word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$arch" || test "$arch" = "$word"; then
+ arch="$word"
+ else
+ gl_cv_c_multiarch=yes
+ fi
+ ;;
+ esac
+ prev=
+ else
+ if test "x$word" = "x-arch"; then
+ prev=arch
+ fi
+ fi
+ done
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $gl_cv_c_multiarch = yes; then
+ APPLE_UNIVERSAL_BUILD=1
+ else
+ APPLE_UNIVERSAL_BUILD=0
+ fi
+
+
+
+
+
+ if test $ac_cv_type_long_long_int = yes; then
+ HAVE_LONG_LONG_INT=1
+ else
+ HAVE_LONG_LONG_INT=0
+ fi
+
+
+ if test $ac_cv_type_unsigned_long_long_int = yes; then
+ HAVE_UNSIGNED_LONG_LONG_INT=1
+ else
+ HAVE_UNSIGNED_LONG_LONG_INT=0
+ fi
+
+
+
+ if test $ac_cv_header_wchar_h = yes; then
+ HAVE_WCHAR_H=1
+ else
+ HAVE_WCHAR_H=0
+ fi
+
+
+ if test $ac_cv_header_inttypes_h = yes; then
+ HAVE_INTTYPES_H=1
+ else
+ HAVE_INTTYPES_H=0
+ fi
+
+
+ if test $ac_cv_header_sys_types_h = yes; then
+ HAVE_SYS_TYPES_H=1
+ else
+ HAVE_SYS_TYPES_H=0
+ fi
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_stdint_h='<'stdint.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdint.h>" >&5
+$as_echo_n "checking absolute name of <stdint.h>... " >&6; }
+if test "${gl_cv_next_stdint_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test $ac_cv_header_stdint_h = yes; then
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdint.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'stdint.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+ else
+ gl_cv_next_stdint_h='<'stdint.h'>'
+ fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5
+$as_echo "$gl_cv_next_stdint_h" >&6; }
+ fi
+ NEXT_STDINT_H=$gl_cv_next_stdint_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'stdint.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_stdint_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive
+
+
+
+
+ if test $ac_cv_header_stdint_h = yes; then
+ HAVE_STDINT_H=1
+ else
+ HAVE_STDINT_H=0
+ fi
+
+
+ if test $ac_cv_header_stdint_h = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5
+$as_echo_n "checking whether stdint.h conforms to C99... " >&6; }
+if test "${gl_cv_header_working_stdint_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ gl_cv_header_working_stdint_h=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+
+#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
+#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#include <stdint.h>
+/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */
+#if !(defined WCHAR_MIN && defined WCHAR_MAX)
+#error "WCHAR_MIN, WCHAR_MAX not defined in <stdint.h>"
+#endif
+
+
+ /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+ #include <stddef.h>
+ #include <signal.h>
+ #if HAVE_WCHAR_H
+ # include <stdio.h>
+ # include <time.h>
+ # include <wchar.h>
+ #endif
+
+
+#ifdef INT8_MAX
+int8_t a1 = INT8_MAX;
+int8_t a1min = INT8_MIN;
+#endif
+#ifdef INT16_MAX
+int16_t a2 = INT16_MAX;
+int16_t a2min = INT16_MIN;
+#endif
+#ifdef INT32_MAX
+int32_t a3 = INT32_MAX;
+int32_t a3min = INT32_MIN;
+#endif
+#ifdef INT64_MAX
+int64_t a4 = INT64_MAX;
+int64_t a4min = INT64_MIN;
+#endif
+#ifdef UINT8_MAX
+uint8_t b1 = UINT8_MAX;
+#else
+typedef int b1[(unsigned char) -1 != 255 ? 1 : -1];
+#endif
+#ifdef UINT16_MAX
+uint16_t b2 = UINT16_MAX;
+#endif
+#ifdef UINT32_MAX
+uint32_t b3 = UINT32_MAX;
+#endif
+#ifdef UINT64_MAX
+uint64_t b4 = UINT64_MAX;
+#endif
+int_least8_t c1 = INT8_C (0x7f);
+int_least8_t c1max = INT_LEAST8_MAX;
+int_least8_t c1min = INT_LEAST8_MIN;
+int_least16_t c2 = INT16_C (0x7fff);
+int_least16_t c2max = INT_LEAST16_MAX;
+int_least16_t c2min = INT_LEAST16_MIN;
+int_least32_t c3 = INT32_C (0x7fffffff);
+int_least32_t c3max = INT_LEAST32_MAX;
+int_least32_t c3min = INT_LEAST32_MIN;
+int_least64_t c4 = INT64_C (0x7fffffffffffffff);
+int_least64_t c4max = INT_LEAST64_MAX;
+int_least64_t c4min = INT_LEAST64_MIN;
+uint_least8_t d1 = UINT8_C (0xff);
+uint_least8_t d1max = UINT_LEAST8_MAX;
+uint_least16_t d2 = UINT16_C (0xffff);
+uint_least16_t d2max = UINT_LEAST16_MAX;
+uint_least32_t d3 = UINT32_C (0xffffffff);
+uint_least32_t d3max = UINT_LEAST32_MAX;
+uint_least64_t d4 = UINT64_C (0xffffffffffffffff);
+uint_least64_t d4max = UINT_LEAST64_MAX;
+int_fast8_t e1 = INT_FAST8_MAX;
+int_fast8_t e1min = INT_FAST8_MIN;
+int_fast16_t e2 = INT_FAST16_MAX;
+int_fast16_t e2min = INT_FAST16_MIN;
+int_fast32_t e3 = INT_FAST32_MAX;
+int_fast32_t e3min = INT_FAST32_MIN;
+int_fast64_t e4 = INT_FAST64_MAX;
+int_fast64_t e4min = INT_FAST64_MIN;
+uint_fast8_t f1 = UINT_FAST8_MAX;
+uint_fast16_t f2 = UINT_FAST16_MAX;
+uint_fast32_t f3 = UINT_FAST32_MAX;
+uint_fast64_t f4 = UINT_FAST64_MAX;
+#ifdef INTPTR_MAX
+intptr_t g = INTPTR_MAX;
+intptr_t gmin = INTPTR_MIN;
+#endif
+#ifdef UINTPTR_MAX
+uintptr_t h = UINTPTR_MAX;
+#endif
+intmax_t i = INTMAX_MAX;
+uintmax_t j = UINTMAX_MAX;
+
+#include <limits.h> /* for CHAR_BIT */
+#define TYPE_MINIMUM(t) \
+ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t)))
+#define TYPE_MAXIMUM(t) \
+ ((t) ((t) 0 < (t) -1 \
+ ? (t) -1 \
+ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
+struct s {
+ int check_PTRDIFF:
+ PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t)
+ && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t)
+ ? 1 : -1;
+ /* Detect bug in FreeBSD 6.0 / ia64. */
+ int check_SIG_ATOMIC:
+ SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t)
+ && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t)
+ ? 1 : -1;
+ int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1;
+ int check_WCHAR:
+ WCHAR_MIN == TYPE_MINIMUM (wchar_t)
+ && WCHAR_MAX == TYPE_MAXIMUM (wchar_t)
+ ? 1 : -1;
+ /* Detect bug in mingw. */
+ int check_WINT:
+ WINT_MIN == TYPE_MINIMUM (wint_t)
+ && WINT_MAX == TYPE_MAXIMUM (wint_t)
+ ? 1 : -1;
+
+ /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */
+ int check_UINT8_C:
+ (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1;
+ int check_UINT16_C:
+ (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1;
+
+ /* Detect bugs in OpenBSD 3.9 stdint.h. */
+#ifdef UINT8_MAX
+ int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1;
+#endif
+#ifdef UINT16_MAX
+ int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1;
+#endif
+#ifdef UINT32_MAX
+ int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1;
+#endif
+#ifdef UINT64_MAX
+ int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1;
+#endif
+ int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1;
+ int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1;
+ int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1;
+ int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1;
+ int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1;
+ int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1;
+ int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1;
+ int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1;
+ int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1;
+ int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1;
+ int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1;
+};
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ if test "$cross_compiling" = yes; then :
+ gl_cv_header_working_stdint_h=yes
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+
+#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
+#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#include <stdint.h>
+
+
+ /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+ #include <stddef.h>
+ #include <signal.h>
+ #if HAVE_WCHAR_H
+ # include <stdio.h>
+ # include <time.h>
+ # include <wchar.h>
+ #endif
+
+
+#include <stdio.h>
+#include <string.h>
+#define MVAL(macro) MVAL1(macro)
+#define MVAL1(expression) #expression
+static const char *macro_values[] =
+ {
+#ifdef INT8_MAX
+ MVAL (INT8_MAX),
+#endif
+#ifdef INT16_MAX
+ MVAL (INT16_MAX),
+#endif
+#ifdef INT32_MAX
+ MVAL (INT32_MAX),
+#endif
+#ifdef INT64_MAX
+ MVAL (INT64_MAX),
+#endif
+#ifdef UINT8_MAX
+ MVAL (UINT8_MAX),
+#endif
+#ifdef UINT16_MAX
+ MVAL (UINT16_MAX),
+#endif
+#ifdef UINT32_MAX
+ MVAL (UINT32_MAX),
+#endif
+#ifdef UINT64_MAX
+ MVAL (UINT64_MAX),
+#endif
+ NULL
+ };
+
+int
+main ()
+{
+
+ const char **mv;
+ for (mv = macro_values; *mv != NULL; mv++)
+ {
+ const char *value = *mv;
+ /* Test whether it looks like a cast expression. */
+ if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0
+ || strncmp (value, "((unsigned short)"/*)*/, 17) == 0
+ || strncmp (value, "((unsigned char)"/*)*/, 16) == 0
+ || strncmp (value, "((int)"/*)*/, 6) == 0
+ || strncmp (value, "((signed short)"/*)*/, 15) == 0
+ || strncmp (value, "((signed char)"/*)*/, 14) == 0)
+ return mv - macro_values + 1;
+ }
+ return 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_header_working_stdint_h=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5
+$as_echo "$gl_cv_header_working_stdint_h" >&6; }
+ fi
+ if test "$gl_cv_header_working_stdint_h" = yes; then
+ STDINT_H=
+ else
+ for ac_header in sys/inttypes.h sys/bitypes.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+ if test $ac_cv_header_sys_inttypes_h = yes; then
+ HAVE_SYS_INTTYPES_H=1
+ else
+ HAVE_SYS_INTTYPES_H=0
+ fi
+
+ if test $ac_cv_header_sys_bitypes_h = yes; then
+ HAVE_SYS_BITYPES_H=1
+ else
+ HAVE_SYS_BITYPES_H=0
+ fi
+
+
+
+
+ if test $APPLE_UNIVERSAL_BUILD = 0; then
+
+
+ for gltype in ptrdiff_t size_t ; do
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
+$as_echo_n "checking for bit size of $gltype... " >&6; }
+if eval "test \"\${gl_cv_bitsizeof_${gltype}+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" "
+ /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+ #include <stddef.h>
+ #include <signal.h>
+ #if HAVE_WCHAR_H
+ # include <stdio.h>
+ # include <time.h>
+ # include <wchar.h>
+ #endif
+
+#include <limits.h>"; then :
+
+else
+ result=unknown
+fi
+
+ eval gl_cv_bitsizeof_${gltype}=\$result
+
+fi
+eval ac_res=\$gl_cv_bitsizeof_${gltype}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval result=\$gl_cv_bitsizeof_${gltype}
+ if test $result = unknown; then
+ result=0
+ fi
+ GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+ cat >>confdefs.h <<_ACEOF
+#define BITSIZEOF_${GLTYPE} $result
+_ACEOF
+
+ eval BITSIZEOF_${GLTYPE}=\$result
+ done
+
+
+ fi
+
+
+ for gltype in sig_atomic_t wchar_t wint_t ; do
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
+$as_echo_n "checking for bit size of $gltype... " >&6; }
+if eval "test \"\${gl_cv_bitsizeof_${gltype}+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" "
+ /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+ #include <stddef.h>
+ #include <signal.h>
+ #if HAVE_WCHAR_H
+ # include <stdio.h>
+ # include <time.h>
+ # include <wchar.h>
+ #endif
+
+#include <limits.h>"; then :
+
+else
+ result=unknown
+fi
+
+ eval gl_cv_bitsizeof_${gltype}=\$result
+
+fi
+eval ac_res=\$gl_cv_bitsizeof_${gltype}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval result=\$gl_cv_bitsizeof_${gltype}
+ if test $result = unknown; then
+ result=0
+ fi
+ GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+ cat >>confdefs.h <<_ACEOF
+#define BITSIZEOF_${GLTYPE} $result
+_ACEOF
+
+ eval BITSIZEOF_${GLTYPE}=\$result
+ done
+
+
+
+
+ for gltype in sig_atomic_t wchar_t wint_t ; do
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5
+$as_echo_n "checking whether $gltype is signed... " >&6; }
+if eval "test \"\${gl_cv_type_${gltype}_signed+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+ #include <stddef.h>
+ #include <signal.h>
+ #if HAVE_WCHAR_H
+ # include <stdio.h>
+ # include <time.h>
+ # include <wchar.h>
+ #endif
+
+ int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ result=yes
+else
+ result=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ eval gl_cv_type_${gltype}_signed=\$result
+
+fi
+eval ac_res=\$gl_cv_type_${gltype}_signed
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval result=\$gl_cv_type_${gltype}_signed
+ GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+ if test "$result" = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SIGNED_${GLTYPE} 1
+_ACEOF
+
+ eval HAVE_SIGNED_${GLTYPE}=1
+ else
+ eval HAVE_SIGNED_${GLTYPE}=0
+ fi
+ done
+
+
+ gl_cv_type_ptrdiff_t_signed=yes
+ gl_cv_type_size_t_signed=no
+ if test $APPLE_UNIVERSAL_BUILD = 0; then
+
+
+ for gltype in ptrdiff_t size_t ; do
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
+$as_echo_n "checking for $gltype integer literal suffix... " >&6; }
+if eval "test \"\${gl_cv_type_${gltype}_suffix+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval gl_cv_type_${gltype}_suffix=no
+ eval result=\$gl_cv_type_${gltype}_signed
+ if test "$result" = yes; then
+ glsufu=
+ else
+ glsufu=u
+ fi
+ for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
+ case $glsuf in
+ '') gltype1='int';;
+ l) gltype1='long int';;
+ ll) gltype1='long long int';;
+ i64) gltype1='__int64';;
+ u) gltype1='unsigned int';;
+ ul) gltype1='unsigned long int';;
+ ull) gltype1='unsigned long long int';;
+ ui64)gltype1='unsigned __int64';;
+ esac
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+ #include <stddef.h>
+ #include <signal.h>
+ #if HAVE_WCHAR_H
+ # include <stdio.h>
+ # include <time.h>
+ # include <wchar.h>
+ #endif
+
+ extern $gltype foo;
+ extern $gltype1 foo;
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval gl_cv_type_${gltype}_suffix=\$glsuf
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ eval result=\$gl_cv_type_${gltype}_suffix
+ test "$result" != no && break
+ done
+fi
+eval ac_res=\$gl_cv_type_${gltype}_suffix
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+ eval result=\$gl_cv_type_${gltype}_suffix
+ test "$result" = no && result=
+ eval ${GLTYPE}_SUFFIX=\$result
+ cat >>confdefs.h <<_ACEOF
+#define ${GLTYPE}_SUFFIX $result
+_ACEOF
+
+ done
+
+
+ fi
+
+
+ for gltype in sig_atomic_t wchar_t wint_t ; do
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
+$as_echo_n "checking for $gltype integer literal suffix... " >&6; }
+if eval "test \"\${gl_cv_type_${gltype}_suffix+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval gl_cv_type_${gltype}_suffix=no
+ eval result=\$gl_cv_type_${gltype}_signed
+ if test "$result" = yes; then
+ glsufu=
+ else
+ glsufu=u
+ fi
+ for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
+ case $glsuf in
+ '') gltype1='int';;
+ l) gltype1='long int';;
+ ll) gltype1='long long int';;
+ i64) gltype1='__int64';;
+ u) gltype1='unsigned int';;
+ ul) gltype1='unsigned long int';;
+ ull) gltype1='unsigned long long int';;
+ ui64)gltype1='unsigned __int64';;
+ esac
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+ #include <stddef.h>
+ #include <signal.h>
+ #if HAVE_WCHAR_H
+ # include <stdio.h>
+ # include <time.h>
+ # include <wchar.h>
+ #endif
+
+ extern $gltype foo;
+ extern $gltype1 foo;
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval gl_cv_type_${gltype}_suffix=\$glsuf
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ eval result=\$gl_cv_type_${gltype}_suffix
+ test "$result" != no && break
+ done
+fi
+eval ac_res=\$gl_cv_type_${gltype}_suffix
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+ eval result=\$gl_cv_type_${gltype}_suffix
+ test "$result" = no && result=
+ eval ${GLTYPE}_SUFFIX=\$result
+ cat >>confdefs.h <<_ACEOF
+#define ${GLTYPE}_SUFFIX $result
+_ACEOF
+
+ done
+
+
+
+ if test $BITSIZEOF_WINT_T -lt 32; then
+ BITSIZEOF_WINT_T=32
+ fi
+
+ STDINT_H=stdint.h
+ fi
+
+ if test -n "$STDINT_H"; then
+ GL_GENERATE_STDINT_H_TRUE=
+ GL_GENERATE_STDINT_H_FALSE='#'
+else
+ GL_GENERATE_STDINT_H_TRUE='#'
+ GL_GENERATE_STDINT_H_FALSE=
+fi
+
+
+
+
+
+ GNULIB_IMAXABS=0;
+ GNULIB_IMAXDIV=0;
+ GNULIB_STRTOIMAX=0;
+ GNULIB_STRTOUMAX=0;
+ HAVE_DECL_IMAXABS=1;
+ HAVE_DECL_IMAXDIV=1;
+ HAVE_DECL_STRTOIMAX=1;
+ HAVE_DECL_STRTOUMAX=1;
+ INT32_MAX_LT_INTMAX_MAX=1;
+ INT64_MAX_EQ_LONG_MAX='defined _LP64';
+ PRI_MACROS_BROKEN=0;
+ PRIPTR_PREFIX=__PRIPTR_PREFIX;
+ UINT32_MAX_LT_UINTMAX_MAX=1;
+ UINT64_MAX_EQ_ULONG_MAX='defined _LP64';
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_inttypes_h='<'inttypes.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <inttypes.h>" >&5
+$as_echo_n "checking absolute name of <inttypes.h>... " >&6; }
+if test "${gl_cv_next_inttypes_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test $ac_cv_header_inttypes_h = yes; then
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <inttypes.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'inttypes.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_inttypes_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+ else
+ gl_cv_next_inttypes_h='<'inttypes.h'>'
+ fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_inttypes_h" >&5
+$as_echo "$gl_cv_next_inttypes_h" >&6; }
+ fi
+ NEXT_INTTYPES_H=$gl_cv_next_inttypes_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'inttypes.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_inttypes_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H=$gl_next_as_first_directive
+
+
+
+
+
+
+
+
+$as_echo "#define GL_TRIGGER_STDC_LIMIT_MACROS 1" >>confdefs.h
+
+
+
+
+ for gl_func in imaxabs imaxdiv strtoimax strtoumax; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval "test \"\${$as_gl_Symbol+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <inttypes.h>
+
+int
+main ()
+{
+#undef $gl_func
+ (void) $gl_func;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
+else
+ eval "$as_gl_Symbol=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+
+ eval ac_cv_have_decl_$gl_func=yes
+fi
+ done
+
+
+
+ for ac_header in inttypes.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default"
+if test "x$ac_cv_header_inttypes_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_INTTYPES_H 1
+_ACEOF
+
+fi
+
+done
+
+ if test $ac_cv_header_inttypes_h = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5
+$as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; }
+if test "${gt_cv_inttypes_pri_broken+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <inttypes.h>
+#ifdef PRId32
+char *p = PRId32;
+#endif
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gt_cv_inttypes_pri_broken=no
+else
+ gt_cv_inttypes_pri_broken=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_inttypes_pri_broken" >&5
+$as_echo "$gt_cv_inttypes_pri_broken" >&6; }
+ fi
+ if test "$gt_cv_inttypes_pri_broken" = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define PRI_MACROS_BROKEN 1
+_ACEOF
+
+ PRI_MACROS_BROKEN=1
+ else
+ PRI_MACROS_BROKEN=0
+ fi
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5
+$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; }
+if test "${gl_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ rm -f conftest.sym conftest.file
+ echo >conftest.file
+ if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
+ if test "$cross_compiling" = yes; then :
+ # When cross-compiling, be pessimistic so we will end up using the
+ # replacement version of lstat that checks for trailing slashes and
+ # calls lstat a second time when necessary.
+ gl_cv_func_lstat_dereferences_slashed_symlink=no
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+struct stat sbuf;
+ /* Linux will dereference the symlink and fail, as required by
+ POSIX. That is better in the sense that it means we will not
+ have to compile and use the lstat wrapper. */
+ return lstat ("conftest.sym/", &sbuf) == 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_lstat_dereferences_slashed_symlink=yes
+else
+ gl_cv_func_lstat_dereferences_slashed_symlink=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ else
+ # If the 'ln -s' command failed, then we probably don't even
+ # have an lstat function.
+ gl_cv_func_lstat_dereferences_slashed_symlink=no
+ fi
+ rm -f conftest.sym conftest.file
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lstat_dereferences_slashed_symlink" >&5
+$as_echo "$gl_cv_func_lstat_dereferences_slashed_symlink" >&6; }
+ test $gl_cv_func_lstat_dereferences_slashed_symlink = yes &&
+
+cat >>confdefs.h <<_ACEOF
+#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
+_ACEOF
+
+
+
+ GNULIB__EXIT=0;
+ GNULIB_ATOLL=0;
+ GNULIB_CALLOC_POSIX=0;
+ GNULIB_CANONICALIZE_FILE_NAME=0;
+ GNULIB_GETLOADAVG=0;
+ GNULIB_GETSUBOPT=0;
+ GNULIB_GRANTPT=0;
+ GNULIB_MALLOC_POSIX=0;
+ GNULIB_MBTOWC=0;
+ GNULIB_MKDTEMP=0;
+ GNULIB_MKOSTEMP=0;
+ GNULIB_MKOSTEMPS=0;
+ GNULIB_MKSTEMP=0;
+ GNULIB_MKSTEMPS=0;
+ GNULIB_POSIX_OPENPT=0;
+ GNULIB_PTSNAME=0;
+ GNULIB_PTSNAME_R=0;
+ GNULIB_PUTENV=0;
+ GNULIB_RANDOM_R=0;
+ GNULIB_REALLOC_POSIX=0;
+ GNULIB_REALPATH=0;
+ GNULIB_RPMATCH=0;
+ GNULIB_SETENV=0;
+ GNULIB_STRTOD=0;
+ GNULIB_STRTOLL=0;
+ GNULIB_STRTOULL=0;
+ GNULIB_SYSTEM_POSIX=0;
+ GNULIB_UNLOCKPT=0;
+ GNULIB_UNSETENV=0;
+ GNULIB_WCTOMB=0;
+ HAVE__EXIT=1;
+ HAVE_ATOLL=1;
+ HAVE_CANONICALIZE_FILE_NAME=1;
+ HAVE_DECL_GETLOADAVG=1;
+ HAVE_GETSUBOPT=1;
+ HAVE_GRANTPT=1;
+ HAVE_MKDTEMP=1;
+ HAVE_MKOSTEMP=1;
+ HAVE_MKOSTEMPS=1;
+ HAVE_MKSTEMP=1;
+ HAVE_MKSTEMPS=1;
+ HAVE_POSIX_OPENPT=1;
+ HAVE_PTSNAME=1;
+ HAVE_PTSNAME_R=1;
+ HAVE_RANDOM_H=1;
+ HAVE_RANDOM_R=1;
+ HAVE_REALPATH=1;
+ HAVE_RPMATCH=1;
+ HAVE_SETENV=1;
+ HAVE_DECL_SETENV=1;
+ HAVE_STRTOD=1;
+ HAVE_STRTOLL=1;
+ HAVE_STRTOULL=1;
+ HAVE_STRUCT_RANDOM_DATA=1;
+ HAVE_SYS_LOADAVG_H=0;
+ HAVE_UNLOCKPT=1;
+ HAVE_DECL_UNSETENV=1;
+ REPLACE_CALLOC=0;
+ REPLACE_CANONICALIZE_FILE_NAME=0;
+ REPLACE_MALLOC=0;
+ REPLACE_MBTOWC=0;
+ REPLACE_MKSTEMP=0;
+ REPLACE_PTSNAME_R=0;
+ REPLACE_PUTENV=0;
+ REPLACE_REALLOC=0;
+ REPLACE_REALPATH=0;
+ REPLACE_SETENV=0;
+ REPLACE_STRTOD=0;
+ REPLACE_UNSETENV=0;
+ REPLACE_WCTOMB=0;
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether malloc, realloc, calloc are POSIX compliant" >&5
+$as_echo_n "checking whether malloc, realloc, calloc are POSIX compliant... " >&6; }
+if test "${gl_cv_func_malloc_posix+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+ choke me
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_func_malloc_posix=yes
+else
+ gl_cv_func_malloc_posix=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_malloc_posix" >&5
+$as_echo "$gl_cv_func_malloc_posix" >&6; }
+
+
+ for ac_header in stdlib.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_stdlib_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_STDLIB_H 1
+_ACEOF
+
+fi
+
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
+$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
+if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ ac_cv_func_malloc_0_nonnull=no
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#if defined STDC_HEADERS || defined HAVE_STDLIB_H
+# include <stdlib.h>
+#else
+char *malloc ();
+#endif
+
+int
+main ()
+{
+return ! malloc (0);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_func_malloc_0_nonnull=yes
+else
+ ac_cv_func_malloc_0_nonnull=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
+$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
+if test $ac_cv_func_malloc_0_nonnull = yes; then :
+ gl_cv_func_malloc_0_nonnull=1
+else
+ gl_cv_func_malloc_0_nonnull=0
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define MALLOC_0_IS_NONNULL $gl_cv_func_malloc_0_nonnull
+_ACEOF
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for promoted mode_t type" >&5
+$as_echo_n "checking for promoted mode_t type... " >&6; }
+if test "${gl_cv_promoted_mode_t+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+int
+main ()
+{
+typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1];
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_promoted_mode_t='int'
+else
+ gl_cv_promoted_mode_t='mode_t'
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_promoted_mode_t" >&5
+$as_echo "$gl_cv_promoted_mode_t" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define PROMOTED_MODE_T $gl_cv_promoted_mode_t
+_ACEOF
+
+
+
+
+ac_fn_c_check_decl "$LINENO" "setenv" "ac_cv_have_decl_setenv" "$ac_includes_default"
+if test "x$ac_cv_have_decl_setenv" = x""yes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_SETENV $ac_have_decl
+_ACEOF
+
+
+
+
+
+
+ if test $ac_cv_have_decl_setenv = no; then
+ HAVE_DECL_SETENV=0
+ fi
+
+
+
+
+
+ for ac_header in search.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "search.h" "ac_cv_header_search_h" "$ac_includes_default"
+if test "x$ac_cv_header_search_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SEARCH_H 1
+_ACEOF
+
+fi
+
+done
+
+ for ac_func in tsearch
+do :
+ ac_fn_c_check_func "$LINENO" "tsearch" "ac_cv_func_tsearch"
+if test "x$ac_cv_func_tsearch" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_TSEARCH 1
+_ACEOF
+
+fi
+done
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
+$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
+if test "${ac_cv_header_stdbool_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <stdbool.h>
+ #ifndef bool
+ "error: bool is not defined"
+ #endif
+ #ifndef false
+ "error: false is not defined"
+ #endif
+ #if false
+ "error: false is not 0"
+ #endif
+ #ifndef true
+ "error: true is not defined"
+ #endif
+ #if true != 1
+ "error: true is not 1"
+ #endif
+ #ifndef __bool_true_false_are_defined
+ "error: __bool_true_false_are_defined is not defined"
+ #endif
+
+ struct s { _Bool s: 1; _Bool t; } s;
+
+ char a[true == 1 ? 1 : -1];
+ char b[false == 0 ? 1 : -1];
+ char c[__bool_true_false_are_defined == 1 ? 1 : -1];
+ char d[(bool) 0.5 == true ? 1 : -1];
+ /* See body of main program for 'e'. */
+ char f[(_Bool) 0.0 == false ? 1 : -1];
+ char g[true];
+ char h[sizeof (_Bool)];
+ char i[sizeof s.t];
+ enum { j = false, k = true, l = false * true, m = true * 256 };
+ /* The following fails for
+ HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
+ _Bool n[m];
+ char o[sizeof n == m * sizeof n[0] ? 1 : -1];
+ char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+ /* Catch a bug in an HP-UX C compiler. See
+ http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+ http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+ */
+ _Bool q = true;
+ _Bool *pq = &q;
+
+int
+main ()
+{
+
+ bool e = &s;
+ *pq |= q;
+ *pq |= ! q;
+ /* Refer to every declared value, to avoid compiler optimizations. */
+ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
+ + !m + !n + !o + !p + !q + !pq);
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdbool_h=yes
+else
+ ac_cv_header_stdbool_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
+$as_echo "$ac_cv_header_stdbool_h" >&6; }
+ ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
+if test "x$ac_cv_type__Bool" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE__BOOL 1
+_ACEOF
+
+
+fi
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
+$as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
+if test "${ac_cv_header_stat_broken+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#if defined S_ISBLK && defined S_IFDIR
+extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1];
+#endif
+
+#if defined S_ISBLK && defined S_IFCHR
+extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1];
+#endif
+
+#if defined S_ISLNK && defined S_IFREG
+extern char c3[S_ISLNK (S_IFREG) ? -1 : 1];
+#endif
+
+#if defined S_ISSOCK && defined S_IFREG
+extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1];
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stat_broken=no
+else
+ ac_cv_header_stat_broken=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5
+$as_echo "$ac_cv_header_stat_broken" >&6; }
+if test $ac_cv_header_stat_broken = yes; then
+
+$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h
+
+fi
+
+
+
+
+ GNULIB_MKTIME=0;
+ GNULIB_NANOSLEEP=0;
+ GNULIB_STRPTIME=0;
+ GNULIB_TIMEGM=0;
+ GNULIB_TIME_R=0;
+ HAVE_DECL_LOCALTIME_R=1;
+ HAVE_NANOSLEEP=1;
+ HAVE_STRPTIME=1;
+ HAVE_TIMEGM=1;
+ REPLACE_LOCALTIME_R=GNULIB_PORTCHECK;
+ REPLACE_MKTIME=GNULIB_PORTCHECK;
+ REPLACE_NANOSLEEP=GNULIB_PORTCHECK;
+ REPLACE_TIMEGM=GNULIB_PORTCHECK;
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <time.h>" >&5
+$as_echo_n "checking for struct timespec in <time.h>... " >&6; }
+if test "${gl_cv_sys_struct_timespec_in_time_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <time.h>
+
+int
+main ()
+{
+static struct timespec x; x.tv_sec = x.tv_nsec;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_sys_struct_timespec_in_time_h=yes
+else
+ gl_cv_sys_struct_timespec_in_time_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5
+$as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; }
+
+ TIME_H_DEFINES_STRUCT_TIMESPEC=0
+ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
+ PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0
+ if test $gl_cv_sys_struct_timespec_in_time_h = yes; then
+ TIME_H_DEFINES_STRUCT_TIMESPEC=1
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <sys/time.h>" >&5
+$as_echo_n "checking for struct timespec in <sys/time.h>... " >&6; }
+if test "${gl_cv_sys_struct_timespec_in_sys_time_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/time.h>
+
+int
+main ()
+{
+static struct timespec x; x.tv_sec = x.tv_nsec;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_sys_struct_timespec_in_sys_time_h=yes
+else
+ gl_cv_sys_struct_timespec_in_sys_time_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5
+$as_echo "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; }
+ if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then
+ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in <pthread.h>" >&5
+$as_echo_n "checking for struct timespec in <pthread.h>... " >&6; }
+if test "${gl_cv_sys_struct_timespec_in_pthread_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <pthread.h>
+
+int
+main ()
+{
+static struct timespec x; x.tv_sec = x.tv_nsec;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_sys_struct_timespec_in_pthread_h=yes
+else
+ gl_cv_sys_struct_timespec_in_pthread_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5
+$as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; }
+ if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then
+ PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1
+ fi
+ fi
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_time_h='<'time.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <time.h>" >&5
+$as_echo_n "checking absolute name of <time.h>... " >&6; }
+if test "${gl_cv_next_time_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <time.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'time.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5
+$as_echo "$gl_cv_next_time_h" >&6; }
+ fi
+ NEXT_TIME_H=$gl_cv_next_time_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'time.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_time_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_TIME_H=$gl_next_as_first_directive
+
+
+
+
+
+
+ac_fn_c_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default"
+if test "x$ac_cv_have_decl_unsetenv" = x""yes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_UNSETENV $ac_have_decl
+_ACEOF
+
+
+ GNULIB_BTOWC=0;
+ GNULIB_WCTOB=0;
+ GNULIB_MBSINIT=0;
+ GNULIB_MBRTOWC=0;
+ GNULIB_MBRLEN=0;
+ GNULIB_MBSRTOWCS=0;
+ GNULIB_MBSNRTOWCS=0;
+ GNULIB_WCRTOMB=0;
+ GNULIB_WCSRTOMBS=0;
+ GNULIB_WCSNRTOMBS=0;
+ GNULIB_WCWIDTH=0;
+ GNULIB_WMEMCHR=0;
+ GNULIB_WMEMCMP=0;
+ GNULIB_WMEMCPY=0;
+ GNULIB_WMEMMOVE=0;
+ GNULIB_WMEMSET=0;
+ GNULIB_WCSLEN=0;
+ GNULIB_WCSNLEN=0;
+ GNULIB_WCSCPY=0;
+ GNULIB_WCPCPY=0;
+ GNULIB_WCSNCPY=0;
+ GNULIB_WCPNCPY=0;
+ GNULIB_WCSCAT=0;
+ GNULIB_WCSNCAT=0;
+ GNULIB_WCSCMP=0;
+ GNULIB_WCSNCMP=0;
+ GNULIB_WCSCASECMP=0;
+ GNULIB_WCSNCASECMP=0;
+ GNULIB_WCSCOLL=0;
+ GNULIB_WCSXFRM=0;
+ GNULIB_WCSDUP=0;
+ GNULIB_WCSCHR=0;
+ GNULIB_WCSRCHR=0;
+ GNULIB_WCSCSPN=0;
+ GNULIB_WCSSPN=0;
+ GNULIB_WCSPBRK=0;
+ GNULIB_WCSSTR=0;
+ GNULIB_WCSTOK=0;
+ GNULIB_WCSWIDTH=0;
+ HAVE_BTOWC=1;
+ HAVE_MBSINIT=1;
+ HAVE_MBRTOWC=1;
+ HAVE_MBRLEN=1;
+ HAVE_MBSRTOWCS=1;
+ HAVE_MBSNRTOWCS=1;
+ HAVE_WCRTOMB=1;
+ HAVE_WCSRTOMBS=1;
+ HAVE_WCSNRTOMBS=1;
+ HAVE_WMEMCHR=1;
+ HAVE_WMEMCMP=1;
+ HAVE_WMEMCPY=1;
+ HAVE_WMEMMOVE=1;
+ HAVE_WMEMSET=1;
+ HAVE_WCSLEN=1;
+ HAVE_WCSNLEN=1;
+ HAVE_WCSCPY=1;
+ HAVE_WCPCPY=1;
+ HAVE_WCSNCPY=1;
+ HAVE_WCPNCPY=1;
+ HAVE_WCSCAT=1;
+ HAVE_WCSNCAT=1;
+ HAVE_WCSCMP=1;
+ HAVE_WCSNCMP=1;
+ HAVE_WCSCASECMP=1;
+ HAVE_WCSNCASECMP=1;
+ HAVE_WCSCOLL=1;
+ HAVE_WCSXFRM=1;
+ HAVE_WCSDUP=1;
+ HAVE_WCSCHR=1;
+ HAVE_WCSRCHR=1;
+ HAVE_WCSCSPN=1;
+ HAVE_WCSSPN=1;
+ HAVE_WCSPBRK=1;
+ HAVE_WCSSTR=1;
+ HAVE_WCSTOK=1;
+ HAVE_WCSWIDTH=1;
+ HAVE_DECL_WCTOB=1;
+ HAVE_DECL_WCWIDTH=1;
+ REPLACE_MBSTATE_T=0;
+ REPLACE_BTOWC=0;
+ REPLACE_WCTOB=0;
+ REPLACE_MBSINIT=0;
+ REPLACE_MBRTOWC=0;
+ REPLACE_MBRLEN=0;
+ REPLACE_MBSRTOWCS=0;
+ REPLACE_MBSNRTOWCS=0;
+ REPLACE_WCRTOMB=0;
+ REPLACE_WCSRTOMBS=0;
+ REPLACE_WCSNRTOMBS=0;
+ REPLACE_WCWIDTH=0;
+ REPLACE_WCSWIDTH=0;
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <wchar.h> uses 'inline' correctly" >&5
+$as_echo_n "checking whether <wchar.h> uses 'inline' correctly... " >&6; }
+if test "${gl_cv_header_wchar_h_correct_inline+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ gl_cv_header_wchar_h_correct_inline=yes
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #define wcstod renamed_wcstod
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+ <wchar.h>.
+ BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
+extern int zero (void);
+int main () { return zero(); }
+
+_ACEOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ mv conftest.$ac_objext conftest1.$ac_objext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #define wcstod renamed_wcstod
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+ <wchar.h>.
+ BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
+int zero (void) { return 0; }
+
+_ACEOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ mv conftest.$ac_objext conftest2.$ac_objext
+ if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&5 2>&1; then
+ :
+ else
+ gl_cv_header_wchar_h_correct_inline=no
+ fi
+ fi
+ fi
+ rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_correct_inline" >&5
+$as_echo "$gl_cv_header_wchar_h_correct_inline" >&6; }
+ if test $gl_cv_header_wchar_h_correct_inline = no; then
+ as_fn_error $? "<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS).
+This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in
+C99 mode. You have four options:
+ - Add the flag -fgnu89-inline to CC and reconfigure, or
+ - Fix your include files, using parts of
+ <http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b037a293a48718af30d706c2e18c929d0e69a621>, or
+ - Use a gcc version older than 4.3, or
+ - Don't use the flags -std=c99 or -std=gnu99.
+Configuration aborted." "$LINENO" 5
+ fi
+
+
+
+
+
+ if test $ac_cv_header_features_h = yes; then
+ HAVE_FEATURES_H=1
+ else
+ HAVE_FEATURES_H=0
+ fi
+
+
+
+ if true; then
+ GL_COND_LIBTOOL_TRUE=
+ GL_COND_LIBTOOL_FALSE='#'
+else
+ GL_COND_LIBTOOL_TRUE='#'
+ GL_COND_LIBTOOL_FALSE=
+fi
+
+ gl_cond_libtool=true
+ gl_m4_base='gl/m4'
+
+
+
+
+
+
+
+
+
+ gl_source_base='gl'
+
+ac_config_files="$ac_config_files csharpcomp.sh:build-aux/csharpcomp.sh.in"
+
+# You need to invoke gt_CSHARPEXEC yourself, possibly with arguments.
+ac_config_files="$ac_config_files csharpexec.sh:build-aux/csharpexec.sh.in"
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
+$as_echo_n "checking for error_at_line... " >&6; }
+if test "${ac_cv_lib_error_at_line+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <error.h>
+int
+main ()
+{
+error_at_line (0, 0, "", 0, "an error occurred");
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_error_at_line=yes
+else
+ ac_cv_lib_error_at_line=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
+$as_echo "$ac_cv_lib_error_at_line" >&6; }
+
+if test $ac_cv_lib_error_at_line = no; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext"
+
+
+
+
+ :
+
+fi
+
+
+ XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format"
+
+
+
+ XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format"
+
+
+
+
+
+
+if test $REPLACE_GETOPT = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext"
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext"
+
+
+
+
+fi
+
+
+$as_echo "#define GNULIB_TEST_GETOPT_GNU 1" >>confdefs.h
+
+
+
+
+
+
+ REPLACE_GETOPT=0
+
+
+ if test -n "$gl_replace_getopt"; then :
+
+ REPLACE_GETOPT=1
+
+fi
+
+
+ if test $REPLACE_GETOPT = 1; then
+
+ GETOPT_H=getopt.h
+
+$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h
+
+
+
+ GNULIB_UNISTD_H_GETOPT=1
+ fi
+
+if test $REPLACE_GETOPT = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext"
+
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext"
+
+
+
+
+fi
+
+
+# Autoconf 2.61a.99 and earlier don't support linking a file only
+# in VPATH builds. But since GNUmakefile is for maintainer use
+# only, it does not matter if we skip the link with older autoconf.
+# Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
+# builds, so use a shell variable to bypass this.
+GNUmakefile=GNUmakefile
+ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile"
+
+
+
+
+ if test $ac_cv_func__set_invalid_parameter_handler = yes; then
+ HAVE_MSVC_INVALID_PARAMETER_HANDLER=1
+
+$as_echo "#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1" >>confdefs.h
+
+ else
+ HAVE_MSVC_INVALID_PARAMETER_HANDLER=0
+ fi
+
+
+if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS msvc-inval.$ac_objext"
+
+fi
+
+
+
+if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS msvc-nothrow.$ac_objext"
+
+fi
+# Extract the first word of "pmccabe", so it can be a program name with args.
+set dummy pmccabe; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PMCCABE+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PMCCABE in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PMCCABE="$PMCCABE" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PMCCABE="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_PMCCABE" && ac_cv_path_PMCCABE="false"
+ ;;
+esac
+fi
+PMCCABE=$ac_cv_path_PMCCABE
+if test -n "$PMCCABE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PMCCABE" >&5
+$as_echo "$PMCCABE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include <errno.h>
+"
+if test "x$ac_cv_have_decl_program_invocation_name" = x""yes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl
+_ACEOF
+
+ac_fn_c_check_decl "$LINENO" "program_invocation_short_name" "ac_cv_have_decl_program_invocation_short_name" "#include <errno.h>
+"
+if test "x$ac_cv_have_decl_program_invocation_short_name" = x""yes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME $ac_have_decl
+_ACEOF
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
+$as_echo_n "checking for ssize_t... " >&6; }
+if test "${gt_cv_ssize_t+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+int
+main ()
+{
+int x = sizeof (ssize_t *) + sizeof (ssize_t);
+ return !x;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gt_cv_ssize_t=yes
+else
+ gt_cv_ssize_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5
+$as_echo "$gt_cv_ssize_t" >&6; }
+ if test $gt_cv_ssize_t = no; then
+
+$as_echo "#define ssize_t int" >>confdefs.h
+
+ fi
+
+
+ STDARG_H=''
+ NEXT_STDARG_H='<stdarg.h>'
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5
+$as_echo_n "checking for va_copy... " >&6; }
+ if test "${gl_cv_func_va_copy+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+int
+main ()
+{
+
+#ifndef va_copy
+void (*func) (va_list, va_list) = va_copy;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_func_va_copy=yes
+else
+ gl_cv_func_va_copy=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5
+$as_echo "$gl_cv_func_va_copy" >&6; }
+ if test $gl_cv_func_va_copy = no; then
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#if defined _AIX && !defined __GNUC__
+ AIX vaccine
+ #endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "vaccine" >/dev/null 2>&1; then :
+ gl_aixcc=yes
+else
+ gl_aixcc=no
+fi
+rm -f conftest*
+
+ if test $gl_aixcc = yes; then
+ STDARG_H=stdarg.h
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_stdarg_h='<'stdarg.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdarg.h>" >&5
+$as_echo_n "checking absolute name of <stdarg.h>... " >&6; }
+if test "${gl_cv_next_stdarg_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'stdarg.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_stdarg_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdarg_h" >&5
+$as_echo "$gl_cv_next_stdarg_h" >&6; }
+ fi
+ NEXT_STDARG_H=$gl_cv_next_stdarg_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'stdarg.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_stdarg_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_STDARG_H=$gl_next_as_first_directive
+
+
+
+
+ if test "$gl_cv_next_stdarg_h" = '""'; then
+ gl_cv_next_stdarg_h='"///usr/include/stdarg.h"'
+ NEXT_STDARG_H="$gl_cv_next_stdarg_h"
+ fi
+ else
+
+ saved_as_echo_n="$as_echo_n"
+ as_echo_n=':'
+ if test "${gl_cv_func___va_copy+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+int
+main ()
+{
+
+#ifndef __va_copy
+error, bail out
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_func___va_copy=yes
+else
+ gl_cv_func___va_copy=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+ as_echo_n="$saved_as_echo_n"
+
+ if test $gl_cv_func___va_copy = yes; then
+
+$as_echo "#define va_copy __va_copy" >>confdefs.h
+
+ else
+
+
+$as_echo "#define va_copy gl_va_copy" >>confdefs.h
+
+ fi
+ fi
+ fi
+
+ if test -n "$STDARG_H"; then
+ GL_GENERATE_STDARG_H_TRUE=
+ GL_GENERATE_STDARG_H_FALSE='#'
+else
+ GL_GENERATE_STDARG_H_TRUE='#'
+ GL_GENERATE_STDARG_H_FALSE=
+fi
+
+
+
+
+
+
+ STDDEF_H=
+ if test $gt_cv_c_wchar_t = no; then
+ HAVE_WCHAR_T=0
+ STDDEF_H=stddef.h
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5
+$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; }
+if test "${gl_cv_decl_null_works+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stddef.h>
+ int test[2 * (sizeof NULL == sizeof (void *)) -1];
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_decl_null_works=yes
+else
+ gl_cv_decl_null_works=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5
+$as_echo "$gl_cv_decl_null_works" >&6; }
+ if test $gl_cv_decl_null_works = no; then
+ REPLACE_NULL=1
+ STDDEF_H=stddef.h
+ fi
+
+ if test -n "$STDDEF_H"; then
+ GL_GENERATE_STDDEF_H_TRUE=
+ GL_GENERATE_STDDEF_H_FALSE='#'
+else
+ GL_GENERATE_STDDEF_H_TRUE='#'
+ GL_GENERATE_STDDEF_H_FALSE=
+fi
+
+ if test -n "$STDDEF_H"; then
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_stddef_h='<'stddef.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stddef.h>" >&5
+$as_echo_n "checking absolute name of <stddef.h>... " >&6; }
+if test "${gl_cv_next_stddef_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stddef.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'stddef.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5
+$as_echo "$gl_cv_next_stddef_h" >&6; }
+ fi
+ NEXT_STDDEF_H=$gl_cv_next_stddef_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'stddef.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_stddef_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive
+
+
+
+
+ fi
+
+
+
+
+
+
+ if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5
+$as_echo_n "checking for working strerror function... " >&6; }
+if test "${gl_cv_func_working_strerror+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ gl_cv_func_working_strerror="guessing no"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+int
+main ()
+{
+if (!*strerror (-2)) return 1;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_working_strerror=yes
+else
+ gl_cv_func_working_strerror=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strerror" >&5
+$as_echo "$gl_cv_func_working_strerror" >&6; }
+ if test "$gl_cv_func_working_strerror" != yes; then
+ REPLACE_STRERROR=1
+ fi
+
+ else
+ REPLACE_STRERROR=1
+ fi
+
+if test $REPLACE_STRERROR = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext"
+
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_STRERROR 1
+_ACEOF
+
+
+
+
+
+
+
+ GNULIB_STRERROR=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_STRERROR 1" >>confdefs.h
+
+
+
+
+
+if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS strerror-override.$ac_objext"
+
+
+
+
+
+ if test $ac_cv_header_sys_socket_h != yes; then
+ for ac_header in winsock2.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
+if test "x$ac_cv_header_winsock2_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_WINSOCK2_H 1
+_ACEOF
+
+fi
+
+done
+
+ fi
+ if test "$ac_cv_header_winsock2_h" = yes; then
+ HAVE_WINSOCK2_H=1
+ UNISTD_H_HAVE_WINSOCK2_H=1
+ SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+ else
+ HAVE_WINSOCK2_H=0
+ fi
+
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_unistd_h='<'unistd.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <unistd.h>" >&5
+$as_echo_n "checking absolute name of <unistd.h>... " >&6; }
+if test "${gl_cv_next_unistd_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test $ac_cv_header_unistd_h = yes; then
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <unistd.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'unistd.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+ else
+ gl_cv_next_unistd_h='<'unistd.h'>'
+ fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5
+$as_echo "$gl_cv_next_unistd_h" >&6; }
+ fi
+ NEXT_UNISTD_H=$gl_cv_next_unistd_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'unistd.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_unistd_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive
+
+
+
+
+ if test $ac_cv_header_unistd_h = yes; then
+ HAVE_UNISTD_H=1
+ else
+ HAVE_UNISTD_H=0
+ fi
+
+
+
+
+
+ for gl_func in chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups gethostname getlogin getlogin_r getpagesize getusershell setusershell endusershell group_member lchown link linkat lseek pipe pipe2 pread pwrite readlink readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat usleep; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval "test \"\${$as_gl_Symbol+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+/* Some systems declare various items in the wrong headers. */
+#if !(defined __GLIBC__ && !defined __UCLIBC__)
+# include <fcntl.h>
+# include <stdio.h>
+# include <stdlib.h>
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# include <io.h>
+# endif
+#endif
+
+int
+main ()
+{
+#undef $gl_func
+ (void) $gl_func;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
+else
+ eval "$as_gl_Symbol=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+
+ eval ac_cv_have_decl_$gl_func=yes
+fi
+ done
+
+
+
+ # Check whether --enable-valgrind-tests was given.
+if test "${enable_valgrind_tests+set}" = set; then :
+ enableval=$enable_valgrind_tests; opt_valgrind_tests=$enableval
+else
+ opt_valgrind_tests=yes
+fi
+
+
+ # Run self-tests under valgrind?
+ if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then
+ for ac_prog in valgrind
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_VALGRIND+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$VALGRIND"; then
+ ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_VALGRIND="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+VALGRIND=$ac_cv_prog_VALGRIND
+if test -n "$VALGRIND"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5
+$as_echo "$VALGRIND" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$VALGRIND" && break
+done
+
+ fi
+
+ OPTS="-q --error-exitcode=1 --leak-check=full"
+
+ if test -n "$VALGRIND" \
+ && $VALGRIND $OPTS $SHELL -c 'exit 0' > /dev/null 2>&1; then
+ opt_valgrind_tests=yes
+ VALGRIND="$VALGRIND $OPTS"
+ else
+ opt_valgrind_tests=no
+ VALGRIND=
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether self tests are run under valgrind" >&5
+$as_echo_n "checking whether self tests are run under valgrind... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $opt_valgrind_tests" >&5
+$as_echo "$opt_valgrind_tests" >&6; }
+
+
+# Check whether --with-packager was given.
+if test "${with_packager+set}" = set; then :
+ withval=$with_packager; case $withval in
+ yes|no) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_PACKAGER "$withval"
+_ACEOF
+ ;;
+ esac
+
+fi
+
+
+
+# Check whether --with-packager-version was given.
+if test "${with_packager_version+set}" = set; then :
+ withval=$with_packager_version; case $withval in
+ yes|no) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_PACKAGER_VERSION "$withval"
+_ACEOF
+ ;;
+ esac
+
+fi
+
+
+
+# Check whether --with-packager-bug-reports was given.
+if test "${with_packager_bug_reports+set}" = set; then :
+ withval=$with_packager_bug_reports; case $withval in
+ yes|no) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_PACKAGER_BUG_REPORTS "$withval"
+_ACEOF
+ ;;
+ esac
+
+fi
+
+
+ if test "X$with_packager" = "X" && \
+ test "X$with_packager_version$with_packager_bug_reports" != "X"
+ then
+ as_fn_error $? "The --with-packager-{bug-reports,version} options require --with-packager" "$LINENO" 5
+ fi
+
+
+ # End of code from modules
+
+
+
+
+
+
+
+
+
+ gltests_libdeps=
+ gltests_ltlibdeps=
+
+
+
+
+
+
+
+
+
+ gl_source_base='gltests'
+ gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS
+
+ gl_module_indicator_condition=$gltests_WITNESS
+
+
+
+ if test $ac_cv_func_alloca_works = no; then
+ :
+ fi
+
+ # Define an additional variable used in the Makefile substitution.
+ if test $ac_cv_working_alloca_h = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5
+$as_echo_n "checking for alloca as a compiler built-in... " >&6; }
+if test "${gl_cv_rpl_alloca+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#if defined __GNUC__ || defined _AIX || defined _MSC_VER
+ Need own alloca
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "Need own alloca" >/dev/null 2>&1; then :
+ gl_cv_rpl_alloca=yes
+else
+ gl_cv_rpl_alloca=no
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5
+$as_echo "$gl_cv_rpl_alloca" >&6; }
+ if test $gl_cv_rpl_alloca = yes; then
+
+$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
+
+ ALLOCA_H=alloca.h
+ else
+ ALLOCA_H=
+ fi
+ else
+ ALLOCA_H=alloca.h
+ fi
+
+ if test -n "$ALLOCA_H"; then
+ GL_GENERATE_ALLOCA_H_TRUE=
+ GL_GENERATE_ALLOCA_H_FALSE='#'
+else
+ GL_GENERATE_ALLOCA_H_TRUE='#'
+ GL_GENERATE_ALLOCA_H_FALSE=
+fi
+
+
+
+
+
+ if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+ REPLACE_CLOSE=1
+ fi
+
+
+
+
+
+ if test $ac_cv_header_sys_socket_h != yes; then
+ for ac_header in winsock2.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
+if test "x$ac_cv_header_winsock2_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_WINSOCK2_H 1
+_ACEOF
+
+fi
+
+done
+
+ fi
+ if test "$ac_cv_header_winsock2_h" = yes; then
+ HAVE_WINSOCK2_H=1
+ UNISTD_H_HAVE_WINSOCK2_H=1
+ SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+ else
+ HAVE_WINSOCK2_H=0
+ fi
+
+
+ if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
+ REPLACE_CLOSE=1
+ fi
+
+
+
+if test $REPLACE_CLOSE = 1; then
+
+
+
+
+
+
+
+
+ gltests_LIBOBJS="$gltests_LIBOBJS close.$ac_objext"
+
+fi
+
+
+
+
+
+ if test "$GNULIB_CLOSE" != 1; then
+ if test "$GNULIB_CLOSE" = 0; then
+ GNULIB_CLOSE=$gl_module_indicator_condition
+ else
+ GNULIB_CLOSE="($GNULIB_CLOSE || $gl_module_indicator_condition)"
+ fi
+ fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_CLOSE 1" >>confdefs.h
+
+
+
+
+
+
+
+
+$as_echo "#define HAVE_DUP2 1" >>confdefs.h
+
+
+ if test $HAVE_DUP2 = 1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5
+$as_echo_n "checking whether dup2 works... " >&6; }
+if test "${gl_cv_func_dup2_works+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ mingw*) # on this platform, dup2 always returns 0 for success
+ gl_cv_func_dup2_works=no;;
+ cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
+ gl_cv_func_dup2_works=no;;
+ linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a
+ # closed fd may yield -EBADF instead of -1 / errno=EBADF.
+ gl_cv_func_dup2_works=no;;
+ freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF.
+ gl_cv_func_dup2_works=no;;
+ haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
+ gl_cv_func_dup2_works=no;;
+ *) gl_cv_func_dup2_works=yes;;
+ esac
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+int
+main ()
+{
+int result = 0;
+#ifdef FD_CLOEXEC
+ if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
+ result |= 1;
+#endif
+ if (dup2 (1, 1) == 0)
+ result |= 2;
+#ifdef FD_CLOEXEC
+ if (fcntl (1, F_GETFD) != FD_CLOEXEC)
+ result |= 4;
+#endif
+ close (0);
+ if (dup2 (0, 0) != -1)
+ result |= 8;
+ /* Many gnulib modules require POSIX conformance of EBADF. */
+ if (dup2 (2, 1000000) == -1 && errno != EBADF)
+ result |= 16;
+ return result;
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_dup2_works=yes
+else
+ gl_cv_func_dup2_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup2_works" >&5
+$as_echo "$gl_cv_func_dup2_works" >&6; }
+ if test "$gl_cv_func_dup2_works" = no; then
+ REPLACE_DUP2=1
+ fi
+ fi
+
+
+if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
+
+
+
+
+
+
+
+
+ gltests_LIBOBJS="$gltests_LIBOBJS dup2.$ac_objext"
+
+
+fi
+
+
+
+
+
+ if test "$GNULIB_DUP2" != 1; then
+ if test "$GNULIB_DUP2" = 0; then
+ GNULIB_DUP2=$gl_module_indicator_condition
+ else
+ GNULIB_DUP2="($GNULIB_DUP2 || $gl_module_indicator_condition)"
+ fi
+ fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_DUP2 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+ if test "$GNULIB_ENVIRON" != 1; then
+ if test "$GNULIB_ENVIRON" = 0; then
+ GNULIB_ENVIRON=$gl_module_indicator_condition
+ else
+ GNULIB_ENVIRON="($GNULIB_ENVIRON || $gl_module_indicator_condition)"
+ fi
+ fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_fcntl_h='<'fcntl.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <fcntl.h>" >&5
+$as_echo_n "checking absolute name of <fcntl.h>... " >&6; }
+if test "${gl_cv_next_fcntl_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <fcntl.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'fcntl.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_fcntl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5
+$as_echo "$gl_cv_next_fcntl_h" >&6; }
+ fi
+ NEXT_FCNTL_H=$gl_cv_next_fcntl_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'fcntl.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_fcntl_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive
+
+
+
+
+
+
+
+
+
+
+ for gl_func in fcntl openat; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval "test \"\${$as_gl_Symbol+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <fcntl.h>
+int
+main ()
+{
+#undef $gl_func
+ (void) $gl_func;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
+else
+ eval "$as_gl_Symbol=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
+eval ac_res=\$$as_gl_Symbol
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
- LIBICONV=
- LTLIBICONV=
- INCICONV=
- LIBICONV_PREFIX=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='iconv '
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
+ eval ac_cv_have_decl_$gl_func=yes
+fi
done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
- else
- :
- fi
- else
- found_dir=
- found_la=
- found_so=
- found_a=
- eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
- if test -n "$acl_shlibext"; then
- shrext=".$acl_shlibext" # typically: shrext=.so
- else
- shrext=
- fi
- if test $use_additional = yes; then
- dir="$additional_libdir"
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIBICONV; do
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- if test "$acl_hardcode_direct" = yes; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- haveit=
- for x in $LDFLAGS $LIBICONV; do
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
- fi
- if test "$acl_hardcode_minus_L" != no; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
- fi
- fi
- additional_includedir=
- case "$found_dir" in
- */$acl_libdirstem | */$acl_libdirstem/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
- LIBICONV_PREFIX="$basedir"
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INCICONV; do
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
+ if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+ REPLACE_FDOPEN=1
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fdopen sets errno" >&5
+$as_echo_n "checking whether fdopen sets errno... " >&6; }
+if test "${gl_cv_func_fdopen_works+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ mingw*) gl_cv_func_fdopen_works="guessing no" ;;
+ *) gl_cv_func_fdopen_works="guessing yes" ;;
+ esac
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stdio.h>
+#include <errno.h>
+int
+main (void)
+{
+ FILE *fp;
+ errno = 0;
+ fp = fdopen (-1, "r");
+ if (fp != NULL)
+ return 1;
+ if (errno == 0)
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_fdopen_works=yes
+else
+ gl_cv_func_fdopen_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fdopen_works" >&5
+$as_echo "$gl_cv_func_fdopen_works" >&6; }
+ case "$gl_cv_func_fdopen_works" in
+ *no) REPLACE_FDOPEN=1 ;;
+ esac
+ fi
+
+if test $REPLACE_FDOPEN = 1; then
+
+
+
+
+
+
+
+
+ gltests_LIBOBJS="$gltests_LIBOBJS fdopen.$ac_objext"
+
+
+fi
+
+
+
+
+
+ if test "$GNULIB_FDOPEN" != 1; then
+ if test "$GNULIB_FDOPEN" = 0; then
+ GNULIB_FDOPEN=$gl_module_indicator_condition
+ else
+ GNULIB_FDOPEN="($GNULIB_FDOPEN || $gl_module_indicator_condition)"
+ fi
+ fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_FDOPEN 1" >>confdefs.h
+
+
+
+
+
+
+ if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+ REPLACE_FSTAT=1
+ fi
+
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- if test -n "$found_la"; then
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIBICONV; do
+if test $REPLACE_FSTAT = 1; then
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIBICONV; do
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
- ;;
- esac
- done
- fi
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$acl_hardcode_libdir_separator"; then
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+
+
+
+
+ gltests_LIBOBJS="$gltests_LIBOBJS fstat.$ac_objext"
+
+
+
+
+fi
+
+
+
+
+
+ if test "$GNULIB_FSTAT" != 1; then
+ if test "$GNULIB_FSTAT" = 0; then
+ GNULIB_FSTAT=$gl_module_indicator_condition
else
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
- done
+ GNULIB_FSTAT="($GNULIB_FSTAT || $gl_module_indicator_condition)"
fi
fi
- if test "X$ltrpathdirs" != "X"; then
- for found_dir in $ltrpathdirs; do
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
- done
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_FSTAT 1" >>confdefs.h
+
+
+
+
+
+
+
+
+ case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_posix_signature in
+ *yes,yes) ;;
+ *)
+ REPLACE_GETCWD=1
+ ;;
+ esac
+
+if test $REPLACE_GETCWD = 1; then
+
+
+
+
+
+
+
+
+ gltests_LIBOBJS="$gltests_LIBOBJS getcwd-lgpl.$ac_objext"
+
+fi
+
+
+
+
+
+ if test "$GNULIB_GETCWD" != 1; then
+ if test "$GNULIB_GETCWD" = 0; then
+ GNULIB_GETCWD=$gl_module_indicator_condition
+ else
+ GNULIB_GETCWD="($GNULIB_GETCWD || $gl_module_indicator_condition)"
+ fi
fi
+$as_echo "#define GNULIB_TEST_GETCWD 1" >>confdefs.h
+ PRIPTR_PREFIX=
+ if test -n "$STDINT_H"; then
+ PRIPTR_PREFIX='"l"'
+ else
+ for glpfx in '' l ll I64; do
+ case $glpfx in
+ '') gltype1='int';;
+ l) gltype1='long int';;
+ ll) gltype1='long long int';;
+ I64) gltype1='__int64';;
+ esac
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdint.h>
+ extern intptr_t foo;
+ extern $gltype1 foo;
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ PRIPTR_PREFIX='"'$glpfx'"'
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ test -n "$PRIPTR_PREFIX" && break
+ done
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5
+$as_echo_n "checking whether INT32_MAX < INTMAX_MAX... " >&6; }
+if test "${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Work also in C++ mode. */
+ #define __STDC_LIMIT_MACROS 1
+
+ /* Work if build is not clean. */
+ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+ #include <limits.h>
+ #if HAVE_STDINT_H
+ #include <stdint.h>
+ #endif
+
+ #if defined INT32_MAX && defined INTMAX_MAX
+ #define CONDITION (INT32_MAX < INTMAX_MAX)
+ #elif HAVE_LONG_LONG_INT
+ #define CONDITION (sizeof (int) < sizeof (long long int))
+ #else
+ #define CONDITION 0
+ #endif
+ int test[CONDITION ? 1 : -1];
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes
+else
+ gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5
+$as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; }
+ if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then
+ INT32_MAX_LT_INTMAX_MAX=1;
+ else
+ INT32_MAX_LT_INTMAX_MAX=0;
+ fi
+ if test $APPLE_UNIVERSAL_BUILD = 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5
+$as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; }
+if test "${gl_cv_test_INT64_MAX_EQ_LONG_MAX+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Work also in C++ mode. */
+ #define __STDC_LIMIT_MACROS 1
+
+ /* Work if build is not clean. */
+ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+ #include <limits.h>
+ #if HAVE_STDINT_H
+ #include <stdint.h>
+ #endif
+
+ #if defined INT64_MAX
+ #define CONDITION (INT64_MAX == LONG_MAX)
+ #elif HAVE_LONG_LONG_INT
+ #define CONDITION (sizeof (long long int) == sizeof (long int))
+ #else
+ #define CONDITION 0
+ #endif
+ int test[CONDITION ? 1 : -1];
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes
+else
+ gl_cv_test_INT64_MAX_EQ_LONG_MAX=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5
+$as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; }
+ if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then
+ INT64_MAX_EQ_LONG_MAX=1;
+ else
+ INT64_MAX_EQ_LONG_MAX=0;
+ fi
+ else
+ INT64_MAX_EQ_LONG_MAX=-1
+ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
-$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
-if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5
+$as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; }
+if test "${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- gt_save_LIBS="$LIBS"
- LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <CoreFoundation/CFPreferences.h>
+/* Work also in C++ mode. */
+ #define __STDC_LIMIT_MACROS 1
+
+ /* Work if build is not clean. */
+ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+ #include <limits.h>
+ #if HAVE_STDINT_H
+ #include <stdint.h>
+ #endif
+
+ #if defined UINT32_MAX && defined UINTMAX_MAX
+ #define CONDITION (UINT32_MAX < UINTMAX_MAX)
+ #elif HAVE_LONG_LONG_INT
+ #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int))
+ #else
+ #define CONDITION 0
+ #endif
+ int test[CONDITION ? 1 : -1];
int
main ()
{
-CFPreferencesCopyAppValue(NULL, NULL)
+
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- gt_cv_func_CFPreferencesCopyAppValue=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes
else
- gt_cv_func_CFPreferencesCopyAppValue=no
+ gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$gt_save_LIBS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
-$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
- if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5
+$as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; }
+ if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then
+ UINT32_MAX_LT_UINTMAX_MAX=1;
+ else
+ UINT32_MAX_LT_UINTMAX_MAX=0;
+ fi
-$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5
-$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; }
-if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then
+ if test $APPLE_UNIVERSAL_BUILD = 0; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5
+$as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; }
+if test "${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- gt_save_LIBS="$LIBS"
- LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <CoreFoundation/CFLocale.h>
+/* Work also in C++ mode. */
+ #define __STDC_LIMIT_MACROS 1
+
+ /* Work if build is not clean. */
+ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+ #include <limits.h>
+ #if HAVE_STDINT_H
+ #include <stdint.h>
+ #endif
+
+ #if defined UINT64_MAX
+ #define CONDITION (UINT64_MAX == ULONG_MAX)
+ #elif HAVE_LONG_LONG_INT
+ #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int))
+ #else
+ #define CONDITION 0
+ #endif
+ int test[CONDITION ? 1 : -1];
int
main ()
{
-CFLocaleCopyCurrent();
+
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- gt_cv_func_CFLocaleCopyCurrent=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes
else
- gt_cv_func_CFLocaleCopyCurrent=no
+ gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$gt_save_LIBS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
-$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
- if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5
+$as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
+ if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then
+ UINT64_MAX_EQ_ULONG_MAX=1;
+ else
+ UINT64_MAX_EQ_ULONG_MAX=0;
+ fi
-$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
+ else
+ UINT64_MAX_EQ_ULONG_MAX=-1
fi
- INTL_MACOSX_LIBS=
- if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
- INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+
+
+
+
+
+
+ if test $ac_cv_func_lstat = yes; then
+
+ if test $gl_cv_func_lstat_dereferences_slashed_symlink = no; then
+ REPLACE_LSTAT=1
+ fi
+ else
+ HAVE_LSTAT=0
fi
+if test $REPLACE_LSTAT = 1; then
- LIBINTL=
- LTLIBINTL=
- POSUB=
- 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"
- if test "$USE_NLS" = "yes"; then
- gt_use_preinstalled_gnugettext=no
+ gltests_LIBOBJS="$gltests_LIBOBJS lstat.$ac_objext"
- if test $gt_api_version -ge 3; then
- gt_revision_test_code='
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-'
- 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
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
-$as_echo_n "checking for GNU gettext in libc... " >&6; }
-if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_var+set}\" = set"; }; then
+
+ :
+
+fi
+
+
+
+
+
+ if test "$GNULIB_LSTAT" != 1; then
+ if test "$GNULIB_LSTAT" = 0; then
+ GNULIB_LSTAT=$gl_module_indicator_condition
+ else
+ GNULIB_LSTAT="($GNULIB_LSTAT || $gl_module_indicator_condition)"
+ fi
+ fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_LSTAT 1" >>confdefs.h
+
+
+
+
+
+
+ if test $gl_cv_func_malloc_posix = yes; then
+
+$as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h
+
+ else
+ REPLACE_MALLOC=1
+ fi
+
+if test $REPLACE_MALLOC = 1; then
+
+
+
+
+
+
+
+
+ gltests_LIBOBJS="$gltests_LIBOBJS malloc.$ac_objext"
+
+fi
+
+
+
+
+
+ if test "$GNULIB_MALLOC_POSIX" != 1; then
+ if test "$GNULIB_MALLOC_POSIX" = 0; then
+ GNULIB_MALLOC_POSIX=$gl_module_indicator_condition
+ else
+ GNULIB_MALLOC_POSIX="($GNULIB_MALLOC_POSIX || $gl_module_indicator_condition)"
+ fi
+ fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+ case "$host_os" in
+ mingw* | pw*)
+ REPLACE_OPEN=1
+ ;;
+ *)
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether open recognizes a trailing slash" >&5
+$as_echo_n "checking whether open recognizes a trailing slash... " >&6; }
+if test "${gl_cv_func_open_slash+set}" = set; then :
$as_echo_n "(cached) " >&6
+else
+ # Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ touch conftest.tmp
+ ln -s conftest.tmp conftest.lnk
+ fi
+ if test "$cross_compiling" = yes; then :
+
+ case "$host_os" in
+ freebsd* | aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*)
+ gl_cv_func_open_slash="guessing no" ;;
+ *)
+ gl_cv_func_open_slash="guessing yes" ;;
+ esac
+
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;
-int
-main ()
+
+#include <fcntl.h>
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+int main ()
{
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
- ;
- return 0;
+ int result = 0;
+#if HAVE_LSTAT
+ if (open ("conftest.lnk/", O_RDONLY) != -1)
+ result |= 1;
+#endif
+ if (open ("conftest.sl/", O_CREAT, 0600) >= 0)
+ result |= 2;
+ return result;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- eval "$gt_func_gnugettext_libc=yes"
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_open_slash=yes
else
- eval "$gt_func_gnugettext_libc=no"
+ gl_cv_func_open_slash=no
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-eval ac_res=\$$gt_func_gnugettext_libc
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+ rm -f conftest.sl conftest.tmp conftest.lnk
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_open_slash" >&5
+$as_echo "$gl_cv_func_open_slash" >&6; }
+ case "$gl_cv_func_open_slash" in
+ *no)
+
+$as_echo "#define OPEN_TRAILING_SLASH_BUG 1" >>confdefs.h
+
+ REPLACE_OPEN=1
+ ;;
+ esac
+ ;;
+ esac
+
+
+
+if test $REPLACE_OPEN = 1; then
+
+
+
+
+
+
+
+
+ gltests_LIBOBJS="$gltests_LIBOBJS open.$ac_objext"
+
+
+
+
+ :
+
+fi
+
+
+
+
+
+ if test "$GNULIB_OPEN" != 1; then
+ if test "$GNULIB_OPEN" = 0; then
+ GNULIB_OPEN=$gl_module_indicator_condition
+ else
+ GNULIB_OPEN="($GNULIB_OPEN || $gl_module_indicator_condition)"
+ fi
+ fi
+
+$as_echo "#define GNULIB_TEST_OPEN 1" >>confdefs.h
- am_save_CPPFLAGS="$CPPFLAGS"
- for element in $INCICONV; do
- haveit=
- for x in $CPPFLAGS; do
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
- fi
- done
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
-$as_echo_n "checking for iconv... " >&6; }
-if test "${am_cv_func_iconv+set}" = set; then
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for putenv compatible with GNU and SVID" >&5
+$as_echo_n "checking for putenv compatible with GNU and SVID... " >&6; }
+if test "${gl_cv_func_svid_putenv+set}" = set; then :
$as_echo_n "(cached) " >&6
else
-
- am_cv_func_iconv="no, consider installing GNU libiconv"
- am_cv_lib_iconv=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ if test "$cross_compiling" = yes; then :
+ gl_cv_func_svid_putenv=no
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
+$ac_includes_default
int
main ()
{
-iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+
+ /* Put it in env. */
+ if (putenv ("CONFTEST_putenv=val"))
+ return 1;
+
+ /* Try to remove it. */
+ if (putenv ("CONFTEST_putenv"))
+ return 2;
+
+ /* Make sure it was deleted. */
+ if (getenv ("CONFTEST_putenv") != 0)
+ return 3;
+
+ return 0;
+
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- am_cv_func_iconv=yes
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_svid_putenv=yes
+else
+ gl_cv_func_svid_putenv=no
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
-int
-main ()
-{
-iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- am_cv_lib_iconv=yes
- am_cv_func_iconv=yes
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$am_save_LIBS"
- fi
+
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
-$as_echo "$am_cv_func_iconv" >&6; }
- if test "$am_cv_func_iconv" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
-$as_echo_n "checking for working iconv... " >&6; }
-if test "${am_cv_func_iconv_works+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_svid_putenv" >&5
+$as_echo "$gl_cv_func_svid_putenv" >&6; }
+ if test $gl_cv_func_svid_putenv = no; then
+ REPLACE_PUTENV=1
+ fi
+
+if test $REPLACE_PUTENV = 1; then
+
+
+
+
+
+
+
+
+ gltests_LIBOBJS="$gltests_LIBOBJS putenv.$ac_objext"
+
+fi
+
+
+
+
+
+ if test "$GNULIB_PUTENV" != 1; then
+ if test "$GNULIB_PUTENV" = 0; then
+ GNULIB_PUTENV=$gl_module_indicator_condition
+ else
+ GNULIB_PUTENV="($GNULIB_PUTENV || $gl_module_indicator_condition)"
+ fi
+ fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_PUTENV 1" >>confdefs.h
+
+
+
+
+
+ if test $ac_cv_func_setenv = no; then
+ HAVE_SETENV=0
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setenv validates arguments" >&5
+$as_echo_n "checking whether setenv validates arguments... " >&6; }
+if test "${gl_cv_func_setenv_works+set}" = set; then :
$as_echo_n "(cached) " >&6
else
-
- am_save_LIBS="$LIBS"
- if test $am_cv_lib_iconv = yes; then
- LIBS="$LIBS $LIBICONV"
- fi
- if test "$cross_compiling" = yes; then
- case "$host_os" in
- aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
- *) am_cv_func_iconv_works="guessing yes" ;;
- esac
+ if test "$cross_compiling" = yes; then :
+ gl_cv_func_setenv_works="guessing no"
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <iconv.h>
-#include <string.h>
-int main ()
+ #include <stdlib.h>
+ #include <errno.h>
+ #include <string.h>
+
+int
+main ()
{
- /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
- returns. */
- {
- iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
- if (cd_utf8_to_88591 != (iconv_t)(-1))
- {
- static const char input[] = "\342\202\254"; /* EURO SIGN */
- char buf[10];
- const char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_utf8_to_88591,
- (char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res == 0)
- return 1;
- }
- }
-#if 0 /* This bug could be worked around by the caller. */
- /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
- {
- iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
- if (cd_88591_to_utf8 != (iconv_t)(-1))
- {
- static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
- char buf[50];
- const char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_88591_to_utf8,
- (char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if ((int)res > 0)
- return 1;
- }
- }
-#endif
- /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
- provided. */
- if (/* Try standardized names. */
- iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
- /* Try IRIX, OSF/1 names. */
- && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
- /* Try AIX names. */
- && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
- /* Try HP-UX names. */
- && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
- return 1;
+
+ int result = 0;
+ {
+ if (setenv ("", "", 0) != -1)
+ result |= 1;
+ else if (errno != EINVAL)
+ result |= 2;
+ }
+ {
+ if (setenv ("a", "=", 1) != 0)
+ result |= 4;
+ else if (strcmp (getenv ("a"), "=") != 0)
+ result |= 8;
+ }
+ return result;
+
+ ;
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then
- am_cv_func_iconv_works=yes
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_setenv_works=yes
else
- am_cv_func_iconv_works=no
+ gl_cv_func_setenv_works=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
- LIBS="$am_save_LIBS"
-
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
-$as_echo "$am_cv_func_iconv_works" >&6; }
- case "$am_cv_func_iconv_works" in
- *no) am_func_iconv=no am_cv_lib_iconv=no ;;
- *) am_func_iconv=yes ;;
- esac
- else
- am_func_iconv=no am_cv_lib_iconv=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5
+$as_echo "$gl_cv_func_setenv_works" >&6; }
+ if test "$gl_cv_func_setenv_works" != yes; then
+ REPLACE_SETENV=1
+ fi
fi
- if test "$am_func_iconv" = yes; then
-$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
- fi
- if test "$am_cv_lib_iconv" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
-$as_echo_n "checking how to link with libiconv... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
-$as_echo "$LIBICONV" >&6; }
- else
- CPPFLAGS="$am_save_CPPFLAGS"
- LIBICONV=
- LTLIBICONV=
- fi
+ gltests_LIBOBJS="$gltests_LIBOBJS setenv.$ac_objext"
- use_additional=yes
+fi
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-# Check whether --with-libintl-prefix was given.
-if test "${with_libintl_prefix+set}" = set; then
- withval=$with_libintl_prefix;
- if test "X$withval" = "Xno"; then
- use_additional=no
+ if test "$GNULIB_SETENV" != 1; then
+ if test "$GNULIB_SETENV" = 0; then
+ GNULIB_SETENV=$gl_module_indicator_condition
else
- if test "X$withval" = "X"; then
+ GNULIB_SETENV="($GNULIB_SETENV || $gl_module_indicator_condition)"
+ fi
+ fi
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/$acl_libdirstem"
- fi
- fi
+$as_echo "#define GNULIB_TEST_SETENV 1" >>confdefs.h
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on directories" >&5
+$as_echo_n "checking whether stat handles trailing slashes on directories... " >&6; }
+if test "${gl_cv_func_stat_dir_slash+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ case $host_os in
+ mingw*) gl_cv_func_stat_dir_slash="guessing no";;
+ *) gl_cv_func_stat_dir_slash="guessing yes";;
+ esac
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/stat.h>
+
+int
+main ()
+{
+struct stat st; return stat (".", &st) != stat ("./", &st);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_stat_dir_slash=yes
+else
+ gl_cv_func_stat_dir_slash=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_dir_slash" >&5
+$as_echo "$gl_cv_func_stat_dir_slash" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on files" >&5
+$as_echo_n "checking whether stat handles trailing slashes on files... " >&6; }
+if test "${gl_cv_func_stat_file_slash+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ touch conftest.tmp
+ # Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ ln -s conftest.tmp conftest.lnk
+ fi
+ if test "$cross_compiling" = yes; then :
+ gl_cv_func_stat_file_slash="guessing no"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/stat.h>
+
+int
+main ()
+{
+int result = 0;
+ struct stat st;
+ if (!stat ("conftest.tmp/", &st))
+ result |= 1;
+#if HAVE_LSTAT
+ if (!stat ("conftest.lnk/", &st))
+ result |= 2;
+#endif
+ return result;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_stat_file_slash=yes
+else
+ gl_cv_func_stat_file_slash=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.tmp conftest.lnk
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_stat_file_slash" >&5
+$as_echo "$gl_cv_func_stat_file_slash" >&6; }
+ case $gl_cv_func_stat_dir_slash in
+ *no) REPLACE_STAT=1
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- LIBINTL_PREFIX=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='intl '
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
- else
- :
- fi
- else
- found_dir=
- found_la=
- found_so=
- found_a=
- eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
- if test -n "$acl_shlibext"; then
- shrext=".$acl_shlibext" # typically: shrext=.so
- else
- shrext=
- fi
- if test $use_additional = yes; then
- dir="$additional_libdir"
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIBINTL; do
+$as_echo "#define REPLACE_FUNC_STAT_DIR 1" >>confdefs.h
+;;
+ esac
+ case $gl_cv_func_stat_file_slash in
+ *no) REPLACE_STAT=1
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
+$as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h
+;;
+ esac
+
+if test $REPLACE_STAT = 1; then
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$acl_shlibext"; then
- if test -f "$dir/$libname$shrext"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext"
- else
- if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
- ver=`(cd "$dir" && \
- for f in "$libname$shrext".*; do echo "$f"; done \
- | sed -e "s,^$libname$shrext\\\\.,," \
- | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
- | sed 1q ) 2>/dev/null`
- if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
- found_dir="$dir"
- found_so="$dir/$libname$shrext.$ver"
- fi
- else
- eval library_names=\"$acl_library_names_spec\"
- for f in $library_names; do
- if test -f "$dir/$f"; then
- found_dir="$dir"
- found_so="$dir/$f"
- break
- fi
- done
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- if test -f "$dir/$libname.$acl_libext"; then
- found_dir="$dir"
- found_a="$dir/$libname.$acl_libext"
- fi
- fi
- if test "X$found_dir" != "X"; then
- if test -f "$dir/$libname.la"; then
- found_la="$dir/$libname.la"
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- if test "$acl_hardcode_direct" = yes; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- haveit=
- for x in $LDFLAGS $LIBINTL; do
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
- fi
- if test "$acl_hardcode_minus_L" != no; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
- fi
- fi
- additional_includedir=
- case "$found_dir" in
- */$acl_libdirstem | */$acl_libdirstem/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
- LIBINTL_PREFIX="$basedir"
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INCINTL; do
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- if test -n "$found_la"; then
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
- if test -n "$GCC"; then
- case $host_os in
- linux* | gnu* | k*bsd*-gnu) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIBINTL; do
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIBINTL; do
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
+ gltests_LIBOBJS="$gltests_LIBOBJS stat.$ac_objext"
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
- ;;
- esac
- done
- fi
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$acl_hardcode_libdir_separator"; then
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+
+
+ :
+
+fi
+
+
+
+
+
+ if test "$GNULIB_STAT" != 1; then
+ if test "$GNULIB_STAT" = 0; then
+ GNULIB_STAT=$gl_module_indicator_condition
else
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$acl_hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
- done
+ GNULIB_STAT="($GNULIB_STAT || $gl_module_indicator_condition)"
fi
fi
- if test "X$ltrpathdirs" != "X"; then
- for found_dir in $ltrpathdirs; do
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
- done
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_STAT 1" >>confdefs.h
+
+
+
+
+
+
+ # Define two additional variables used in the Makefile substitution.
+
+ if test "$ac_cv_header_stdbool_h" = yes; then
+ STDBOOL_H=''
+ else
+ STDBOOL_H='stdbool.h'
+ fi
+
+ if test -n "$STDBOOL_H"; then
+ GL_GENERATE_STDBOOL_H_TRUE=
+ GL_GENERATE_STDBOOL_H_FALSE='#'
+else
+ GL_GENERATE_STDBOOL_H_TRUE='#'
+ GL_GENERATE_STDBOOL_H_FALSE=
+fi
+
+
+ if test "$ac_cv_type__Bool" = yes; then
+ HAVE__BOOL=1
+ else
+ HAVE__BOOL=0
+ fi
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5
+$as_echo_n "checking for wchar_t... " >&6; }
+if test "${gt_cv_c_wchar_t+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stddef.h>
+ wchar_t foo = (wchar_t)'\0';
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gt_cv_c_wchar_t=yes
+else
+ gt_cv_c_wchar_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5
+$as_echo "$gt_cv_c_wchar_t" >&6; }
+ if test $gt_cv_c_wchar_t = yes; then
+
+$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h
+
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
+$as_echo_n "checking for wint_t... " >&6; }
+if test "${gt_cv_c_wint_t+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+ <wchar.h>.
+ BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
+ before <wchar.h>. */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
+ wint_t foo = (wchar_t)'\0';
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gt_cv_c_wint_t=yes
+else
+ gt_cv_c_wint_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
+$as_echo "$gt_cv_c_wint_t" >&6; }
+ if test $gt_cv_c_wint_t = yes; then
+
+$as_echo "#define HAVE_WINT_T 1" >>confdefs.h
+
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
-$as_echo_n "checking for GNU gettext in libintl... " >&6; }
-if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_stdio_h='<'stdio.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdio.h>" >&5
+$as_echo_n "checking absolute name of <stdio.h>... " >&6; }
+if test "${gl_cv_next_stdio_h+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- gt_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $INCINTL"
- gt_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBINTL"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
+#include <stdio.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'stdio.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5
+$as_echo "$gl_cv_next_stdio_h" >&6; }
+ fi
+ NEXT_STDIO_H=$gl_cv_next_stdio_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'stdio.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_stdio_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive
+
+
+
+
+
+ GNULIB_FSCANF=1
+ GNULIB_SCANF=1
+ GNULIB_FGETC=1
+ GNULIB_GETC=1
+ GNULIB_GETCHAR=1
+ GNULIB_FGETS=1
+ GNULIB_GETS=1
+ GNULIB_FREAD=1
+
+
+ GNULIB_FPRINTF=1
+ GNULIB_PRINTF=1
+ GNULIB_VFPRINTF=1
+ GNULIB_VPRINTF=1
+ GNULIB_FPUTC=1
+ GNULIB_PUTC=1
+ GNULIB_PUTCHAR=1
+ GNULIB_FPUTS=1
+ GNULIB_PUTS=1
+ GNULIB_FWRITE=1
+
+
+
+
+ for gl_func in dprintf fpurge fseeko ftello getdelim getline pclose popen renameat snprintf tmpfile vdprintf vsnprintf; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval "test \"\${$as_gl_Symbol+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+
int
main ()
{
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+#undef $gl_func
+ (void) $gl_func;
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- eval "$gt_func_gnugettext_libintl=yes"
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
else
- eval "$gt_func_gnugettext_libintl=no"
+ eval "$as_gl_Symbol=no"
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
- LIBS="$LIBS $LIBICONV"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+
+ eval ac_cv_have_decl_$gl_func=yes
+fi
+ done
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_stdlib_h='<'stdlib.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdlib.h>" >&5
+$as_echo_n "checking absolute name of <stdlib.h>... " >&6; }
+if test "${gl_cv_next_stdlib_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
+#include <stdlib.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'stdlib.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5
+$as_echo "$gl_cv_next_stdlib_h" >&6; }
+ fi
+ NEXT_STDLIB_H=$gl_cv_next_stdlib_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'stdlib.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_stdlib_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive
+
+
+
+
+
+
+ for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt ptsname ptsname_r random_r realpath rpmatch setenv setstate_r srandom_r strtod strtoll strtoull unlockpt unsetenv; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval "test \"\${$as_gl_Symbol+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#if HAVE_SYS_LOADAVG_H
+# include <sys/loadavg.h>
#endif
-const char *_nl_expand_alias (const char *);
+#if HAVE_RANDOM_H
+# include <random.h>
+#endif
+
int
main ()
{
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+#undef $gl_func
+ (void) $gl_func;
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- eval "$gt_func_gnugettext_libintl=yes"
-
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
+else
+ eval "$as_gl_Symbol=no"
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- CPPFLAGS="$gt_save_CPPFLAGS"
- LIBS="$gt_save_LIBS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-eval ac_res=\$$gt_func_gnugettext_libintl
+eval ac_res=\$$as_gl_Symbol
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- fi
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
- if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
- || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
- && test "$PACKAGE" != gettext-runtime \
- && test "$PACKAGE" != gettext-tools; }; then
- gt_use_preinstalled_gnugettext=yes
- else
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- fi
+ eval ac_cv_have_decl_$gl_func=yes
+fi
+ done
- if test -n "$INTL_MACOSX_LIBS"; then
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
- LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
- fi
- fi
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
-$as_echo "#define ENABLE_NLS 1" >>confdefs.h
+ if test $ac_cv_func_symlink = no; then
+ HAVE_SYMLINK=0
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symlink handles trailing slash correctly" >&5
+$as_echo_n "checking whether symlink handles trailing slash correctly... " >&6; }
+if test "${gl_cv_func_symlink_works+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ gl_cv_func_symlink_works="guessing no"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <unistd.h>
- else
- USE_NLS=no
+int
+main ()
+{
+int result = 0;
+ if (!symlink ("a", "conftest.link/"))
+ result |= 1;
+ if (symlink ("conftest.f", "conftest.lnk2"))
+ result |= 2;
+ else if (!symlink ("a", "conftest.lnk2/"))
+ result |= 4;
+ return result;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_symlink_works=yes
+else
+ gl_cv_func_symlink_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ rm -f conftest.f conftest.link conftest.lnk2
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5
+$as_echo "$gl_cv_func_symlink_works" >&6; }
+ if test "$gl_cv_func_symlink_works" != yes; then
+ REPLACE_SYMLINK=1
fi
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
-$as_echo_n "checking whether to use NLS... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
-$as_echo "$USE_NLS" >&6; }
- if test "$USE_NLS" = "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
-$as_echo_n "checking where the gettext function comes from... " >&6; }
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
- gt_source="external libintl"
- else
- gt_source="libc"
- fi
+if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
+
+
+
+
+
+
+
+
+ gltests_LIBOBJS="$gltests_LIBOBJS symlink.$ac_objext"
+
+fi
+
+
+
+
+
+ if test "$GNULIB_SYMLINK" != 1; then
+ if test "$GNULIB_SYMLINK" = 0; then
+ GNULIB_SYMLINK=$gl_module_indicator_condition
else
- gt_source="included intl directory"
+ GNULIB_SYMLINK="($GNULIB_SYMLINK || $gl_module_indicator_condition)"
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
-$as_echo "$gt_source" >&6; }
fi
- if test "$USE_NLS" = "yes"; then
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
-$as_echo_n "checking how to link with libintl... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
-$as_echo "$LIBINTL" >&6; }
- for element in $INCINTL; do
- haveit=
- for x in $CPPFLAGS; do
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
- fi
- done
+$as_echo "#define GNULIB_TEST_SYMLINK 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+
+
+
- fi
-$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
-$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h
- fi
- POSUB=po
- fi
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_sys_stat_h='<'sys/stat.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <sys/stat.h>" >&5
+$as_echo_n "checking absolute name of <sys/stat.h>... " >&6; }
+if test "${gl_cv_next_sys_stat_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test $ac_cv_header_sys_stat_h = yes; then
- INTLLIBS="$LIBINTL"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/stat.h>
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'sys/stat.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+ else
+ gl_cv_next_sys_stat_h='<'sys/stat.h'>'
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5
+$as_echo "$gl_cv_next_sys_stat_h" >&6; }
+ fi
+ NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'sys/stat.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_sys_stat_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive
+ ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include <sys/types.h>
+ #include <sys/stat.h>
+"
+if test "x$ac_cv_type_nlink_t" = x""yes; then :
- am_save_CPPFLAGS="$CPPFLAGS"
+else
- for element in $INCICONV; do
- haveit=
- for x in $CPPFLAGS; do
+$as_echo "#define nlink_t int" >>confdefs.h
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
+fi
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
- fi
- done
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
-$as_echo_n "checking for iconv... " >&6; }
-if test "${am_cv_func_iconv+set}" = set; then
+ for gl_func in fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat mknod mknodat stat utimensat; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval "test \"\${$as_gl_Symbol+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
-
- am_cv_func_iconv="no, consider installing GNU libiconv"
- am_cv_lib_iconv=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
+#include <sys/stat.h>
+
int
main ()
{
-iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+#undef $gl_func
+ (void) $gl_func;
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- am_cv_func_iconv=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
+else
+ eval "$as_gl_Symbol=no"
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+
+ eval ac_cv_have_decl_$gl_func=yes
+fi
+ done
+
+
+
+
+
+
+
+
+
+ if test $ac_cv_have_decl_unsetenv = no; then
+ HAVE_DECL_UNSETENV=0
+ fi
+ for ac_func in unsetenv
+do :
+ ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv"
+if test "x$ac_cv_func_unsetenv" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_UNSETENV 1
+_ACEOF
+
+fi
+done
+
+ if test $ac_cv_func_unsetenv = no; then
+ HAVE_UNSETENV=0
+ else
+ HAVE_UNSETENV=1
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5
+$as_echo_n "checking for unsetenv() return type... " >&6; }
+if test "${gt_cv_func_unsetenv_ret+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+
+#undef _BSD
+#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 <stdlib.h> */
#include <stdlib.h>
-#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+int unsetenv (const char *name);
+
int
main ()
{
-iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- am_cv_lib_iconv=yes
- am_cv_func_iconv=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ gt_cv_func_unsetenv_ret='int'
+else
+ gt_cv_func_unsetenv_ret='void'
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$am_save_LIBS"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5
+$as_echo "$gt_cv_func_unsetenv_ret" >&6; }
+ if test $gt_cv_func_unsetenv_ret = 'void'; then
+
+$as_echo "#define VOID_UNSETENV 1" >>confdefs.h
+
+ REPLACE_UNSETENV=1
fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
-$as_echo "$am_cv_func_iconv" >&6; }
- if test "$am_cv_func_iconv" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
-$as_echo_n "checking for working iconv... " >&6; }
-if test "${am_cv_func_iconv_works+set}" = set; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unsetenv obeys POSIX" >&5
+$as_echo_n "checking whether unsetenv obeys POSIX... " >&6; }
+if test "${gl_cv_func_unsetenv_works+set}" = set; then :
$as_echo_n "(cached) " >&6
else
-
- am_save_LIBS="$LIBS"
- if test $am_cv_lib_iconv = yes; then
- LIBS="$LIBS $LIBICONV"
- fi
- if test "$cross_compiling" = yes; then
- case "$host_os" in
- aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
- *) am_cv_func_iconv_works="guessing yes" ;;
- esac
+ if test "$cross_compiling" = yes; then :
+ gl_cv_func_unsetenv_works="guessing no"
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <iconv.h>
-#include <string.h>
-int main ()
+ #include <stdlib.h>
+ #include <errno.h>
+ extern char **environ;
+
+int
+main ()
{
- /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
- returns. */
- {
- iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
- if (cd_utf8_to_88591 != (iconv_t)(-1))
- {
- static const char input[] = "\342\202\254"; /* EURO SIGN */
- char buf[10];
- const char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_utf8_to_88591,
- (char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res == 0)
- return 1;
- }
- }
-#if 0 /* This bug could be worked around by the caller. */
- /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
- {
- iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
- if (cd_88591_to_utf8 != (iconv_t)(-1))
- {
- static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
- char buf[50];
- const char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_88591_to_utf8,
- (char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if ((int)res > 0)
- return 1;
- }
- }
-#endif
- /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
- provided. */
- if (/* Try standardized names. */
- iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
- /* Try IRIX, OSF/1 names. */
- && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
- /* Try AIX names. */
- && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
- /* Try HP-UX names. */
- && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
- return 1;
+
+ char entry1[] = "a=1";
+ char entry2[] = "b=2";
+ char *env[] = { entry1, entry2, NULL };
+ if (putenv ((char *) "a=1")) return 1;
+ if (putenv (entry2)) return 2;
+ entry2[0] = 'a';
+ unsetenv ("a");
+ if (getenv ("a")) return 3;
+ if (!unsetenv ("") || errno != EINVAL) return 4;
+ entry2[0] = 'b';
+ environ = env;
+ if (!getenv ("a")) return 5;
+ entry2[0] = 'a';
+ unsetenv ("a");
+ if (getenv ("a")) return 6;
+
+ ;
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then
- am_cv_func_iconv_works=yes
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_unsetenv_works=yes
else
- am_cv_func_iconv_works=no
+ gl_cv_func_unsetenv_works=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
- LIBS="$am_save_LIBS"
-
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
-$as_echo "$am_cv_func_iconv_works" >&6; }
- case "$am_cv_func_iconv_works" in
- *no) am_func_iconv=no am_cv_lib_iconv=no ;;
- *) am_func_iconv=yes ;;
- esac
- else
- am_func_iconv=no am_cv_lib_iconv=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5
+$as_echo "$gl_cv_func_unsetenv_works" >&6; }
+ if test "$gl_cv_func_unsetenv_works" != yes; then
+ REPLACE_UNSETENV=1
+ fi
fi
- if test "$am_func_iconv" = yes; then
-$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
- fi
- if test "$am_cv_lib_iconv" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
-$as_echo_n "checking how to link with libiconv... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
-$as_echo "$LIBICONV" >&6; }
- else
- CPPFLAGS="$am_save_CPPFLAGS"
- LIBICONV=
- LTLIBICONV=
+
+
+
+
+
+
+
+ gltests_LIBOBJS="$gltests_LIBOBJS unsetenv.$ac_objext"
+
+
+
+
+
+fi
+
+
+
+
+
+ if test "$GNULIB_UNSETENV" != 1; then
+ if test "$GNULIB_UNSETENV" = 0; then
+ GNULIB_UNSETENV=$gl_module_indicator_condition
+ else
+ GNULIB_UNSETENV="($GNULIB_UNSETENV || $gl_module_indicator_condition)"
+ fi
fi
- if test "$am_cv_func_iconv" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
-$as_echo_n "checking for iconv declaration... " >&6; }
- if test "${am_cv_proto_iconv+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
+$as_echo "#define GNULIB_TEST_UNSETENV 1" >>confdefs.h
+
-int
-main ()
-{
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- am_cv_proto_iconv_arg1=""
+
+ # Check whether --enable-valgrind-tests was given.
+if test "${enable_valgrind_tests+set}" = set; then :
+ enableval=$enable_valgrind_tests; opt_valgrind_tests=$enableval
else
- am_cv_proto_iconv_arg1="const"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
+ opt_valgrind_tests=yes
fi
- am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:-
- }$am_cv_proto_iconv" >&5
-$as_echo "${ac_t:-
- }$am_cv_proto_iconv" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define ICONV_CONST $am_cv_proto_iconv_arg1
-_ACEOF
-
- fi
- # If set to t, that means we are running in a shell under Emacs.
- # If you have an Emacs named "t", then use the full path.
- test x"$EMACS" = xt && EMACS=
- for ac_prog in emacs xemacs
+ # Run self-tests under valgrind?
+ if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then
+ for ac_prog in valgrind
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_EMACS+set}" = set; then
+if test "${ac_cv_prog_VALGRIND+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$EMACS"; then
- ac_cv_prog_EMACS="$EMACS" # Let the user override the test.
+ if test -n "$VALGRIND"; then
+ ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_EMACS="$ac_prog"
+ ac_cv_prog_VALGRIND="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
fi
fi
-EMACS=$ac_cv_prog_EMACS
-if test -n "$EMACS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $EMACS" >&5
-$as_echo "$EMACS" >&6; }
+VALGRIND=$ac_cv_prog_VALGRIND
+if test -n "$VALGRIND"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5
+$as_echo "$VALGRIND" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- test -n "$EMACS" && break
+ test -n "$VALGRIND" && break
done
-test -n "$EMACS" || EMACS="no"
-
+ fi
+ OPTS="-q --error-exitcode=1 --leak-check=full"
-# Check whether --with-lispdir was given.
-if test "${with_lispdir+set}" = set; then
- withval=$with_lispdir; lispdir="$withval"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking where .elc files should go" >&5
-$as_echo_n "checking where .elc files should go... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lispdir" >&5
-$as_echo "$lispdir" >&6; }
-else
+ if test -n "$VALGRIND" \
+ && $VALGRIND $OPTS $SHELL -c 'exit 0' > /dev/null 2>&1; then
+ opt_valgrind_tests=yes
+ VALGRIND="$VALGRIND $OPTS"
+ else
+ opt_valgrind_tests=no
+ VALGRIND=
+ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking where .elc files should go" >&5
-$as_echo_n "checking where .elc files should go... " >&6; }
-if test "${am_cv_lispdir+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether self tests are run under valgrind" >&5
+$as_echo_n "checking whether self tests are run under valgrind... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $opt_valgrind_tests" >&5
+$as_echo "$opt_valgrind_tests" >&6; }
- if test $EMACS != "no"; then
- if test x${lispdir+set} != xset; then
- # If $EMACS isn't GNU Emacs or XEmacs, this can blow up pretty badly
- # Some emacsen will start up in interactive mode, requiring C-x C-c to exit,
- # which is non-obvious for non-emacs users.
- # Redirecting /dev/null should help a bit; pity we can't detect "broken"
- # emacsen earlier and avoid running this altogether.
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) \"\\n\")) (setq load-path (cdr load-path)))' </dev/null >conftest.out"; } >&5
- ($EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' </dev/null >conftest.out) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- am_cv_lispdir=`sed -n \
- -e 's,/$,,' \
- -e '/.*\/lib\/x*emacs\/site-lisp$/{s,.*/lib/\(x*emacs/site-lisp\)$,${libdir}/\1,;p;q;}' \
- -e '/.*\/share\/x*emacs\/site-lisp$/{s,.*/share/\(x*emacs/site-lisp\),${datarootdir}/\1,;p;q;}' \
- conftest.out`
- rm conftest.out
- fi
- fi
- test -z "$am_cv_lispdir" && am_cv_lispdir='${datadir}/emacs/site-lisp'
+abs_aux_dir=`cd "$ac_aux_dir"; pwd`
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_lispdir" >&5
-$as_echo "$am_cv_lispdir" >&6; }
- lispdir="$am_cv_lispdir"
-fi
-if test "$am_cv_func_iconv" != "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}:
-***
-Your system does not have iconv(). The iconv() function is not
-strictly required by the source code. However, that may change in
-the future, unless you report that this may be a problem for you.
-Please report this to $PACKAGE_BUGREPORT.
-***" >&5
-$as_echo "$as_me:
-***
-Your system does not have iconv(). The iconv() function is not
-strictly required by the source code. However, that may change in
-the future, unless you report that this may be a problem for you.
-Please report this to $PACKAGE_BUGREPORT.
-***" >&6;}
-fi
-# Checks for header files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_wchar_h='<'wchar.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <wchar.h>" >&5
+$as_echo_n "checking absolute name of <wchar.h>... " >&6; }
+if test "${gl_cv_next_wchar_h+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-int
-main ()
-{
+ if test $ac_cv_header_wchar_h = yes; then
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <string.h>
+#include <wchar.h>
_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'wchar.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_wchar_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+ else
+ gl_cv_next_wchar_h='<'wchar.h'>'
+ fi
+
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5
+$as_echo "$gl_cv_next_wchar_h" >&6; }
+ fi
+ NEXT_WCHAR_H=$gl_cv_next_wchar_h
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'wchar.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_wchar_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_WCHAR_H=$gl_next_as_first_directive
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-fi
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
+
+ if test $ac_cv_header_wchar_h = yes; then
+ HAVE_WCHAR_H=1
+ else
+ HAVE_WCHAR_H=0
+ fi
+
+
+
+
+
+ if test $gt_cv_c_wint_t = yes; then
+ HAVE_WINT_T=1
+ else
+ HAVE_WINT_T=0
+ fi
+
+
+
+ for gl_func in btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth ; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval "test \"\${$as_gl_Symbol+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+ <wchar.h>.
+ BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+#if !(defined __GLIBC__ && !defined __UCLIBC__)
+# include <stddef.h>
+# include <stdio.h>
+# include <time.h>
#endif
+#include <wchar.h>
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
int
main ()
{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
+#undef $gl_func
+ (void) $gl_func;
+ ;
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then
- :
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
else
- ac_cv_header_stdc=no
+ eval "$as_gl_Symbol=no"
fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
+eval ac_res=\$$as_gl_Symbol
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+ eval ac_cv_have_decl_$gl_func=yes
fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
+ done
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-fi
-# For gnulib stuff in gl/.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for preferred C# implementation" >&5
-$as_echo_n "checking for preferred C# implementation... " >&6; }
- # Check whether --enable-csharp was given.
-if test "${enable_csharp+set}" = set; then
- enableval=$enable_csharp; CSHARP_CHOICE="$enableval"
+
+
+ LIBTESTS_LIBDEPS="$gltests_libdeps"
+
+
+
+ GNULIB_ICONV=0;
+ ICONV_CONST=;
+ REPLACE_ICONV=0;
+ REPLACE_ICONV_OPEN=0;
+ REPLACE_ICONV_UTF=0;
+ ICONV_H='';
+ if test -n "$ICONV_H"; then
+ GL_GENERATE_ICONV_H_TRUE=
+ GL_GENERATE_ICONV_H_FALSE='#'
else
- CSHARP_CHOICE=any
+ GL_GENERATE_ICONV_H_TRUE='#'
+ GL_GENERATE_ICONV_H_FALSE=
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CSHARP_CHOICE" >&5
-$as_echo "$CSHARP_CHOICE" >&6; }
- case "$CSHARP_CHOICE" in
- pnet)
-$as_echo "#define CSHARP_CHOICE_PNET 1" >>confdefs.h
-
- ;;
- mono)
-$as_echo "#define CSHARP_CHOICE_MONO 1" >>confdefs.h
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C# compiler" >&5
-$as_echo_n "checking for C# compiler... " >&6; }
- HAVE_CSHARPCOMP=1
- # Extract the first word of "cscc", so it can be a program name with args.
-set dummy cscc; ac_word=$2
-:
-if test "${ac_cv_prog_HAVE_CSCC_IN_PATH+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$HAVE_CSCC_IN_PATH"; then
- ac_cv_prog_HAVE_CSCC_IN_PATH="$HAVE_CSCC_IN_PATH" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_HAVE_CSCC_IN_PATH="yes"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-fi
-fi
-HAVE_CSCC_IN_PATH=$ac_cv_prog_HAVE_CSCC_IN_PATH
-if test -n "$HAVE_CSCC_IN_PATH"; then
- :
-else
- :
-fi
+gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
- # Extract the first word of "mcs", so it can be a program name with args.
-set dummy mcs; ac_word=$2
-:
-if test "${ac_cv_prog_HAVE_MCS_IN_PATH+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$HAVE_MCS_IN_PATH"; then
- ac_cv_prog_HAVE_MCS_IN_PATH="$HAVE_MCS_IN_PATH" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_HAVE_MCS_IN_PATH="yes"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-fi
-fi
-HAVE_MCS_IN_PATH=$ac_cv_prog_HAVE_MCS_IN_PATH
-if test -n "$HAVE_MCS_IN_PATH"; then
- :
-else
- :
-fi
+ if test "$HAVE_LIBUNISTRING" = yes; then
+ LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_major"`
+ LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"`
+ LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"`
+ fi
- # Extract the first word of "csc", so it can be a program name with args.
-set dummy csc; ac_word=$2
-:
-if test "${ac_cv_prog_HAVE_CSC_IN_PATH+set}" = set; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
+$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
+if test "${am_cv_langinfo_codeset+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$HAVE_CSC_IN_PATH"; then
- ac_cv_prog_HAVE_CSC_IN_PATH="$HAVE_CSC_IN_PATH" # Let the user override the test.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <langinfo.h>
+int
+main ()
+{
+char* cs = nl_langinfo(CODESET); return !cs;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ am_cv_langinfo_codeset=yes
else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_HAVE_CSC_IN_PATH="yes"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
+ am_cv_langinfo_codeset=no
fi
-HAVE_CSC_IN_PATH=$ac_cv_prog_HAVE_CSC_IN_PATH
-if test -n "$HAVE_CSC_IN_PATH"; then
- :
-else
- :
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5
+$as_echo "$am_cv_langinfo_codeset" >&6; }
+ if test $am_cv_langinfo_codeset = yes; then
+$as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
- for impl in "$CSHARP_CHOICE" pnet mono sscli no; do
- case "$impl" in
- pnet)
- if test -n "$HAVE_CSCC_IN_PATH" \
- && cscc --version >/dev/null 2>/dev/null \
- && (
- # See if pnetlib is well installed.
- echo 'class ConfTest { static void Main() { } }' > conftest.cs
- cscc -o conftest.exe conftest.cs 2>/dev/null
- error=$?
- rm -f conftest.cs conftest.exe
- exit $error
- ); then
- HAVE_CSCC=1
- ac_result="cscc"
- break
- fi
- ;;
- mono)
- if test -n "$HAVE_MCS_IN_PATH" \
- && mcs --version >/dev/null 2>/dev/null \
- && mcs --version 2>/dev/null | grep Mono >/dev/null; then
- HAVE_MCS=1
- ac_result="mcs"
- break
- fi
- ;;
- sscli)
- if test -n "$HAVE_CSC_IN_PATH" \
- && csc -help >/dev/null 2>/dev/null \
- && { if csc -help 2>/dev/null | grep -i chicken > /dev/null; then false; else true; fi; }; then
- HAVE_CSC=1
- ac_result="csc"
- break
- fi
- ;;
- no)
- HAVE_CSHARPCOMP=
- ac_result="no"
- break
- ;;
- esac
- done
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_result" >&5
-$as_echo "$ac_result" >&6; }
+ fi
+ GNULIB_SETLOCALE=0;
+ GNULIB_DUPLOCALE=0;
+ HAVE_DUPLOCALE=1;
+ REPLACE_SETLOCALE=0;
+ REPLACE_DUPLOCALE=0;
- if test -z "${CSHARPCOMPFLAGS+set}"; then
- CSHARPCOMPFLAGS="-O -g"
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the preprocessor supports include_next" >&5
-$as_echo_n "checking whether the preprocessor supports include_next... " >&6; }
-if test "${gl_cv_have_include_next+set}" = set; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5
+$as_echo_n "checking for LC_MESSAGES... " >&6; }
+if test "${gt_cv_val_LC_MESSAGES+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- rm -rf conftestd1a conftestd1b conftestd2
- mkdir conftestd1a conftestd1b conftestd2
- cat <<EOF > conftestd1a/conftest.h
-#define DEFINED_IN_CONFTESTD1
-#include_next <conftest.h>
-#ifdef DEFINED_IN_CONFTESTD2
-int foo;
-#else
-#error "include_next doesn't work"
-#endif
-EOF
- cat <<EOF > conftestd1b/conftest.h
-#define DEFINED_IN_CONFTESTD1
-#include <stdio.h>
-#include_next <conftest.h>
-#ifdef DEFINED_IN_CONFTESTD2
-int foo;
-#else
-#error "include_next doesn't work"
-#endif
-EOF
- cat <<EOF > conftestd2/conftest.h
-#ifndef DEFINED_IN_CONFTESTD1
-#error "include_next test doesn't work"
-#endif
-#define DEFINED_IN_CONFTESTD2
-EOF
- gl_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <conftest.h>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- gl_cv_have_include_next=yes
-else
- CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <conftest.h>
+#include <locale.h>
+int
+main ()
+{
+return LC_MESSAGES
+ ;
+ return 0;
+}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- gl_cv_have_include_next=buggy
+if ac_fn_c_try_link "$LINENO"; then :
+ gt_cv_val_LC_MESSAGES=yes
else
- gl_cv_have_include_next=no
+ gt_cv_val_LC_MESSAGES=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CPPFLAGS="$gl_save_CPPFLAGS"
- rm -rf conftestd1a conftestd1b conftestd2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_val_LC_MESSAGES" >&5
+$as_echo "$gt_cv_val_LC_MESSAGES" >&6; }
+ if test $gt_cv_val_LC_MESSAGES = yes; then
+
+$as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_include_next" >&5
-$as_echo "$gl_cv_have_include_next" >&6; }
- PRAGMA_SYSTEM_HEADER=
- if test $gl_cv_have_include_next = yes; then
- INCLUDE_NEXT=include_next
- INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next
- if test -n "$GCC"; then
- PRAGMA_SYSTEM_HEADER='#pragma GCC system_header'
- fi
- else
- if test $gl_cv_have_include_next = buggy; then
- INCLUDE_NEXT=include
- INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include_next
- else
- INCLUDE_NEXT=include
- INCLUDE_NEXT_AS_FIRST_DIRECTIVE=include
- fi
fi
+ gl_threads_api=none
+ LIBTHREAD=
+ LTLIBTHREAD=
+ LIBMULTITHREAD=
+ LTLIBMULTITHREAD=
+ if test "$gl_use_threads" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether imported symbols can be declared weak" >&5
+$as_echo_n "checking whether imported symbols can be declared weak... " >&6; }
+if test "${gl_cv_have_weak+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ gl_cv_have_weak=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+extern void xyzzy ();
+#pragma weak xyzzy
+int
+main ()
+{
+xyzzy();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_have_weak=maybe
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test $gl_cv_have_weak = maybe; then
+ if test "$cross_compiling" = yes; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __ELF__
+ Extensible Linking Format
+ #endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "Extensible Linking Format" >/dev/null 2>&1; then :
+ gl_cv_have_weak="guessing yes"
+else
+ gl_cv_have_weak="guessing no"
+fi
+rm -f conftest*
+
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+#pragma weak fputs
+int main ()
+{
+ return (fputs == NULL);
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_have_weak=yes
+else
+ gl_cv_have_weak=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5
+$as_echo "$gl_cv_have_weak" >&6; }
+ 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
+ # it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY.
+ ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default"
+if test "x$ac_cv_header_pthread_h" = x""yes; then :
+ gl_have_pthread_h=yes
+else
+ gl_have_pthread_h=no
+fi
- for ac_header in $ac_header_list
-do
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-eval as_val=\$$as_ac_Header
- if test "x$as_val" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+
+ if test "$gl_have_pthread_h" = yes; then
+ # Other possible tests:
+ # -lpthreads (FSU threads, PCthreads)
+ # -lgthreads
+ gl_have_pthread=
+ # 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
+ # the second one only in libpthread, and lock.c needs it.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <pthread.h>
+int
+main ()
+{
+pthread_mutex_lock((pthread_mutex_t*)0);
+ pthread_mutexattr_init((pthread_mutexattr_t*)0);
+ ;
+ return 0;
+}
_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_have_pthread=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ # Test for libpthread by looking for pthread_kill. (Not pthread_self,
+ # since it is defined as a macro on OSF/1.)
+ if test -n "$gl_have_pthread"; then
+ # The program links fine without libpthread. But it may actually
+ # need to link with libpthread in order to create multiple threads.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5
+$as_echo_n "checking for pthread_kill in -lpthread... " >&6; }
+if test "${ac_cv_lib_pthread_pthread_kill+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_kill ();
+int
+main ()
+{
+return pthread_kill ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_pthread_pthread_kill=yes
+else
+ ac_cv_lib_pthread_pthread_kill=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5
+$as_echo "$ac_cv_lib_pthread_pthread_kill" >&6; }
+if test "x$ac_cv_lib_pthread_pthread_kill" = x""yes; then :
+ LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread
+ # On Solaris and HP-UX, most pthread functions exist also in libc.
+ # Therefore pthread_in_use() needs to actually try to create a
+ # thread: pthread_create from libc will fail, whereas
+ # pthread_create will actually create a thread.
+ case "$host_os" in
+ solaris* | hpux*)
-done
+$as_echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h
+ esac
+fi
+ else
+ # Some library is needed. Try libpthread and libc_r.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5
+$as_echo_n "checking for pthread_kill in -lpthread... " >&6; }
+if test "${ac_cv_lib_pthread_pthread_kill+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_kill ();
+int
+main ()
+{
+return pthread_kill ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_pthread_pthread_kill=yes
+else
+ ac_cv_lib_pthread_pthread_kill=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5
+$as_echo "$ac_cv_lib_pthread_pthread_kill" >&6; }
+if test "x$ac_cv_lib_pthread_pthread_kill" = x""yes; then :
+ gl_have_pthread=yes
+ LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread
+ LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for complete errno.h" >&5
-$as_echo_n "checking for complete errno.h... " >&6; }
-if test "${gl_cv_header_errno_h_complete+set}" = set; then
+ if test -z "$gl_have_pthread"; then
+ # For FreeBSD 4.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lc_r" >&5
+$as_echo_n "checking for pthread_kill in -lc_r... " >&6; }
+if test "${ac_cv_lib_c_r_pthread_kill+set}" = set; then :
$as_echo_n "(cached) " >&6
else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lc_r $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <errno.h>
-#if !defined ENOMSG
-booboo
-#endif
-#if !defined EIDRM
-booboo
-#endif
-#if !defined ENOLINK
-booboo
-#endif
-#if !defined EPROTO
-booboo
-#endif
-#if !defined EMULTIHOP
-booboo
-#endif
-#if !defined EBADMSG
-booboo
-#endif
-#if !defined EOVERFLOW
-booboo
-#endif
-#if !defined ENOTSUP
-booboo
-#endif
-#if !defined ECANCELED
-booboo
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
#endif
-
+char pthread_kill ();
+int
+main ()
+{
+return pthread_kill ();
+ ;
+ return 0;
+}
_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "booboo" >/dev/null 2>&1; then
- gl_cv_header_errno_h_complete=no
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_c_r_pthread_kill=yes
else
- gl_cv_header_errno_h_complete=yes
+ ac_cv_lib_c_r_pthread_kill=no
fi
-rm -f conftest*
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_kill" >&5
+$as_echo "$ac_cv_lib_c_r_pthread_kill" >&6; }
+if test "x$ac_cv_lib_c_r_pthread_kill" = x""yes; then :
+ gl_have_pthread=yes
+ LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r
+ LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r
+fi
+
+ fi
+ fi
+ if test -n "$gl_have_pthread"; then
+ gl_threads_api=posix
+
+$as_echo "#define USE_POSIX_THREADS 1" >>confdefs.h
+
+ if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
+ if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
+$as_echo "#define USE_POSIX_THREADS_WEAK 1" >>confdefs.h
+ LIBTHREAD=
+ LTLIBTHREAD=
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -z "$gl_have_pthread"; then
+ if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then
+ gl_have_solaristhread=
+ gl_save_LIBS="$LIBS"
+ LIBS="$LIBS -lthread"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <thread.h>
+#include <synch.h>
+int
+main ()
+{
+thr_self();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_have_solaristhread=yes
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_complete" >&5
-$as_echo "$gl_cv_header_errno_h_complete" >&6; }
- if test $gl_cv_header_errno_h_complete = yes; then
- ERRNO_H=''
- else
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$gl_save_LIBS"
+ if test -n "$gl_have_solaristhread"; then
+ gl_threads_api=solaris
+ LIBTHREAD=-lthread
+ LTLIBTHREAD=-lthread
+ LIBMULTITHREAD="$LIBTHREAD"
+ LTLIBMULTITHREAD="$LTLIBTHREAD"
+$as_echo "#define USE_SOLARIS_THREADS 1" >>confdefs.h
+ if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
+$as_echo "#define USE_SOLARIS_THREADS_WEAK 1" >>confdefs.h
+ LIBTHREAD=
+ LTLIBTHREAD=
+ fi
+ fi
+ fi
+ fi
+ if test "$gl_use_threads" = pth; then
+ gl_save_CPPFLAGS="$CPPFLAGS"
- if test $gl_cv_have_include_next = yes; then
- gl_cv_next_errno_h='<'errno.h'>'
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <errno.h>" >&5
-$as_echo_n "checking absolute name of <errno.h>... " >&6; }
-if test "${gl_cv_next_errno_h+set}" = set; then
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libpth" >&5
+$as_echo_n "checking how to link with libpth... " >&6; }
+if test "${ac_cv_libpth_libs+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test $ac_cv_header_errno_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <errno.h>
-
-_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
- gl_cv_next_errno_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n '\#/errno.h#{
- s#.*"\(.*/errno.h\)".*#\1#
- s#^/[^/]#//&#
- p
- q
- }'`'"'
- else
- gl_cv_next_errno_h='<'errno.h'>'
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_errno_h" >&5
-$as_echo "$gl_cv_next_errno_h" >&6; }
- fi
- NEXT_ERRNO_H=$gl_cv_next_errno_h
- if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
- gl_next_as_first_directive='<'errno.h'>'
- else
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
- gl_next_as_first_directive=$gl_cv_next_errno_h
- fi
- NEXT_AS_FIRST_DIRECTIVE_ERRNO_H=$gl_next_as_first_directive
- ERRNO_H='errno.h'
- fi
- if test -n "$ERRNO_H"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMULTIHOP value" >&5
-$as_echo_n "checking for EMULTIHOP value... " >&6; }
-if test "${gl_cv_header_errno_h_EMULTIHOP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
+ use_additional=yes
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
-#include <errno.h>
-#ifdef EMULTIHOP
-yes
-#endif
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1; then
- gl_cv_header_errno_h_EMULTIHOP=yes
-else
- gl_cv_header_errno_h_EMULTIHOP=no
-fi
-rm -f conftest*
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
- if test $gl_cv_header_errno_h_EMULTIHOP = no; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-#ifdef EMULTIHOP
-yes
-#endif
+# Check whether --with-libpth-prefix was given.
+if test "${with_libpth_prefix+set}" = set; then :
+ withval=$with_libpth_prefix;
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1; then
- gl_cv_header_errno_h_EMULTIHOP=hidden
-fi
-rm -f conftest*
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
- if test $gl_cv_header_errno_h_EMULTIHOP = hidden; then
- if ac_fn_c_compute_int "$LINENO" "EMULTIHOP" "gl_cv_header_errno_h_EMULTIHOP" "
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-/* The following two lines are a workaround against an autoconf-2.52 bug. */
-#include <stdio.h>
-#include <stdlib.h>
-"; then
- :
-fi
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
fi
fi
+ fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EMULTIHOP" >&5
-$as_echo "$gl_cv_header_errno_h_EMULTIHOP" >&6; }
- case $gl_cv_header_errno_h_EMULTIHOP in
- yes | no)
- EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE=
- ;;
- *)
- EMULTIHOP_HIDDEN=1; EMULTIHOP_VALUE="$gl_cv_header_errno_h_EMULTIHOP"
- ;;
- esac
-
-
- fi
+ LIBPTH=
+ LTLIBPTH=
+ INCPTH=
+ LIBPTH_PREFIX=
+ HAVE_LIBPTH=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='pth '
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIBPTH="${LIBPTH}${LIBPTH:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$value"
+ else
+ :
+ fi
+ else
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
+ if test $use_additional = yes; then
+ dir="$additional_libdir"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIBPTH; do
- if test -n "$ERRNO_H"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENOLINK value" >&5
-$as_echo_n "checking for ENOLINK value... " >&6; }
-if test "${gl_cv_header_errno_h_ENOLINK+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+ LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so"
+ else
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ if test "$acl_hardcode_direct" = yes; then
+ LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so"
+ else
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so"
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ haveit=
+ for x in $LDFLAGS $LIBPTH; do
-#include <errno.h>
-#ifdef ENOLINK
-yes
-#endif
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1; then
- gl_cv_header_errno_h_ENOLINK=yes
-else
- gl_cv_header_errno_h_ENOLINK=no
-fi
-rm -f conftest*
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir"
+ fi
+ if test "$acl_hardcode_minus_L" != no; then
+ LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so"
+ else
+ LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ LIBPTH="${LIBPTH}${LIBPTH:+ }$found_a"
+ else
+ LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir -l$name"
+ fi
+ fi
+ additional_includedir=
+ case "$found_dir" in
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = 'pth'; then
+ LIBPTH_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = 'pth'; then
+ LIBPTH_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INCPTH; do
- if test $gl_cv_header_errno_h_ENOLINK = no; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-#ifdef ENOLINK
-yes
-#endif
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ INCPTH="${INCPTH}${INCPTH:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -n "$found_la"; then
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIBPTH; do
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1; then
- gl_cv_header_errno_h_ENOLINK=hidden
-fi
-rm -f conftest*
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
- if test $gl_cv_header_errno_h_ENOLINK = hidden; then
- if ac_fn_c_compute_int "$LINENO" "ENOLINK" "gl_cv_header_errno_h_ENOLINK" "
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-/* The following two lines are a workaround against an autoconf-2.52 bug. */
-#include <stdio.h>
-#include <stdlib.h>
-"; then
- :
-fi
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LIBPTH="${LIBPTH}${LIBPTH:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIBPTH; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ LIBPTH="${LIBPTH}${LIBPTH:+ }$dep"
+ LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name"
+ LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-l$name"
+ fi
fi
fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_ENOLINK" >&5
-$as_echo "$gl_cv_header_errno_h_ENOLINK" >&6; }
- case $gl_cv_header_errno_h_ENOLINK in
- yes | no)
- ENOLINK_HIDDEN=0; ENOLINK_VALUE=
- ;;
- *)
- ENOLINK_HIDDEN=1; ENOLINK_VALUE="$gl_cv_header_errno_h_ENOLINK"
- ;;
- esac
-
-
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBPTH="${LIBPTH}${LIBPTH:+ }$flag"
+ else
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBPTH="${LIBPTH}${LIBPTH:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ for found_dir in $ltrpathdirs; do
+ LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-R$found_dir"
+ done
fi
- if test -n "$ERRNO_H"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOVERFLOW value" >&5
-$as_echo_n "checking for EOVERFLOW value... " >&6; }
-if test "${gl_cv_header_errno_h_EOVERFLOW+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <errno.h>
-#ifdef EOVERFLOW
-yes
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1; then
- gl_cv_header_errno_h_EOVERFLOW=yes
-else
- gl_cv_header_errno_h_EOVERFLOW=no
-fi
-rm -f conftest*
-
- if test $gl_cv_header_errno_h_EOVERFLOW = no; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-#ifdef EOVERFLOW
-yes
-#endif
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1; then
- gl_cv_header_errno_h_EOVERFLOW=hidden
-fi
-rm -f conftest*
- if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then
- if ac_fn_c_compute_int "$LINENO" "EOVERFLOW" "gl_cv_header_errno_h_EOVERFLOW" "
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-/* The following two lines are a workaround against an autoconf-2.52 bug. */
-#include <stdio.h>
-#include <stdlib.h>
-"; then
- :
-fi
- fi
- fi
+ ac_cv_libpth_libs="$LIBPTH"
+ ac_cv_libpth_ltlibs="$LTLIBPTH"
+ ac_cv_libpth_cppflags="$INCPTH"
+ ac_cv_libpth_prefix="$LIBPTH_PREFIX"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_errno_h_EOVERFLOW" >&5
-$as_echo "$gl_cv_header_errno_h_EOVERFLOW" >&6; }
- case $gl_cv_header_errno_h_EOVERFLOW in
- yes | no)
- EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE=
- ;;
- *)
- EOVERFLOW_HIDDEN=1; EOVERFLOW_VALUE="$gl_cv_header_errno_h_EOVERFLOW"
- ;;
- esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libpth_libs" >&5
+$as_echo "$ac_cv_libpth_libs" >&6; }
+ LIBPTH="$ac_cv_libpth_libs"
+ LTLIBPTH="$ac_cv_libpth_ltlibs"
+ INCPTH="$ac_cv_libpth_cppflags"
+ LIBPTH_PREFIX="$ac_cv_libpth_prefix"
+ for element in $INCPTH; do
+ haveit=
+ for x in $CPPFLAGS; do
- fi
-
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
-ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strerror_r" = x""yes; then
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+ fi
+ done
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRERROR_R $ac_have_decl
-_ACEOF
-for ac_func in strerror_r
-do
- ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r"
-if test "x$ac_cv_func_strerror_r" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_STRERROR_R 1
-_ACEOF
-fi
-done
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5
-$as_echo_n "checking whether strerror_r returns char *... " >&6; }
-if test "${ac_cv_func_strerror_r_char_p+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
+ HAVE_LIBPTH=yes
- ac_cv_func_strerror_r_char_p=no
- if test $ac_cv_have_decl_strerror_r = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
- char buf[100];
- char x = *strerror_r (0, buf, sizeof buf);
- char *p = strerror_r (0, buf, sizeof buf);
- return !p || x;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- ac_cv_func_strerror_r_char_p=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- else
- # strerror_r is not declared. Choose between
- # systems that have relatively inaccessible declarations for the
- # function. BeOS and DEC UNIX 4.0 fall in this category, but the
- # former has a strerror_r that returns char*, while the latter
- # has a strerror_r that returns `int'.
- # This test should segfault on the DEC system.
- if test "$cross_compiling" = yes; then
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ gl_have_pth=
+ gl_save_LIBS="$LIBS"
+ LIBS="$LIBS -lpth"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-$ac_includes_default
- extern char *strerror_r ();
+#include <pth.h>
int
main ()
{
-char buf[100];
- char x = *strerror_r (0, buf, sizeof buf);
- return ! isalpha (x);
+pth_self();
;
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then
- ac_cv_func_strerror_r_char_p=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_have_pth=yes
fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$gl_save_LIBS"
+ if test -n "$gl_have_pth"; then
+ gl_threads_api=pth
+ LIBTHREAD="$LIBPTH"
+ LTLIBTHREAD="$LTLIBPTH"
+ LIBMULTITHREAD="$LIBTHREAD"
+ LTLIBMULTITHREAD="$LTLIBTHREAD"
+
+$as_echo "#define USE_PTH_THREADS 1" >>confdefs.h
+
+ if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
+ if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
+$as_echo "#define USE_PTH_THREADS_WEAK 1" >>confdefs.h
+
+ LIBTHREAD=
+ LTLIBTHREAD=
+ fi
+ fi
+ else
+ CPPFLAGS="$gl_save_CPPFLAGS"
+ fi
fi
+ if test -z "$gl_have_pthread"; then
+ if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then
+ if { case "$host_os" in
+ mingw*) true;;
+ *) false;;
+ esac
+ }; then
+ gl_threads_api=win32
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5
-$as_echo "$ac_cv_func_strerror_r_char_p" >&6; }
-if test $ac_cv_func_strerror_r_char_p = yes; then
+$as_echo "#define USE_WIN32_THREADS 1" >>confdefs.h
-$as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h
+ fi
+ fi
+ fi
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for multithread API to use" >&5
+$as_echo_n "checking for multithread API to use... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_threads_api" >&5
+$as_echo "$gl_threads_api" >&6; }
-fi
- XGETTEXT_EXTRA_OPTIONS=
- if test -z "$GETOPT_H"; then
- for ac_header in getopt.h
-do
- ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default"
-if test "x$ac_cv_header_getopt_h" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_GETOPT_H 1
-_ACEOF
-else
- GETOPT_H=getopt.h
-fi
-done
- fi
- if test -z "$GETOPT_H"; then
- for ac_func in getopt_long_only
-do
- ac_fn_c_check_func "$LINENO" "getopt_long_only" "ac_cv_func_getopt_long_only"
-if test "x$ac_cv_func_getopt_long_only" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_GETOPT_LONG_ONLY 1
-_ACEOF
+ if true; then
+ GL_COND_LIBTOOL_TRUE=
+ GL_COND_LIBTOOL_FALSE='#'
else
- GETOPT_H=getopt.h
+ GL_COND_LIBTOOL_TRUE='#'
+ GL_COND_LIBTOOL_FALSE=
fi
-done
- fi
+ gl_cond_libtool=true
+ gl_m4_base='lib/gl/m4'
- if test -z "$GETOPT_H"; then
- ac_fn_c_check_decl "$LINENO" "optreset" "ac_cv_have_decl_optreset" "#include <getopt.h>
-"
-if test "x$ac_cv_have_decl_optreset" = x""yes; then
- GETOPT_H=getopt.h
-fi
- fi
- if test -z "$GETOPT_H"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt function" >&5
-$as_echo_n "checking for working GNU getopt function... " >&6; }
-if test "${gl_cv_func_gnu_getopt+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then
- ac_fn_c_check_decl "$LINENO" "getopt_clip" "ac_cv_have_decl_getopt_clip" "#include <getopt.h>
-"
-if test "x$ac_cv_have_decl_getopt_clip" = x""yes; then
- gl_cv_func_gnu_getopt=no
-else
- gl_cv_func_gnu_getopt=yes
-fi
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <getopt.h>
-int
-main ()
-{
- char *myargv[3];
- myargv[0] = "conftest";
- myargv[1] = "-+";
- myargv[2] = 0;
- return getopt (2, myargv, "+a") != '?';
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then
- gl_cv_func_gnu_getopt=yes
-else
- gl_cv_func_gnu_getopt=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gnu_getopt" >&5
-$as_echo "$gl_cv_func_gnu_getopt" >&6; }
- if test "$gl_cv_func_gnu_getopt" = "no"; then
- GETOPT_H=getopt.h
- fi
- fi
-ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getenv" = x""yes; then
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETENV $ac_have_decl
-_ACEOF
+ gl_source_base='lib/gl'
- GNULIB_MEMMEM=0;
- GNULIB_MEMPCPY=0;
- GNULIB_MEMRCHR=0;
- GNULIB_RAWMEMCHR=0;
- GNULIB_STPCPY=0;
- GNULIB_STPNCPY=0;
- GNULIB_STRCHRNUL=0;
- GNULIB_STRDUP=0;
- GNULIB_STRNDUP=0;
- GNULIB_STRNLEN=0;
- GNULIB_STRPBRK=0;
- GNULIB_STRSEP=0;
- GNULIB_STRSTR=0;
- GNULIB_STRCASESTR=0;
- GNULIB_STRTOK_R=0;
- GNULIB_MBSLEN=0;
- GNULIB_MBSNLEN=0;
- GNULIB_MBSCHR=0;
- GNULIB_MBSRCHR=0;
- GNULIB_MBSSTR=0;
- GNULIB_MBSCASECMP=0;
- GNULIB_MBSNCASECMP=0;
- GNULIB_MBSPCASECMP=0;
- GNULIB_MBSCASESTR=0;
- GNULIB_MBSCSPN=0;
- GNULIB_MBSPBRK=0;
- GNULIB_MBSSPN=0;
- GNULIB_MBSSEP=0;
- GNULIB_MBSTOK_R=0;
- GNULIB_STRERROR=0;
- GNULIB_STRSIGNAL=0;
- GNULIB_STRVERSCMP=0;
- HAVE_DECL_MEMMEM=1;
- HAVE_MEMPCPY=1;
- HAVE_DECL_MEMRCHR=1;
- HAVE_RAWMEMCHR=1;
- HAVE_STPCPY=1;
- HAVE_STPNCPY=1;
- HAVE_STRCHRNUL=1;
- HAVE_DECL_STRDUP=1;
- HAVE_STRNDUP=1;
- HAVE_DECL_STRNDUP=1;
- HAVE_DECL_STRNLEN=1;
- HAVE_STRPBRK=1;
- HAVE_STRSEP=1;
- HAVE_STRCASESTR=1;
- HAVE_DECL_STRTOK_R=1;
- HAVE_DECL_STRERROR=1;
- HAVE_DECL_STRSIGNAL=1;
- HAVE_STRVERSCMP=1;
- REPLACE_MEMMEM=0;
- REPLACE_STRDUP=0;
- REPLACE_STRSTR=0;
- REPLACE_STRCASESTR=0;
- REPLACE_STRERROR=0;
- REPLACE_STRSIGNAL=0;
+ GNULIB_ICONV=1
- if test -z "$ERRNO_H"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strerror function" >&5
-$as_echo_n "checking for working strerror function... " >&6; }
-if test "${gl_cv_func_working_strerror+set}" = set; then
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_iconv_h='<'iconv.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <iconv.h>" >&5
+$as_echo_n "checking absolute name of <iconv.h>... " >&6; }
+if test "${gl_cv_next_iconv_h+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test "$cross_compiling" = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+ if test $ac_cv_header_iconv_h = yes; then
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <string.h>
+#include <iconv.h>
-int
-main ()
-{
-return !*strerror (-2);
- ;
- return 0;
-}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- gl_cv_func_working_strerror=yes
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'iconv.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_iconv_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+ else
+ gl_cv_next_iconv_h='<'iconv.h'>'
+ fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_iconv_h" >&5
+$as_echo "$gl_cv_next_iconv_h" >&6; }
+ fi
+ NEXT_ICONV_H=$gl_cv_next_iconv_h
+
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'iconv.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_iconv_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_ICONV_H=$gl_next_as_first_directive
+
+
+
+
+
+
+
+
+
+ if test "$am_cv_func_iconv" = yes; then
+
+
+ ICONV_H='iconv.h'
+ if test -n "$ICONV_H"; then
+ GL_GENERATE_ICONV_H_TRUE=
+ GL_GENERATE_ICONV_H_FALSE='#'
else
- gl_cv_func_working_strerror=no
+ GL_GENERATE_ICONV_H_TRUE='#'
+ GL_GENERATE_ICONV_H_FALSE=
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <string.h>
-int
-main ()
-{
-return !*strerror (-2);
- ;
- return 0;
-}
+ #include <iconv.h>
+ #if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
+ gnu_iconv
+ #endif
+
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then
- gl_cv_func_working_strerror=yes
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "gnu_iconv" >/dev/null 2>&1; then :
+ gl_func_iconv_gnu=yes
else
- gl_cv_func_working_strerror=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ gl_func_iconv_gnu=no
fi
+rm -f conftest*
+
+ if test $gl_func_iconv_gnu = no; then
+ iconv_flavor=
+ case "$host_os" in
+ aix*) iconv_flavor=ICONV_FLAVOR_AIX ;;
+ irix*) iconv_flavor=ICONV_FLAVOR_IRIX ;;
+ hpux*) iconv_flavor=ICONV_FLAVOR_HPUX ;;
+ osf*) iconv_flavor=ICONV_FLAVOR_OSF ;;
+ solaris*) iconv_flavor=ICONV_FLAVOR_SOLARIS ;;
+ esac
+ if test -n "$iconv_flavor"; then
+
+cat >>confdefs.h <<_ACEOF
+#define ICONV_FLAVOR $iconv_flavor
+_ACEOF
+
+
+ ICONV_H='iconv.h'
+ if test -n "$ICONV_H"; then
+ GL_GENERATE_ICONV_H_TRUE=
+ GL_GENERATE_ICONV_H_FALSE='#'
+else
+ GL_GENERATE_ICONV_H_TRUE='#'
+ GL_GENERATE_ICONV_H_FALSE=
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_strerror" >&5
-$as_echo "$gl_cv_func_working_strerror" >&6; }
- if test $gl_cv_func_working_strerror = no; then
- REPLACE_STRERROR=1
+
+
+ REPLACE_ICONV_OPEN=1
+
+ fi
fi
- else
- REPLACE_STRERROR=1
+
fi
- if test $REPLACE_STRERROR = 1; then
- ac_fn_c_check_decl "$LINENO" "strerror" "ac_cv_have_decl_strerror" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strerror" = x""yes; then
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
+if test $REPLACE_ICONV_OPEN = 1; then
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRERROR $ac_have_decl
-_ACEOF
- if test $ac_cv_header_sys_socket_h != yes; then
- for ac_header in winsock2.h
-do
- ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default"
-if test "x$ac_cv_header_winsock2_h" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_WINSOCK2_H 1
-_ACEOF
+
+
+
+
+
+ lgl_LIBOBJS="$lgl_LIBOBJS iconv_open.$ac_objext"
fi
+if test $REPLACE_ICONV = 1; then
-done
- fi
- fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5
-$as_echo_n "checking for C/C++ restrict keyword... " >&6; }
-if test "${ac_cv_c_restrict+set}" = set; then
+
+
+
+
+ lgl_LIBOBJS="$lgl_LIBOBJS iconv.$ac_objext"
+
+
+
+
+
+
+
+
+
+ lgl_LIBOBJS="$lgl_LIBOBJS iconv_close.$ac_objext"
+
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler generally respects inline" >&5
+$as_echo_n "checking whether the compiler generally respects inline... " >&6; }
+if test "${gl_cv_c_inline_effective+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- ac_cv_c_restrict=no
- # The order here caters to the fact that C++ does not require restrict.
- for ac_kw in __restrict __restrict__ _Restrict restrict; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ if test $ac_cv_c_inline = no; then
+ gl_cv_c_inline_effective=no
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-typedef int * int_ptr;
- int foo (int_ptr $ac_kw ip) {
- return ip[0];
- }
+
int
main ()
{
-int s[1];
- int * $ac_kw t = s;
- t[0] = 0;
- return foo(t)
+#ifdef __NO_INLINE__
+ #error "inline is not effective"
+ #endif
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- ac_cv_c_restrict=$ac_kw
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_c_inline_effective=yes
+else
+ gl_cv_c_inline_effective=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- test "$ac_cv_c_restrict" != no && break
- done
+ fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5
-$as_echo "$ac_cv_c_restrict" >&6; }
-
- case $ac_cv_c_restrict in
- restrict) ;;
- no) $as_echo "#define restrict /**/" >>confdefs.h
- ;;
- *) cat >>confdefs.h <<_ACEOF
-#define restrict $ac_cv_c_restrict
-_ACEOF
- ;;
- esac
-
-
-
-
-
-
-
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_inline_effective" >&5
+$as_echo "$gl_cv_c_inline_effective" >&6; }
+ if test $gl_cv_c_inline_effective = yes; then
+$as_echo "#define HAVE_INLINE 1" >>confdefs.h
+ fi
- if test $gl_cv_have_include_next = yes; then
- gl_cv_next_string_h='<'string.h'>'
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <string.h>" >&5
-$as_echo_n "checking absolute name of <string.h>... " >&6; }
-if test "${gl_cv_next_string_h+set}" = set; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc/ld supports -Wl,--output-def" >&5
+$as_echo_n "checking if gcc/ld supports -Wl,--output-def... " >&6; }
+if test "${gl_cv_ld_output_def+set}" = set; then :
$as_echo_n "(cached) " >&6
else
-
- if test $ac_cv_header_string_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ if test "$enable_shared" = no; then
+ gl_cv_ld_output_def="not needed, shared libraries are disabled"
+ else
+ gl_ldflags_save=$LDFLAGS
+ LDFLAGS="-Wl,--output-def,conftest.def"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <string.h>
-_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
- gl_cv_next_string_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n '\#/string.h#{
- s#.*"\(.*/string.h\)".*#\1#
- s#^/[^/]#//&#
- p
- q
- }'`'"'
- else
- gl_cv_next_string_h='<'string.h'>'
- fi
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gl_cv_ld_output_def=yes
+else
+ gl_cv_ld_output_def=no
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5
-$as_echo "$gl_cv_next_string_h" >&6; }
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ rm -f conftest.def
+ LDFLAGS="$gl_ldflags_save"
fi
- NEXT_STRING_H=$gl_cv_next_string_h
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_ld_output_def" >&5
+$as_echo "$gl_cv_ld_output_def" >&6; }
+ if test "x$gl_cv_ld_output_def" = "xyes"; then
+ HAVE_LD_OUTPUT_DEF_TRUE=
+ HAVE_LD_OUTPUT_DEF_FALSE='#'
+else
+ HAVE_LD_OUTPUT_DEF_TRUE='#'
+ HAVE_LD_OUTPUT_DEF_FALSE=
+fi
- if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
- gl_next_as_first_directive='<'string.h'>'
- else
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
- gl_next_as_first_directive=$gl_cv_next_string_h
- fi
- NEXT_AS_FIRST_DIRECTIVE_STRING_H=$gl_next_as_first_directive
+ # Check whether --enable-ld-version-script was given.
+if test "${enable_ld_version_script+set}" = set; then :
+ enableval=$enable_ld_version_script; have_ld_version_script=$enableval
+fi
+
+ if test -z "$have_ld_version_script"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if LD -Wl,--version-script works" >&5
+$as_echo_n "checking if LD -Wl,--version-script works... " >&6; }
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
+ cat > conftest.map <<EOF
+VERS_1 {
+ global: sym;
+};
+VERS_2 {
+ global: sym;
+} VERS_1;
+EOF
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int
+main ()
+{
- GNULIB_CHOWN=0;
- GNULIB_CLOSE=0;
- GNULIB_DUP2=0;
- GNULIB_ENVIRON=0;
- GNULIB_EUIDACCESS=0;
- GNULIB_FCHDIR=0;
- GNULIB_FSYNC=0;
- GNULIB_FTRUNCATE=0;
- GNULIB_GETCWD=0;
- GNULIB_GETDOMAINNAME=0;
- GNULIB_GETDTABLESIZE=0;
- GNULIB_GETHOSTNAME=0;
- GNULIB_GETLOGIN_R=0;
- GNULIB_GETPAGESIZE=0;
- GNULIB_GETUSERSHELL=0;
- GNULIB_LCHOWN=0;
- GNULIB_LINK=0;
- GNULIB_LSEEK=0;
- GNULIB_READLINK=0;
- GNULIB_SLEEP=0;
- GNULIB_UNISTD_H_SIGPIPE=0;
- GNULIB_WRITE=0;
- HAVE_DUP2=1;
- HAVE_EUIDACCESS=1;
- HAVE_FSYNC=1;
- HAVE_FTRUNCATE=1;
- HAVE_GETDOMAINNAME=1;
- HAVE_GETDTABLESIZE=1;
- HAVE_GETHOSTNAME=1;
- HAVE_GETPAGESIZE=1;
- HAVE_GETUSERSHELL=1;
- HAVE_LINK=1;
- HAVE_READLINK=1;
- HAVE_SLEEP=1;
- HAVE_DECL_ENVIRON=1;
- HAVE_DECL_GETLOGIN_R=1;
- HAVE_OS_H=0;
- HAVE_SYS_PARAM_H=0;
- REPLACE_CHOWN=0;
- REPLACE_CLOSE=0;
- REPLACE_FCHDIR=0;
- REPLACE_GETCWD=0;
- REPLACE_GETPAGESIZE=0;
- REPLACE_LCHOWN=0;
- REPLACE_LSEEK=0;
- REPLACE_WRITE=0;
- UNISTD_H_HAVE_WINSOCK2_H=0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ have_ld_version_script=yes
+else
+ have_ld_version_script=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ rm -f conftest.map
+ LDFLAGS="$save_LDFLAGS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_ld_version_script" >&5
+$as_echo "$have_ld_version_script" >&6; }
+ fi
+ if test "$have_ld_version_script" = "yes"; then
+ HAVE_LD_VERSION_SCRIPT_TRUE=
+ HAVE_LD_VERSION_SCRIPT_FALSE='#'
+else
+ HAVE_LD_VERSION_SCRIPT_TRUE='#'
+ HAVE_LD_VERSION_SCRIPT_FALSE=
+fi
- if true; then
- GL_COND_LIBTOOL_TRUE=
- GL_COND_LIBTOOL_FALSE='#'
+ CFLAG_VISIBILITY=
+ HAVE_VISIBILITY=0
+ if test -n "$GCC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the -Werror option is usable" >&5
+$as_echo_n "checking whether the -Werror option is usable... " >&6; }
+ if test "${gl_cv_cc_vis_werror+set}" = set; then :
+ $as_echo_n "(cached) " >&6
else
- GL_COND_LIBTOOL_TRUE='#'
- GL_COND_LIBTOOL_FALSE=
-fi
-
- gl_cond_libtool=true
+ gl_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_cc_vis_werror=yes
+else
+ gl_cv_cc_vis_werror=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$gl_save_CFLAGS"
+fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_vis_werror" >&5
+$as_echo "$gl_cv_cc_vis_werror" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for simple visibility declarations" >&5
+$as_echo_n "checking for simple visibility declarations... " >&6; }
+ if test "${gl_cv_cc_visibility+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ gl_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -fvisibility=hidden"
+ if test $gl_cv_cc_vis_werror = yes; then
+ CFLAGS="$CFLAGS -Werror"
+ fi
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+extern __attribute__((__visibility__("hidden"))) int hiddenvar;
+ extern __attribute__((__visibility__("default"))) int exportedvar;
+ extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
+ extern __attribute__((__visibility__("default"))) int exportedfunc (void);
+ void dummyfunc (void) {}
+int
+main ()
+{
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_cc_visibility=yes
+else
+ gl_cv_cc_visibility=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$gl_save_CFLAGS"
+fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5
+$as_echo "$gl_cv_cc_visibility" >&6; }
+ if test $gl_cv_cc_visibility = yes; then
+ CFLAG_VISIBILITY="-fvisibility=hidden"
+ HAVE_VISIBILITY=1
+ fi
+ fi
- gl_source_base='gl'
- ac_config_files="$ac_config_files csharpcomp.sh:build-aux/csharpcomp.sh.in"
+cat >>confdefs.h <<_ACEOF
+#define HAVE_VISIBILITY $HAVE_VISIBILITY
+_ACEOF
+ # Define two additional variables used in the Makefile substitution.
+ if test "$ac_cv_header_stdbool_h" = yes; then
+ STDBOOL_H=''
+ else
+ STDBOOL_H='stdbool.h'
+ fi
+ if test -n "$STDBOOL_H"; then
+ GL_GENERATE_STDBOOL_H_TRUE=
+ GL_GENERATE_STDBOOL_H_FALSE='#'
+else
+ GL_GENERATE_STDBOOL_H_TRUE='#'
+ GL_GENERATE_STDBOOL_H_FALSE=
+fi
+ if test "$ac_cv_type__Bool" = yes; then
+ HAVE__BOOL=1
+ else
+ HAVE__BOOL=0
+ fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
-$as_echo_n "checking for error_at_line... " >&6; }
-if test "${ac_cv_lib_error_at_line+set}" = set; then
+ STDDEF_H=
+ if test $gt_cv_c_wchar_t = no; then
+ HAVE_WCHAR_T=0
+ STDDEF_H=stddef.h
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5
+$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; }
+if test "${gl_cv_decl_null_works+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <error.h>
+#include <stddef.h>
+ int test[2 * (sizeof NULL == sizeof (void *)) -1];
+
int
main ()
{
-error_at_line (0, 0, "", 0, "an error occurred");
+
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- ac_cv_lib_error_at_line=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_decl_null_works=yes
else
- ac_cv_lib_error_at_line=no
+ gl_cv_decl_null_works=no
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
-$as_echo "$ac_cv_lib_error_at_line" >&6; }
-if test $ac_cv_lib_error_at_line = no; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5
+$as_echo "$gl_cv_decl_null_works" >&6; }
+ if test $gl_cv_decl_null_works = no; then
+ REPLACE_NULL=1
+ STDDEF_H=stddef.h
+ fi
+ if test -n "$STDDEF_H"; then
+ GL_GENERATE_STDDEF_H_TRUE=
+ GL_GENERATE_STDDEF_H_FALSE='#'
+else
+ GL_GENERATE_STDDEF_H_TRUE='#'
+ GL_GENERATE_STDDEF_H_FALSE=
+fi
+ if test -n "$STDDEF_H"; then
- gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext"
-fi
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_stddef_h='<'stddef.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stddef.h>" >&5
+$as_echo_n "checking absolute name of <stddef.h>... " >&6; }
+if test "${gl_cv_next_stddef_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stddef.h>
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'stddef.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5
+$as_echo "$gl_cv_next_stddef_h" >&6; }
+ fi
+ NEXT_STDDEF_H=$gl_cv_next_stddef_h
- :
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'stddef.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_stddef_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive
- XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error:3:c-format"
+ fi
+if test $gl_cond_libtool = false; then
+ gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
+ gl_libdeps="$gl_libdeps $LIBICONV"
+fi
- XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS --flag=error_at_line:5:c-format"
- if test -n "$GETOPT_H"; then
+ for ac_func in strverscmp
+do :
+ ac_fn_c_check_func "$LINENO" "strverscmp" "ac_cv_func_strverscmp"
+if test "x$ac_cv_func_strverscmp" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_STRVERSCMP 1
+_ACEOF
+fi
+done
+ if test $ac_cv_func_strverscmp = no; then
+ HAVE_STRVERSCMP=0
+ fi
+if test $HAVE_STRVERSCMP = 0; then
- gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext"
+ lgl_LIBOBJS="$lgl_LIBOBJS strverscmp.$ac_objext"
+ :
+fi
- gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext"
- GETOPT_H=getopt.h
-$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h
+ GNULIB_STRVERSCMP=1
+$as_echo "#define GNULIB_TEST_STRVERSCMP 1" >>confdefs.h
-fi
- # Autoconf 2.61a.99 and earlier don't support linking a file only
- # in VPATH builds. But since GNUmakefile is for maintainer use
- # only, it does not matter if we skip the link with older autoconf.
- # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
- # builds, so use a shell variable to bypass this.
- GNUmakefile=GNUmakefile
- ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile"
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
- # Extract the first word of "pmccabe", so it can be a program name with args.
-set dummy pmccabe; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PMCCABE+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case $PMCCABE in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PMCCABE="$PMCCABE" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_PMCCABE="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
- test -z "$ac_cv_path_PMCCABE" && ac_cv_path_PMCCABE="false"
- ;;
-esac
-fi
-PMCCABE=$ac_cv_path_PMCCABE
-if test -n "$PMCCABE"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PMCCABE" >&5
-$as_echo "$PMCCABE" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
+ test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 2
+ }
+ }
+ }
- STDARG_H='';
- NEXT_STDARG_H='<stdarg.h>';
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5
-$as_echo_n "checking for va_copy... " >&6; }
- if test "${gl_cv_func_va_copy+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
+ }
+ }; then
+ LIBUNISTRING_UNISTR_H='unistr.h'
+ else
+ LIBUNISTRING_UNISTR_H=
+ fi
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-int
-main ()
-{
-#ifndef va_copy
-void (*func) (va_list, va_list) = va_copy;
-#endif
- ;
- return 0;
-}
+
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_UNISTR_U8_MBTOUCR 1
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- gl_cv_func_va_copy=yes
-else
- gl_cv_func_va_copy=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5
-$as_echo "$gl_cv_func_va_copy" >&6; }
- if test $gl_cv_func_va_copy = no; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined _AIX && !defined __GNUC__
- AIX vaccine
- #endif
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "vaccine" >/dev/null 2>&1; then
- gl_aixcc=yes
-else
- gl_aixcc=no
-fi
-rm -f conftest*
- if test $gl_aixcc = yes; then
- STDARG_H=stdarg.h
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+ test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
- if test $gl_cv_have_include_next = yes; then
- gl_cv_next_stdarg_h='<'stdarg.h'>'
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdarg.h>" >&5
-$as_echo_n "checking absolute name of <stdarg.h>... " >&6; }
-if test "${gl_cv_next_stdarg_h+set}" = set; then
- $as_echo_n "(cached) " >&6
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE=
+ LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE='#'
else
+ LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE='#'
+ LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE=
+fi
- if test $ac_cv_header_stdarg_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
- gl_cv_next_stdarg_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n '\#/stdarg.h#{
- s#.*"\(.*/stdarg.h\)".*#\1#
- s#^/[^/]#//&#
- p
- q
- }'`'"'
- else
- gl_cv_next_stdarg_h='<'stdarg.h'>'
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdarg_h" >&5
-$as_echo "$gl_cv_next_stdarg_h" >&6; }
- fi
- NEXT_STDARG_H=$gl_cv_next_stdarg_h
- if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
- gl_next_as_first_directive='<'stdarg.h'>'
- else
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
- gl_next_as_first_directive=$gl_cv_next_stdarg_h
- fi
- NEXT_AS_FIRST_DIRECTIVE_STDARG_H=$gl_next_as_first_directive
+cat >>confdefs.h <<_ACEOF
+#define GNULIB_UNISTR_U8_UCTOMB 1
+_ACEOF
+
- if test "$gl_cv_next_stdarg_h" = '""'; then
- gl_cv_next_stdarg_h='"///usr/include/stdarg.h"'
- NEXT_STDARG_H="$gl_cv_next_stdarg_h"
- fi
- else
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
- saved_as_echo_n="$as_echo_n"
- as_echo_n=':'
- if test "${gl_cv_func___va_copy+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-int
-main ()
-{
-#ifndef __va_copy
-error, bail out
-#endif
+ test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- gl_cv_func___va_copy=yes
+
+
+
+ }
+ }; then
+ LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE=
+ LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE='#'
else
- gl_cv_func___va_copy=no
+ LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE='#'
+ LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE=
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
- as_echo_n="$saved_as_echo_n"
- if test $gl_cv_func___va_copy = yes; then
-$as_echo "#define va_copy __va_copy" >>confdefs.h
- else
+ if { test "$HAVE_LIBUNISTRING" != yes \
+ || {
-$as_echo "#define va_copy gl_va_copy" >>confdefs.h
- fi
- fi
- fi
+ test $LIBUNISTRING_VERSION_MAJOR -lt 0 \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0
+ }
+ }
+ }
- if test $REPLACE_STRERROR = 1; then
+ }
+ }; then
+ LIBUNISTRING_UNITYPES_H='unitypes.h'
+ else
+ LIBUNISTRING_UNITYPES_H=
+ fi
+ # End of code from modules
- gl_LIBOBJS="$gl_LIBOBJS strerror.$ac_objext"
-cat >>confdefs.h <<_ACEOF
-#define REPLACE_STRERROR $REPLACE_STRERROR
-_ACEOF
- fi
+ gltests_libdeps=
+ gltests_ltlibdeps=
- GNULIB_STRERROR=1
+ gl_source_base='lib/gltests'
+ lgltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS
+ gl_module_indicator_condition=$lgltests_WITNESS
+ if test $ac_cv_func_alloca_works = no; then
+ :
+ fi
- if test $gl_cv_have_include_next = yes; then
- gl_cv_next_unistd_h='<'unistd.h'>'
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <unistd.h>" >&5
-$as_echo_n "checking absolute name of <unistd.h>... " >&6; }
-if test "${gl_cv_next_unistd_h+set}" = set; then
+ # Define an additional variable used in the Makefile substitution.
+ if test $ac_cv_working_alloca_h = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5
+$as_echo_n "checking for alloca as a compiler built-in... " >&6; }
+if test "${gl_cv_rpl_alloca+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test $ac_cv_header_unistd_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <unistd.h>
+
+#if defined __GNUC__ || defined _AIX || defined _MSC_VER
+ Need own alloca
+#endif
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
- gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n '\#/unistd.h#{
- s#.*"\(.*/unistd.h\)".*#\1#
- s#^/[^/]#//&#
- p
- q
- }'`'"'
- else
- gl_cv_next_unistd_h='<'unistd.h'>'
- fi
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "Need own alloca" >/dev/null 2>&1; then :
+ gl_cv_rpl_alloca=yes
+else
+ gl_cv_rpl_alloca=no
+fi
+rm -f conftest*
+
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5
-$as_echo "$gl_cv_next_unistd_h" >&6; }
- fi
- NEXT_UNISTD_H=$gl_cv_next_unistd_h
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5
+$as_echo "$gl_cv_rpl_alloca" >&6; }
+ if test $gl_cv_rpl_alloca = yes; then
- if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
- gl_next_as_first_directive='<'unistd.h'>'
- else
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
- gl_next_as_first_directive=$gl_cv_next_unistd_h
- fi
- NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive
+$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
+ ALLOCA_H=alloca.h
+ else
+ ALLOCA_H=
+ fi
+ else
+ ALLOCA_H=alloca.h
+ fi
+ if test -n "$ALLOCA_H"; then
+ GL_GENERATE_ALLOCA_H_TRUE=
+ GL_GENERATE_ALLOCA_H_FALSE='#'
+else
+ GL_GENERATE_ALLOCA_H_TRUE='#'
+ GL_GENERATE_ALLOCA_H_FALSE=
+fi
- if test $ac_cv_header_unistd_h = yes; then
- HAVE_UNISTD_H=1
- else
- HAVE_UNISTD_H=0
- fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
+$as_echo_n "checking for a traditional french locale... " >&6; }
+if test "${gt_cv_locale_fr+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main () {
+ /* Check whether the given locale name is recognized by the system. */
+#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+ /* On native Win32, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+#else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+#endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
+#if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
+ return 1;
+ }
+#endif
+#ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+#endif
+ /* Check whether in the abbreviation of the second month, the second
+ character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
+ one byte long. This excludes the UTF-8 encoding. */
+ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+ if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+ /* Check whether the decimal separator is a comma.
+ On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
+ are nl_langinfo(RADIXCHAR) are both ".". */
+ if (localeconv () ->decimal_point[0] != ',') return 1;
+ return 0;
+}
-# Check whether --with-packager was given.
-if test "${with_packager+set}" = set; then
- withval=$with_packager; case $withval in
- yes|no) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_PACKAGER "$withval"
_ACEOF
- ;;
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw*)
+ # Test for the native Win32 locale name.
+ if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=French_France.1252
+ else
+ # None found.
+ gt_cv_locale_fr=none
+ fi
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the usual locale name.
+ if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.ISO-8859-1
+ else
+ # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
+ if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.ISO8859-1
+ else
+ # Test for the HP-UX locale name.
+ if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.iso88591
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr
+ else
+ # None found.
+ gt_cv_locale_fr=none
+ fi
+ fi
+ fi
+ fi
+ fi
+ ;;
esac
+ fi
+ rm -fr conftest*
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
+$as_echo "$gt_cv_locale_fr" >&6; }
+ LOCALE_FR=$gt_cv_locale_fr
-# Check whether --with-packager-version was given.
-if test "${with_packager_version+set}" = set; then
- withval=$with_packager_version; case $withval in
- yes|no) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_PACKAGER_VERSION "$withval"
-_ACEOF
- ;;
- esac
-fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a turkish Unicode locale" >&5
+$as_echo_n "checking for a turkish Unicode locale... " >&6; }
+if test "${gt_cv_locale_tr_utf8+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main () {
+ /* On BeOS, locales are not implemented in libc. Rather, libintl
+ imitates locale dependent behaviour by looking at the environment
+ variables, and all locales use the UTF-8 encoding. But BeOS does not
+ implement the Turkish upper-/lowercase mappings. Therefore, let this
+ program return 1 on BeOS. */
+ /* Check whether the given locale name is recognized by the system. */
+#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+ /* On native Win32, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+#else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+#endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On MacOS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail. */
+#if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+ return 1;
+ }
+#endif
+#ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+#endif
+ /* Check whether in the abbreviation of the eighth month, the second
+ character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is
+ two bytes long, with UTF-8 encoding. */
+ t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19;
+ if (strftime (buf, sizeof (buf), "%b", &t) < 4
+ || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f)
+ return 1;
+ /* Check whether the upper-/lowercase mappings are as expected for
+ Turkish. */
+ if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i'
+ || towupper(0x0131) != 'I' || towlower ('I') != 0x0131)
+ return 1;
+ return 0;
+}
-# Check whether --with-packager-bug-reports was given.
-if test "${with_packager_bug_reports+set}" = set; then
- withval=$with_packager_bug_reports; case $withval in
- yes|no) ;;
- *)
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_PACKAGER_BUG_REPORTS "$withval"
_ACEOF
- ;;
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw*)
+ # Test for the hypothetical native Win32 locale name.
+ if (LC_ALL=Turkish_Turkey.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_tr_utf8=Turkish_Turkey.65001
+ else
+ # None found.
+ gt_cv_locale_tr_utf8=none
+ fi
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the usual locale name.
+ if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_tr_utf8=tr_TR
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_tr_utf8=tr_TR.UTF-8
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_tr_utf8=tr.UTF-8
+ else
+ # None found.
+ gt_cv_locale_tr_utf8=none
+ fi
+ fi
+ fi
+ ;;
esac
+ else
+ gt_cv_locale_tr_utf8=none
+ fi
+ rm -fr conftest*
fi
-
-
- if test "X$with_packager" = "X" && \
- test "X$with_packager_version$with_packager_bug_reports" != "X"
- then
- as_fn_error "The --with-packager-{bug-reports,version} options require --with-packager" "$LINENO" 5
- fi
-
-
-
-
-
-
-
-
-
-
-
- gltests_libdeps=
- gltests_ltlibdeps=
-
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_tr_utf8" >&5
+$as_echo "$gt_cv_locale_tr_utf8" >&6; }
+ LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8
- gl_source_base='gltests'
- abs_aux_dir=`cd "$ac_aux_dir"; pwd`
+ if test "$GNULIB_ENVIRON" != 1; then
+ if test "$GNULIB_ENVIRON" = 0; then
+ GNULIB_ENVIRON=$gl_module_indicator_condition
+ else
+ GNULIB_ENVIRON="($GNULIB_ENVIRON || $gl_module_indicator_condition)"
+ fi
+ fi
+$as_echo "#define GNULIB_TEST_ENVIRON 1" >>confdefs.h
- REPLACE_ICONV=0;
- REPLACE_ICONV_OPEN=0;
- REPLACE_ICONV_UTF=0;
- ICONV_H='';
- gl_cv_c_multiarch=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ PRIPTR_PREFIX=
+ if test -n "$STDINT_H"; then
+ PRIPTR_PREFIX='"l"'
+ else
+ for glpfx in '' l ll I64; do
+ case $glpfx in
+ '') gltype1='int';;
+ l) gltype1='long int';;
+ ll) gltype1='long long int';;
+ I64) gltype1='__int64';;
+ esac
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
+#include <stdint.h>
+ extern intptr_t foo;
+ extern $gltype1 foo;
+int
+main ()
+{
+ ;
+ return 0;
+}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
-
- arch=
- prev=
- for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
- if test -n "$prev"; then
- case $word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$arch" || test "$arch" = "$word"; then
- arch="$word"
- else
- gl_cv_c_multiarch=yes
- fi
- ;;
- esac
- prev=
- else
- if test "x$word" = "x-arch"; then
- prev=arch
- fi
- fi
- done
-
+if ac_fn_c_try_compile "$LINENO"; then :
+ PRIPTR_PREFIX='"'$glpfx'"'
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $gl_cv_c_multiarch = yes; then
-
-$as_echo "#define AA_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- APPLE_UNIVERSAL_BUILD=1
- else
- APPLE_UNIVERSAL_BUILD=0
+ test -n "$PRIPTR_PREFIX" && break
+ done
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
-$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
-if test "${ac_cv_header_stdbool_h+set}" = set; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT32_MAX < INTMAX_MAX" >&5
+$as_echo_n "checking whether INT32_MAX < INTMAX_MAX... " >&6; }
+if test "${gl_cv_test_INT32_MAX_LT_INTMAX_MAX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
- #include <stdbool.h>
- #ifndef bool
- "error: bool is not defined"
- #endif
- #ifndef false
- "error: false is not defined"
- #endif
- #if false
- "error: false is not 0"
- #endif
- #ifndef true
- "error: true is not defined"
- #endif
- #if true != 1
- "error: true is not 1"
- #endif
- #ifndef __bool_true_false_are_defined
- "error: __bool_true_false_are_defined is not defined"
- #endif
-
- struct s { _Bool s: 1; _Bool t; } s;
-
- char a[true == 1 ? 1 : -1];
- char b[false == 0 ? 1 : -1];
- char c[__bool_true_false_are_defined == 1 ? 1 : -1];
- char d[(bool) 0.5 == true ? 1 : -1];
- bool e = &s;
- char f[(_Bool) 0.0 == false ? 1 : -1];
- char g[true];
- char h[sizeof (_Bool)];
- char i[sizeof s.t];
- enum { j = false, k = true, l = false * true, m = true * 256 };
- _Bool n[m];
- char o[sizeof n == m * sizeof n[0] ? 1 : -1];
- char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
- #if defined __xlc__ || defined __GNUC__
- /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
- reported by James Lemley on 2005-10-05; see
- http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
- This test is not quite right, since xlc is allowed to
- reject this program, as the initializer for xlcbug is
- not one of the forms that C requires support for.
- However, doing the test right would require a run-time
- test, and that would make cross-compilation harder.
- Let us hope that IBM fixes the xlc bug, and also adds
- support for this kind of constant expression. In the
- meantime, this test will reject xlc, which is OK, since
- our stdbool.h substitute should suffice. We also test
- this with GCC, where it should work, to detect more
- quickly whether someone messes up the test in the
- future. */
- char digs[] = "0123456789";
- int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1);
- #endif
- /* Catch a bug in an HP-UX C compiler. See
- http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
- http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
- */
- _Bool q = true;
- _Bool *pq = &q;
-
+/* Work also in C++ mode. */
+ #define __STDC_LIMIT_MACROS 1
+
+ /* Work if build is not clean. */
+ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+ #include <limits.h>
+ #if HAVE_STDINT_H
+ #include <stdint.h>
+ #endif
+
+ #if defined INT32_MAX && defined INTMAX_MAX
+ #define CONDITION (INT32_MAX < INTMAX_MAX)
+ #elif HAVE_LONG_LONG_INT
+ #define CONDITION (sizeof (int) < sizeof (long long int))
+ #else
+ #define CONDITION 0
+ #endif
+ int test[CONDITION ? 1 : -1];
int
main ()
{
- *pq |= q;
- *pq |= ! q;
- /* Refer to every declared value, to avoid compiler optimizations. */
- return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
- + !m + !n + !o + !p + !q + !pq);
-
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- ac_cv_header_stdbool_h=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_test_INT32_MAX_LT_INTMAX_MAX=yes
else
- ac_cv_header_stdbool_h=no
+ gl_cv_test_INT32_MAX_LT_INTMAX_MAX=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
-$as_echo "$ac_cv_header_stdbool_h" >&6; }
- ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
-if test "x$ac_cv_type__Bool" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE__BOOL 1
-_ACEOF
-
-
-fi
-
- if test $ac_cv_header_stdbool_h = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&5
+$as_echo "$gl_cv_test_INT32_MAX_LT_INTMAX_MAX" >&6; }
+ if test $gl_cv_test_INT32_MAX_LT_INTMAX_MAX = yes; then
+ INT32_MAX_LT_INTMAX_MAX=1;
+ else
+ INT32_MAX_LT_INTMAX_MAX=0;
+ fi
-$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h
- fi
+ if test $APPLE_UNIVERSAL_BUILD = 0; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5
-$as_echo_n "checking for long long int... " >&6; }
-if test "${ac_cv_type_long_long_int+set}" = set; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether INT64_MAX == LONG_MAX" >&5
+$as_echo_n "checking whether INT64_MAX == LONG_MAX... " >&6; }
+if test "${gl_cv_test_INT64_MAX_EQ_LONG_MAX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
- /* Test preprocessor. */
- #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
- error in preprocessor;
- #endif
- #if ! (18446744073709551615ULL <= -1ull)
- error in preprocessor;
- #endif
- /* Test literals. */
- long long int ll = 9223372036854775807ll;
- long long int nll = -9223372036854775807LL;
- unsigned long long int ull = 18446744073709551615ULL;
- /* Test constant expressions. */
- typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
- ? 1 : -1)];
- typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
- ? 1 : -1)];
- int i = 63;
+/* Work also in C++ mode. */
+ #define __STDC_LIMIT_MACROS 1
+
+ /* Work if build is not clean. */
+ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+ #include <limits.h>
+ #if HAVE_STDINT_H
+ #include <stdint.h>
+ #endif
+
+ #if defined INT64_MAX
+ #define CONDITION (INT64_MAX == LONG_MAX)
+ #elif HAVE_LONG_LONG_INT
+ #define CONDITION (sizeof (long long int) == sizeof (long int))
+ #else
+ #define CONDITION 0
+ #endif
+ int test[CONDITION ? 1 : -1];
int
main ()
{
-/* Test availability of runtime routines for shift and division. */
- long long int llmax = 9223372036854775807ll;
- unsigned long long int ullmax = 18446744073709551615ull;
- return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
- | (llmax / ll) | (llmax % ll)
- | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
- | (ullmax / ull) | (ullmax % ull));
+
;
return 0;
}
-
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- if test "$cross_compiling" = yes; then
- ac_cv_type_long_long_int=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_test_INT64_MAX_EQ_LONG_MAX=yes
+else
+ gl_cv_test_INT64_MAX_EQ_LONG_MAX=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&5
+$as_echo "$gl_cv_test_INT64_MAX_EQ_LONG_MAX" >&6; }
+ if test $gl_cv_test_INT64_MAX_EQ_LONG_MAX = yes; then
+ INT64_MAX_EQ_LONG_MAX=1;
+ else
+ INT64_MAX_EQ_LONG_MAX=0;
+ fi
+
+
+ else
+ INT64_MAX_EQ_LONG_MAX=-1
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT32_MAX < UINTMAX_MAX" >&5
+$as_echo_n "checking whether UINT32_MAX < UINTMAX_MAX... " >&6; }
+if test "${gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX+set}" = set; then :
+ $as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <limits.h>
- #ifndef LLONG_MAX
- # define HALF \
- (1LL << (sizeof (long long int) * CHAR_BIT - 2))
- # define LLONG_MAX (HALF - 1 + HALF)
- #endif
+/* Work also in C++ mode. */
+ #define __STDC_LIMIT_MACROS 1
+
+ /* Work if build is not clean. */
+ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+ #include <limits.h>
+ #if HAVE_STDINT_H
+ #include <stdint.h>
+ #endif
+
+ #if defined UINT32_MAX && defined UINTMAX_MAX
+ #define CONDITION (UINT32_MAX < UINTMAX_MAX)
+ #elif HAVE_LONG_LONG_INT
+ #define CONDITION (sizeof (unsigned int) < sizeof (unsigned long long int))
+ #else
+ #define CONDITION 0
+ #endif
+ int test[CONDITION ? 1 : -1];
int
main ()
{
-long long int n = 1;
- int i;
- for (i = 0; ; i++)
- {
- long long int m = n << i;
- if (m >> i != n)
- return 1;
- if (LLONG_MAX / 2 < m)
- break;
- }
- return 0;
+
;
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then
- ac_cv_type_long_long_int=yes
-else
- ac_cv_type_long_long_int=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-fi
-
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=yes
else
- ac_cv_type_long_long_int=no
+ gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX=no
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5
-$as_echo "$ac_cv_type_long_long_int" >&6; }
- if test $ac_cv_type_long_long_int = yes; then
-
-$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&5
+$as_echo "$gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX" >&6; }
+ if test $gl_cv_test_UINT32_MAX_LT_UINTMAX_MAX = yes; then
+ UINT32_MAX_LT_UINTMAX_MAX=1;
+ else
+ UINT32_MAX_LT_UINTMAX_MAX=0;
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5
-$as_echo_n "checking for unsigned long long int... " >&6; }
-if test "${ac_cv_type_unsigned_long_long_int+set}" = set; then
+ if test $APPLE_UNIVERSAL_BUILD = 0; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UINT64_MAX == ULONG_MAX" >&5
+$as_echo_n "checking whether UINT64_MAX == ULONG_MAX... " >&6; }
+if test "${gl_cv_test_UINT64_MAX_EQ_ULONG_MAX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
- /* Test preprocessor. */
- #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
- error in preprocessor;
- #endif
- #if ! (18446744073709551615ULL <= -1ull)
- error in preprocessor;
- #endif
- /* Test literals. */
- long long int ll = 9223372036854775807ll;
- long long int nll = -9223372036854775807LL;
- unsigned long long int ull = 18446744073709551615ULL;
- /* Test constant expressions. */
- typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
- ? 1 : -1)];
- typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
- ? 1 : -1)];
- int i = 63;
+/* Work also in C++ mode. */
+ #define __STDC_LIMIT_MACROS 1
+
+ /* Work if build is not clean. */
+ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+ #include <limits.h>
+ #if HAVE_STDINT_H
+ #include <stdint.h>
+ #endif
+
+ #if defined UINT64_MAX
+ #define CONDITION (UINT64_MAX == ULONG_MAX)
+ #elif HAVE_LONG_LONG_INT
+ #define CONDITION (sizeof (unsigned long long int) == sizeof (unsigned long int))
+ #else
+ #define CONDITION 0
+ #endif
+ int test[CONDITION ? 1 : -1];
int
main ()
{
-/* Test availability of runtime routines for shift and division. */
- long long int llmax = 9223372036854775807ll;
- unsigned long long int ullmax = 18446744073709551615ull;
- return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
- | (llmax / ll) | (llmax % ll)
- | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
- | (ullmax / ull) | (ullmax % ull));
+
;
return 0;
}
-
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- ac_cv_type_unsigned_long_long_int=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=yes
else
- ac_cv_type_unsigned_long_long_int=no
+ gl_cv_test_UINT64_MAX_EQ_ULONG_MAX=no
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5
-$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; }
- if test $ac_cv_type_unsigned_long_long_int = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&5
+$as_echo "$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
+ if test $gl_cv_test_UINT64_MAX_EQ_ULONG_MAX = yes; then
+ UINT64_MAX_EQ_ULONG_MAX=1;
+ else
+ UINT64_MAX_EQ_ULONG_MAX=0;
+ fi
-$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h
+ else
+ UINT64_MAX_EQ_ULONG_MAX=-1
fi
- GNULIB_BTOWC=0;
- GNULIB_WCTOB=0;
- GNULIB_MBSINIT=0;
- GNULIB_MBRTOWC=0;
- GNULIB_MBRLEN=0;
- GNULIB_MBSRTOWCS=0;
- GNULIB_MBSNRTOWCS=0;
- GNULIB_WCRTOMB=0;
- GNULIB_WCSRTOMBS=0;
- GNULIB_WCSNRTOMBS=0;
- GNULIB_WCWIDTH=0;
- HAVE_BTOWC=1;
- HAVE_MBSINIT=1;
- HAVE_MBRTOWC=1;
- HAVE_MBRLEN=1;
- HAVE_MBSRTOWCS=1;
- HAVE_MBSNRTOWCS=1;
- HAVE_WCRTOMB=1;
- HAVE_WCSRTOMBS=1;
- HAVE_WCSNRTOMBS=1;
- HAVE_DECL_WCTOB=1;
- HAVE_DECL_WCWIDTH=1;
- REPLACE_MBSTATE_T=0;
- REPLACE_BTOWC=0;
- REPLACE_WCTOB=0;
- REPLACE_MBSINIT=0;
- REPLACE_MBRTOWC=0;
- REPLACE_MBRLEN=0;
- REPLACE_MBSRTOWCS=0;
- REPLACE_MBSNRTOWCS=0;
- REPLACE_WCRTOMB=0;
- REPLACE_WCSRTOMBS=0;
- REPLACE_WCSNRTOMBS=0;
- REPLACE_WCWIDTH=0;
- WCHAR_H='';
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
-$as_echo_n "checking for wint_t... " >&6; }
-if test "${gt_cv_c_wint_t+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
- <wchar.h>.
- BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
- before <wchar.h>. */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-#include <wchar.h>
- wint_t foo = (wchar_t)'\0';
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h conforms to POSIX:2001" >&5
+$as_echo_n "checking whether locale.h conforms to POSIX:2001... " >&6; }
+if test "${gl_cv_header_locale_h_posix2001+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <locale.h>
+ int x = LC_MESSAGES;
int
main ()
{
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- gt_cv_c_wint_t=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_header_locale_h_posix2001=yes
else
- gt_cv_c_wint_t=no
+ gl_cv_header_locale_h_posix2001=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
-$as_echo "$gt_cv_c_wint_t" >&6; }
- if test $gt_cv_c_wint_t = yes; then
-
-$as_echo "#define HAVE_WINT_T 1" >>confdefs.h
-
- fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_h_posix2001" >&5
+$as_echo "$gl_cv_header_locale_h_posix2001" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
-$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
-if test "${am_cv_langinfo_codeset+set}" = set; then
+ if test $ac_cv_header_xlocale_h = yes; then
+ HAVE_XLOCALE_H=1
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether locale.h defines locale_t" >&5
+$as_echo_n "checking whether locale.h defines locale_t... " >&6; }
+if test "${gl_cv_header_locale_has_locale_t+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <langinfo.h>
+#include <locale.h>
+ locale_t x;
int
main ()
{
-char* cs = nl_langinfo(CODESET); return !cs;
+
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- am_cv_langinfo_codeset=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_header_locale_has_locale_t=yes
else
- am_cv_langinfo_codeset=no
+ gl_cv_header_locale_has_locale_t=no
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5
-$as_echo "$am_cv_langinfo_codeset" >&6; }
- if test $am_cv_langinfo_codeset = yes; then
-
-$as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_locale_has_locale_t" >&5
+$as_echo "$gl_cv_header_locale_has_locale_t" >&6; }
+ if test $gl_cv_header_locale_has_locale_t = yes; then
+ gl_cv_header_locale_h_needs_xlocale_h=no
+ else
+ gl_cv_header_locale_h_needs_xlocale_h=yes
+ fi
+ else
+ HAVE_XLOCALE_H=0
+ gl_cv_header_locale_h_needs_xlocale_h=no
fi
- if true; then
- GL_COND_LIBTOOL_TRUE=
- GL_COND_LIBTOOL_FALSE='#'
-else
- GL_COND_LIBTOOL_TRUE='#'
- GL_COND_LIBTOOL_FALSE=
-fi
-
- gl_cond_libtool=true
-
-
-
- gl_source_base='lib/gl'
-
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_locale_h='<'locale.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <locale.h>" >&5
+$as_echo_n "checking absolute name of <locale.h>... " >&6; }
+if test "${gl_cv_next_locale_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <locale.h>
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'locale.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_locale_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_locale_h" >&5
+$as_echo "$gl_cv_next_locale_h" >&6; }
+ fi
+ NEXT_LOCALE_H=$gl_cv_next_locale_h
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'locale.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_locale_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_LOCALE_H=$gl_next_as_first_directive
- am_save_CPPFLAGS="$CPPFLAGS"
- for element in $INCICONV; do
- haveit=
- for x in $CPPFLAGS; do
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
- fi
- done
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
-$as_echo_n "checking for iconv... " >&6; }
-if test "${am_cv_func_iconv+set}" = set; then
+ for gl_func in setlocale duplocale; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval "test \"\${$as_gl_Symbol+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
-
- am_cv_func_iconv="no, consider installing GNU libiconv"
- am_cv_lib_iconv=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
+#include <locale.h>
+/* Some systems provide declarations in a non-standard header. */
+#if HAVE_XLOCALE_H
+# include <xlocale.h>
+#endif
+
int
main ()
{
-iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+#undef $gl_func
+ (void) $gl_func;
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- am_cv_func_iconv=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
+else
+ eval "$as_gl_Symbol=no"
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+
+ eval ac_cv_have_decl_$gl_func=yes
+fi
+ done
+
+
+
+
+
+
+ for ac_func in setlocale uselocale
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+
+ if test "$gl_threads_api" = posix; then
+ # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the
+ # pthread_rwlock_* functions.
+ ac_fn_c_check_type "$LINENO" "pthread_rwlock_t" "ac_cv_type_pthread_rwlock_t" "#include <pthread.h>
+"
+if test "x$ac_cv_type_pthread_rwlock_t" = x""yes; then :
+
+$as_echo "#define HAVE_PTHREAD_RWLOCK 1" >>confdefs.h
+
+fi
+
+ # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
+#include <pthread.h>
int
main ()
{
-iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
+#if __FreeBSD__ == 4
+error "No, in FreeBSD 4.0 recursive mutexes actually don't work."
+#else
+int x = (int)PTHREAD_MUTEX_RECURSIVE;
+return !x;
+#endif
;
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- am_cv_lib_iconv=yes
- am_cv_func_iconv=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+
+$as_echo "#define HAVE_PTHREAD_MUTEX_RECURSIVE 1" >>confdefs.h
+
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$am_save_LIBS"
- fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+
+
+
+
+
+
+
+ if test $gl_cv_func_malloc_posix = yes; then
+
+$as_echo "#define HAVE_MALLOC_POSIX 1" >>confdefs.h
+
+ else
+ REPLACE_MALLOC=1
+ fi
+
+if test $REPLACE_MALLOC = 1; then
+
+
+
+
+
+
+
+
+ lgltests_LIBOBJS="$lgltests_LIBOBJS malloc.$ac_objext"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
-$as_echo "$am_cv_func_iconv" >&6; }
- if test "$am_cv_func_iconv" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
-$as_echo_n "checking for working iconv... " >&6; }
-if test "${am_cv_func_iconv_works+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- am_save_LIBS="$LIBS"
- if test $am_cv_lib_iconv = yes; then
- LIBS="$LIBS $LIBICONV"
- fi
- if test "$cross_compiling" = yes; then
- case "$host_os" in
- aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
- *) am_cv_func_iconv_works="guessing yes" ;;
- esac
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <iconv.h>
-#include <string.h>
-int main ()
-{
- /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
- returns. */
- {
- iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
- if (cd_utf8_to_88591 != (iconv_t)(-1))
- {
- static const char input[] = "\342\202\254"; /* EURO SIGN */
- char buf[10];
- const char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_utf8_to_88591,
- (char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if (res == 0)
- return 1;
- }
- }
-#if 0 /* This bug could be worked around by the caller. */
- /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
- {
- iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
- if (cd_88591_to_utf8 != (iconv_t)(-1))
- {
- static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
- char buf[50];
- const char *inptr = input;
- size_t inbytesleft = strlen (input);
- char *outptr = buf;
- size_t outbytesleft = sizeof (buf);
- size_t res = iconv (cd_88591_to_utf8,
- (char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- if ((int)res > 0)
- return 1;
- }
- }
-#endif
- /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
- provided. */
- if (/* Try standardized names. */
- iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
- /* Try IRIX, OSF/1 names. */
- && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
- /* Try AIX names. */
- && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
- /* Try HP-UX names. */
- && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
- return 1;
+
+
+
+ if test "$GNULIB_MALLOC_POSIX" != 1; then
+ if test "$GNULIB_MALLOC_POSIX" = 0; then
+ GNULIB_MALLOC_POSIX=$gl_module_indicator_condition
+ else
+ GNULIB_MALLOC_POSIX="($GNULIB_MALLOC_POSIX || $gl_module_indicator_condition)"
+ fi
+ fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_MALLOC_POSIX 1" >>confdefs.h
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for putenv compatible with GNU and SVID" >&5
+$as_echo_n "checking for putenv compatible with GNU and SVID... " >&6; }
+if test "${gl_cv_func_svid_putenv+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ gl_cv_func_svid_putenv=no
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* Put it in env. */
+ if (putenv ("CONFTEST_putenv=val"))
+ return 1;
+
+ /* Try to remove it. */
+ if (putenv ("CONFTEST_putenv"))
+ return 2;
+
+ /* Make sure it was deleted. */
+ if (getenv ("CONFTEST_putenv") != 0)
+ return 3;
+
+ return 0;
+
+ ;
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then
- am_cv_func_iconv_works=yes
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_svid_putenv=yes
else
- am_cv_func_iconv_works=no
+ gl_cv_func_svid_putenv=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
- LIBS="$am_save_LIBS"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
-$as_echo "$am_cv_func_iconv_works" >&6; }
- case "$am_cv_func_iconv_works" in
- *no) am_func_iconv=no am_cv_lib_iconv=no ;;
- *) am_func_iconv=yes ;;
- esac
- else
- am_func_iconv=no am_cv_lib_iconv=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_svid_putenv" >&5
+$as_echo "$gl_cv_func_svid_putenv" >&6; }
+ if test $gl_cv_func_svid_putenv = no; then
+ REPLACE_PUTENV=1
fi
- if test "$am_func_iconv" = yes; then
-$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+if test $REPLACE_PUTENV = 1; then
- fi
- if test "$am_cv_lib_iconv" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
-$as_echo_n "checking how to link with libiconv... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
-$as_echo "$LIBICONV" >&6; }
- else
- CPPFLAGS="$am_save_CPPFLAGS"
- LIBICONV=
- LTLIBICONV=
+
+
+
+
+
+
+
+ lgltests_LIBOBJS="$lgltests_LIBOBJS putenv.$ac_objext"
+
+fi
+
+
+
+
+
+ if test "$GNULIB_PUTENV" != 1; then
+ if test "$GNULIB_PUTENV" = 0; then
+ GNULIB_PUTENV=$gl_module_indicator_condition
+ else
+ GNULIB_PUTENV="($GNULIB_PUTENV || $gl_module_indicator_condition)"
+ fi
fi
- if test "$am_cv_func_iconv" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5
-$as_echo_n "checking for iconv declaration... " >&6; }
- if test "${am_cv_proto_iconv+set}" = set; then
+
+
+$as_echo "#define GNULIB_TEST_PUTENV 1" >>confdefs.h
+
+
+
+
+
+ if test $ac_cv_func_setenv = no; then
+ HAVE_SETENV=0
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setenv validates arguments" >&5
+$as_echo_n "checking whether setenv validates arguments... " >&6; }
+if test "${gl_cv_func_setenv_works+set}" = set; then :
$as_echo_n "(cached) " >&6
else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ if test "$cross_compiling" = yes; then :
+ gl_cv_func_setenv_works="guessing no"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
+ #include <stdlib.h>
+ #include <errno.h>
+ #include <string.h>
int
main ()
{
+ int result = 0;
+ {
+ if (setenv ("", "", 0) != -1)
+ result |= 1;
+ else if (errno != EINVAL)
+ result |= 2;
+ }
+ {
+ if (setenv ("a", "=", 1) != 0)
+ result |= 4;
+ else if (strcmp (getenv ("a"), "=") != 0)
+ result |= 8;
+ }
+ return result;
+
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- am_cv_proto_iconv_arg1=""
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_setenv_works=yes
else
- am_cv_proto_iconv_arg1="const"
+ gl_cv_func_setenv_works=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
- am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:-
- }$am_cv_proto_iconv" >&5
-$as_echo "${ac_t:-
- }$am_cv_proto_iconv" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setenv_works" >&5
+$as_echo "$gl_cv_func_setenv_works" >&6; }
+ if test "$gl_cv_func_setenv_works" != yes; then
+ REPLACE_SETENV=1
+ fi
+ fi
+
+if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
+
+
+
+
-cat >>confdefs.h <<_ACEOF
-#define ICONV_CONST $am_cv_proto_iconv_arg1
-_ACEOF
+
+
+ lgltests_LIBOBJS="$lgltests_LIBOBJS setenv.$ac_objext"
+
+fi
+
+
+
+
+
+ if test "$GNULIB_SETENV" != 1; then
+ if test "$GNULIB_SETENV" = 0; then
+ GNULIB_SETENV=$gl_module_indicator_condition
+ else
+ GNULIB_SETENV="($GNULIB_SETENV || $gl_module_indicator_condition)"
+ fi
fi
+$as_echo "#define GNULIB_TEST_SETENV 1" >>confdefs.h
- if test $gl_cv_have_include_next = yes; then
- gl_cv_next_iconv_h='<'iconv.h'>'
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <iconv.h>" >&5
-$as_echo_n "checking absolute name of <iconv.h>... " >&6; }
-if test "${gl_cv_next_iconv_h+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test $ac_cv_header_iconv_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <iconv.h>
-_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
- gl_cv_next_iconv_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n '\#/iconv.h#{
- s#.*"\(.*/iconv.h\)".*#\1#
- s#^/[^/]#//&#
- p
- q
- }'`'"'
- else
- gl_cv_next_iconv_h='<'iconv.h'>'
- fi
+ case "$host_os" in
+ mingw*) REPLACE_SETLOCALE=1 ;;
+ cygwin*)
+ case `uname -r` in
+ 1.5.*) REPLACE_SETLOCALE=1 ;;
+ esac
+ ;;
+ esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_iconv_h" >&5
-$as_echo "$gl_cv_next_iconv_h" >&6; }
- fi
- NEXT_ICONV_H=$gl_cv_next_iconv_h
+if test $REPLACE_SETLOCALE = 1; then
- if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
- gl_next_as_first_directive='<'iconv.h'>'
- else
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
- gl_next_as_first_directive=$gl_cv_next_iconv_h
- fi
- NEXT_AS_FIRST_DIRECTIVE_ICONV_H=$gl_next_as_first_directive
+ lgltests_LIBOBJS="$lgltests_LIBOBJS setlocale.$ac_objext"
- if test "$am_cv_func_iconv" = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
- #include <iconv.h>
- #if defined _LIBICONV_VERSION || defined __GLIBC__
- gnu_iconv
- #endif
+ :
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "gnu_iconv" >/dev/null 2>&1; then
- gl_func_iconv_gnu=yes
-else
- gl_func_iconv_gnu=no
fi
-rm -f conftest*
- if test $gl_func_iconv_gnu = no; then
- iconv_flavor=
- case "$host_os" in
- aix*) iconv_flavor=ICONV_FLAVOR_AIX ;;
- irix*) iconv_flavor=ICONV_FLAVOR_IRIX ;;
- hpux*) iconv_flavor=ICONV_FLAVOR_HPUX ;;
- osf*) iconv_flavor=ICONV_FLAVOR_OSF ;;
- esac
- if test -n "$iconv_flavor"; then
-cat >>confdefs.h <<_ACEOF
-#define ICONV_FLAVOR $iconv_flavor
-_ACEOF
+ if test "$GNULIB_SETLOCALE" != 1; then
+ if test "$GNULIB_SETLOCALE" = 0; then
+ GNULIB_SETLOCALE=$gl_module_indicator_condition
+ else
+ GNULIB_SETLOCALE="($GNULIB_SETLOCALE || $gl_module_indicator_condition)"
+ fi
+ fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_SETLOCALE 1" >>confdefs.h
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
+$as_echo_n "checking for a traditional french locale... " >&6; }
+if test "${gt_cv_locale_fr+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main () {
+ /* Check whether the given locale name is recognized by the system. */
+#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+ /* On native Win32, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+#else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+#endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
+#if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
+ return 1;
+ }
+#endif
+#ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+#endif
+ /* Check whether in the abbreviation of the second month, the second
+ character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
+ one byte long. This excludes the UTF-8 encoding. */
+ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+ if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
+ /* Check whether the decimal separator is a comma.
+ On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
+ are nl_langinfo(RADIXCHAR) are both ".". */
+ if (localeconv () ->decimal_point[0] != ',') return 1;
+ return 0;
+}
+
+_ACEOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw*)
+ # Test for the native Win32 locale name.
+ if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=French_France.1252
+ else
+ # None found.
+ gt_cv_locale_fr=none
+ fi
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the usual locale name.
+ if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.ISO-8859-1
+ else
+ # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
+ if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.ISO8859-1
+ else
+ # Test for the HP-UX locale name.
+ if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.iso88591
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr
+ else
+ # None found.
+ gt_cv_locale_fr=none
+ fi
+ fi
+ fi
+ fi
+ fi
+ ;;
+ esac
+ fi
+ rm -fr conftest*
- ICONV_H='iconv.h'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
+$as_echo "$gt_cv_locale_fr" >&6; }
+ LOCALE_FR=$gt_cv_locale_fr
- REPLACE_ICONV_OPEN=1
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a french Unicode locale" >&5
+$as_echo_n "checking for a french Unicode locale... " >&6; }
+if test "${gt_cv_locale_fr_utf8+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main () {
+ /* On BeOS and Haiku, locales are not implemented in libc. Rather, libintl
+ imitates locale dependent behaviour by looking at the environment
+ variables, and all locales use the UTF-8 encoding. */
+#if !(defined __BEOS__ || defined __HAIKU__)
+ /* Check whether the given locale name is recognized by the system. */
+# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+ /* On native Win32, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+# else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail. */
+# if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+ return 1;
+ }
+# endif
+# ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+# endif
+ /* Check whether in the abbreviation of the second month, the second
+ character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is
+ two bytes long, with UTF-8 encoding. */
+ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+ if (strftime (buf, sizeof (buf), "%b", &t) < 4
+ || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
+ return 1;
+#endif
+ /* Check whether the decimal separator is a comma.
+ On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
+ are nl_langinfo(RADIXCHAR) are both ".". */
+ if (localeconv () ->decimal_point[0] != ',') return 1;
+ return 0;
+}
+_ACEOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw*)
+ # Test for the hypothetical native Win32 locale name.
+ if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=French_France.65001
+ else
+ # None found.
+ gt_cv_locale_fr_utf8=none
+ fi
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the usual locale name.
+ if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr_FR
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr_FR.UTF-8
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr.UTF-8
+ else
+ # None found.
+ gt_cv_locale_fr_utf8=none
+ fi
+ fi
+ fi
+ ;;
+ esac
+ fi
+ rm -fr conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5
+$as_echo "$gt_cv_locale_fr_utf8" >&6; }
+ LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8
- lgl_LIBOBJS="$lgl_LIBOBJS iconv_open.$ac_objext"
- fi
- fi
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc/ld supports -Wl,--output-def" >&5
-$as_echo_n "checking if gcc/ld supports -Wl,--output-def... " >&6; }
-if test "${gl_cv_ld_output_def+set}" = set; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5
+$as_echo_n "checking for a traditional japanese locale... " >&6; }
+if test "${gt_cv_locale_ja+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test "$enable_shared" = no; then
- gl_cv_ld_output_def="not needed, shared libraries are disabled"
- else
- gl_ldflags_save=$LDFLAGS
- LDFLAGS="-Wl,--output-def,conftest.def"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-int
-main ()
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main ()
{
-
- ;
+ const char *p;
+ /* Check whether the given locale name is recognized by the system. */
+#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+ /* On native Win32, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+#else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+#endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
+#if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
+ return 1;
+ }
+#endif
+#ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+#endif
+ /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales
+ on Cygwin 1.5.x. */
+ if (MB_CUR_MAX == 1)
+ return 1;
+ /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
+ This excludes the UTF-8 encoding (except on MirBSD). */
+ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+ if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+ for (p = buf; *p != '\0'; p++)
+ if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+ return 1;
return 0;
}
+
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- gl_cv_ld_output_def=yes
-else
- gl_cv_ld_output_def=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- rm -f conftest.def
- LDFLAGS="$gl_ldflags_save"
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_ld_output_def" >&5
-$as_echo "$gl_cv_ld_output_def" >&6; }
- if test "x$gl_cv_ld_output_def" = "xyes"; then
- HAVE_LD_OUTPUT_DEF_TRUE=
- HAVE_LD_OUTPUT_DEF_FALSE='#'
-else
- HAVE_LD_OUTPUT_DEF_TRUE='#'
- HAVE_LD_OUTPUT_DEF_FALSE=
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw*)
+ # Note that on native Win32, the Japanese locale is Japanese_Japan.932,
+ # and CP932 is very different from EUC-JP, so we cannot use it here.
+ gt_cv_locale_ja=none
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the AIX locale name.
+ if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja_JP
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja_JP.EUC-JP
+ else
+ # Test for the HP-UX, OSF/1, NetBSD locale name.
+ if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja_JP.eucJP
+ else
+ # Test for the IRIX, FreeBSD locale name.
+ if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja_JP.EUC
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja
+ else
+ # Special test for NetBSD 1.6.
+ if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
+ gt_cv_locale_ja=ja_JP.eucJP
+ else
+ # None found.
+ gt_cv_locale_ja=none
+ fi
+ fi
+ fi
+ fi
+ fi
+ fi
+ ;;
+ esac
+ fi
+ rm -fr conftest*
+
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5
+$as_echo "$gt_cv_locale_ja" >&6; }
+ LOCALE_JA=$gt_cv_locale_ja
- # Check whether --enable-ld-version-script was given.
-if test "${enable_ld_version_script+set}" = set; then
- enableval=$enable_ld_version_script; have_ld_version_script=$enableval
-fi
- if test -z "$have_ld_version_script"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if LD -Wl,--version-script works" >&5
-$as_echo_n "checking if LD -Wl,--version-script works... " >&6; }
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
- cat > conftest.map <<EOF
-VERS_1 {
- global: sym;
-};
-VERS_2 {
- global: sym;
-} VERS_1;
-EOF
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a transitional chinese locale" >&5
+$as_echo_n "checking for a transitional chinese locale... " >&6; }
+if test "${gt_cv_locale_zh_CN+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-int
-main ()
+#include <locale.h>
+#include <stdlib.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main ()
{
-
- ;
+ const char *p;
+ /* Check whether the given locale name is recognized by the system. */
+#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+ /* On native Win32, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+#else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+#endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
+#if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
+ return 1;
+ }
+#endif
+#ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+#endif
+ /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
+ This excludes the UTF-8 encoding (except on MirBSD). */
+ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+ if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+ for (p = buf; *p != '\0'; p++)
+ if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+ return 1;
+ /* Check whether a typical GB18030 multibyte sequence is recognized as a
+ single wide character. This excludes the GB2312 and GBK encodings. */
+ if (mblen ("\203\062\332\066", 5) != 4)
+ return 1;
return 0;
}
+
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- have_ld_version_script=yes
-else
- have_ld_version_script=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- rm -f conftest.map
- LDFLAGS="$save_LDFLAGS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_ld_version_script" >&5
-$as_echo "$have_ld_version_script" >&6; }
- fi
- if test "$have_ld_version_script" = "yes"; then
- HAVE_LD_VERSION_SCRIPT_TRUE=
- HAVE_LD_VERSION_SCRIPT_FALSE='#'
-else
- HAVE_LD_VERSION_SCRIPT_TRUE='#'
- HAVE_LD_VERSION_SCRIPT_FALSE=
-fi
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw*)
+ # Test for the hypothetical native Win32 locale name.
+ if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_zh_CN=Chinese_China.54936
+ else
+ # None found.
+ gt_cv_locale_zh_CN=none
+ fi
+ ;;
+ solaris2.8)
+ # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
+ # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
+ # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
+ gt_cv_locale_zh_CN=none
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the locale name without encoding suffix.
+ if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_zh_CN=zh_CN
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_zh_CN=zh_CN.GB18030
+ else
+ # None found.
+ gt_cv_locale_zh_CN=none
+ fi
+ fi
+ ;;
+ esac
+ else
+ # If there was a link error, due to mblen(), the system is so old that
+ # it certainly doesn't have a chinese locale.
+ gt_cv_locale_zh_CN=none
+ fi
+ rm -fr conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5
+$as_echo "$gt_cv_locale_zh_CN" >&6; }
+ LOCALE_ZH_CN=$gt_cv_locale_zh_CN
- CFLAG_VISIBILITY=
- HAVE_VISIBILITY=0
- if test -n "$GCC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for simple visibility declarations" >&5
-$as_echo_n "checking for simple visibility declarations... " >&6; }
- if test "${gl_cv_cc_visibility+set}" = set; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
+$as_echo_n "checking for ssize_t... " >&6; }
+if test "${gt_cv_ssize_t+set}" = set; then :
$as_echo_n "(cached) " >&6
else
-
- gl_save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -fvisibility=hidden"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-extern __attribute__((__visibility__("hidden"))) int hiddenvar;
- extern __attribute__((__visibility__("default"))) int exportedvar;
- extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
- extern __attribute__((__visibility__("default"))) int exportedfunc (void);
+#include <sys/types.h>
int
main ()
{
-
+int x = sizeof (ssize_t *) + sizeof (ssize_t);
+ return !x;
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- gl_cv_cc_visibility=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ gt_cv_ssize_t=yes
else
- gl_cv_cc_visibility=no
+ gt_cv_ssize_t=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$gl_save_CFLAGS"
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5
+$as_echo "$gt_cv_ssize_t" >&6; }
+ if test $gt_cv_ssize_t = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5
-$as_echo "$gl_cv_cc_visibility" >&6; }
- if test $gl_cv_cc_visibility = yes; then
- CFLAG_VISIBILITY="-fvisibility=hidden"
- HAVE_VISIBILITY=1
- fi
- fi
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_VISIBILITY $HAVE_VISIBILITY
-_ACEOF
-
-
-
-
-
-
- # Define two additional variables used in the Makefile substitution.
-
- if test "$ac_cv_header_stdbool_h" = yes; then
- STDBOOL_H=''
- else
- STDBOOL_H='stdbool.h'
- fi
-
-
- if test "$ac_cv_type__Bool" = yes; then
- HAVE__BOOL=1
- else
- HAVE__BOOL=0
- fi
-
-
-
-
-
- if test $ac_cv_type_long_long_int = yes; then
- HAVE_LONG_LONG_INT=1
- else
- HAVE_LONG_LONG_INT=0
- fi
-
-
- if test $ac_cv_type_unsigned_long_long_int = yes; then
- HAVE_UNSIGNED_LONG_LONG_INT=1
- else
- HAVE_UNSIGNED_LONG_LONG_INT=0
- fi
-
-
- if test $ac_cv_header_inttypes_h = yes; then
- HAVE_INTTYPES_H=1
- else
- HAVE_INTTYPES_H=0
- fi
-
+$as_echo "#define ssize_t int" >>confdefs.h
- if test $ac_cv_header_sys_types_h = yes; then
- HAVE_SYS_TYPES_H=1
- else
- HAVE_SYS_TYPES_H=0
fi
-
-
-
-
-
-
- if test $gl_cv_have_include_next = yes; then
- gl_cv_next_stdint_h='<'stdint.h'>'
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdint.h>" >&5
-$as_echo_n "checking absolute name of <stdint.h>... " >&6; }
-if test "${gl_cv_next_stdint_h+set}" = set; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5
+$as_echo_n "checking for wchar_t... " >&6; }
+if test "${gt_cv_c_wchar_t+set}" = set; then :
$as_echo_n "(cached) " >&6
else
-
- if test $ac_cv_header_stdint_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <stdint.h>
+#include <stddef.h>
+ wchar_t foo = (wchar_t)'\0';
+int
+main ()
+{
+ ;
+ return 0;
+}
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
- gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n '\#/stdint.h#{
- s#.*"\(.*/stdint.h\)".*#\1#
- s#^/[^/]#//&#
- p
- q
- }'`'"'
- else
- gl_cv_next_stdint_h='<'stdint.h'>'
- fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5
-$as_echo "$gl_cv_next_stdint_h" >&6; }
- fi
- NEXT_STDINT_H=$gl_cv_next_stdint_h
-
- if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
- gl_next_as_first_directive='<'stdint.h'>'
- else
- # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
- gl_next_as_first_directive=$gl_cv_next_stdint_h
- fi
- NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive
-
-
-
- if test $ac_cv_header_stdint_h = yes; then
- HAVE_STDINT_H=1
- else
- HAVE_STDINT_H=0
- fi
-
-
- if test $ac_cv_header_stdint_h = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5
-$as_echo_n "checking whether stdint.h conforms to C99... " >&6; }
-if test "${gl_cv_header_working_stdint_h+set}" = set; then
- $as_echo_n "(cached) " >&6
+if ac_fn_c_try_compile "$LINENO"; then :
+ gt_cv_c_wchar_t=yes
else
- gl_cv_header_working_stdint_h=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
-#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
-#include <stdint.h>
-/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */
-#if !(defined WCHAR_MIN && defined WCHAR_MAX)
-#error "WCHAR_MIN, WCHAR_MAX not defined in <stdint.h>"
-#endif
-
-
- /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
- included before <wchar.h>. */
- #include <stddef.h>
- #include <signal.h>
- #if HAVE_WCHAR_H
- # include <stdio.h>
- # include <time.h>
- # include <wchar.h>
- #endif
-
-
-#ifdef INT8_MAX
-int8_t a1 = INT8_MAX;
-int8_t a1min = INT8_MIN;
-#endif
-#ifdef INT16_MAX
-int16_t a2 = INT16_MAX;
-int16_t a2min = INT16_MIN;
-#endif
-#ifdef INT32_MAX
-int32_t a3 = INT32_MAX;
-int32_t a3min = INT32_MIN;
-#endif
-#ifdef INT64_MAX
-int64_t a4 = INT64_MAX;
-int64_t a4min = INT64_MIN;
-#endif
-#ifdef UINT8_MAX
-uint8_t b1 = UINT8_MAX;
-#else
-typedef int b1[(unsigned char) -1 != 255 ? 1 : -1];
-#endif
-#ifdef UINT16_MAX
-uint16_t b2 = UINT16_MAX;
-#endif
-#ifdef UINT32_MAX
-uint32_t b3 = UINT32_MAX;
-#endif
-#ifdef UINT64_MAX
-uint64_t b4 = UINT64_MAX;
-#endif
-int_least8_t c1 = INT8_C (0x7f);
-int_least8_t c1max = INT_LEAST8_MAX;
-int_least8_t c1min = INT_LEAST8_MIN;
-int_least16_t c2 = INT16_C (0x7fff);
-int_least16_t c2max = INT_LEAST16_MAX;
-int_least16_t c2min = INT_LEAST16_MIN;
-int_least32_t c3 = INT32_C (0x7fffffff);
-int_least32_t c3max = INT_LEAST32_MAX;
-int_least32_t c3min = INT_LEAST32_MIN;
-int_least64_t c4 = INT64_C (0x7fffffffffffffff);
-int_least64_t c4max = INT_LEAST64_MAX;
-int_least64_t c4min = INT_LEAST64_MIN;
-uint_least8_t d1 = UINT8_C (0xff);
-uint_least8_t d1max = UINT_LEAST8_MAX;
-uint_least16_t d2 = UINT16_C (0xffff);
-uint_least16_t d2max = UINT_LEAST16_MAX;
-uint_least32_t d3 = UINT32_C (0xffffffff);
-uint_least32_t d3max = UINT_LEAST32_MAX;
-uint_least64_t d4 = UINT64_C (0xffffffffffffffff);
-uint_least64_t d4max = UINT_LEAST64_MAX;
-int_fast8_t e1 = INT_FAST8_MAX;
-int_fast8_t e1min = INT_FAST8_MIN;
-int_fast16_t e2 = INT_FAST16_MAX;
-int_fast16_t e2min = INT_FAST16_MIN;
-int_fast32_t e3 = INT_FAST32_MAX;
-int_fast32_t e3min = INT_FAST32_MIN;
-int_fast64_t e4 = INT_FAST64_MAX;
-int_fast64_t e4min = INT_FAST64_MIN;
-uint_fast8_t f1 = UINT_FAST8_MAX;
-uint_fast16_t f2 = UINT_FAST16_MAX;
-uint_fast32_t f3 = UINT_FAST32_MAX;
-uint_fast64_t f4 = UINT_FAST64_MAX;
-#ifdef INTPTR_MAX
-intptr_t g = INTPTR_MAX;
-intptr_t gmin = INTPTR_MIN;
-#endif
-#ifdef UINTPTR_MAX
-uintptr_t h = UINTPTR_MAX;
-#endif
-intmax_t i = INTMAX_MAX;
-uintmax_t j = UINTMAX_MAX;
+ gt_cv_c_wchar_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5
+$as_echo "$gt_cv_c_wchar_t" >&6; }
+ if test $gt_cv_c_wchar_t = yes; then
-#include <limits.h> /* for CHAR_BIT */
-#define TYPE_MINIMUM(t) \
- ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))
-#define TYPE_MAXIMUM(t) \
- ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
-struct s {
- int check_PTRDIFF:
- PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t)
- && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t)
- ? 1 : -1;
- /* Detect bug in FreeBSD 6.0 / ia64. */
- int check_SIG_ATOMIC:
- SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t)
- && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t)
- ? 1 : -1;
- int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1;
- int check_WCHAR:
- WCHAR_MIN == TYPE_MINIMUM (wchar_t)
- && WCHAR_MAX == TYPE_MAXIMUM (wchar_t)
- ? 1 : -1;
- /* Detect bug in mingw. */
- int check_WINT:
- WINT_MIN == TYPE_MINIMUM (wint_t)
- && WINT_MAX == TYPE_MAXIMUM (wint_t)
- ? 1 : -1;
+$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h
- /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */
- int check_UINT8_C:
- (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1;
- int check_UINT16_C:
- (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1;
+ fi
- /* Detect bugs in OpenBSD 3.9 stdint.h. */
-#ifdef UINT8_MAX
- int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1;
-#endif
-#ifdef UINT16_MAX
- int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1;
-#endif
-#ifdef UINT32_MAX
- int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1;
-#endif
-#ifdef UINT64_MAX
- int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1;
-#endif
- int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1;
- int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1;
- int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1;
- int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1;
- int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1;
- int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1;
- int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1;
- int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1;
- int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1;
- int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1;
- int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1;
-};
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
+$as_echo_n "checking for wint_t... " >&6; }
+if test "${gt_cv_c_wint_t+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+ <wchar.h>.
+ BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
+ before <wchar.h>. */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
+ wint_t foo = (wchar_t)'\0';
int
main ()
{
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- if test "$cross_compiling" = yes; then
- gl_cv_header_working_stdint_h=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ gt_cv_c_wint_t=yes
+else
+ gt_cv_c_wint_t=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
+$as_echo "$gt_cv_c_wint_t" >&6; }
+ if test $gt_cv_c_wint_t = yes; then
+
+$as_echo "#define HAVE_WINT_T 1" >>confdefs.h
+
+ fi
+
+
+
+
+
+
+
+
+
+
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_stdlib_h='<'stdlib.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <stdlib.h>" >&5
+$as_echo_n "checking absolute name of <stdlib.h>... " >&6; }
+if test "${gl_cv_next_stdlib_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include <stdlib.h>
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'stdlib.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5
+$as_echo "$gl_cv_next_stdlib_h" >&6; }
+ fi
+ NEXT_STDLIB_H=$gl_cv_next_stdlib_h
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
-#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
-#include <stdint.h>
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'stdlib.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_stdlib_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive
- /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
- included before <wchar.h>. */
- #include <stddef.h>
- #include <signal.h>
- #if HAVE_WCHAR_H
- # include <stdio.h>
- # include <time.h>
- # include <wchar.h>
- #endif
-#include <stdio.h>
-#include <string.h>
-#define MVAL(macro) MVAL1(macro)
-#define MVAL1(expression) #expression
-static const char *macro_values[] =
- {
-#ifdef INT8_MAX
- MVAL (INT8_MAX),
-#endif
-#ifdef INT16_MAX
- MVAL (INT16_MAX),
-#endif
-#ifdef INT32_MAX
- MVAL (INT32_MAX),
-#endif
-#ifdef INT64_MAX
- MVAL (INT64_MAX),
-#endif
-#ifdef UINT8_MAX
- MVAL (UINT8_MAX),
-#endif
-#ifdef UINT16_MAX
- MVAL (UINT16_MAX),
-#endif
-#ifdef UINT32_MAX
- MVAL (UINT32_MAX),
+
+
+ for gl_func in _Exit atoll canonicalize_file_name getloadavg getsubopt grantpt initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt ptsname ptsname_r random_r realpath rpmatch setenv setstate_r srandom_r strtod strtoll strtoull unlockpt unsetenv; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval "test \"\${$as_gl_Symbol+set}\"" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#if HAVE_SYS_LOADAVG_H
+# include <sys/loadavg.h>
#endif
-#ifdef UINT64_MAX
- MVAL (UINT64_MAX),
+#if HAVE_RANDOM_H
+# include <random.h>
#endif
- NULL
- };
int
main ()
{
-
- const char **mv;
- for (mv = macro_values; *mv != NULL; mv++)
- {
- const char *value = *mv;
- /* Test whether it looks like a cast expression. */
- if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0
- || strncmp (value, "((unsigned short)"/*)*/, 17) == 0
- || strncmp (value, "((unsigned char)"/*)*/, 16) == 0
- || strncmp (value, "((int)"/*)*/, 6) == 0
- || strncmp (value, "((signed short)"/*)*/, 15) == 0
- || strncmp (value, "((signed char)"/*)*/, 14) == 0)
- return 1;
- }
- return 0;
-
+#undef $gl_func
+ (void) $gl_func;
;
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then
- gl_cv_header_working_stdint_h=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
+else
+ eval "$as_gl_Symbol=no"
fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
+eval ac_res=\$$as_gl_Symbol
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
-
+ eval ac_cv_have_decl_$gl_func=yes
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5
-$as_echo "$gl_cv_header_working_stdint_h" >&6; }
- fi
- if test "$gl_cv_header_working_stdint_h" = yes; then
- STDINT_H=
- else
- for ac_header in sys/inttypes.h sys/bitypes.h
-do
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
- if test "x$as_val" = x""yes; then
+
+
+
+
+
+ if test $gl_threads_api = posix; then
+ gl_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBMULTITHREAD"
+ for ac_func in pthread_atfork
+do :
+ ac_fn_c_check_func "$LINENO" "pthread_atfork" "ac_cv_func_pthread_atfork"
+if test "x$ac_cv_func_pthread_atfork" = x""yes; then :
cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define HAVE_PTHREAD_ATFORK 1
_ACEOF
fi
-
done
- if test $ac_cv_header_sys_inttypes_h = yes; then
- HAVE_SYS_INTTYPES_H=1
- else
- HAVE_SYS_INTTYPES_H=0
- fi
+ LIBS="$gl_save_LIBS"
+ fi
- if test $ac_cv_header_sys_bitypes_h = yes; then
- HAVE_SYS_BITYPES_H=1
- else
- HAVE_SYS_BITYPES_H=0
- fi
- if test $APPLE_UNIVERSAL_BUILD = 0; then
- for gltype in ptrdiff_t size_t ; do
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
-$as_echo_n "checking for bit size of $gltype... " >&6; }
-if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" "
- /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
- included before <wchar.h>. */
- #include <stddef.h>
- #include <signal.h>
- #if HAVE_WCHAR_H
- # include <stdio.h>
- # include <time.h>
- # include <wchar.h>
- #endif
-#include <limits.h>"; then
- :
-else
- result=unknown
-fi
- eval gl_cv_bitsizeof_${gltype}=\$result
-fi
-eval ac_res=\$gl_cv_bitsizeof_${gltype}
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval result=\$gl_cv_bitsizeof_${gltype}
- if test $result = unknown; then
- result=0
- fi
- GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
- cat >>confdefs.h <<_ACEOF
-#define BITSIZEOF_${GLTYPE} $result
-_ACEOF
- eval BITSIZEOF_${GLTYPE}=\$result
- done
- fi
- for gltype in sig_atomic_t wchar_t wint_t ; do
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5
-$as_echo_n "checking for bit size of $gltype... " >&6; }
-if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" "
- /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
- included before <wchar.h>. */
- #include <stddef.h>
- #include <signal.h>
- #if HAVE_WCHAR_H
- # include <stdio.h>
- # include <time.h>
- # include <wchar.h>
- #endif
-#include <limits.h>"; then
- :
-else
- result=unknown
+ if test $gl_cv_have_include_next = yes; then
+ gl_cv_next_unistd_h='<'unistd.h'>'
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <unistd.h>" >&5
+$as_echo_n "checking absolute name of <unistd.h>... " >&6; }
+if test "${gl_cv_next_unistd_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test $ac_cv_header_unistd_h = yes; then
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <unistd.h>
+
+_ACEOF
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'unistd.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+ else
+ gl_cv_next_unistd_h='<'unistd.h'>'
+ fi
+
+
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5
+$as_echo "$gl_cv_next_unistd_h" >&6; }
+ fi
+ NEXT_UNISTD_H=$gl_cv_next_unistd_h
- eval gl_cv_bitsizeof_${gltype}=\$result
+ if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
+ gl_next_as_first_directive='<'unistd.h'>'
+ else
+ # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
+ gl_next_as_first_directive=$gl_cv_next_unistd_h
+ fi
+ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive
-fi
-eval ac_res=\$gl_cv_bitsizeof_${gltype}
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval result=\$gl_cv_bitsizeof_${gltype}
- if test $result = unknown; then
- result=0
- fi
- GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
- cat >>confdefs.h <<_ACEOF
-#define BITSIZEOF_${GLTYPE} $result
-_ACEOF
- eval BITSIZEOF_${GLTYPE}=\$result
- done
+ if test $ac_cv_header_unistd_h = yes; then
+ HAVE_UNISTD_H=1
+ else
+ HAVE_UNISTD_H=0
+ fi
- for gltype in sig_atomic_t wchar_t wint_t ; do
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5
-$as_echo_n "checking whether $gltype is signed... " >&6; }
-if { as_var=gl_cv_type_${gltype}_signed; eval "test \"\${$as_var+set}\" = set"; }; then
+
+
+
+ for gl_func in chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups gethostname getlogin getlogin_r getpagesize getusershell setusershell endusershell group_member lchown link linkat lseek pipe pipe2 pread pwrite readlink readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat usleep; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval "test \"\${$as_gl_Symbol+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
- included before <wchar.h>. */
- #include <stddef.h>
- #include <signal.h>
- #if HAVE_WCHAR_H
- # include <stdio.h>
- # include <time.h>
- # include <wchar.h>
- #endif
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+/* Some systems declare various items in the wrong headers. */
+#if !(defined __GLIBC__ && !defined __UCLIBC__)
+# include <fcntl.h>
+# include <stdio.h>
+# include <stdlib.h>
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# include <io.h>
+# endif
+#endif
- int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];
int
main ()
{
-
+#undef $gl_func
+ (void) $gl_func;
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- result=yes
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
else
- result=no
+ eval "$as_gl_Symbol=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- eval gl_cv_type_${gltype}_signed=\$result
-
fi
-eval ac_res=\$gl_cv_type_${gltype}_signed
+eval ac_res=\$$as_gl_Symbol
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
- eval result=\$gl_cv_type_${gltype}_signed
- GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
- if test "$result" = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_SIGNED_${GLTYPE} 1
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
_ACEOF
- eval HAVE_SIGNED_${GLTYPE}=1
- else
- eval HAVE_SIGNED_${GLTYPE}=0
- fi
- done
+ eval ac_cv_have_decl_$gl_func=yes
+fi
+ done
- gl_cv_type_ptrdiff_t_signed=yes
- gl_cv_type_size_t_signed=no
- if test $APPLE_UNIVERSAL_BUILD = 0; then
- for gltype in ptrdiff_t size_t ; do
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
-$as_echo_n "checking for $gltype integer literal suffix... " >&6; }
-if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then
+
+ if test $ac_cv_have_decl_unsetenv = no; then
+ HAVE_DECL_UNSETENV=0
+ fi
+ for ac_func in unsetenv
+do :
+ ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv"
+if test "x$ac_cv_func_unsetenv" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_UNSETENV 1
+_ACEOF
+
+fi
+done
+
+ if test $ac_cv_func_unsetenv = no; then
+ HAVE_UNSETENV=0
+ else
+ HAVE_UNSETENV=1
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5
+$as_echo_n "checking for unsetenv() return type... " >&6; }
+if test "${gt_cv_func_unsetenv_ret+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- eval gl_cv_type_${gltype}_suffix=no
- eval result=\$gl_cv_type_${gltype}_signed
- if test "$result" = yes; then
- glsufu=
- else
- glsufu=u
- fi
- for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
- case $glsuf in
- '') gltype1='int';;
- l) gltype1='long int';;
- ll) gltype1='long long int';;
- i64) gltype1='__int64';;
- u) gltype1='unsigned int';;
- ul) gltype1='unsigned long int';;
- ull) gltype1='unsigned long long int';;
- ui64)gltype1='unsigned __int64';;
- esac
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
- included before <wchar.h>. */
- #include <stddef.h>
- #include <signal.h>
- #if HAVE_WCHAR_H
- # include <stdio.h>
- # include <time.h>
- # include <wchar.h>
- #endif
+#undef _BSD
+#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 <stdlib.h> */
+#include <stdlib.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+int unsetenv (const char *name);
- extern $gltype foo;
- extern $gltype1 foo;
int
main ()
{
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- eval gl_cv_type_${gltype}_suffix=\$glsuf
+if ac_fn_c_try_compile "$LINENO"; then :
+ gt_cv_func_unsetenv_ret='int'
+else
+ gt_cv_func_unsetenv_ret='void'
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- eval result=\$gl_cv_type_${gltype}_suffix
- test "$result" != no && break
- done
fi
-eval ac_res=\$gl_cv_type_${gltype}_suffix
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
- eval result=\$gl_cv_type_${gltype}_suffix
- test "$result" = no && result=
- eval ${GLTYPE}_SUFFIX=\$result
- cat >>confdefs.h <<_ACEOF
-#define ${GLTYPE}_SUFFIX $result
-_ACEOF
-
- done
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5
+$as_echo "$gt_cv_func_unsetenv_ret" >&6; }
+ if test $gt_cv_func_unsetenv_ret = 'void'; then
+$as_echo "#define VOID_UNSETENV 1" >>confdefs.h
- fi
-
+ REPLACE_UNSETENV=1
+ fi
- for gltype in sig_atomic_t wchar_t wint_t ; do
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5
-$as_echo_n "checking for $gltype integer literal suffix... " >&6; }
-if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unsetenv obeys POSIX" >&5
+$as_echo_n "checking whether unsetenv obeys POSIX... " >&6; }
+if test "${gl_cv_func_unsetenv_works+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- eval gl_cv_type_${gltype}_suffix=no
- eval result=\$gl_cv_type_${gltype}_signed
- if test "$result" = yes; then
- glsufu=
- else
- glsufu=u
- fi
- for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
- case $glsuf in
- '') gltype1='int';;
- l) gltype1='long int';;
- ll) gltype1='long long int';;
- i64) gltype1='__int64';;
- u) gltype1='unsigned int';;
- ul) gltype1='unsigned long int';;
- ull) gltype1='unsigned long long int';;
- ui64)gltype1='unsigned __int64';;
- esac
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ if test "$cross_compiling" = yes; then :
+ gl_cv_func_unsetenv_works="guessing no"
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
- included before <wchar.h>. */
- #include <stddef.h>
- #include <signal.h>
- #if HAVE_WCHAR_H
- # include <stdio.h>
- # include <time.h>
- # include <wchar.h>
- #endif
+ #include <stdlib.h>
+ #include <errno.h>
+ extern char **environ;
- extern $gltype foo;
- extern $gltype1 foo;
int
main ()
{
+ char entry1[] = "a=1";
+ char entry2[] = "b=2";
+ char *env[] = { entry1, entry2, NULL };
+ if (putenv ((char *) "a=1")) return 1;
+ if (putenv (entry2)) return 2;
+ entry2[0] = 'a';
+ unsetenv ("a");
+ if (getenv ("a")) return 3;
+ if (!unsetenv ("") || errno != EINVAL) return 4;
+ entry2[0] = 'b';
+ environ = env;
+ if (!getenv ("a")) return 5;
+ entry2[0] = 'a';
+ unsetenv ("a");
+ if (getenv ("a")) return 6;
+
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- eval gl_cv_type_${gltype}_suffix=\$glsuf
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_unsetenv_works=yes
+else
+ gl_cv_func_unsetenv_works=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- eval result=\$gl_cv_type_${gltype}_suffix
- test "$result" != no && break
- done
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-eval ac_res=\$gl_cv_type_${gltype}_suffix
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
- eval result=\$gl_cv_type_${gltype}_suffix
- test "$result" = no && result=
- eval ${GLTYPE}_SUFFIX=\$result
- cat >>confdefs.h <<_ACEOF
-#define ${GLTYPE}_SUFFIX $result
-_ACEOF
-
- done
-
-
- STDINT_H=stdint.h
- fi
-
-
- if test $gl_cond_libtool = false; then
- gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
- gl_libdeps="$gl_libdeps $LIBICONV"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5
+$as_echo "$gl_cv_func_unsetenv_works" >&6; }
+ if test "$gl_cv_func_unsetenv_works" != yes; then
+ REPLACE_UNSETENV=1
+ fi
fi
+if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
+ lgltests_LIBOBJS="$lgltests_LIBOBJS unsetenv.$ac_objext"
-
- for ac_func in strverscmp
-do
- ac_fn_c_check_func "$LINENO" "strverscmp" "ac_cv_func_strverscmp"
-if test "x$ac_cv_func_strverscmp" = x""yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_STRVERSCMP 1
-_ACEOF
-
-else
-
- lgl_LIBOBJS="$lgl_LIBOBJS $ac_func.$ac_objext"
-
fi
-done
-
-
- if test $ac_cv_func_strverscmp = no; then
-
- :
-
- HAVE_STRVERSCMP=0
- fi
- GNULIB_STRVERSCMP=1
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <wchar.h> is standalone" >&5
-$as_echo_n "checking whether <wchar.h> is standalone... " >&6; }
-if test "${gl_cv_header_wchar_h_standalone+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <wchar.h>
-wchar_t w;
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- gl_cv_header_wchar_h_standalone=yes
-else
- gl_cv_header_wchar_h_standalone=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_wchar_h_standalone" >&5
-$as_echo "$gl_cv_header_wchar_h_standalone" >&6; }
+ if test "$GNULIB_UNSETENV" != 1; then
+ if test "$GNULIB_UNSETENV" = 0; then
+ GNULIB_UNSETENV=$gl_module_indicator_condition
+ else
+ GNULIB_UNSETENV="($GNULIB_UNSETENV || $gl_module_indicator_condition)"
+ fi
+ fi
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_UNSETENV 1" >>confdefs.h
+
+
- if test $gt_cv_c_wint_t = yes; then
- HAVE_WINT_T=1
- else
- HAVE_WINT_T=0
- fi
- if test $gl_cv_header_wchar_h_standalone != yes || test $gt_cv_c_wint_t != yes; then
- WCHAR_H=wchar.h
- fi
- if test $ac_cv_header_wchar_h = yes; then
- HAVE_WCHAR_H=1
- else
- HAVE_WCHAR_H=0
- fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of <wchar.h>" >&5
$as_echo_n "checking absolute name of <wchar.h>... " >&6; }
-if test "${gl_cv_next_wchar_h+set}" = set; then
+if test "${gl_cv_next_wchar_h+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test $ac_cv_header_wchar_h = yes; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ if test $ac_cv_header_wchar_h = yes; then
+
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <wchar.h>
_ACEOF
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
- gl_cv_next_wchar_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
- sed -n '\#/wchar.h#{
- s#.*"\(.*/wchar.h\)".*#\1#
- s#^/[^/]#//&#
- p
- q
- }'`'"'
- else
- gl_cv_next_wchar_h='<'wchar.h'>'
- fi
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+
+ case "$host_os" in
+ mingw*)
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+
+ gl_header_literal_regex=`echo 'wchar.h' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+ s|^/[^/]|//&|
+ p
+ q
+ }'
+ gl_cv_next_wchar_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 |
+ sed -n "$gl_absolute_header_sed"`'"'
+ else
+ gl_cv_next_wchar_h='<'wchar.h'>'
+ fi
+
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_wchar_h" >&5
+ if test $ac_cv_header_wchar_h = yes; then
+ HAVE_WCHAR_H=1
+ else
+ HAVE_WCHAR_H=0
+ fi
+ if test $gt_cv_c_wint_t = yes; then
+ HAVE_WINT_T=1
+ else
+ HAVE_WINT_T=0
+ fi
-
- gltests_libdeps=
- gltests_ltlibdeps=
-
-
-
-
-
-
-
-
-
- gl_source_base='lib/gltests'
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a traditional french locale" >&5
-$as_echo_n "checking for a traditional french locale... " >&6; }
-if test "${gt_cv_locale_fr+set}" = set; then
+ for gl_func in btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth ; do
+ as_gl_Symbol=`$as_echo "gl_cv_have_raw_decl_$gl_func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gl_func is declared without a macro" >&5
+$as_echo_n "checking whether $gl_func is declared without a macro... " >&6; }
+if eval "test \"\${$as_gl_Symbol+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* Check whether the given locale name is recognized by the system. */
- if (setlocale (LC_ALL, "") == NULL) return 1;
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-#if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-#endif
-#ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+ <wchar.h>.
+ BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+#if !(defined __GLIBC__ && !defined __UCLIBC__)
+# include <stddef.h>
+# include <stdio.h>
+# include <time.h>
#endif
- /* Check whether in the abbreviation of the second month, the second
- character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
- one byte long. This excludes the UTF-8 encoding. */
- t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
- if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
- /* Check whether the decimal separator is a comma.
- On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
- are nl_langinfo(RADIXCHAR) are both ".". */
- if (localeconv () ->decimal_point[0] != ',') return 1;
+#include <wchar.h>
+
+int
+main ()
+{
+#undef $gl_func
+ (void) $gl_func;
+ ;
return 0;
}
-
_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
- else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
- else
- # None found.
- gt_cv_locale_fr=none
- fi
- fi
- fi
- fi
- fi
- fi
- rm -fr conftest*
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$as_gl_Symbol=yes"
+else
+ eval "$as_gl_Symbol=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$as_gl_Symbol
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ if eval test \"x\$"$as_gl_Symbol"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_RAW_DECL_$gl_func" | $as_tr_cpp` 1
+_ACEOF
+ eval ac_cv_have_decl_$gl_func=yes
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5
-$as_echo "$gt_cv_locale_fr" >&6; }
- LOCALE_FR=$gt_cv_locale_fr
+ done
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a turkish Unicode locale" >&5
-$as_echo_n "checking for a turkish Unicode locale... " >&6; }
-if test "${gt_cv_locale_tr_utf8+set}" = set; then
+ YIELD_LIB=
+ if test $gl_threads_api = posix; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5
+$as_echo_n "checking for sched_yield in -lrt... " >&6; }
+if test "${ac_cv_lib_rt_sched_yield+set}" = set; then :
$as_echo_n "(cached) " >&6
else
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lrt $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <locale.h>
-#include <time.h>
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-struct tm t;
-char buf[16];
-int main () {
- /* On BeOS, locales are not implemented in libc. Rather, libintl
- imitates locale dependent behaviour by looking at the environment
- variables, and all locales use the UTF-8 encoding. But BeOS does not
- implement the Turkish upper-/lowercase mappings. Therefore, let this
- program return 1 on BeOS. */
- /* Check whether the given locale name is recognized by the system. */
- if (setlocale (LC_ALL, "") == NULL) return 1;
- /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
- On MacOS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
- is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
- On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
- succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
-#if HAVE_LANGINFO_CODESET
- {
- const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
- return 1;
- }
-#endif
-#ifdef __CYGWIN__
- /* On Cygwin, avoid locale names without encoding suffix, because the
- locale_charset() function relies on the encoding suffix. Note that
- LC_ALL is set on the command line. */
- if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
#endif
- /* Check whether in the abbreviation of the eighth month, the second
- character (should be U+011F: LATIN SMALL LETTER G WITH BREVE) is
- two bytes long, with UTF-8 encoding. */
- t.tm_year = 1992 - 1900; t.tm_mon = 8 - 1; t.tm_mday = 19;
- if (strftime (buf, sizeof (buf), "%b", &t) < 4
- || buf[1] != (char) 0xc4 || buf[2] != (char) 0x9f)
- return 1;
- /* Check whether the upper-/lowercase mappings are as expected for
- Turkish. */
- if (towupper ('i') != 0x0130 || towlower (0x0130) != 'i'
- || towupper(0x0131) != 'I' || towlower ('I') != 0x0131)
- return 1;
- return 0;
-}
-
-_ACEOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest$ac_exeext; then
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_tr_utf8=tr_TR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_tr_utf8=tr_TR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_tr_utf8=tr.UTF-8
- else
- # None found.
- gt_cv_locale_tr_utf8=none
- fi
- fi
- fi
- else
- gt_cv_locale_tr_utf8=none
- fi
- rm -fr conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_tr_utf8" >&5
-$as_echo "$gt_cv_locale_tr_utf8" >&6; }
- LOCALE_TR_UTF8=$gt_cv_locale_tr_utf8
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5
-$as_echo_n "checking for wchar_t... " >&6; }
-if test "${gt_cv_c_wchar_t+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stddef.h>
- wchar_t foo = (wchar_t)'\0';
+char sched_yield ();
int
main ()
{
-
+return sched_yield ();
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- gt_cv_c_wchar_t=yes
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_rt_sched_yield=yes
else
- gt_cv_c_wchar_t=no
+ ac_cv_lib_rt_sched_yield=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5
-$as_echo "$gt_cv_c_wchar_t" >&6; }
- if test $gt_cv_c_wchar_t = yes; then
-
-$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h
-
- fi
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5
-$as_echo_n "checking for wint_t... " >&6; }
-if test "${gt_cv_c_wint_t+set}" = set; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_sched_yield" >&5
+$as_echo "$ac_cv_lib_rt_sched_yield" >&6; }
+if test "x$ac_cv_lib_rt_sched_yield" = x""yes; then :
+ YIELD_LIB=-lrt
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5
+$as_echo_n "checking for sched_yield in -lposix4... " >&6; }
+if test "${ac_cv_lib_posix4_sched_yield+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lposix4 $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
- <wchar.h>.
- BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
- before <wchar.h>. */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-#include <wchar.h>
- wint_t foo = (wchar_t)'\0';
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sched_yield ();
int
main ()
{
-
+return sched_yield ();
;
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then
- gt_cv_c_wint_t=yes
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_posix4_sched_yield=yes
else
- gt_cv_c_wint_t=no
+ ac_cv_lib_posix4_sched_yield=no
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix4_sched_yield" >&5
+$as_echo "$ac_cv_lib_posix4_sched_yield" >&6; }
+if test "x$ac_cv_lib_posix4_sched_yield" = x""yes; then :
+ YIELD_LIB=-lposix4
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5
-$as_echo "$gt_cv_c_wint_t" >&6; }
- if test $gt_cv_c_wint_t = yes; then
-$as_echo "#define HAVE_WINT_T 1" >>confdefs.h
+fi
fi
+
+
+
+
LIBTESTS_LIBDEPS="$gltests_libdeps"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5
$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
-if test "${am_cv_langinfo_codeset+set}" = set; then
+if test "${am_cv_langinfo_codeset+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
+if ac_fn_c_try_link "$LINENO"; then :
am_cv_langinfo_codeset=yes
else
am_cv_langinfo_codeset=no
# Make it possible to disable TLD code.
# Check whether --enable-tld was given.
-if test "${enable_tld+set}" = set; then
+if test "${enable_tld+set}" = set; then :
enableval=$enable_tld; enable_tld=$enableval
else
enable_tld=yes
set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $PKG_CONFIG in
set dummy pkg-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $ac_pt_PKG_CONFIG in
fi
+
# Extract the first word of "gtkdoc-check", so it can be a program name with args.
set dummy gtkdoc-check; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GTKDOC_CHECK+set}" = set; then
+if test "${ac_cv_path_GTKDOC_CHECK+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $GTKDOC_CHECK in
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GTKDOC_REBASE+set}" = set; then
+if test "${ac_cv_path_GTKDOC_REBASE+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $GTKDOC_REBASE in
set dummy gtkdoc-mkpdf; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_GTKDOC_MKPDF+set}" = set; then
+if test "${ac_cv_path_GTKDOC_MKPDF+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $GTKDOC_MKPDF in
# Check whether --with-html-dir was given.
-if test "${with_html_dir+set}" = set; then
+if test "${with_html_dir+set}" = set; then :
withval=$with_html_dir;
else
with_html_dir='${datadir}/gtk-doc/html'
# Check whether --enable-gtk-doc was given.
-if test "${enable_gtk_doc+set}" = set; then
+if test "${enable_gtk_doc+set}" = set; then :
enableval=$enable_gtk_doc;
else
enable_gtk_doc=no
test $ac_status = 0; }; then
:
else
- as_fn_error "You need to have gtk-doc >= 1.1 installed to build $PACKAGE_NAME" "$LINENO" 5
+ as_fn_error $? "You need to have gtk-doc >= 1.1 installed to build $PACKAGE_NAME" "$LINENO" 5
fi
fi
$as_echo "$enable_gtk_doc" >&6; }
# Check whether --enable-gtk-doc-html was given.
-if test "${enable_gtk_doc_html+set}" = set; then
+if test "${enable_gtk_doc_html+set}" = set; then :
enableval=$enable_gtk_doc_html;
else
enable_gtk_doc_html=yes
fi
# Check whether --enable-gtk-doc-pdf was given.
-if test "${enable_gtk_doc_pdf+set}" = set; then
+if test "${enable_gtk_doc_pdf+set}" = set; then :
enableval=$enable_gtk_doc_pdf;
else
enable_gtk_doc_pdf=no
fi
- if test -n "$GTKDOC_MKPDF"; then
+ if test -z "$GTKDOC_MKPDF"; then
enable_gtk_doc_pdf=no
fi
# Check for java
# Check whether --enable-java was given.
-if test "${enable_java+set}" = set; then
+if test "${enable_java+set}" = set; then :
enableval=$enable_java;
else
enable_java=no
fi
-for ac_prog in gcj
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
+if test -n "$ac_tool_prefix"; then
+ for ac_prog in gcj
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GCJ+set}" = set; then
+if test "${ac_cv_prog_GCJ+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$GCJ"; then
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_GCJ="$ac_prog"
+ ac_cv_prog_GCJ="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
fi
- test -n "$GCJ" && break
+ test -n "$GCJ" && break
+ done
+fi
+if test -z "$GCJ"; then
+ ac_ct_GCJ=$GCJ
+ for ac_prog in gcj
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_GCJ+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_GCJ"; then
+ ac_cv_prog_ac_ct_GCJ="$ac_ct_GCJ" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_GCJ="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_GCJ=$ac_cv_prog_ac_ct_GCJ
+if test -n "$ac_ct_GCJ"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCJ" >&5
+$as_echo "$ac_ct_GCJ" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_GCJ" && break
done
-test -n "$GCJ" || GCJ="gcj"
-test -z "$GCJ" && as_fn_error "no acceptable gcj found in \$PATH" "$LINENO" 5
+ if test "x$ac_ct_GCJ" = x; then
+ GCJ="gcj"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ GCJ=$ac_ct_GCJ
+ fi
+fi
+
+test -z "$GCJ" && as_fn_error $? "no acceptable gcj found in \$PATH" "$LINENO" 5
if test "x${GCJFLAGS-unset}" = xunset; then
GCJFLAGS="-g -O2"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_GCJ_dependencies_compiler_type+set}" = set; then
+if test "${am_cv_GCJ_dependencies_compiler_type+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-for ac_prog in gcj
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
+if test -n "$ac_tool_prefix"; then
+ for ac_prog in gcj
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GCJ+set}" = set; then
+if test "${ac_cv_prog_GCJ+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$GCJ"; then
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_GCJ="$ac_prog"
+ ac_cv_prog_GCJ="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
fi
- test -n "$GCJ" && break
+ test -n "$GCJ" && break
+ done
+fi
+if test -z "$GCJ"; then
+ ac_ct_GCJ=$GCJ
+ for ac_prog in gcj
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_GCJ+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_GCJ"; then
+ ac_cv_prog_ac_ct_GCJ="$ac_ct_GCJ" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_GCJ="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_GCJ=$ac_cv_prog_ac_ct_GCJ
+if test -n "$ac_ct_GCJ"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCJ" >&5
+$as_echo "$ac_ct_GCJ" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_GCJ" && break
done
-test -n "$GCJ" || GCJ="gcj"
-test -z "$GCJ" && as_fn_error "no acceptable gcj found in \$PATH" "$LINENO" 5
+ if test "x$ac_ct_GCJ" = x; then
+ GCJ="gcj"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ GCJ=$ac_ct_GCJ
+ fi
+fi
+
+test -z "$GCJ" && as_fn_error $? "no acceptable gcj found in \$PATH" "$LINENO" 5
if test "x${GCJFLAGS-unset}" = xunset; then
GCJFLAGS="-g -O2"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_GCJ_dependencies_compiler_type+set}" = set; then
+if test "${am_cv_GCJ_dependencies_compiler_type+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
*) break;;
esac
done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
# GCJ did not exist at the time GCC didn't implicitly link libc in.
archive_cmds_need_lc_GCJ=no
old_archive_cmds_GCJ=$old_archive_cmds
+reload_flag_GCJ=$reload_flag
+reload_cmds_GCJ=$reload_cmds
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
lt_prog_compiler_no_builtin_flag_GCJ=
if test "$GCC" = yes; then
- lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
+ case $cc_basename in
+ nvcc*)
+ lt_prog_compiler_no_builtin_flag_GCJ=' -Xcompiler -fno-builtin' ;;
+ *)
+ lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' ;;
+ esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_rtti_exceptions=no
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:18831: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:18835: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_rtti_exceptions=yes
lt_prog_compiler_pic_GCJ='-fno-common'
;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ lt_prog_compiler_static_GCJ=
+ ;;
+
hpux*)
# PIC is the default for 64-bit PA HP-UX, but not for 32-bit
# PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
lt_prog_compiler_pic_GCJ='-fPIC'
;;
esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ lt_prog_compiler_wl_GCJ='-Xlinker '
+ lt_prog_compiler_pic_GCJ='-Xcompiler -fPIC'
+ ;;
+ esac
else
# PORTME Check for flag to pass linker flags through the system compiler.
case $host_os in
lt_prog_compiler_static_GCJ='-non_shared'
;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
case $cc_basename in
# old Intel for x86_64 which still supported -KPIC.
ecc*)
lt_prog_compiler_pic_GCJ='--shared'
lt_prog_compiler_static_GCJ='--static'
;;
- pgcc* | pgf77* | pgf90* | pgf95*)
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
lt_prog_compiler_wl_GCJ='-Wl,'
# All Alpha code is PIC.
lt_prog_compiler_static_GCJ='-non_shared'
;;
- xl*)
- # IBM XL C 8.0/Fortran 10.1 on PPC
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
lt_prog_compiler_wl_GCJ='-Wl,'
lt_prog_compiler_pic_GCJ='-qpic'
lt_prog_compiler_static_GCJ='-qstaticlink'
;;
*)
case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
+ *Sun\ F* | *Sun*Fortran*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
lt_prog_compiler_pic_GCJ='-KPIC'
lt_prog_compiler_static_GCJ='-Bstatic'
- lt_prog_compiler_wl_GCJ='-Wl,'
+ lt_prog_compiler_wl_GCJ=''
;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ *Sun\ C*)
+ # Sun C 5.9
lt_prog_compiler_pic_GCJ='-KPIC'
lt_prog_compiler_static_GCJ='-Bstatic'
- lt_prog_compiler_wl_GCJ=''
+ lt_prog_compiler_wl_GCJ='-Wl,'
;;
esac
;;
lt_prog_compiler_pic_GCJ='-KPIC'
lt_prog_compiler_static_GCJ='-Bstatic'
case $cc_basename in
- f77* | f90* | f95*)
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
lt_prog_compiler_wl_GCJ='-Qoption ld ';;
*)
lt_prog_compiler_wl_GCJ='-Wl,';;
if test -n "$lt_prog_compiler_pic_GCJ"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works_GCJ+set}" = set; then
+if test "${lt_cv_prog_compiler_pic_works_GCJ+set}" = set; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_pic_works_GCJ=no
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19164: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:19168: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_pic_works_GCJ=yes
wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works_GCJ+set}" = set; then
+if test "${lt_cv_prog_compiler_static_works_GCJ+set}" = set; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_static_works_GCJ=no
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&5
- $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
lt_cv_prog_compiler_static_works_GCJ=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
+if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_GCJ=no
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19263: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:19267: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o_GCJ=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
+if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then :
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_c_o_GCJ=no
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19315: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:19319: \$? = $ac_status" >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
lt_cv_prog_compiler_c_o_GCJ=yes
esac
ld_shlibs_GCJ=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+ *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test "$lt_use_gnu_ld_interface" = yes; then
# If archive_cmds runs LD, not CC, wlarc should be empty
wlarc='${wl}'
fi
supports_anon_versioning=no
case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
*\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
*\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
ld_shlibs_GCJ=no
cat <<_LT_EOF 1>&2
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** Warning: the GNU linker, at least up to release 2.19, is reported
*** to be unable to reliably create shared libraries on AIX.
*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
_LT_EOF
fi
# _LT_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
# as there is no search path for DLLs.
hardcode_libdir_flag_spec_GCJ='-L$libdir'
+ export_dynamic_flag_spec_GCJ='${wl}--export-all-symbols'
allow_undefined_flag_GCJ=unsupported
always_export_symbols_GCJ=no
enable_shared_with_static_runtimes_GCJ=yes
fi
;;
+ haiku*)
+ archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ link_all_deplibs_GCJ=yes
+ ;;
+
interix[3-9]*)
hardcode_direct_GCJ=no
hardcode_shlibpath_var_GCJ=no
archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- gnu* | linux* | tpf* | k*bsd*-gnu)
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
tmp_diet=no
if test "$host_os" = linux-dietlibc; then
case $cc_basename in
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
lf95*) # Lahey Fortran 8.1
whole_archive_flag_spec_GCJ=
tmp_sharedflag='--shared' ;;
- xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
tmp_sharedflag='-qmkshrobj'
tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object_GCJ=yes
+ ;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
compiler_needs_object_GCJ=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
fi
case $cc_basename in
- xlf*)
+ xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
whole_archive_flag_spec_GCJ='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec_GCJ=
hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
- archive_cmds_GCJ='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+ archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test "x$supports_anon_versioning" = xyes; then
archive_expsym_cmds_GCJ='echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
;;
esac
else
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
+if ac_fn_c_try_link "$LINENO"; then :
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_GCJ='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ archive_expsym_cmds_GCJ='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
+if ac_fn_c_try_link "$LINENO"; then :
lt_aix_libpath_sed='
/Import File Strings/,/^$/ {
# -berok will link without error, but may produce a broken library.
no_undefined_flag_GCJ=' ${wl}-bernotok'
allow_undefined_flag_GCJ=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- whole_archive_flag_spec_GCJ='$convenience'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ whole_archive_flag_spec_GCJ='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_GCJ='$convenience'
+ fi
archive_cmds_need_lc_GCJ=yes
# This is similar to how AIX traditionally builds its shared libraries.
archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
# Tell ltmain to make .dll files, not .so files.
shrext_cmds=".dll"
# FIXME: Setting linknames here is a bad hack.
- archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
# The linker will automatically build a .lib file if we build a DLL.
old_archive_from_new_cmds_GCJ='true'
# FIXME: Should let the user specify the lib program.
hardcode_direct_GCJ=no
hardcode_automatic_GCJ=yes
hardcode_shlibpath_var_GCJ=unsupported
- whole_archive_flag_spec_GCJ=''
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ whole_archive_flag_spec_GCJ='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ else
+ whole_archive_flag_spec_GCJ=''
+ fi
link_all_deplibs_GCJ=yes
allow_undefined_flag_GCJ="$_lt_dar_allow_undefined"
case $cc_basename in
*) _lt_dar_can_shared=$GCC ;;
esac
if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=echo
+ output_verbose_link_cmd=func_echo_all
archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
archive_expsym_cmds_GCJ="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
;;
hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
;;
hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
case $host_cpu in
hppa*64*)
archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
# Try to use the -exported_symbol ld option, if it does not
# work, assume that -exports_file does not work either and
# implicitly export all symbols.
/* end confdefs.h. */
int foo(void) {}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+if ac_fn_c_try_link "$LINENO"; then :
+ archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS="$save_LDFLAGS"
else
- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
fi
archive_cmds_need_lc_GCJ='no'
hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
hardcode_libdir_flag_spec_GCJ='-L$libdir'
hardcode_minus_L_GCJ=yes
allow_undefined_flag_GCJ=unsupported
- archive_cmds_GCJ='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ archive_cmds_GCJ='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
old_archive_from_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
;;
osf3*)
if test "$GCC" = yes; then
allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
else
allow_undefined_flag_GCJ=' -expect_unresolved \*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
fi
archive_cmds_need_lc_GCJ='no'
hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag_GCJ=' -expect_unresolved \*'
- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
# to ld, don't add -lc before -lgcc.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+if test "${lt_cv_archive_cmds_need_lc_GCJ+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$lt_prog_compiler_wl_GCJ
- pic_flag=$lt_prog_compiler_pic_GCJ
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
- allow_undefined_flag_GCJ=
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl_GCJ
+ pic_flag=$lt_prog_compiler_pic_GCJ
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
+ allow_undefined_flag_GCJ=
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
(eval $archive_cmds_GCJ 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
- then
- archive_cmds_need_lc_GCJ=no
- else
- archive_cmds_need_lc_GCJ=yes
- fi
- allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_GCJ" >&5
-$as_echo "$archive_cmds_need_lc_GCJ" >&6; }
+ then
+ lt_cv_archive_cmds_need_lc_GCJ=no
+ else
+ lt_cv_archive_cmds_need_lc_GCJ=yes
+ fi
+ allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_GCJ" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc_GCJ" >&6; }
+ archive_cmds_need_lc_GCJ=$lt_cv_archive_cmds_need_lc_GCJ
;;
esac
fi
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_JAR+set}" = set; then
+if test "${ac_cv_prog_JAR+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$JAR"; then
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_JAR+set}" = set; then
+if test "${ac_cv_prog_JAR+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$JAR"; then
test -n "$JAR" || JAR="$JAVAPREFIX"
fi
-test "x$JAR" = x && as_fn_error "no acceptable jar program found in \$PATH" "$LINENO" 5
+test "x$JAR" = x && as_fn_error $? "no acceptable jar program found in \$PATH" "$LINENO" 5
GJDOC=${GJDOC-"${am_missing_run}gjdoc"}
fi
- if test "$enable_java" != "no"; then
- JAVA_TRUE=
- JAVA_FALSE='#'
-else
- JAVA_TRUE='#'
- JAVA_FALSE=
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if implementation in Java should be built" >&5
-$as_echo_n "checking if implementation in Java should be built... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_java" >&5
-$as_echo "$enable_java" >&6; }
-
-# Check for C#
- if test -n "$HAVE_CSHARPCOMP"; then
- CSHARP_TRUE=
- CSHARP_FALSE='#'
-else
- CSHARP_TRUE='#'
- CSHARP_FALSE=
+ if test "$enable_java" != "no"; then
+ JAVA_TRUE=
+ JAVA_FALSE='#'
+else
+ JAVA_TRUE='#'
+ JAVA_FALSE=
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if implementation in Java should be built" >&5
+$as_echo_n "checking if implementation in Java should be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_java" >&5
+$as_echo "$enable_java" >&6; }
+
+# Check for C#
+if test -n "$HAVE_CSHARPCOMP"; then
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C# program execution engine" >&5
+$as_echo_n "checking for C# program execution engine... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
+ yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "yes" >/dev/null 2>&1; then :
+ MONO_PATH_SEPARATOR=';'
+else
+ MONO_PATH_SEPARATOR=':'
+fi
+rm -f conftest*
+
+ HAVE_CSHARPEXEC=1
+ # Extract the first word of "ilrun", so it can be a program name with args.
+set dummy ilrun; ac_word=$2
+:
+if test "${ac_cv_prog_HAVE_ILRUN_IN_PATH+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$HAVE_ILRUN_IN_PATH"; then
+ ac_cv_prog_HAVE_ILRUN_IN_PATH="$HAVE_ILRUN_IN_PATH" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_HAVE_ILRUN_IN_PATH="yes"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+HAVE_ILRUN_IN_PATH=$ac_cv_prog_HAVE_ILRUN_IN_PATH
+if test -n "$HAVE_ILRUN_IN_PATH"; then
+ :
+else
+ :
+fi
+
+
+ # Extract the first word of "mono", so it can be a program name with args.
+set dummy mono; ac_word=$2
+:
+if test "${ac_cv_prog_HAVE_MONO_IN_PATH+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$HAVE_MONO_IN_PATH"; then
+ ac_cv_prog_HAVE_MONO_IN_PATH="$HAVE_MONO_IN_PATH" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_HAVE_MONO_IN_PATH="yes"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if implementation in C# should be built" >&5
-$as_echo_n "checking if implementation in C# should be built... " >&6; }
-if test -n "$HAVE_CSHARPCOMP"; then
- enable_csharp=yes
+HAVE_MONO_IN_PATH=$ac_cv_prog_HAVE_MONO_IN_PATH
+if test -n "$HAVE_MONO_IN_PATH"; then
+ :
else
- enable_csharp=no
+ :
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_csharp" >&5
-$as_echo "$enable_csharp" >&6; }
- # Run self-tests under valgrind?
- if test "$cross_compiling" = no; then
- for ac_prog in valgrind
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_VALGRIND+set}" = set; then
+ # Extract the first word of "clix", so it can be a program name with args.
+set dummy clix; ac_word=$2
+:
+if test "${ac_cv_prog_HAVE_CLIX_IN_PATH+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$VALGRIND"; then
- ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test.
+ if test -n "$HAVE_CLIX_IN_PATH"; then
+ ac_cv_prog_HAVE_CLIX_IN_PATH="$HAVE_CLIX_IN_PATH" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_VALGRIND="$ac_prog"
+ ac_cv_prog_HAVE_CLIX_IN_PATH="yes"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
fi
fi
-VALGRIND=$ac_cv_prog_VALGRIND
-if test -n "$VALGRIND"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5
-$as_echo "$VALGRIND" >&6; }
+HAVE_CLIX_IN_PATH=$ac_cv_prog_HAVE_CLIX_IN_PATH
+if test -n "$HAVE_CLIX_IN_PATH"; then
+ :
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ :
fi
- test -n "$VALGRIND" && break
-done
+ for impl in "$CSHARP_CHOICE" pnet mono no; do
+ case "$impl" in
+ pnet)
+ if test -n "$HAVE_ILRUN_IN_PATH" \
+ && ilrun --version >/dev/null 2>/dev/null \
+ ; then
+ HAVE_ILRUN=1
+ ac_result="ilrun"
+ break
+ fi
+ ;;
+ mono)
+ if test -n "$HAVE_MONO_IN_PATH" \
+ && mono --version >/dev/null 2>/dev/null \
+ ; then
+ HAVE_MONO=1
+ ac_result="mono"
+ break
+ fi
+ ;;
+ sscli)
+ if test -n "$HAVE_CLIX_IN_PATH" \
+ ; then
+ HAVE_CLIX=1
+ case $host_os in
+ cygwin* | mingw* | pw32*)
+ CLIX_PATH_VAR=PATH
+ ;;
+ darwin* | rhapsody*)
+ CLIX_PATH_VAR=DYLD_LIBRARY_PATH
+ ;;
+ *)
+ CLIX_PATH_VAR=LD_LIBRARY_PATH
+ ;;
+ esac
+ eval CLIX_PATH=\"\$CLIX_PATH_VAR\"
+ ac_result="clix"
+ break
+ fi
+ ;;
+ no)
+ HAVE_CSHARPEXEC=
+ ac_result="no"
+ break
+ ;;
+ esac
+ done
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_result" >&5
+$as_echo "$ac_result" >&6; }
- fi
- if test -n "$VALGRIND" && $VALGRIND true > /dev/null 2>&1; then
- opt_valgrind_tests=yes
- else
- opt_valgrind_tests=no
- VALGRIND=
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether self tests are run under valgrind" >&5
-$as_echo_n "checking whether self tests are run under valgrind... " >&6; }
- # Check whether --enable-valgrind-tests was given.
-if test "${enable_valgrind_tests+set}" = set; then
- enableval=$enable_valgrind_tests; opt_valgrind_tests=$enableval
+
+
+
+
+
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if implementation in C# should be built" >&5
+$as_echo_n "checking if implementation in C# should be built... " >&6; }
+if test -n "$HAVE_CSHARPCOMP" && test -n "$HAVE_CSHARPEXEC"; then
+ enable_csharp=yes
+else
+ enable_csharp=no
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_csharp" >&5
+$as_echo "$enable_csharp" >&6; }
+ if test "$enable_csharp" = yes; then
+ CSHARP_TRUE=
+ CSHARP_FALSE='#'
+else
+ CSHARP_TRUE='#'
+ CSHARP_FALSE=
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $opt_valgrind_tests" >&5
-$as_echo "$opt_valgrind_tests" >&6; }
# Update version number in lib/libtasn1.h.
if ! sed 's/_VERSION ".*"/_VERSION "'$PACKAGE_VERSION'"/' $srcdir/lib/stringprep.h > fixhdr.tmp; then
- as_fn_error "*** Failed to update version number in $srcdir/lib/stringprep.h..." "$LINENO" 5
+ as_fn_error $? "*** Failed to update version number in $srcdir/lib/stringprep.h..." "$LINENO" 5
fi
if cmp -s $srcdir/lib/stringprep.h fixhdr.tmp 2>/dev/null; then
rm -f fixhdr.tmp
elif ! mv fixhdr.tmp $srcdir/lib/stringprep.h; then
- as_fn_error "*** Failed to move fixhdr.tmp to $srcdir/lib/stringprep.h..." "$LINENO" 5
+ as_fn_error $? "*** Failed to move fixhdr.tmp to $srcdir/lib/stringprep.h..." "$LINENO" 5
fi
# Check whether --enable-gcc-warnings was given.
-if test "${enable_gcc_warnings+set}" = set; then
+if test "${enable_gcc_warnings+set}" = set; then :
enableval=$enable_gcc_warnings; case $enableval in
yes|no) ;;
- *) as_fn_error "bad value $enableval for gcc-warnings option" "$LINENO" 5 ;;
+ *) as_fn_error $? "bad value $enableval for gcc-warnings option" "$LINENO" 5 ;;
esac
gl_gcc_warnings=$enableval
else
if test "$gl_gcc_warnings" = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Werror" >&5
$as_echo_n "checking whether compiler handles -Werror... " >&6; }
-if test "${gl_cv_warn__Werror+set}" = set; then
+if test "${gl_cv_warn__Werror+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- save_CPPFLAGS="$CPPFLAGS"
+ gl_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="${CPPFLAGS} -Werror"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
return 0;
}
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then
+if ac_fn_c_try_cpp "$LINENO"; then :
gl_cv_warn__Werror=yes
else
gl_cv_warn__Werror=no
fi
-rm -f conftest.err conftest.$ac_ext
- CPPFLAGS="$save_CPPFLAGS"
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$gl_save_CPPFLAGS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Werror" >&5
$as_echo "$gl_cv_warn__Werror" >&6; }
-if test "x$gl_cv_warn__Werror" = x""yes; then
+if test "x$gl_cv_warn__Werror" = x""yes; then :
as_fn_append WERROR_CFLAGS " -Werror"
fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wframe-larger-than=80" >&5
-$as_echo_n "checking whether compiler handles -Wframe-larger-than=80... " >&6; }
-if test "${gl_cv_warn__Wframe_larger_than_80+set}" = set; then
+ as_gl_Warn=`$as_echo "gl_cv_warn_-Wframe-larger-than=112" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wframe-larger-than=112" >&5
+$as_echo_n "checking whether compiler handles -Wframe-larger-than=112... " >&6; }
+if eval "test \"\${$as_gl_Warn+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
- save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="${CPPFLAGS} -Wframe-larger-than=80"
+ gl_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="${CPPFLAGS} -Wframe-larger-than=112"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
return 0;
}
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then
- gl_cv_warn__Wframe_larger_than_80=yes
+if ac_fn_c_try_cpp "$LINENO"; then :
+ eval "$as_gl_Warn=yes"
else
- gl_cv_warn__Wframe_larger_than_80=no
+ eval "$as_gl_Warn=no"
fi
-rm -f conftest.err conftest.$ac_ext
- CPPFLAGS="$save_CPPFLAGS"
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$gl_save_CPPFLAGS"
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wframe_larger_than_80" >&5
-$as_echo "$gl_cv_warn__Wframe_larger_than_80" >&6; }
-if test "x$gl_cv_warn__Wframe_larger_than_80" = x""yes; then
- as_fn_append WSTACK_CFLAGS " -Wframe-larger-than=80"
+eval ac_res=\$$as_gl_Warn
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if eval test \"x\$"$as_gl_Warn"\" = x"yes"; then :
+ as_fn_append WSTACK_CFLAGS " -Wframe-larger-than=112"
fi
nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings
+ nw="$nw -Wpadded" # Struct in src/idn_cmd.h is not padded
+ nw="$nw -Wformat" # Self tests and examples print size_t as %d
nw="$nw -Wc++-compat" # We don't care strongly about C++ compilers
nw="$nw -Woverlength-strings" # Some of our strings are too large
nw="$nw -Wsign-conversion" # Too many warnings for now
nw="$nw -Wmissing-noreturn" # Too many warnings for now
nw="$nw -Wunreachable-code" # Too many false positives
nw="$nw -Wlogical-op" # Too many false positives
+ nw="$nw -Wsuggest-attribute=pure" # Is it worth using attributes?
+ nw="$nw -Wsuggest-attribute=const" # Is it worth using attributes?
+
+
+
+ if test -n "$GCC"; then
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is supported" >&5
+$as_echo_n "checking whether -Wno-missing-field-initializers is supported... " >&6; }
+ if test "${gl_cv_cc_nomfi_supported+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ gl_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_cc_nomfi_supported=yes
+else
+ gl_cv_cc_nomfi_supported=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$gl_save_CFLAGS"
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_supported" >&5
+$as_echo "$gl_cv_cc_nomfi_supported" >&6; }
+
+ if test "$gl_cv_cc_nomfi_supported" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is needed" >&5
+$as_echo_n "checking whether -Wno-missing-field-initializers is needed... " >&6; }
+ if test "${gl_cv_cc_nomfi_needed+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ gl_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -W -Werror"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+void f (void)
+ {
+ typedef struct { int a; int b; } s_t;
+ s_t s1 = { 0, };
+ }
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ gl_cv_cc_nomfi_needed=no
+else
+ gl_cv_cc_nomfi_needed=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$gl_save_CFLAGS"
+
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5
+$as_echo "$gl_cv_cc_nomfi_needed" >&6; }
+ fi
+ fi
- gl_manywarn_set=
- for gl_manywarn_item in \
- -Wall \
- -W \
- -Wformat-y2k \
- -Wformat-nonliteral \
- -Wformat-security \
- -Winit-self \
- -Wmissing-include-dirs \
- -Wswitch-default \
- -Wswitch-enum \
- -Wunused \
- -Wunknown-pragmas \
- -Wstrict-aliasing \
- -Wstrict-overflow \
- -Wsystem-headers \
- -Wfloat-equal \
- -Wtraditional \
- -Wtraditional-conversion \
- -Wdeclaration-after-statement \
- -Wundef \
- -Wshadow \
- -Wunsafe-loop-optimizations \
- -Wpointer-arith \
- -Wbad-function-cast \
- -Wc++-compat \
- -Wcast-qual \
- -Wcast-align \
- -Wwrite-strings \
- -Wconversion \
- -Wsign-conversion \
- -Wlogical-op \
- -Waggregate-return \
- -Wstrict-prototypes \
- -Wold-style-definition \
- -Wmissing-prototypes \
- -Wmissing-declarations \
- -Wmissing-noreturn \
- -Wmissing-format-attribute \
- -Wpacked \
- -Wpadded \
- -Wredundant-decls \
- -Wnested-externs \
- -Wunreachable-code \
- -Winline \
- -Winvalid-pch \
- -Wlong-long \
- -Wvla \
- -Wvolatile-register-var \
- -Wdisabled-optimization \
- -Wstack-protector \
- -Woverlength-strings \
- -Wbuiltin-macro-redefined \
- -Wmudflap \
- -Wpacked-bitfield-compat \
- -Wsync-nand \
- ; do
+ gl_manywarn_set=
+ for gl_manywarn_item in \
+ -Wall \
+ -W \
+ -Wformat-y2k \
+ -Wformat-nonliteral \
+ -Wformat-security \
+ -Winit-self \
+ -Wmissing-include-dirs \
+ -Wswitch-default \
+ -Wswitch-enum \
+ -Wunused \
+ -Wunknown-pragmas \
+ -Wstrict-aliasing \
+ -Wstrict-overflow \
+ -Wsystem-headers \
+ -Wfloat-equal \
+ -Wtraditional \
+ -Wtraditional-conversion \
+ -Wdeclaration-after-statement \
+ -Wundef \
+ -Wshadow \
+ -Wunsafe-loop-optimizations \
+ -Wpointer-arith \
+ -Wbad-function-cast \
+ -Wc++-compat \
+ -Wcast-qual \
+ -Wcast-align \
+ -Wwrite-strings \
+ -Wconversion \
+ -Wsign-conversion \
+ -Wlogical-op \
+ -Waggregate-return \
+ -Wstrict-prototypes \
+ -Wold-style-definition \
+ -Wmissing-prototypes \
+ -Wmissing-declarations \
+ -Wmissing-noreturn \
+ -Wmissing-format-attribute \
+ -Wpacked \
+ -Wpadded \
+ -Wredundant-decls \
+ -Wnested-externs \
+ -Wunreachable-code \
+ -Winline \
+ -Winvalid-pch \
+ -Wlong-long \
+ -Wvla \
+ -Wvolatile-register-var \
+ -Wdisabled-optimization \
+ -Wstack-protector \
+ -Woverlength-strings \
+ -Wbuiltin-macro-redefined \
+ -Wmudflap \
+ -Wpacked-bitfield-compat \
+ -Wsync-nand \
+ ; do
gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
done
- # The following are not documented in the manual but are included in
- # output from gcc --help=warnings.
- for gl_manywarn_item in \
- -Wattributes \
- -Wcoverage-mismatch \
- -Wmultichar \
- -Wunused-macros \
- ; do
+ # The following are not documented in the manual but are included in
+ # output from gcc --help=warnings.
+ for gl_manywarn_item in \
+ -Wattributes \
+ -Wcoverage-mismatch \
+ -Wmultichar \
+ -Wunused-macros \
+ ; do
gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
done
+ # More warnings from gcc 4.6.2 --help=warnings.
+ for gl_manywarn_item in \
+ -Wabi \
+ -Wcpp \
+ -Wdeprecated \
+ -Wdeprecated-declarations \
+ -Wdiv-by-zero \
+ -Wdouble-promotion \
+ -Wendif-labels \
+ -Wextra \
+ -Wformat-contains-nul \
+ -Wformat-extra-args \
+ -Wformat-zero-length \
+ -Wformat=2 \
+ -Wmultichar \
+ -Wnormalized=nfc \
+ -Woverflow \
+ -Wpointer-to-int-cast \
+ -Wpragmas \
+ -Wsuggest-attribute=const \
+ -Wsuggest-attribute=noreturn \
+ -Wsuggest-attribute=pure \
+ -Wtrampolines \
+ -Wunsuffixed-float-constants \
+ ; do
+ gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
+ done
+
+ # Disable the missing-field-initializers warning if needed
+ if test "$gl_cv_cc_nomfi_needed" = yes; then
+ gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers"
+ fi
+
ws=$gl_manywarn_set
as_gl_Warn=`$as_echo "gl_cv_warn_$w" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles $w" >&5
$as_echo_n "checking whether compiler handles $w... " >&6; }
-if { as_var=$as_gl_Warn; eval "test \"\${$as_var+set}\" = set"; }; then
+if eval "test \"\${$as_gl_Warn+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
- save_CPPFLAGS="$CPPFLAGS"
+ gl_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="${CPPFLAGS} $w"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
return 0;
}
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then
+if ac_fn_c_try_cpp "$LINENO"; then :
eval "$as_gl_Warn=yes"
else
eval "$as_gl_Warn=no"
fi
-rm -f conftest.err conftest.$ac_ext
- CPPFLAGS="$save_CPPFLAGS"
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$gl_save_CPPFLAGS"
fi
eval ac_res=\$$as_gl_Warn
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
-eval as_val=\$$as_gl_Warn
- if test "x$as_val" = x""yes; then
+if eval test \"x\$"$as_gl_Warn"\" = x"yes"; then :
as_fn_append WARN_CFLAGS " $w"
fi
done
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-missing-field-initializers" >&5
-$as_echo_n "checking whether compiler handles -Wno-missing-field-initializers... " >&6; }
-if test "${gl_cv_warn__Wno_missing_field_initializers+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
-
- save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="${CPPFLAGS} -Wno-missing-field-initializers"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then
- gl_cv_warn__Wno_missing_field_initializers=yes
-else
- gl_cv_warn__Wno_missing_field_initializers=no
-fi
-rm -f conftest.err conftest.$ac_ext
- CPPFLAGS="$save_CPPFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_missing_field_initializers" >&5
-$as_echo "$gl_cv_warn__Wno_missing_field_initializers" >&6; }
-if test "x$gl_cv_warn__Wno_missing_field_initializers" = x""yes; then
- as_fn_append WARN_CFLAGS " -Wno-missing-field-initializers"
-fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -fdiagnostics-show-option" >&5
$as_echo_n "checking whether compiler handles -fdiagnostics-show-option... " >&6; }
-if test "${gl_cv_warn__fdiagnostics_show_option+set}" = set; then
+if test "${gl_cv_warn__fdiagnostics_show_option+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- save_CPPFLAGS="$CPPFLAGS"
+ gl_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="${CPPFLAGS} -fdiagnostics-show-option"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
return 0;
}
_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then
+if ac_fn_c_try_cpp "$LINENO"; then :
gl_cv_warn__fdiagnostics_show_option=yes
else
gl_cv_warn__fdiagnostics_show_option=no
fi
-rm -f conftest.err conftest.$ac_ext
- CPPFLAGS="$save_CPPFLAGS"
+rm -f conftest.err conftest.i conftest.$ac_ext
+ CPPFLAGS="$gl_save_CPPFLAGS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__fdiagnostics_show_option" >&5
$as_echo "$gl_cv_warn__fdiagnostics_show_option" >&6; }
-if test "x$gl_cv_warn__fdiagnostics_show_option" = x""yes; then
+if test "x$gl_cv_warn__fdiagnostics_show_option" = x""yes; then :
as_fn_append WARN_CFLAGS " -fdiagnostics-show-option"
fi
fi
-ac_config_files="$ac_config_files Makefile libidn.pc csharp/Makefile contrib/doxygen/Doxyfile doc/Makefile doc/cyclo/Makefile doc/java/Makefile doc/reference/Makefile doc/specifications/Makefile doc/tld/Makefile examples/Makefile gl/Makefile gltests/Makefile java/Makefile java/gnu/Makefile java/gnu/inet/Makefile java/gnu/inet/encoding/Makefile java/misc/Makefile lib/Makefile lib/gl/Makefile lib/gltests/Makefile po/Makefile.in src/Makefile tests/Makefile"
+ac_config_files="$ac_config_files Makefile contrib/doxygen/Doxyfile csharp/Makefile doc/Makefile doc/cyclo/Makefile doc/java/Makefile doc/reference/Makefile doc/reference/version.xml doc/specifications/Makefile doc/tld/Makefile examples/Makefile gl/Makefile gltests/Makefile java/Makefile java/gnu/Makefile java/gnu/inet/Makefile java/gnu/inet/encoding/Makefile java/misc/Makefile lib/Makefile lib/gl/Makefile lib/gltests/Makefile libidn.pc po/Makefile.in pom.xml src/Makefile tests/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
ac_libobjs=
ac_ltlibobjs=
+U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
fi
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error "conditional \"AMDEP\" was never defined.
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error "conditional \"am__fastdepCC\" was never defined.
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then
- as_fn_error "conditional \"GL_COND_LIBTOOL\" was never defined.
+ as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GL_GENERATE_ERRNO_H_TRUE}" && test -z "${GL_GENERATE_ERRNO_H_FALSE}"; then
+ as_fn_error $? "conditional \"GL_GENERATE_ERRNO_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+CONFIG_INCLUDE=config.h
+
+if test -z "${GL_GENERATE_STDARG_H_TRUE}" && test -z "${GL_GENERATE_STDARG_H_FALSE}"; then
+ as_fn_error $? "conditional \"GL_GENERATE_STDARG_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then
+ as_fn_error $? "conditional \"GL_GENERATE_STDDEF_H\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -n "$gl_LIBOBJS"; then
# Remove the extension.
sed_drop_objext='s/\.o$//;s/\.obj$//'
- for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do
+ for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
gl_libobjs="$gl_libobjs $i.$ac_objext"
gl_ltlibobjs="$gl_ltlibobjs $i.lo"
done
gl_LTLIBOBJS=$gl_ltlibobjs
+if test -z "${GL_GENERATE_ALLOCA_H_TRUE}" && test -z "${GL_GENERATE_ALLOCA_H_FALSE}"; then
+ as_fn_error $? "conditional \"GL_GENERATE_ALLOCA_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GL_GENERATE_STDINT_H_TRUE}" && test -z "${GL_GENERATE_STDINT_H_FALSE}"; then
+ as_fn_error $? "conditional \"GL_GENERATE_STDINT_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then
+ as_fn_error $? "conditional \"GL_GENERATE_STDBOOL_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
gltests_libobjs=
gltests_ltlibobjs=
if test -n "$gltests_LIBOBJS"; then
# Remove the extension.
sed_drop_objext='s/\.o$//;s/\.obj$//'
- for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do
+ for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
gltests_libobjs="$gltests_libobjs $i.$ac_objext"
gltests_ltlibobjs="$gltests_ltlibobjs $i.lo"
done
if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then
- as_fn_error "conditional \"GL_COND_LIBTOOL\" was never defined.
+ as_fn_error $? "conditional \"GL_COND_LIBTOOL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GL_GENERATE_ICONV_H_TRUE}" && test -z "${GL_GENERATE_ICONV_H_FALSE}"; then
+ as_fn_error $? "conditional \"GL_GENERATE_ICONV_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GL_GENERATE_ICONV_H_TRUE}" && test -z "${GL_GENERATE_ICONV_H_FALSE}"; then
+ as_fn_error $? "conditional \"GL_GENERATE_ICONV_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GL_GENERATE_ICONV_H_TRUE}" && test -z "${GL_GENERATE_ICONV_H_FALSE}"; then
+ as_fn_error $? "conditional \"GL_GENERATE_ICONV_H\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${HAVE_LD_OUTPUT_DEF_TRUE}" && test -z "${HAVE_LD_OUTPUT_DEF_FALSE}"; then
- as_fn_error "conditional \"HAVE_LD_OUTPUT_DEF\" was never defined.
+ as_fn_error $? "conditional \"HAVE_LD_OUTPUT_DEF\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${HAVE_LD_VERSION_SCRIPT_TRUE}" && test -z "${HAVE_LD_VERSION_SCRIPT_FALSE}"; then
- as_fn_error "conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined.
+ as_fn_error $? "conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then
+ as_fn_error $? "conditional \"GL_GENERATE_STDBOOL_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FALSE}"; then
+ as_fn_error $? "conditional \"GL_GENERATE_STDDEF_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE}"; then
+ as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE}" && test -z "${LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_FALSE}"; then
+ as_fn_error $? "conditional \"LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -n "$lgl_LIBOBJS"; then
# Remove the extension.
sed_drop_objext='s/\.o$//;s/\.obj$//'
- for i in `for i in $lgl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do
+ for i in `for i in $lgl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
lgl_libobjs="$lgl_libobjs $i.$ac_objext"
lgl_ltlibobjs="$lgl_ltlibobjs $i.lo"
done
lgl_LTLIBOBJS=$lgl_ltlibobjs
+if test -z "${GL_GENERATE_ALLOCA_H_TRUE}" && test -z "${GL_GENERATE_ALLOCA_H_FALSE}"; then
+ as_fn_error $? "conditional \"GL_GENERATE_ALLOCA_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
lgltests_libobjs=
lgltests_ltlibobjs=
if test -n "$lgltests_LIBOBJS"; then
# Remove the extension.
sed_drop_objext='s/\.o$//;s/\.obj$//'
- for i in `for i in $lgltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do
+ for i in `for i in $lgltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
lgltests_libobjs="$lgltests_libobjs $i.$ac_objext"
lgltests_ltlibobjs="$lgltests_ltlibobjs $i.lo"
done
if test -z "${TLD_TRUE}" && test -z "${TLD_FALSE}"; then
- as_fn_error "conditional \"TLD\" was never defined.
+ as_fn_error $? "conditional \"TLD\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then
- as_fn_error "conditional \"ENABLE_GTK_DOC\" was never defined.
+ as_fn_error $? "conditional \"ENABLE_GTK_DOC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${GTK_DOC_BUILD_HTML_TRUE}" && test -z "${GTK_DOC_BUILD_HTML_FALSE}"; then
- as_fn_error "conditional \"GTK_DOC_BUILD_HTML\" was never defined.
+ as_fn_error $? "conditional \"GTK_DOC_BUILD_HTML\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${GTK_DOC_BUILD_PDF_TRUE}" && test -z "${GTK_DOC_BUILD_PDF_FALSE}"; then
- as_fn_error "conditional \"GTK_DOC_BUILD_PDF\" was never defined.
+ as_fn_error $? "conditional \"GTK_DOC_BUILD_PDF\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${GTK_DOC_USE_LIBTOOL_TRUE}" && test -z "${GTK_DOC_USE_LIBTOOL_FALSE}"; then
- as_fn_error "conditional \"GTK_DOC_USE_LIBTOOL\" was never defined.
+ as_fn_error $? "conditional \"GTK_DOC_USE_LIBTOOL\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${GTK_DOC_USE_REBASE_TRUE}" && test -z "${GTK_DOC_USE_REBASE_FALSE}"; then
- as_fn_error "conditional \"GTK_DOC_USE_REBASE\" was never defined.
+ as_fn_error $? "conditional \"GTK_DOC_USE_REBASE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${am__fastdepGCJ_TRUE}" && test -z "${am__fastdepGCJ_FALSE}"; then
- as_fn_error "conditional \"am__fastdepGCJ\" was never defined.
+ as_fn_error $? "conditional \"am__fastdepGCJ\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${am__fastdepGCJ_TRUE}" && test -z "${am__fastdepGCJ_FALSE}"; then
- as_fn_error "conditional \"am__fastdepGCJ\" was never defined.
+ as_fn_error $? "conditional \"am__fastdepGCJ\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${JAVA_TRUE}" && test -z "${JAVA_FALSE}"; then
- as_fn_error "conditional \"JAVA\" was never defined.
+ as_fn_error $? "conditional \"JAVA\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${CSHARP_TRUE}" && test -z "${CSHARP_FALSE}"; then
- as_fn_error "conditional \"CSHARP\" was never defined.
+ as_fn_error $? "conditional \"CSHARP\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in #(
- *posix*) set -o posix ;; #(
- *) : ;;
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
esac
fi
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
- as_status=$?; test $as_status -eq 0 && as_status=1
- if test "$3"; then
- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
- $as_echo "$as_me: error: $1" >&2
+ $as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
return $1
} # as_fn_set_status
-# as_fn_exit [STATUS=$?]
-# ----------------------
+# as_fn_exit STATUS
+# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
- as_status=$?
set +e
- as_fn_set_status ${1-$as_status}
- exit ${1-$as_status}
+ as_fn_set_status $1
+ exit $1
} # as_fn_exit
# as_fn_unset VAR
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
eval 'as_fn_append ()
{
eval $1+=\$2
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
as_cr_alnum=$as_cr_Letters$as_cr_digits
ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #((((
+case `echo -n x` in #(((((
-n*)
- case `echo 'x\c'` in
+ case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GNU Libidn $as_me 1.15, which was
-generated by GNU Autoconf 2.63b. Invocation command line was
+This file was extended by GNU Libidn $as_me 1.23, which was
+generated by GNU Autoconf 2.67. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
-Usage: $0 [OPTION]... [FILE]...
+Usage: $0 [OPTION]... [TAG]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
-q, --quiet, --silent
do not print progress messages
-d, --debug don't remove temporary files
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GNU Libidn config.status 1.15
-configured by $0, generated by GNU Autoconf 2.63b,
- with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+GNU Libidn config.status 1.23
+configured by $0, generated by GNU Autoconf 2.67,
+ with options \\"\$ac_cs_config\\"
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
while test $# != 0
do
case $1 in
- --*=*)
+ --*=?*)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
*)
ac_option=$1
ac_optarg=$2
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
$as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
esac
as_fn_append CONFIG_FILES " '$ac_optarg'"
ac_need_defaults=false;;
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
- as_fn_error "ambiguous option: \`$1'
+ as_fn_error $? "ambiguous option: \`$1'
Try \`$0 --help' for more information.";;
--help | --hel | -h )
$as_echo "$ac_cs_usage"; exit ;;
ac_cs_silent=: ;;
# This is an error.
- -*) as_fn_error "unrecognized option: \`$1'
+ -*) as_fn_error $? "unrecognized option: \`$1'
Try \`$0 --help' for more information." ;;
*) as_fn_append ac_config_targets " $1"
sed_quote_subst='$sed_quote_subst'
double_quote_subst='$double_quote_subst'
delay_variable_subst='$delay_variable_subst'
-AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
-macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
-enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
-host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
-host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
-host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
-build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
-build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
-build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
-SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
-Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
-GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
-EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
-FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
-LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
-NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
-LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
-exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
-AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
-STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
-compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
-GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
-objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
-SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
-ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
-need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
-LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
-libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
-need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
-version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
-striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
-LD_GCJ='`$ECHO "X$LD_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds_GCJ='`$ECHO "X$old_archive_cmds_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_GCJ='`$ECHO "X$compiler_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-GCC_GCJ='`$ECHO "X$GCC_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag_GCJ='`$ECHO "X$lt_prog_compiler_no_builtin_flag_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_wl_GCJ='`$ECHO "X$lt_prog_compiler_wl_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_pic_GCJ='`$ECHO "X$lt_prog_compiler_pic_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_static_GCJ='`$ECHO "X$lt_prog_compiler_static_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o_GCJ='`$ECHO "X$lt_cv_prog_compiler_c_o_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc_GCJ='`$ECHO "X$archive_cmds_need_lc_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes_GCJ='`$ECHO "X$enable_shared_with_static_runtimes_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec_GCJ='`$ECHO "X$export_dynamic_flag_spec_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec_GCJ='`$ECHO "X$whole_archive_flag_spec_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object_GCJ='`$ECHO "X$compiler_needs_object_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_new_cmds_GCJ='`$ECHO "X$old_archive_from_new_cmds_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds_GCJ='`$ECHO "X$old_archive_from_expsyms_cmds_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_GCJ='`$ECHO "X$archive_cmds_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds_GCJ='`$ECHO "X$archive_expsym_cmds_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds_GCJ='`$ECHO "X$module_cmds_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds_GCJ='`$ECHO "X$module_expsym_cmds_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld_GCJ='`$ECHO "X$with_gnu_ld_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag_GCJ='`$ECHO "X$allow_undefined_flag_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag_GCJ='`$ECHO "X$no_undefined_flag_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_GCJ='`$ECHO "X$hardcode_libdir_flag_spec_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld_GCJ='`$ECHO "X$hardcode_libdir_flag_spec_ld_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator_GCJ='`$ECHO "X$hardcode_libdir_separator_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_GCJ='`$ECHO "X$hardcode_direct_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute_GCJ='`$ECHO "X$hardcode_direct_absolute_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L_GCJ='`$ECHO "X$hardcode_minus_L_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var_GCJ='`$ECHO "X$hardcode_shlibpath_var_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic_GCJ='`$ECHO "X$hardcode_automatic_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath_GCJ='`$ECHO "X$inherit_rpath_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs_GCJ='`$ECHO "X$link_all_deplibs_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path_GCJ='`$ECHO "X$fix_srcfile_path_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols_GCJ='`$ECHO "X$always_export_symbols_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds_GCJ='`$ECHO "X$export_symbols_cmds_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms_GCJ='`$ECHO "X$exclude_expsyms_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms_GCJ='`$ECHO "X$include_expsyms_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds_GCJ='`$ECHO "X$prelink_cmds_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec_GCJ='`$ECHO "X$file_list_spec_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action_GCJ='`$ECHO "X$hardcode_action_GCJ" | $Xsed -e "$delay_single_quote_subst"`'
+AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+LD_GCJ='`$ECHO "$LD_GCJ" | $SED "$delay_single_quote_subst"`'
+reload_flag_GCJ='`$ECHO "$reload_flag_GCJ" | $SED "$delay_single_quote_subst"`'
+reload_cmds_GCJ='`$ECHO "$reload_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds_GCJ='`$ECHO "$old_archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
+compiler_GCJ='`$ECHO "$compiler_GCJ" | $SED "$delay_single_quote_subst"`'
+GCC_GCJ='`$ECHO "$GCC_GCJ" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_GCJ='`$ECHO "$lt_prog_compiler_no_builtin_flag_GCJ" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_GCJ='`$ECHO "$lt_prog_compiler_wl_GCJ" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_GCJ='`$ECHO "$lt_prog_compiler_pic_GCJ" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static_GCJ='`$ECHO "$lt_prog_compiler_static_GCJ" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_GCJ='`$ECHO "$lt_cv_prog_compiler_c_o_GCJ" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc_GCJ='`$ECHO "$archive_cmds_need_lc_GCJ" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_GCJ='`$ECHO "$enable_shared_with_static_runtimes_GCJ" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_GCJ='`$ECHO "$export_dynamic_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec_GCJ='`$ECHO "$whole_archive_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object_GCJ='`$ECHO "$compiler_needs_object_GCJ" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_GCJ='`$ECHO "$old_archive_from_new_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_GCJ='`$ECHO "$old_archive_from_expsyms_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
+archive_cmds_GCJ='`$ECHO "$archive_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds_GCJ='`$ECHO "$archive_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
+module_cmds_GCJ='`$ECHO "$module_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds_GCJ='`$ECHO "$module_expsym_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld_GCJ='`$ECHO "$with_gnu_ld_GCJ" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag_GCJ='`$ECHO "$allow_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag_GCJ='`$ECHO "$no_undefined_flag_GCJ" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_GCJ='`$ECHO "$hardcode_libdir_flag_spec_GCJ" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld_GCJ='`$ECHO "$hardcode_libdir_flag_spec_ld_GCJ" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator_GCJ='`$ECHO "$hardcode_libdir_separator_GCJ" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_GCJ='`$ECHO "$hardcode_direct_GCJ" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute_GCJ='`$ECHO "$hardcode_direct_absolute_GCJ" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L_GCJ='`$ECHO "$hardcode_minus_L_GCJ" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_GCJ='`$ECHO "$hardcode_shlibpath_var_GCJ" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic_GCJ='`$ECHO "$hardcode_automatic_GCJ" | $SED "$delay_single_quote_subst"`'
+inherit_rpath_GCJ='`$ECHO "$inherit_rpath_GCJ" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs_GCJ='`$ECHO "$link_all_deplibs_GCJ" | $SED "$delay_single_quote_subst"`'
+fix_srcfile_path_GCJ='`$ECHO "$fix_srcfile_path_GCJ" | $SED "$delay_single_quote_subst"`'
+always_export_symbols_GCJ='`$ECHO "$always_export_symbols_GCJ" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds_GCJ='`$ECHO "$export_symbols_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms_GCJ='`$ECHO "$exclude_expsyms_GCJ" | $SED "$delay_single_quote_subst"`'
+include_expsyms_GCJ='`$ECHO "$include_expsyms_GCJ" | $SED "$delay_single_quote_subst"`'
+prelink_cmds_GCJ='`$ECHO "$prelink_cmds_GCJ" | $SED "$delay_single_quote_subst"`'
+file_list_spec_GCJ='`$ECHO "$file_list_spec_GCJ" | $SED "$delay_single_quote_subst"`'
+hardcode_action_GCJ='`$ECHO "$hardcode_action_GCJ" | $SED "$delay_single_quote_subst"`'
LTCC='$LTCC'
LTCFLAGS='$LTCFLAGS'
compiler='$compiler_DEFAULT'
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+
# Quote evaled strings.
-for var in SED \
+for var in AS \
+DLLTOOL \
+OBJDUMP \
+SHELL \
+ECHO \
+SED \
GREP \
EGREP \
FGREP \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-SHELL \
-ECHO \
lt_prog_compiler_no_builtin_flag \
lt_prog_compiler_wl \
lt_prog_compiler_pic \
libname_spec \
library_names_spec \
soname_spec \
+install_override_mode \
finish_eval \
old_striplib \
striplib \
LD_GCJ \
+reload_flag_GCJ \
compiler_GCJ \
lt_prog_compiler_no_builtin_flag_GCJ \
lt_prog_compiler_wl_GCJ \
exclude_expsyms_GCJ \
include_expsyms_GCJ \
file_list_spec_GCJ; do
- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
finish_cmds \
sys_lib_search_path_spec \
sys_lib_dlsearch_path_spec \
+reload_cmds_GCJ \
old_archive_cmds_GCJ \
old_archive_from_new_cmds_GCJ \
old_archive_from_expsyms_cmds_GCJ \
module_expsym_cmds_GCJ \
export_symbols_cmds_GCJ \
prelink_cmds_GCJ; do
- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
esac
done
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_ECHO in
-*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
- ;;
-esac
-
ac_aux_dir='$ac_aux_dir'
xsi_shell='$xsi_shell'
lt_shell_append='$lt_shell_append'
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;;
"csharpcomp.sh") CONFIG_FILES="$CONFIG_FILES csharpcomp.sh:build-aux/csharpcomp.sh.in" ;;
+ "csharpexec.sh") CONFIG_FILES="$CONFIG_FILES csharpexec.sh:build-aux/csharpexec.sh.in" ;;
"$GNUmakefile") CONFIG_LINKS="$CONFIG_LINKS $GNUmakefile:$GNUmakefile" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "libidn.pc") CONFIG_FILES="$CONFIG_FILES libidn.pc" ;;
- "csharp/Makefile") CONFIG_FILES="$CONFIG_FILES csharp/Makefile" ;;
"contrib/doxygen/Doxyfile") CONFIG_FILES="$CONFIG_FILES contrib/doxygen/Doxyfile" ;;
+ "csharp/Makefile") CONFIG_FILES="$CONFIG_FILES csharp/Makefile" ;;
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
"doc/cyclo/Makefile") CONFIG_FILES="$CONFIG_FILES doc/cyclo/Makefile" ;;
"doc/java/Makefile") CONFIG_FILES="$CONFIG_FILES doc/java/Makefile" ;;
"doc/reference/Makefile") CONFIG_FILES="$CONFIG_FILES doc/reference/Makefile" ;;
+ "doc/reference/version.xml") CONFIG_FILES="$CONFIG_FILES doc/reference/version.xml" ;;
"doc/specifications/Makefile") CONFIG_FILES="$CONFIG_FILES doc/specifications/Makefile" ;;
"doc/tld/Makefile") CONFIG_FILES="$CONFIG_FILES doc/tld/Makefile" ;;
"examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
"lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
"lib/gl/Makefile") CONFIG_FILES="$CONFIG_FILES lib/gl/Makefile" ;;
"lib/gltests/Makefile") CONFIG_FILES="$CONFIG_FILES lib/gltests/Makefile" ;;
+ "libidn.pc") CONFIG_FILES="$CONFIG_FILES libidn.pc" ;;
"po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
+ "pom.xml") CONFIG_FILES="$CONFIG_FILES pom.xml" ;;
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
"tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
- *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
esac
done
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\r'
+ ac_cs_awk_cr='\\r'
else
ac_cs_awk_cr=$ac_cr
fi
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
. ./conf$$subs.sh ||
- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
t delim
:nl
h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
t nl
:delim
h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
else
cat
fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
- || as_fn_error "could not setup config files machinery" "$LINENO" 5
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[ ]*\):*/\1/
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
s/^[^=]*=[ ]*$//
}'
fi
if test -z "$ac_t"; then
break
elif $ac_last_try; then
- as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error "could not setup config headers machinery" "$LINENO" 5
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
fi # test -n "$CONFIG_HEADERS"
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
case $ac_tag in
*:-:* | *:-) cat >"$tmp/stdin" \
- || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
$ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&5
+which seems to be undefined. Please make sure it is defined" >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&2;}
+which seems to be undefined. Please make sure it is defined" >&2;}
rm -f "$tmp/stdin"
case $ac_file in
-) cat "$tmp/out" && rm -f "$tmp/out";;
*) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
esac \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
:H)
#
$as_echo "/* $configure_input */" \
&& eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
} >"$tmp/config.h" \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
rm -f "$ac_file"
mv "$tmp/config.h" "$ac_file" \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi
else
$as_echo "/* $configure_input */" \
&& eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error "could not create -" "$LINENO" 5
+ || as_fn_error $? "could not create -" "$LINENO" 5
fi
# Compute "$ac_file"'s index in $config_headers.
_am_arg="$ac_file"
$as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
if test ! -r "$ac_source"; then
- as_fn_error "$ac_source: file not found" "$LINENO" 5
+ as_fn_error $? "$ac_source: file not found" "$LINENO" 5
fi
rm -f "$ac_file"
# Try a relative symlink, then a hard link, then a copy.
- case $srcdir in
+ case $ac_source in
[\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
*) ac_rel_source=$ac_top_build_prefix$ac_source ;;
esac
ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
ln "$ac_source" "$ac_file" 2>/dev/null ||
cp -p "$ac_source" "$ac_file" ||
- as_fn_error "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
+ as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
fi
;;
:C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+# Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
# ### BEGIN LIBTOOL CONFIG
# Assembler program.
-AS=$AS
+AS=$lt_AS
# DLL creation program.
-DLLTOOL=$DLLTOOL
+DLLTOOL=$lt_DLLTOOL
# Object dumper program.
-OBJDUMP=$OBJDUMP
+OBJDUMP=$lt_OBJDUMP
# Which release of libtool.m4 was used?
macro_version=$macro_version
# Whether or not to optimize for fast installation.
fast_install=$enable_fast_install
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+
# The host system.
host_alias=$host_alias
host=$host
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
# Method to check whether dependent libraries are shared objects.
deplibs_check_method=$lt_deplibs_check_method
old_postinstall_cmds=$lt_old_postinstall_cmds
old_postuninstall_cmds=$lt_old_postuninstall_cmds
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
+
# A C compiler.
LTCC=$lt_CC
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that does not interpret backslashes.
-ECHO=$lt_ECHO
-
# Used to examine libraries when file_magic_cmd begins with "file".
MAGIC_CMD=$MAGIC_CMD
# The coded name of the library, if different from the real name.
soname_spec=$lt_soname_spec
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
+
# Command to use after installation of a shared archive.
postinstall_cmds=$lt_postinstall_cmds
# The linker used to build libraries.
LD=$lt_LD
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
# Commands used to build an old-style archive.
old_archive_cmds=$lt_old_archive_cmds
func_dirname ()
{
# Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
if test "X$func_dirname_result" = "X${1}"; then
func_dirname_result="${3}"
else
# func_basename file
func_basename ()
{
- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+ func_basename_result=`$ECHO "${1}" | $SED "$basename"`
}
func_stripname ()
{
case ${2} in
- .*) func_stripname_result=`$ECHO "X${3}" \
- | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "X${3}" \
- | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
esac
}
# func_opt_split
func_opt_split ()
{
- func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
- func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+ func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+ func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
}
# func_lo2o object
func_lo2o ()
{
- func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+ func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
}
# func_xform libobj-or-source
func_xform ()
{
- func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
+ func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
}
# func_arith arithmetic-term...
# The linker used to build libraries.
LD=$lt_LD_GCJ
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag_GCJ
+reload_cmds=$lt_reload_cmds_GCJ
+
# Commands used to build an old-style archive.
old_archive_cmds=$lt_old_archive_cmds_GCJ
ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 ||
- as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
# configure is writing to config.log, and then calls config.status.
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit
+ $ac_cs_success || as_fn_exit 1
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
dnl Process this file with autoconf to produce a configure script.
-dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+dnl Copyright (C) 2002-2011 Simon Josefsson
dnl
dnl This file is part of GNU Libidn.
dnl
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ(2.61)
-AC_INIT([GNU Libidn], [1.15], [bug-libidn@gnu.org])
-AC_COPYRIGHT([Copyright (c) 2002-2008 Simon Josefsson <simon@josefsson.org>.])
+AC_INIT([GNU Libidn], [1.23], [bug-libidn@gnu.org])
+AC_COPYRIGHT([Copyright (c) 2002-2011 Simon Josefsson <simon@josefsson.org>.])
+AC_CONFIG_AUX_DIR([build-aux])
+AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_HEADERS(config.h)
+AM_INIT_AUTOMAKE([1.10 -Wall -Werror -Wno-override])
+AM_SILENT_RULES([yes])
# Library code modified: REVISION++
# Interfaces changed/added/removed: CURRENT++ REVISION=0
# Interfaces added: AGE++
# Interfaces removed: AGE=0
-AC_SUBST(LT_CURRENT, 16)
-AC_SUBST(LT_REVISION, 44)
-AC_SUBST(LT_AGE, 5)
+AC_SUBST(LT_CURRENT, 17)
+AC_SUBST(LT_REVISION, 6)
+AC_SUBST(LT_AGE, 6)
+
+AC_PROG_CC
+gl_EARLY
+lgl_EARLY
# For DEF file.
DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}`
AC_SUBST(DLL_VERSION)
-AC_CONFIG_AUX_DIR([build-aux])
-AC_CONFIG_MACRO_DIR([m4])
-AM_INIT_AUTOMAKE([1.10 -Wall -Werror -Wno-override])
-AC_CONFIG_HEADERS(config.h)
-
-# Checks for programs.
+# We can't replace this with LT_INIT([win32-dll]) yet. For example,
+# the Ubuntu 8.04 LTS is still shipping a libtool version that doesn't
+# have it.
AC_LIBTOOL_WIN32_DLL
-AC_PROG_CC
-lgl_EARLY
-gl_EARLY
AC_PROG_LIBTOOL
+
+# Checks for programs.
AM_MISSING_PROG(PERL, perl, $missing_dir)
AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir)
AM_GNU_GETTEXT(external)
-AM_GNU_GETTEXT_VERSION(0.17)
+AM_GNU_GETTEXT_VERSION(0.18.1)
AM_ICONV
AM_PATH_LISPDIR
AC_MSG_RESULT($enable_java)
# Check for C#
-AM_CONDITIONAL(CSHARP, test -n "$HAVE_CSHARPCOMP")
-AC_MSG_CHECKING([[if implementation in C# should be built]])
if test -n "$HAVE_CSHARPCOMP"; then
+ gt_CSHARPEXEC
+fi
+AC_MSG_CHECKING([[if implementation in C# should be built]])
+if test -n "$HAVE_CSHARPCOMP" && test -n "$HAVE_CSHARPEXEC"; then
enable_csharp=yes
else
enable_csharp=no
fi
AC_MSG_RESULT($enable_csharp)
+AM_CONDITIONAL(CSHARP, test "$enable_csharp" = yes)
-sj_VALGRIND
sj_UPDATE_HEADER_VERSION([$srcdir/lib/stringprep.h])
AC_ARG_ENABLE([gcc-warnings],
if test "$gl_gcc_warnings" = yes; then
gl_WARN_ADD([-Werror], [WERROR_CFLAGS])
- gl_WARN_ADD([-Wframe-larger-than=80], [WSTACK_CFLAGS])
+ gl_WARN_ADD([-Wframe-larger-than=112], [WSTACK_CFLAGS])
nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings
+ nw="$nw -Wpadded" # Struct in src/idn_cmd.h is not padded
+ nw="$nw -Wformat" # Self tests and examples print size_t as %d
nw="$nw -Wc++-compat" # We don't care strongly about C++ compilers
nw="$nw -Woverlength-strings" # Some of our strings are too large
nw="$nw -Wsign-conversion" # Too many warnings for now
nw="$nw -Wmissing-noreturn" # Too many warnings for now
nw="$nw -Wunreachable-code" # Too many false positives
nw="$nw -Wlogical-op" # Too many false positives
+ nw="$nw -Wsuggest-attribute=pure" # Is it worth using attributes?
+ nw="$nw -Wsuggest-attribute=const" # Is it worth using attributes?
gl_MANYWARN_ALL_GCC([ws])
gl_MANYWARN_COMPLEMENT(ws, [$ws], [$nw])
gl_WARN_ADD([$w])
done
- gl_WARN_ADD([-Wno-missing-field-initializers])
gl_WARN_ADD([-fdiagnostics-show-option])
fi
AC_CONFIG_FILES([
Makefile
- libidn.pc
- csharp/Makefile
contrib/doxygen/Doxyfile
+ csharp/Makefile
doc/Makefile
doc/cyclo/Makefile
doc/java/Makefile
doc/reference/Makefile
+ doc/reference/version.xml
doc/specifications/Makefile
doc/tld/Makefile
examples/Makefile
lib/Makefile
lib/gl/Makefile
lib/gltests/Makefile
+ libidn.pc
po/Makefile.in
+ pom.xml
src/Makefile
tests/Makefile
])
Libidn contrib/README -- Notes for the contrib/ subdirectory.
-Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+Josefsson
See the end for copying conditions.
The idn-python/ sub-directory contains a Python interface for Libidn,
#!/usr/bin/perl
-# Copyright (C) 2003, 2005, 2006, 2007, 2008 Simon Josefsson
+# Copyright (C) 2003, 2005, 2006, 2007, 2008, 2010, 2011 Simon Josefsson
# 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
## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Simon Josefsson.
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2011 Simon
+# Josefsson.
#
# This file is part of GNU Libidn.
#
Libidn README -- Notes for the JAVA API proof of concept.
-Copyright (C) 2003, 2004, 2005, 2006, 2007 Simon Josefsson
+Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010, 2011 Simon Josefsson
See the end for copying conditions.
This directory builds Java *.class files that implement the Libidn
/// <summary>
-/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+/// Foundation, Inc.
/// *
/// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
/// *
return output;
}
}
-}
\ No newline at end of file
+}
/// <summary>
-/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+/// Foundation, Inc.
/// *
/// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
/// *
{
}
}
-}
\ No newline at end of file
+}
## Process this file with automake to produce Makefile.in
-# Copyright (C) 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon Josefsson.
#
# This file is part of GNU Libidn.
#
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
+CSHARPEXEC = $(SHELL) $(top_builddir)/csharpexec.sh
CSHARPCOMP = $(SHELL) $(top_builddir)/csharpcomp.sh
CSHARPCOMPFLAGS =
RFC3454.cs CombiningClass.cs DecompositionKeys.cs DecompositionMappings.cs Composition.cs: $(GEN_SOURCES)
make GenerateTables.exe
- ./GenerateTables.exe
+ $(CSHARPEXEC) ./GenerateTables.exe
install-dll-dir:
$(mkinstalldirs) $(DESTDIR)$(libdir)
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon Josefsson.
#
# This file is part of GNU Libidn.
#
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS =
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
+CSHARPEXEC = $(SHELL) $(top_builddir)/csharpexec.sh
CSHARPCOMP = $(SHELL) $(top_builddir)/csharpcomp.sh
SOURCES = AssemblyInfo.cs IDNA.cs RFC3454.cs CombiningClass.cs \
IDNAException.cs Stringprep.cs Composition.cs NFKC.cs \
@CSHARP_TRUE@RFC3454.cs CombiningClass.cs DecompositionKeys.cs DecompositionMappings.cs Composition.cs: $(GEN_SOURCES)
@CSHARP_TRUE@ make GenerateTables.exe
-@CSHARP_TRUE@ ./GenerateTables.exe
+@CSHARP_TRUE@ $(CSHARPEXEC) ./GenerateTables.exe
@CSHARP_TRUE@install-dll-dir:
@CSHARP_TRUE@ $(mkinstalldirs) $(DESTDIR)$(libdir)
/// <summary>
-/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+/// Foundation, Inc.
/// *
/// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
/// *
return - 1;
}
}
-}
\ No newline at end of file
+}
/// <summary>
-/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+/// Foundation, Inc.
/// *
/// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
/// *
}
}
}
-}
\ No newline at end of file
+}
/// <summary>
-/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+/// Foundation, Inc.
/// *
/// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
/// *
{
}
}
-}
\ No newline at end of file
+}
/// <summary>
-/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+/// Foundation, Inc.
/// *
/// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
/// *
}
}
}
-}
\ No newline at end of file
+}
/// <summary>
-/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+/// Foundation, Inc.
/// *
/// Author: Alexander Gnauck AG-Software, mailto:gnauck@ag-software.de
/// *
{
}
}
-}
\ No newline at end of file
+}
/// <summary>\r
-/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.\r
+/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software\r
+/// Foundation, Inc.\r
/// *\r
/// Author: Alexander Gnauck AG-Software\r
/// *\r
// Revision\r
//\r
[assembly: AssemblyVersion("1.0.0.0")]\r
-[assembly: AssemblyFileVersion("1.0.0.0")]
\ No newline at end of file
+[assembly: AssemblyFileVersion("1.0.0.0")]\r
/// <summary>\r
-/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.\r
+/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software\r
+/// Foundation, Inc.\r
/// *\r
/// Author: Alexander Gnauck AG-Software\r
/// *\r
Console.WriteLine("Finished!");\r
}\r
}\r
-}
\ No newline at end of file
+}\r
/// <summary>\r
-/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.\r
+/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software\r
+/// Foundation, Inc.\r
/// *\r
/// Author: Alexander Gnauck AG-Software\r
/// *\r
w.Close(); \r
}\r
}\r
-}
\ No newline at end of file
+}\r
/// <summary>\r
-/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.\r
+/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software\r
+/// Foundation, Inc.\r
/// *\r
/// Author: Alexander Gnauck AG-Software\r
/// *\r
return base.MemberwiseClone();\r
}\r
}\r
-}
\ No newline at end of file
+}\r
/// <summary>\r
-/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.\r
+/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free\r
+/// Software Foundation, Inc.\r
/// *\r
/// Author: Alexander Gnauck AG-Software\r
/// *\r
/// <summary>\r
-/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.\r
+/// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software\r
+/// Foundation, Inc.\r
/// *\r
/// Author: Alexander Gnauck AG-Software\r
/// *\r
;\r
}\r
}\r
-}
\ No newline at end of file
+}\r
<ItemGroup />\r
<ItemGroup />\r
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />\r
-</Project>
\ No newline at end of file
+</Project>\r
<StartProgram />\r
<StartArguments />\r
</PropertyGroup>\r
-</Project>
\ No newline at end of file
+</Project>\r
</Files>\r
</ECSHARP>\r
</VisualStudioProject>\r
-\r
## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+# Copyright (C) 2002-2011 Simon Josefsson.
#
# This file is part of GNU Libidn.
#
GDOC_MAN_EXTRA_ARGS = -module $(PACKAGE) -sourceversion $(VERSION) \
-bugsto $(PACKAGE_BUGREPORT) -pkg-name "$(PACKAGE_NAME)" \
-includefuncprefix -seeinfo $(PACKAGE) \
- -copyright "2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson" \
+ -copyright "2002-2011 Simon Josefsson" \
-verbatimcopying
include $(srcdir)/Makefile.gdoci
# -*- makefile -*-
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011 Simon Josefsson
#
# This file is part of GNU Libidn.
#
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+# Copyright (C) 2002-2011 Simon Josefsson.
#
# This file is part of GNU Libidn.
#
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# -*- makefile -*-
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011 Simon Josefsson
#
# This file is part of GNU Libidn.
#
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
INFO_DEPS = $(srcdir)/libidn.info
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
GDOC_MAN_EXTRA_ARGS = -module $(PACKAGE) -sourceversion $(VERSION) \
-bugsto $(PACKAGE_BUGREPORT) -pkg-name "$(PACKAGE_NAME)" \
-includefuncprefix -seeinfo $(PACKAGE) \
- -copyright "2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson" \
+ -copyright "2002-2011 Simon Josefsson" \
-verbatimcopying
BUILT_SOURCES = Makefile.gdoc
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
## Process this file with automake to produce Makefile.in
-# Copyright (C) 2008, 2009 Simon Josefsson.
+# Copyright (C) 2008-2011 Simon Josefsson.
#
# This file is part of GNU Libidn.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-EXTRA_DIST = cyclo-libidn.html
+EXTRA_DIST = cyclo-$(PACKAGE).html
-cyclo-libidn.html:
- $(PMCCABE) ${top_srcdir}/lib/*.[ch] \
+vcurl = "http://git.savannah.gnu.org/gitweb/?p=$(PACKAGE).git;a=blob;f=lib/%FILENAME%;hb=HEAD"
+
+cyclo-$(PACKAGE).html:
+ (cd ${top_srcdir}/lib && \
+ $(PMCCABE) *.[ch] \
| sort -nr \
- | $(AWK) -f ${top_srcdir}/build-aux/pmccabe2html \
- -v lang=html -v name="$(PACKAGE_NAME)" \
- -v vcurl="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=%FILENAME%;hb=HEAD" \
- -v url="http://www.gnu.org/software/libidn/" \
- -v css=../../build-aux/pmccabe.css \
+ | LANG=C $(AWK) -f ${abs_top_srcdir}/build-aux/pmccabe2html \
+ -v lang=html -v name="$(PACKAGE_STRING)" \
+ -v vcurl=$(vcurl) \
+ -v url="http://www.gnu.org/software/$(PACKAGE)/" \
+ -v css=${abs_top_srcdir}/build-aux/pmccabe.css) \
> tmp
mv tmp $@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2008, 2009 Simon Josefsson.
+# Copyright (C) 2008-2011 Simon Josefsson.
#
# This file is part of GNU Libidn.
#
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-EXTRA_DIST = cyclo-libidn.html
+EXTRA_DIST = cyclo-$(PACKAGE).html
+vcurl = "http://git.savannah.gnu.org/gitweb/?p=$(PACKAGE).git;a=blob;f=lib/%FILENAME%;hb=HEAD"
all: all-am
.SUFFIXES:
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
-cyclo-libidn.html:
- $(PMCCABE) ${top_srcdir}/lib/*.[ch] \
+cyclo-$(PACKAGE).html:
+ (cd ${top_srcdir}/lib && \
+ $(PMCCABE) *.[ch] \
| sort -nr \
- | $(AWK) -f ${top_srcdir}/build-aux/pmccabe2html \
- -v lang=html -v name="$(PACKAGE_NAME)" \
- -v vcurl="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=%FILENAME%;hb=HEAD" \
- -v url="http://www.gnu.org/software/libidn/" \
- -v css=../../build-aux/pmccabe.css \
+ | LANG=C $(AWK) -f ${abs_top_srcdir}/build-aux/pmccabe2html \
+ -v lang=html -v name="$(PACKAGE_STRING)" \
+ -v vcurl=$(vcurl) \
+ -v url="http://www.gnu.org/software/$(PACKAGE)/" \
+ -v css=${abs_top_srcdir}/build-aux/pmccabe.css) \
> tmp
mv tmp $@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
-<!-- Generated by gnulib's pmccabe2html at 1244457672 -->
+<!-- Generated by gnulib's pmccabe2html at 1322217739 -->
<head>
-<title>Cyclomatic Complexity report for GNU Libidn</title>
+<title>Cyclomatic Complexity report for GNU Libidn 1.23</title>
-<meta name="description" content="Cyclomatic Complexity report for GNU Libidn">
-<meta name="keywords" content="Cyclomatic Complexity report for GNU Libidn">
+<meta name="description" content="Cyclomatic Complexity report for GNU Libidn 1.23">
+<meta name="keywords" content="Cyclomatic Complexity report for GNU Libidn 1.23">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="pmccabe2html">
<style type ="text/css" media="screen">
<!--
body {
-
font-family: Helvetica, sans-serif;
-
}
.page_title {
-
font: 18pt Georgia, serif;
-/* font-size: 1.5em;
- font-weight: bold; */
color: darkred;
- border-bottom: 2px solid darkred;
}
.section_title {
-
font: 14pt Georgia, serif;
color: darkred;
- border-bottom: 2px dashed darkred;
}
.report_timestamp {
-
color: darkred;
font-weight: bold;
-
}
.function_src {
-
text-align: left;
background: white;
}
.resume_table {
-
}
.resume_header_entry {
-
color: black;
}
.resume_number_entry {
-
color: darkred;
font-weight: bold;
text-align: right;
}
.ranges_table {
-
border-spacing: 0px;
border-bottom: solid 2px black;
border-top: solid 2px black;
}
.ranges_header_entry {
-
padding: 5px;
border-bottom: solid 1px black;
font-size: 1em;
}
.ranges_entry {
-
}
.ranges_entry_simple {
-
background: #87ff75;
-
}
.ranges_entry_moderate {
-
background: #fffc60;
-
}
.ranges_entry_high {
-
background: #ff5a5d;
-
}
.ranges_entry_untestable {
-
background: #993300
-
}
.function_table {
-
border-spacing: 0px;
border-bottom: solid 2px black;
border-top: solid 2px black;
}
.function_table_caption {
-
font-size: 1.1em;
font-weight: bold;
color: black;
}
.function_table_header {
-
}
.function_table_header_entry {
-
padding: 5px;
border-bottom: solid 1px black;
font-size: 1em;
}
.function_entry {
-
-
}
.function_entry_simple {
-
background: #87ff75;
-
}
.function_entry_moderate {
-
background: #fffc60;
-
}
.function_entry_high {
-
background: #ff5a5d;
-
}
.function_entry_untestable {
-
background: #993300
-
}
.function_entry_name {
-
font-size: 1em;
text-align: left;
font-weight: bold;
}
.function_entry_cyclo {
-
font-size: 1em;
text-align: right;
text-valign: top;
}
.function_entry_number {
-
font-size: 1em;
text-align: right;
text-valign: top;
}
.function_entry_filename {
-
font-size: 1em;
text-align: left;
text-valign: top;
border-top: solid 1px black;
padding: 3px;
}
-
-.sidemenu {
-
- border: 1px black solid;
- padding: 5px;
-
-}
-
-.sidemenuheader {
-
- color: darkred;
- font-size: 1.1em;
- font-weight: bold;
- border-bottom: 1px dashed darkred;
-}
-
-.sidemenuentry {
-
-
-}
-
-.menu {
-
-}
-
-->
</style />
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
-<a href="http://www.gnu.org/software/libidn/">Back to GNU Libidn Homepage</a><br/><br/>
-<div class="page_title">GNU Libidn Cyclomatic Complexity Report</div>
-<p>Report generated at: <span class="report_timestamp">Mon Jun 08 12:41:12 CEST 2009</div></p>
-<div class="section_title">Resume</div>
-<br/>
-<table class="resume_table">
+<a href="http://www.gnu.org/software/libidn/">Back to GNU Libidn 1.23 Homepage</a><br/><br/>
+<div class="page_title">GNU Libidn 1.23 Cyclomatic Complexity Report</div>
+<p>Report generated at: <span class="report_timestamp">Fri Nov 25 11:42:19 CET 2011</div></p>
+<div class="section_title">Summary</div>
+<table class="summary_table">
<tr>
-<td class="resume_header_entry">
+<td class="summary_header_entry">
Total number of functions
</td>
-<td class="resume_number_entry">
+<td class="summary_number_entry">
72
</td>
</tr>
<tr>
-<td class="resume_header_entry">
+<td class="summary_header_entry">
Number of low risk functions
</td>
-<td class="resume_number_entry">
+<td class="summary_number_entry">
61
</td>
</tr>
<tr>
-<td class="resume_header_entry">
+<td class="summary_header_entry">
Number of moderate risk functions
</td>
-<td class="resume_number_entry">
+<td class="summary_number_entry">
6
</td>
</tr>
<tr>
-<td class="resume_header_entry">
+<td class="summary_header_entry">
Number of high risk functions
</td>
-<td class="resume_number_entry">
+<td class="summary_number_entry">
5
</td>
</tr>
<tr>
-<td class="resume_header_entry">
+<td class="summary_header_entry">
Number of untestable functions
</td>
-<td class="resume_number_entry">
+<td class="summary_number_entry">
0
</td>
</tr>
</table>
<br/>
<div class="section_title">Details for all functions</div>
-<p>Used ranges:</p>
<table class="ranges_table">
<tr>
<td class="ranges_header_entry">
Function Name
</td>
<td class="function_table_header_entry">
-Cyclomatic
-<br/>
-Complexity
+Modified Cyclo
</td>
<td class="function_table_header_entry">
Number of
191
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">lib/idna.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
</td>
</tr>
<tr>
stringprep_4i
</td>
<td class="function_entry_cyclo">
-37
+30
</td>
<td class="function_entry_number">
76
137
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">lib/stringprep.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
</td>
</tr>
<tr>
30
</td>
<td class="function_entry_number">
-77
+76
</td>
<td class="function_entry_number">
-135
+132
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr>
}
if (n_wc > 0)
- {
- g_unicode_canonical_ordering (wc_buffer + last_start,
- n_wc - last_start);
- last_start = n_wc;
- }
+ g_unicode_canonical_ordering (wc_buffer + last_start,
+ n_wc - last_start);
wc_buffer[n_wc] = 0;
111
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">lib/punycode.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">punycode.c</a>
</td>
</tr>
<tr>
101
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">lib/punycode.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">punycode.c</a>
</td>
</tr>
<tr>
15
</td>
<td class="function_entry_number">
-45
+46
</td>
<td class="function_entry_number">
-82
+85
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">lib/idna.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
</td>
</tr>
<tr>
idna_to_ascii_4z (const uint32_t * input, char **output, int flags)
{
const uint32_t *start = input;
- const uint32_t *end = input;
+ const uint32_t *end;
char buf[64];
char *out = NULL;
int rc;
{
rc = idna_to_ascii_4i (start, (size_t) (end - start), buf, flags);
if (rc != IDNA_SUCCESS)
- return rc;
+ {
+ free (out);
+ return rc;
+ }
}
if (out)
88
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr>
36
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">lib/tld.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
</td>
</tr>
<tr>
47
</td>
<td class="function_entry_number">
-116
+118
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">lib/idna.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
</td>
</tr>
<tr>
/* 3. Verify that the sequence begins with the ACE prefix, and save a
* copy of the sequence.
+ * ... The ToASCII and ToUnicode operations MUST recognize the ACE
+ prefix in a case-insensitive manner.
*/
step3:
- if (memcmp (IDNA_ACE_PREFIX, utf8in, strlen (IDNA_ACE_PREFIX)) != 0)
+ if (c_strncasecmp (utf8in, IDNA_ACE_PREFIX, strlen (IDNA_ACE_PREFIX)) != 0)
{
free (utf8in);
return IDNA_NO_ACE_PREFIX;
54
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr>
28
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">lib/tld.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
</td>
</tr>
<tr>
47
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr class="function_entry_simple">
41
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr class="function_entry_simple">
23
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr class="function_entry_simple">
38
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">lib/stringprep.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
</td>
</tr>
<tr class="function_entry_simple">
37
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr class="function_entry_simple">
50
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr class="function_entry_simple">
7
</td>
<td class="function_entry_number">
-38
+37
</td>
<td class="function_entry_number">
-62
+61
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">lib/idna.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
</td>
</tr>
<tr class="function_entry_simple">
36
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr class="function_entry_simple">
34
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr class="function_entry_simple">
27
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">lib/pr29.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">pr29.c</a>
</td>
</tr>
<tr class="function_entry_simple">
21
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">lib/stringprep.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
</td>
</tr>
<tr class="function_entry_simple">
53
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">lib/stringprep.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
</td>
</tr>
<tr class="function_entry_simple">
14
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">lib/tld.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
</td>
</tr>
<tr class="function_entry_simple">
17
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/toutf8.c;hb=HEAD">lib/toutf8.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/toutf8.c;hb=HEAD">toutf8.c</a>
</td>
</tr>
<tr class="function_entry_simple">
27
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">lib/stringprep.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
</td>
</tr>
<tr class="function_entry_simple">
24
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">lib/tld.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
</td>
</tr>
<tr class="function_entry_simple">
16
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">lib/tld.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
</td>
</tr>
<tr class="function_entry_simple">
6
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">lib/punycode.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">punycode.c</a>
</td>
</tr>
<tr class="function_entry_simple">
28
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">lib/tld.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
</td>
</tr>
<tr class="function_entry_simple">
24
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">lib/idna.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
</td>
</tr>
<tr class="function_entry_simple">
19
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">lib/stringprep.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
</td>
</tr>
<tr class="function_entry_simple">
12
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">lib/pr29.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">pr29.c</a>
</td>
</tr>
<tr class="function_entry_simple">
16
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">lib/punycode.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">punycode.c</a>
</td>
</tr>
<tr class="function_entry_simple">
18
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">lib/stringprep.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
</td>
</tr>
<tr class="function_entry_simple">
11
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">lib/pr29.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">pr29.c</a>
</td>
</tr>
<tr class="function_entry_simple">
11
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">lib/pr29.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">pr29.c</a>
</td>
</tr>
<tr class="function_entry_simple">
14
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">lib/tld.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
</td>
</tr>
<tr class="function_entry_simple">
12
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">lib/stringprep.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/stringprep.c;hb=HEAD">stringprep.c</a>
</td>
</tr>
<tr class="function_entry_simple">
13
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">lib/tld.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
</td>
</tr>
<tr class="function_entry_simple">
13
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">lib/tld.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
</td>
</tr>
<tr class="function_entry_simple">
8
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/version.c;hb=HEAD">lib/version.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/version.c;hb=HEAD">version.c</a>
</td>
</tr>
<tr class="function_entry_simple">
22
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">lib/tld.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
</td>
</tr>
<tr class="function_entry_simple">
21
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">lib/tld.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
</td>
</tr>
<tr class="function_entry_simple">
20
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">lib/tld.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/tld.c;hb=HEAD">tld.c</a>
</td>
</tr>
<tr class="function_entry_simple">
tld_strerror
</td>
<td class="function_entry_cyclo">
-7
+2
</td>
<td class="function_entry_number">
17
40
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-tld.c;hb=HEAD">lib/strerror-tld.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-tld.c;hb=HEAD">strerror-tld.c</a>
</td>
</tr>
<tr class="function_entry_simple">
punycode_strerror
</td>
<td class="function_entry_cyclo">
-5
+2
</td>
<td class="function_entry_number">
13
32
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-punycode.c;hb=HEAD">lib/strerror-punycode.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-punycode.c;hb=HEAD">strerror-punycode.c</a>
</td>
</tr>
<tr class="function_entry_simple">
pr29_strerror
</td>
<td class="function_entry_cyclo">
-4
+2
</td>
<td class="function_entry_number">
11
28
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-pr29.c;hb=HEAD">lib/strerror-pr29.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-pr29.c;hb=HEAD">strerror-pr29.c</a>
</td>
</tr>
<tr class="function_entry_simple">
16
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">lib/idna.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
</td>
</tr>
<tr class="function_entry_simple">
18
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">lib/idna.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
</td>
</tr>
<tr class="function_entry_simple">
15
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">lib/idna.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
</td>
</tr>
<tr class="function_entry_simple">
15
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">lib/idna.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
</td>
</tr>
<tr class="function_entry_simple">
15
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">lib/idna.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
</td>
</tr>
<tr class="function_entry_simple">
16
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">lib/idna.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idna.c;hb=HEAD">idna.c</a>
</td>
</tr>
<tr class="function_entry_simple">
14
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr class="function_entry_simple">
16
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">lib/pr29.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">pr29.c</a>
</td>
</tr>
<tr class="function_entry_simple">
16
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/toutf8.c;hb=HEAD">lib/toutf8.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/toutf8.c;hb=HEAD">toutf8.c</a>
</td>
</tr>
<tr class="function_entry_simple">
10
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">lib/pr29.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/pr29.c;hb=HEAD">pr29.c</a>
</td>
</tr>
<tr class="function_entry_simple">
6
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">lib/punycode.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">punycode.c</a>
</td>
</tr>
<tr class="function_entry_simple">
stringprep_strerror
</td>
<td class="function_entry_cyclo">
-13
+2
</td>
<td class="function_entry_number">
29
64
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-stringprep.c;hb=HEAD">lib/strerror-stringprep.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-stringprep.c;hb=HEAD">strerror-stringprep.c</a>
</td>
</tr>
<tr class="function_entry_simple">
idna_strerror
</td>
<td class="function_entry_cyclo">
-13
+2
</td>
<td class="function_entry_number">
29
64
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-idna.c;hb=HEAD">lib/strerror-idna.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/strerror-idna.c;hb=HEAD">strerror-idna.c</a>
</td>
</tr>
<tr class="function_entry_simple">
12
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr class="function_entry_simple">
11
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr class="function_entry_simple">
7
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr class="function_entry_simple">
7
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">lib/punycode.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/punycode.c;hb=HEAD">punycode.c</a>
</td>
</tr>
<tr class="function_entry_simple">
5
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr class="function_entry_simple">
5
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr class="function_entry_simple">
5
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">lib/nfkc.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
<tr class="function_entry_simple">
5
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idn-free.c;hb=HEAD">lib/idn-free.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/idn-free.c;hb=HEAD">idn-free.c</a>
</td>
</tr>
<tr class="function_entry_simple">
5
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/toutf8.c;hb=HEAD">lib/toutf8.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/toutf8.c;hb=HEAD">toutf8.c</a>
</td>
</tr>
<tr class="function_entry_simple">
5
</td>
<td class="function_entry_filename">
-<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/toutf8.c;hb=HEAD">lib/toutf8.c</a>
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/toutf8.c;hb=HEAD">toutf8.c</a>
+</td>
+</tr>
+<tr class="function_entry_simple">
+<td class="function_entry_filename">
+
+</td>
+<td class="function_entry_name">
+stringprep_utf8_nfkc_normalize
+</td>
+<td class="function_entry_cyclo">
+1
+</td>
+<td class="function_entry_number">
+1
+</td>
+<td class="function_entry_number">
+5
+</td>
+<td class="function_entry_filename">
+<a href="http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=blob;f=lib/nfkc.c;hb=HEAD">nfkc.c</a>
</td>
</tr>
</table>
-<hr color="black" size="2"/> Copyright (c) 2007, 2008 Free Software Foundation Inc.
+<hr color="black" size="2"/> Copyright (c) 2007, 2008 Free Software Foundation, Inc.
</body>
</html>
of text. A copy that is not ``Transparent'' is called ``Opaque''.
Examples of suitable formats for Transparent copies include plain
-@sc{ascii} without markup, Texinfo input format, La@TeX{} input
-format, @acronym{SGML} or @acronym{XML} using a publicly available
-@acronym{DTD}, and standard-conforming simple @acronym{HTML},
-PostScript or @acronym{PDF} designed for human modification. Examples
-of transparent image formats include @acronym{PNG}, @acronym{XCF} and
-@acronym{JPG}. Opaque formats include proprietary formats that can be
-read and edited only by proprietary word processors, @acronym{SGML} or
-@acronym{XML} for which the @acronym{DTD} and/or processing tools are
-not generally available, and the machine-generated @acronym{HTML},
-PostScript or @acronym{PDF} produced by some word processors for
+ASCII without markup, Texinfo input format, La@TeX{} input
+format, SGML or XML using a publicly available
+DTD, and standard-conforming simple HTML,
+PostScript or PDF designed for human modification. Examples
+of transparent image formats include PNG, XCF and
+JPG. Opaque formats include proprietary formats that can be
+read and edited only by proprietary word processors, SGML or
+XML for which the DTD and/or processing tools are
+not generally available, and the machine-generated HTML,
+PostScript or PDF produced by some word processors for
output purposes only.
The ``Title Page'' means, for a printed book, the title page itself,
@end smallexample
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the ``with@dots{}Texts.'' line with this:
+replace the ``with@dots{}Texts.''@: line with this:
@smallexample
@group
-#!/usr/bin/perl
+eval '(exit $?0)' && eval 'exec perl -S "$0" ${1+"$@"}'
+ & eval 'exec perl -S "$0" $argv:q'
+ if 0;
+# Generate documentation from source code.
-## Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+## Copyright (c) 2002-2011 Simon Josefsson
## added -texinfo, -listfunc, -pkg-name
## man page revamp
## various improvements
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
-.TH IDN "1" "June 2009" "idn 1.15" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.38.2.
+.TH IDN "1" "November 2011" "idn 1.23" "User Commands"
.SH NAME
idn \- Internationalized Domain Names command line tool
.SH SYNOPSIS
.SH AUTHOR
Written by Simon Josefsson.
.SH "REPORTING BUGS"
-Report bugs to <bug\-libidn@gnu.org>.
-GNU Libidn home page: <http://www.gnu.org/software/libidn/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>.
+Report bugs to: bug\-libidn@gnu.org
+.br
+GNU Libidn home page: <http://www.gnu.org/software/libidn/>
+.br
+General help using GNU software: <http://www.gnu.org/gethelp/>
.SH COPYRIGHT
-Copyright \(co 2009 Simon Josefsson.
+Copyright \(co 2011 Simon Josefsson.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
.br
This is free software: you are free to change and redistribute it.
## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+# Josefsson
#
# This file is part of GNU Libidn.
#
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+# Josefsson
#
# This file is part of GNU Libidn.
#
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
<?xml version="1.0" encoding="US-ASCII"?>
-<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "./resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>About</title><script src="./resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><link rel="stylesheet" type="text/css" href="./resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="./resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content about" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="./gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="gnu/inet/encoding/tree.html">Tree</a></span> <span class="navbar item enabled"><a href="./alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="./deprecated.html">Deprecated</a></span> <span class="navbar item active">About</span></div></td></tr><tr><td class="navi"></td><td class="navi"><a href="./index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="about.html" title="Show without frames" target="_top">No Frames</a> </td></tr></table><h1 class="about title">About</h1><p class="about generator">Generated by Gjdoc HtmlDoclet 0.7.9, part of <a href="http://www.gnu.org/software/classpath/cp-tools/" title="" target="_top">GNU Classpath Tools</a>, on June 8, 2009 10:39:59 AM GMT.</p><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="./gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="gnu/inet/encoding/tree.html">Tree</a></span> <span class="navbar item enabled"><a href="./alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="./deprecated.html">Deprecated</a></span> <span class="navbar item active">About</span></div></td></tr></table></body></html>
\ No newline at end of file
+<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "./resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>About</title><script src="./resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><link rel="stylesheet" type="text/css" href="./resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="./resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content about" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="./gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="gnu/inet/encoding/tree.html">Tree</a></span> <span class="navbar item enabled"><a href="./alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="./deprecated.html">Deprecated</a></span> <span class="navbar item active">About</span></div></td></tr><tr><td class="navi"></td><td class="navi"><a href="./index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="about.html" title="Show without frames" target="_top">No Frames</a> </td></tr></table><h1 class="about title">About</h1><p class="about generator">Generated by Gjdoc HtmlDoclet 0.98, part of <a href="http://www.gnu.org/software/classpath/cp-tools/" title="" target="_top">GNU Classpath Tools</a>, on November 25, 2011 10:38:09 a.m. GMT.</p><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="./gnu/inet/encoding/package-summary.html">Package</a></span> <span class="navbar item enabled"><a href="gnu/inet/encoding/tree.html">Tree</a></span> <span class="navbar item enabled"><a href="./alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="./deprecated.html">Deprecated</a></span> <span class="navbar item active">About</span></div></td></tr></table></body></html>
\ No newline at end of file
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
-@iftex
-@heading NO WARRANTY
-@end iftex
-@ifinfo
-@center NO WARRANTY
-
-@end ifinfo
+@center @b{NO WARRANTY}
@item
BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
DAMAGES.
@end enumerate
-@iftex
-@heading END OF TERMS AND CONDITIONS
-@end iftex
-@ifinfo
-@center END OF TERMS AND CONDITIONS
-
-@end ifinfo
+@subheading END OF TERMS AND CONDITIONS
@page
@subheading How to Apply These Terms to Your New Libraries
%!PS-Adobe-2.0 EPSF-2.0
%%Title: components.fig
-%%Creator: fig2dev Version 3.2 Patchlevel 5a
-%%CreationDate: Mon Jun 8 12:40:03 2009
+%%Creator: fig2dev Version 3.2 Patchlevel 5c
+%%CreationDate: Fri Nov 25 11:38:11 2011
%%BoundingBox: 0 0 382 350
%Magnification: 1.0000
%%EndComments
<html lang="en">
<head>
-<title>GNU Libidn</title>
+<title>GNU Libidn 1.23</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="description" content="GNU Libidn">
+<meta name="description" content="GNU Libidn 1.23">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="top" href="#Top">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
-This manual is last updated 28 May 2009 for version
-1.15 of GNU Libidn.
+This manual is last updated 25 November 2011 for version
+1.23 of GNU Libidn.
-Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+2010, 2011 Simon Josefsson.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
-body {
+body {
margin: 2%;
padding: 0 5%;
background: #ffffff;
--></style>
</head>
<body>
-<h1 class="settitle">GNU Libidn</h1>
+<h1 class="settitle">GNU Libidn 1.23</h1>
<div class="contents">
<h2>Table of Contents</h2>
<ul>
<h2 class="unnumbered">GNU Libidn</h2>
-<p>This manual is last updated 28 May 2009 for version
-1.15 of GNU Libidn.
+<p>This manual is last updated 25 November 2011 for version
+1.23 of GNU Libidn.
- <p>Copyright © 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+ <p>Copyright © 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+2010, 2011 Simon Josefsson.
<blockquote>
Permission is granted to copy, distribute and/or modify this document
<dt>It's Free Software<dd>Anybody can use, modify, and redistribute it under the terms of the
GNU Lesser General Public License version 2.1 or later (see <a href="#GNU-LGPL">GNU LGPL</a>).
- <br><dt>It's thread-safe<dd>No global state is kept in the library. All functions are reentrant.
+ <br><dt>It's thread-safe<dd>No global state is kept in the library. All functions are re-entrant.
<br><dt>It's portable<dd>The code is intended to be written in pure ANSI C89. It has been
tested on many Unix like operating systems, and Windows.
<h3 class="section">1.4 Supported Platforms</h3>
<p>Libidn has at some point in time been tested on the following
-platforms. Online build reports for each platforms and Libidn version
-is available at <a href="http://autobuild.josefsson.org/libidn/">http://autobuild.josefsson.org/libidn/</a>.
+platforms. Build reports for each platforms and Libidn version is
+available at <a href="http://autobuild.josefsson.org/libidn/">http://autobuild.josefsson.org/libidn/</a>.
<ol type=1 start=1>
<a name="index-Windows-30"></a><a name="index-Microsoft-31"></a><a name="index-mingw32-32"></a>
GCC 3.4.4 and GNU Make <code>i586-mingw32msvc</code>.
+ <li>OS/2
+<a name="index-OS_002f2-33"></a><a name="index-IBM-34"></a>
+GCC.
+
</ol>
<p>If you use Libidn on, or port Libidn to, a new platform please report
<p>If you are interested, please write to:
-<pre class="verbatim">Simon Josefsson Datakonsult
+<pre class="verbatim">Simon Josefsson Datakonsult AB
Hagagatan 24
113 47 Stockholm
Sweden
E-mail: simon@josefsson.org
</pre>
- <p>If your company provide support related to GNU Libidn and would like
+ <p>If your company provides support related to GNU Libidn and would like
to be mentioned here, contact the author (see <a href="#Bug-Reports">Bug Reports</a>).
<div class="node">
<h3 class="section">1.7 Downloading and Installing</h3>
-<p><a name="index-Installation-33"></a><a name="index-Download-34"></a>
+<p><a name="index-Installation-35"></a><a name="index-Download-36"></a>
The package can be downloaded from several places, including:
<p><a href="ftp://alpha.gnu.org/pub/gnu/libidn/">ftp://alpha.gnu.org/pub/gnu/libidn/</a>
<p>The latest version is stored in a file, e.g.,
-‘<samp><span class="samp">libidn-1.15.tar.gz</span></samp>’ where the ‘<samp><span class="samp">1.15</span></samp>’
+‘<samp><span class="samp">libidn-1.23.tar.gz</span></samp>’ where the ‘<samp><span class="samp">1.23</span></samp>’
value is the highest version number in the directory.
<p>The package is then extracted, configured and built like many other
and install the package. You will need a few basic tools, such as
‘<samp><span class="samp">sh</span></samp>’, ‘<samp><span class="samp">make</span></samp>’ and ‘<samp><span class="samp">cc</span></samp>’.
-<pre class="example"> $ wget -q ftp://alpha.gnu.org/pub/gnu/libidn/libidn-1.15.tar.gz
- $ tar xfz libidn-1.15.tar.gz
- $ cd libidn-1.15/
+<pre class="example"> $ wget -q ftp://alpha.gnu.org/pub/gnu/libidn/libidn-1.23.tar.gz
+ $ tar xfz libidn-1.23.tar.gz
+ $ cd libidn-1.23/
$ ./configure
...
$ make
indicating whether the PNET <samp><span class="command">cscc</span></samp> compiler or the Mono
<samp><span class="command">mcs</span></samp> compiler should be used, respectively.
+ <br><dt><code>--disable-valgrind-tests</code><dd>Disable running the self-checks under Valgrind
+(<a href="http://valgrind.org/">http://valgrind.org/</a>). Normally Valgrind does not cause
+problems and can detect some severe memory errors. If you are getting
+errors from Valgrind that are caused by the compiler or libc (possibly
+as a result of special optimization flags), you may use this option to
+disable the use of Valgrind.
+
</dl>
<p>For the complete list, refer to the output from <code>configure
<h3 class="section">1.8 Bug Reports</h3>
-<p><a name="index-Reporting-Bugs-35"></a>
+<p><a name="index-Reporting-Bugs-37"></a>
If you think you have found a bug in Libidn, please investigate it and
report it.
<h3 class="section">1.9 Contributing</h3>
-<p><a name="index-Contributing-36"></a><a name="index-Hacking-37"></a>
+<p><a name="index-Contributing-38"></a><a name="index-Hacking-39"></a>
If you want to submit a patch for inclusion – from solve a typo you
discovered, up to adding support for a new feature – you should
submit it as a bug report (see <a href="#Bug-Reports">Bug Reports</a>). There are some
<p><a name="stringprep_005fcheck_005fversion"></a>
<div class="defun">
-— Function: const char * <b>stringprep_check_version</b> (<var>const char * req_version</var>)<var><a name="index-stringprep_005fcheck_005fversion-38"></a></var><br>
+— Function: const char * <b>stringprep_check_version</b> (<var>const char * req_version</var>)<var><a name="index-stringprep_005fcheck_005fversion-40"></a></var><br>
<blockquote><p><var>req_version</var>: Required version number, or NULL.
<p>Check that the version of the library is at minimum the requested one
{
printf ("stringprep_check_version() failed:\n"
"Header file incompatible with shared library.\n");
- exit(1);
+ exit(EXIT_FAILURE);
}
</pre>
<div class="node">
<h3 class="section">2.4 Building the source</h3>
-<p><a name="index-Compiling-your-application-39"></a>
+<p><a name="index-Compiling-your-application-41"></a>
If you want to compile a source file including e.g. the `idna.h' header
file, you must make sure that the compiler can find it in the
directory hierarchy. This is accomplished by adding the path to the
path (via the <samp><span class="option">-L</span></samp> option). For this, the option
<samp><span class="option">--libs</span></samp> to <samp><span class="command">pkg-config libidn</span></samp> can be used. For
convenience, this option also outputs all other options that are
-required to link the program with the `libidn' libarary. The example
+required to link the program with the `libidn' library. The example
shows how to link <samp><span class="file">foo.o</span></samp> with the `libidn' library to a program
<samp><span class="command">foo</span></samp>.
<h3 class="section">2.5 Autoconf tests</h3>
-<p><a name="index-Autoconf-tests-40"></a><a name="index-Configure-tests-41"></a>
+<p><a name="index-Autoconf-tests-42"></a><a name="index-Configure-tests-43"></a>
If your project uses Autoconf (see <a href="autoconf.html#Top">GNU Autoconf</a>)
to check for installed libraries, you might find the following snippet
illustrative. It add a new <samp><span class="file">configure</span></samp> parameter
<code>--with-libidn</code>, and check for <samp><span class="file">idna.h</span></samp> and ‘<samp><span class="samp">-lidn</span></samp>’
(possibly below the directory specified as the optional argument to
-<code>--with-libidn</code>), and define the <acronym>CPP</acronym> symbol
-<code>LIBIDN</code> if the library is found. The default behaviour is to
-search for the library and enable the functionality (that is, define
-the symbol) when the library is found, but if you wish to make the
-default behaviour of your package be that Libidn is not used (even if
-it is installed on the system), change ‘<samp><span class="samp">libidn=yes</span></samp>’ to
-‘<samp><span class="samp">libidn=no</span></samp>’ on the third line.
+<code>--with-libidn</code>), and define the CPP symbol <code>LIBIDN</code> if the
+library is found. The default behaviour is to search for the library
+and enable the functionality (that is, define the symbol) when the
+library is found, but if you wish to make the default behaviour of
+your package be that Libidn is not used (even if it is installed on
+the system), change ‘<samp><span class="samp">libidn=yes</span></samp>’ to ‘<samp><span class="samp">libidn=no</span></samp>’ on the third
+line.
<pre class="example"> AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
[Support IDN (needs GNU Libidn)]),
<h3 class="section">2.6 Memory handling under Windows</h3>
-<p><a name="index-free-42"></a><a name="index-Memory-handling-43"></a><a name="index-de_002dallocation-44"></a><a name="index-heap-memory-45"></a>
+<p><a name="index-free-44"></a><a name="index-Memory-handling-45"></a><a name="index-de_002dallocation-46"></a><a name="index-heap-memory-47"></a>
Several functions in the library allocates memory. The memory is
expected to be de-allocated using the <code>free</code> function. Under
Windows, it is sometimes necessary to de-allocate memory in the same
<p><a name="idn_005ffree"></a>
<div class="defun">
-— Function: void <b>idn_free</b> (<var>void * ptr</var>)<var><a name="index-idn_005ffree-46"></a></var><br>
+— Function: void <b>idn_free</b> (<var>void * ptr</var>)<var><a name="index-idn_005ffree-48"></a></var><br>
<blockquote><p><var>ptr</var>: memory region to deallocate, or <code>NULL</code>.
<p>Deallocates memory region by calling <code>free()</code>. If <code>ptr</code> is <code>NULL</code> no
<h2 class="chapter">3 Utility Functions</h2>
-<p><a name="index-Utility-Functions-47"></a>
+<p><a name="index-Utility-Functions-49"></a>
The rest of this library makes extensive use of Unicode characters.
In order to interface this library with the outside world, your
application may need to make various Unicode transformations.
<p><a name="stringprep_005funichar_005fto_005futf8"></a>
<div class="defun">
-— Function: int <b>stringprep_unichar_to_utf8</b> (<var>uint32_t c, char * outbuf</var>)<var><a name="index-stringprep_005funichar_005fto_005futf8-48"></a></var><br>
+— Function: int <b>stringprep_unichar_to_utf8</b> (<var>uint32_t c, char * outbuf</var>)<var><a name="index-stringprep_005funichar_005fto_005futf8-50"></a></var><br>
<blockquote><p><var>c</var>: a ISO10646 character code
<p><var>outbuf</var>: output buffer, must have at least 6 bytes of space.
<p><a name="stringprep_005futf8_005fto_005funichar"></a>
<div class="defun">
-— Function: uint32_t <b>stringprep_utf8_to_unichar</b> (<var>const char * p</var>)<var><a name="index-stringprep_005futf8_005fto_005funichar-49"></a></var><br>
+— Function: uint32_t <b>stringprep_utf8_to_unichar</b> (<var>const char * p</var>)<var><a name="index-stringprep_005futf8_005fto_005funichar-51"></a></var><br>
<blockquote><p><var>p</var>: a pointer to Unicode character encoded as UTF-8
<p>Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
<p><a name="stringprep_005fucs4_005fto_005futf8"></a>
<div class="defun">
-— Function: char * <b>stringprep_ucs4_to_utf8</b> (<var>const uint32_t * str, ssize_t len, size_t * items_read, size_t * items_written</var>)<var><a name="index-stringprep_005fucs4_005fto_005futf8-50"></a></var><br>
+— Function: char * <b>stringprep_ucs4_to_utf8</b> (<var>const uint32_t * str, ssize_t len, size_t * items_read, size_t * items_written</var>)<var><a name="index-stringprep_005fucs4_005fto_005futf8-52"></a></var><br>
<blockquote><p><var>str</var>: a UCS-4 encoded string
<p><var>len</var>: the maximum length of <code>str</code> to use. If <code>len</code> < 0, then
<p><strong>Return value:</strong> a pointer to a newly allocated UTF-8 string.
This value must be deallocated by the caller.
-If an error occurs, <code>NULL</code> will be returned and <code>error</code>
-set.
+If an error occurs, <code>NULL</code> will be returned.
</p></blockquote></div>
<h4 class="subheading">stringprep_utf8_to_ucs4</h4>
<p><a name="stringprep_005futf8_005fto_005fucs4"></a>
<div class="defun">
-— Function: uint32_t * <b>stringprep_utf8_to_ucs4</b> (<var>const char * str, ssize_t len, size_t * items_written</var>)<var><a name="index-stringprep_005futf8_005fto_005fucs4-51"></a></var><br>
+— Function: uint32_t * <b>stringprep_utf8_to_ucs4</b> (<var>const char * str, ssize_t len, size_t * items_written</var>)<var><a name="index-stringprep_005futf8_005fto_005fucs4-53"></a></var><br>
<blockquote><p><var>str</var>: a UTF-8 encoded string
<p><var>len</var>: the maximum length of <code>str</code> to use. If <code>len</code> < 0, then
<p><a name="stringprep_005fucs4_005fnfkc_005fnormalize"></a>
<div class="defun">
-— Function: uint32_t * <b>stringprep_ucs4_nfkc_normalize</b> (<var>uint32_t * str, ssize_t len</var>)<var><a name="index-stringprep_005fucs4_005fnfkc_005fnormalize-52"></a></var><br>
+— Function: uint32_t * <b>stringprep_ucs4_nfkc_normalize</b> (<var>uint32_t * str, ssize_t len</var>)<var><a name="index-stringprep_005fucs4_005fnfkc_005fnormalize-54"></a></var><br>
<blockquote><p><var>str</var>: a Unicode string.
<p><var>len</var>: length of <code>str</code> array, or -1 if <code>str</code> is nul-terminated.
<p><a name="stringprep_005futf8_005fnfkc_005fnormalize"></a>
<div class="defun">
-— Function: char * <b>stringprep_utf8_nfkc_normalize</b> (<var>const char * str, ssize_t len</var>)<var><a name="index-stringprep_005futf8_005fnfkc_005fnormalize-53"></a></var><br>
+— Function: char * <b>stringprep_utf8_nfkc_normalize</b> (<var>const char * str, ssize_t len</var>)<var><a name="index-stringprep_005futf8_005fnfkc_005fnormalize-55"></a></var><br>
<blockquote><p><var>str</var>: a UTF-8 encoded string.
<p><var>len</var>: length of <code>str</code>, in bytes, or -1 if <code>str</code> is nul-terminated.
<p><a name="stringprep_005flocale_005fcharset"></a>
<div class="defun">
-— Function: const char * <b>stringprep_locale_charset</b> (<var> void</var>)<var><a name="index-stringprep_005flocale_005fcharset-54"></a></var><br>
+— Function: const char * <b>stringprep_locale_charset</b> (<var> void</var>)<var><a name="index-stringprep_005flocale_005fcharset-56"></a></var><br>
<blockquote>
<p>Find out current locale charset. The function respect the CHARSET
environment variable, but typically uses nl_langinfo(CODESET) when
<p><a name="stringprep_005fconvert"></a>
<div class="defun">
-— Function: char * <b>stringprep_convert</b> (<var>const char * str, const char * to_codeset, const char * from_codeset</var>)<var><a name="index-stringprep_005fconvert-55"></a></var><br>
+— Function: char * <b>stringprep_convert</b> (<var>const char * str, const char * to_codeset, const char * from_codeset</var>)<var><a name="index-stringprep_005fconvert-57"></a></var><br>
<blockquote><p><var>str</var>: input zero-terminated string.
<p><var>to_codeset</var>: name of destination character set.
<p><a name="stringprep_005flocale_005fto_005futf8"></a>
<div class="defun">
-— Function: char * <b>stringprep_locale_to_utf8</b> (<var>const char * str</var>)<var><a name="index-stringprep_005flocale_005fto_005futf8-56"></a></var><br>
+— Function: char * <b>stringprep_locale_to_utf8</b> (<var>const char * str</var>)<var><a name="index-stringprep_005flocale_005fto_005futf8-58"></a></var><br>
<blockquote><p><var>str</var>: input zero terminated string.
<p>Convert string encoded in the locale's character set into UTF-8 by
<p><a name="stringprep_005futf8_005fto_005flocale"></a>
<div class="defun">
-— Function: char * <b>stringprep_utf8_to_locale</b> (<var>const char * str</var>)<var><a name="index-stringprep_005futf8_005fto_005flocale-57"></a></var><br>
+— Function: char * <b>stringprep_utf8_to_locale</b> (<var>const char * str</var>)<var><a name="index-stringprep_005futf8_005fto_005flocale-59"></a></var><br>
<blockquote><p><var>str</var>: input zero terminated string.
<p>Convert string encoded in UTF-8 into the locale's character set by
<h2 class="chapter">4 Stringprep Functions</h2>
-<p><a name="index-Stringprep-Functions-58"></a>
+<p><a name="index-Stringprep-Functions-60"></a>
Stringprep describes a framework for preparing Unicode text strings in
order to increase the likelihood that string input and string
comparison work in ways that make sense for typical users throughout
<h3 class="section">4.3 Control Flags</h3>
<div class="defun">
-— Stringprep flags: Stringprep_profile_flags <b>STRINGPREP_NO_NFKC</b><var><a name="index-STRINGPREP_005fNO_005fNFKC-59"></a></var><br>
+— Stringprep flags: Stringprep_profile_flags <b>STRINGPREP_NO_NFKC</b><var><a name="index-STRINGPREP_005fNO_005fNFKC-61"></a></var><br>
<blockquote><p>Disable the NFKC normalization, as well as selecting the non-NFKC case
folding tables. Usually the profile specifies BIDI and NFKC settings,
and applications should not override it unless in special situations.
</p></blockquote></div>
<div class="defun">
-— Stringprep flags: Stringprep_profile_flags <b>STRINGPREP_NO_BIDI</b><var><a name="index-STRINGPREP_005fNO_005fBIDI-60"></a></var><br>
+— Stringprep flags: Stringprep_profile_flags <b>STRINGPREP_NO_BIDI</b><var><a name="index-STRINGPREP_005fNO_005fBIDI-62"></a></var><br>
<blockquote><p>Disable the BIDI step. Usually the profile specifies BIDI and NFKC
settings, and applications should not override it unless in special
situations.
</p></blockquote></div>
<div class="defun">
-— Stringprep flags: Stringprep_profile_flags <b>STRINGPREP_NO_UNASSIGNED</b><var><a name="index-STRINGPREP_005fNO_005fUNASSIGNED-61"></a></var><br>
+— Stringprep flags: Stringprep_profile_flags <b>STRINGPREP_NO_UNASSIGNED</b><var><a name="index-STRINGPREP_005fNO_005fUNASSIGNED-63"></a></var><br>
<blockquote><p>Make the library return with an error if string contains unassigned
characters according to profile.
</p></blockquote></div>
<p><a name="stringprep_005f4i"></a>
<div class="defun">
-— Function: int <b>stringprep_4i</b> (<var>uint32_t * ucs4, size_t * len, size_t maxucs4len, Stringprep_profile_flags flags, const Stringprep_profile * profile</var>)<var><a name="index-stringprep_005f4i-62"></a></var><br>
+— Function: int <b>stringprep_4i</b> (<var>uint32_t * ucs4, size_t * len, size_t maxucs4len, Stringprep_profile_flags flags, const Stringprep_profile * profile</var>)<var><a name="index-stringprep_005f4i-64"></a></var><br>
<blockquote><p><var>ucs4</var>: input/output array with string to prepare.
<p><var>len</var>: on input, length of input array with Unicode code points,
<p><a name="stringprep_005f4zi"></a>
<div class="defun">
-— Function: int <b>stringprep_4zi</b> (<var>uint32_t * ucs4, size_t maxucs4len, Stringprep_profile_flags flags, const Stringprep_profile * profile</var>)<var><a name="index-stringprep_005f4zi-63"></a></var><br>
+— Function: int <b>stringprep_4zi</b> (<var>uint32_t * ucs4, size_t maxucs4len, Stringprep_profile_flags flags, const Stringprep_profile * profile</var>)<var><a name="index-stringprep_005f4zi-65"></a></var><br>
<blockquote><p><var>ucs4</var>: input/output array with zero terminated string to prepare.
<p><var>maxucs4len</var>: maximum length of input/output array.
<p><a name="stringprep"></a>
<div class="defun">
-— Function: int <b>stringprep</b> (<var>char * in, size_t maxlen, Stringprep_profile_flags flags, const Stringprep_profile * profile</var>)<var><a name="index-stringprep-64"></a></var><br>
+— Function: int <b>stringprep</b> (<var>char * in, size_t maxlen, Stringprep_profile_flags flags, const Stringprep_profile * profile</var>)<var><a name="index-stringprep-66"></a></var><br>
<blockquote><p><var>in</var>: input/ouput array with string to prepare.
<p><var>maxlen</var>: maximum length of input/output array.
<p><a name="stringprep_005fprofile"></a>
<div class="defun">
-— Function: int <b>stringprep_profile</b> (<var>const char * in, char ** out, const char * profile, Stringprep_profile_flags flags</var>)<var><a name="index-stringprep_005fprofile-65"></a></var><br>
+— Function: int <b>stringprep_profile</b> (<var>const char * in, char ** out, const char * profile, Stringprep_profile_flags flags</var>)<var><a name="index-stringprep_005fprofile-67"></a></var><br>
<blockquote><p><var>in</var>: input array with UTF-8 string to prepare.
<p><var>out</var>: output variable with pointer to newly allocate string.
<p><a name="stringprep_005fstrerror"></a>
<div class="defun">
-— Function: const char * <b>stringprep_strerror</b> (<var>Stringprep_rc rc</var>)<var><a name="index-stringprep_005fstrerror-66"></a></var><br>
+— Function: const char * <b>stringprep_strerror</b> (<var>Stringprep_rc rc</var>)<var><a name="index-stringprep_005fstrerror-68"></a></var><br>
<blockquote><p><var>rc</var>: a <code>Stringprep_rc</code> return code.
<p>Convert a return code integer to a text string. This string can be
<h3 class="section">4.6 Stringprep Profile Macros</h3>
<div class="defun">
-— Function: int <b>stringprep_nameprep_no_unassigned</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fnameprep_005fno_005funassigned-67"></a></var><br>
+— Function: int <b>stringprep_nameprep_no_unassigned</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fnameprep_005fno_005funassigned-69"></a></var><br>
<blockquote>
<p><var>in</var>: input/ouput array with string to prepare.
</p></blockquote></div>
<div class="defun">
-— Function: int <b>stringprep_iscsi</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fiscsi-68"></a></var><br>
+— Function: int <b>stringprep_iscsi</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fiscsi-70"></a></var><br>
<blockquote>
<p><var>in</var>: input/ouput array with string to prepare.
</p></blockquote></div>
<div class="defun">
-— Function: int <b>stringprep_plain</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fplain-69"></a></var><br>
+— Function: int <b>stringprep_plain</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fplain-71"></a></var><br>
<blockquote>
<p><var>in</var>: input/ouput array with string to prepare.
</p></blockquote></div>
<div class="defun">
-— Function: int <b>stringprep_xmpp_nodeprep</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fxmpp_005fnodeprep-70"></a></var><br>
+— Function: int <b>stringprep_xmpp_nodeprep</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fxmpp_005fnodeprep-72"></a></var><br>
<blockquote>
<p><var>in</var>: input/ouput array with string to prepare.
</p></blockquote></div>
<div class="defun">
-— Function: int <b>stringprep_xmpp_resourceprep</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fxmpp_005fresourceprep-71"></a></var><br>
+— Function: int <b>stringprep_xmpp_resourceprep</b> (<var>char * in, int maxlen</var>)<var><a name="index-stringprep_005fxmpp_005fresourceprep-73"></a></var><br>
<blockquote>
<p><var>in</var>: input/ouput array with string to prepare.
<h2 class="chapter">5 Punycode Functions</h2>
-<p><a name="index-Punycode-Functions-72"></a>
+<p><a name="index-Punycode-Functions-74"></a>
Punycode is a simple and efficient transfer encoding syntax designed
for use with Internationalized Domain Names in Applications. It
uniquely and reversibly transforms a Unicode string into an ASCII
points. It is guaranteed to always be a 32 bit unsigned integer.
<div class="defun">
-— Punycode Unicode code point: uint32_t <b>punycode_uint</b><var><a name="index-punycode_005fuint-73"></a></var><br>
+— Punycode Unicode code point: uint32_t <b>punycode_uint</b><var><a name="index-punycode_005fuint-75"></a></var><br>
<blockquote><p>A unsigned integer that hold Unicode code points.
</p></blockquote></div>
<p><a name="punycode_005fencode"></a>
<div class="defun">
-— Function: int <b>punycode_encode</b> (<var>size_t input_length, const punycode_uint </var>[]<var> input, const unsigned char </var>[]<var> case_flags, size_t * output_length, char </var>[]<var> output</var>)<var><a name="index-punycode_005fencode-74"></a></var><br>
+— Function: int <b>punycode_encode</b> (<var>size_t input_length, const punycode_uint </var>[]<var> input, const unsigned char </var>[]<var> case_flags, size_t * output_length, char </var>[]<var> output</var>)<var><a name="index-punycode_005fencode-76"></a></var><br>
<blockquote><p><var>input_length</var>: The number of code points in the <code>input</code> array and
the number of flags in the <code>case_flags</code> array.
<p><a name="punycode_005fdecode"></a>
<div class="defun">
-— Function: int <b>punycode_decode</b> (<var>size_t input_length, const char </var>[]<var> input, size_t * output_length, punycode_uint </var>[]<var> output, unsigned char </var>[]<var> case_flags</var>)<var><a name="index-punycode_005fdecode-75"></a></var><br>
+— Function: int <b>punycode_decode</b> (<var>size_t input_length, const char </var>[]<var> input, size_t * output_length, punycode_uint </var>[]<var> output, unsigned char </var>[]<var> case_flags</var>)<var><a name="index-punycode_005fdecode-77"></a></var><br>
<blockquote><p><var>input_length</var>: The number of ASCII code points in the <code>input</code> array.
<p><var>input</var>: An array of ASCII code points (0..7F).
<p><a name="punycode_005fstrerror"></a>
<div class="defun">
-— Function: const char * <b>punycode_strerror</b> (<var>Punycode_status rc</var>)<var><a name="index-punycode_005fstrerror-76"></a></var><br>
+— Function: const char * <b>punycode_strerror</b> (<var>Punycode_status rc</var>)<var><a name="index-punycode_005fstrerror-78"></a></var><br>
<blockquote><p><var>rc</var>: an <code>Punycode_status</code> return code.
<p>Convert a return code integer to a text string. This string can be
<h2 class="chapter">6 IDNA Functions</h2>
-<p><a name="index-IDNA-Functions-77"></a>
+<p><a name="index-IDNA-Functions-79"></a>
Until now, there has been no standard method for domain names to use
characters outside the ASCII repertoire. The IDNA document defines
internationalized domain names (IDNs) and a mechanism called IDNA for
bit-wise inclusive or of any subset of the parameters:
<div class="defun">
-— Return code: Idna_flags <b>IDNA_ALLOW_UNASSIGNED</b><var><a name="index-IDNA_005fALLOW_005fUNASSIGNED-78"></a></var><br>
+— Return code: Idna_flags <b>IDNA_ALLOW_UNASSIGNED</b><var><a name="index-IDNA_005fALLOW_005fUNASSIGNED-80"></a></var><br>
<blockquote><p>Allow unassigned Unicode code points.
</p></blockquote></div>
<div class="defun">
-— Return code: Idna_flags <b>IDNA_USE_STD3_ASCII_RULES</b><var><a name="index-IDNA_005fUSE_005fSTD3_005fASCII_005fRULES-79"></a></var><br>
+— Return code: Idna_flags <b>IDNA_USE_STD3_ASCII_RULES</b><var><a name="index-IDNA_005fUSE_005fSTD3_005fASCII_005fRULES-81"></a></var><br>
<blockquote><p>Check output to make sure it is a STD3 conforming host name.
</p></blockquote></div>
<h3 class="section">6.3 Prefix String</h3>
<div class="defun">
-— Macro: #define <b>IDNA_ACE_PREFIX</b><var><a name="index-IDNA_005fACE_005fPREFIX-80"></a></var><br>
+— Macro: #define <b>IDNA_ACE_PREFIX</b><var><a name="index-IDNA_005fACE_005fPREFIX-82"></a></var><br>
<blockquote><p>String with the official IDNA prefix, <code>xn--</code>.
</p></blockquote></div>
takes UCS-4 strings (i.e., Unicode code points encoded in a 32-bit
unsigned integer type) of the specified length. The <code>i</code> indicate
that the data is written “inline” into the buffer. This means the
-caller is responsible for allocating (and deallocating) the string,
+caller is responsible for allocating (and de-allocating) the string,
and providing the library with the allocated length of the string.
The output length is written in the output length variable. The
remaining functions all contain the <code>z</code> indicator, which means
the strings are zero terminated. All output strings are allocated by
-the library, and must be deallocated by the caller. The <code>4</code>
+the library, and must be de-allocated by the caller. The <code>4</code>
indicator again means that the string is UCS-4, the <code>8</code> means the
strings are UTF-8 and the <code>l</code> indicator means the strings are
encoded in the encoding used by the current locale.
<p><a name="idna_005fto_005fascii_005f4i"></a>
<div class="defun">
-— Function: int <b>idna_to_ascii_4i</b> (<var>const uint32_t * in, size_t inlen, char * out, int flags</var>)<var><a name="index-idna_005fto_005fascii_005f4i-81"></a></var><br>
+— Function: int <b>idna_to_ascii_4i</b> (<var>const uint32_t * in, size_t inlen, char * out, int flags</var>)<var><a name="index-idna_005fto_005fascii_005f4i-83"></a></var><br>
<blockquote><p><var>in</var>: input array with unicode code points.
<p><var>inlen</var>: length of input array with unicode code points.
<p><a name="idna_005fto_005funicode_005f44i"></a>
<div class="defun">
-— Function: int <b>idna_to_unicode_44i</b> (<var>const uint32_t * in, size_t inlen, uint32_t * out, size_t * outlen, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f44i-82"></a></var><br>
+— Function: int <b>idna_to_unicode_44i</b> (<var>const uint32_t * in, size_t inlen, uint32_t * out, size_t * outlen, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f44i-84"></a></var><br>
<blockquote><p><var>in</var>: input array with unicode code points.
<p><var>inlen</var>: length of input array with unicode code points.
<p><a name="idna_005fto_005fascii_005f4z"></a>
<div class="defun">
-— Function: int <b>idna_to_ascii_4z</b> (<var>const uint32_t * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005fascii_005f4z-83"></a></var><br>
+— Function: int <b>idna_to_ascii_4z</b> (<var>const uint32_t * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005fascii_005f4z-85"></a></var><br>
<blockquote><p><var>input</var>: zero terminated input Unicode string.
<p><var>output</var>: pointer to newly allocated output string.
<p><a name="idna_005fto_005fascii_005f8z"></a>
<div class="defun">
-— Function: int <b>idna_to_ascii_8z</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005fascii_005f8z-84"></a></var><br>
+— Function: int <b>idna_to_ascii_8z</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005fascii_005f8z-86"></a></var><br>
<blockquote><p><var>input</var>: zero terminated input UTF-8 string.
<p><var>output</var>: pointer to newly allocated output string.
<p><a name="idna_005fto_005fascii_005flz"></a>
<div class="defun">
-— Function: int <b>idna_to_ascii_lz</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005fascii_005flz-85"></a></var><br>
+— Function: int <b>idna_to_ascii_lz</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005fascii_005flz-87"></a></var><br>
<blockquote><p><var>input</var>: zero terminated input string encoded in the current locale's
character set.
<p><a name="idna_005fto_005funicode_005f4z4z"></a>
<div class="defun">
-— Function: int <b>idna_to_unicode_4z4z</b> (<var>const uint32_t * input, uint32_t ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f4z4z-86"></a></var><br>
+— Function: int <b>idna_to_unicode_4z4z</b> (<var>const uint32_t * input, uint32_t ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f4z4z-88"></a></var><br>
<blockquote><p><var>input</var>: zero-terminated Unicode string.
<p><var>output</var>: pointer to newly allocated output Unicode string.
<p><a name="idna_005fto_005funicode_005f8z4z"></a>
<div class="defun">
-— Function: int <b>idna_to_unicode_8z4z</b> (<var>const char * input, uint32_t ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f8z4z-87"></a></var><br>
+— Function: int <b>idna_to_unicode_8z4z</b> (<var>const char * input, uint32_t ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f8z4z-89"></a></var><br>
<blockquote><p><var>input</var>: zero-terminated UTF-8 string.
<p><var>output</var>: pointer to newly allocated output Unicode string.
<p><a name="idna_005fto_005funicode_005f8z8z"></a>
<div class="defun">
-— Function: int <b>idna_to_unicode_8z8z</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f8z8z-88"></a></var><br>
+— Function: int <b>idna_to_unicode_8z8z</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f8z8z-90"></a></var><br>
<blockquote><p><var>input</var>: zero-terminated UTF-8 string.
<p><var>output</var>: pointer to newly allocated output UTF-8 string.
<p><a name="idna_005fto_005funicode_005f8zlz"></a>
<div class="defun">
-— Function: int <b>idna_to_unicode_8zlz</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f8zlz-89"></a></var><br>
+— Function: int <b>idna_to_unicode_8zlz</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005f8zlz-91"></a></var><br>
<blockquote><p><var>input</var>: zero-terminated UTF-8 string.
<p><var>output</var>: pointer to newly allocated output string encoded in the
<p><a name="idna_005fto_005funicode_005flzlz"></a>
<div class="defun">
-— Function: int <b>idna_to_unicode_lzlz</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005flzlz-90"></a></var><br>
+— Function: int <b>idna_to_unicode_lzlz</b> (<var>const char * input, char ** output, int flags</var>)<var><a name="index-idna_005fto_005funicode_005flzlz-92"></a></var><br>
<blockquote><p><var>input</var>: zero-terminated string encoded in the current locale's
character set.
<p><a name="idna_005fstrerror"></a>
<div class="defun">
-— Function: const char * <b>idna_strerror</b> (<var>Idna_rc rc</var>)<var><a name="index-idna_005fstrerror-91"></a></var><br>
+— Function: const char * <b>idna_strerror</b> (<var>Idna_rc rc</var>)<var><a name="index-idna_005fstrerror-93"></a></var><br>
<blockquote><p><var>rc</var>: an <code>Idna_rc</code> return code.
<p>Convert a return code integer to a text string. This string can be
<h2 class="chapter">7 TLD Functions</h2>
-<p><a name="index-TLD-Functions-92"></a>
-Organizations that manage some Top Level Domains (<acronym>TLD</acronym>s) have
-published tables with characters they accept within the domain. The
-reason may be to reduce complexity that come from using the full
-Unicode range, and to protect themselves from future (backwards
-incompatible) changes in the IDN or Unicode specifications. Libidn
-implement an infrastructure for defining and checking strings against
-such tables. Libidn also ship some tables from <acronym>TLD</acronym>s that we
-have managed to get permission to use them from. Because these tables
-are even less static than Unicode or StringPrep tables, it is likely
-that they will be updated from time to time (even in backwards
-incompatibe ways). The Libidn interface provide a “version” field
-for each <acronym>TLD</acronym> table, which can be compared for equality to
-guarantee the same operation over time.
-
- <p>From a design point of view, you can regard the <acronym>TLD</acronym> tables
-for IDN as the “localization” step that come after the
-“internationalization” step provided by the IETF standards.
+<p><a name="index-TLD-Functions-94"></a>
+Organizations that manage some Top Level Domains (TLDs) have published
+tables with characters they accept within the domain. The reason may
+be to reduce complexity that come from using the full Unicode range,
+and to protect themselves from future (backwards incompatible) changes
+in the IDN or Unicode specifications. Libidn implement an
+infrastructure for defining and checking strings against such tables.
+Libidn also ship some tables from TLDs that we have managed to get
+permission to use them from. Because these tables are even less
+static than Unicode or StringPrep tables, it is likely that they will
+be updated from time to time (even in backwards incompatible ways).
+The Libidn interface provide a “version” field for each TLD table,
+which can be compared for equality to guarantee the same operation
+over time.
+
+ <p>From a design point of view, you can regard the TLD tables for IDN as
+the “localization” step that come after the “internationalization”
+step provided by the IETF standards.
<p>The TLD functionality rely on up-to-date tables. The latest version
of Libidn aim to provide these, but tables with unclear copying
conditions, or generally experimental tables, are not included. Some
-such tables can be found at <a href="http://tldchk.berlios.de">http://tldchk.berlios.de</a>.
+such tables can be found at <a href="https://github.com/gnuthor/tldchk">https://github.com/gnuthor/tldchk</a>.
<h3 class="section">7.1 Header file <code>tld.h</code></h3>
<p><a name="tld_005fcheck_005f4t"></a>
<div class="defun">
-— Function: int <b>tld_check_4t</b> (<var>const uint32_t * in, size_t inlen, size_t * errpos, const Tld_table * tld</var>)<var><a name="index-tld_005fcheck_005f4t-93"></a></var><br>
+— Function: int <b>tld_check_4t</b> (<var>const uint32_t * in, size_t inlen, size_t * errpos, const Tld_table * tld</var>)<var><a name="index-tld_005fcheck_005f4t-95"></a></var><br>
<blockquote><p><var>in</var>: Array of unicode code points to process. Does not need to be
zero terminated.
<p><a name="tld_005fcheck_005f4tz"></a>
<div class="defun">
-— Function: int <b>tld_check_4tz</b> (<var>const uint32_t * in, size_t * errpos, const Tld_table * tld</var>)<var><a name="index-tld_005fcheck_005f4tz-94"></a></var><br>
+— Function: int <b>tld_check_4tz</b> (<var>const uint32_t * in, size_t * errpos, const Tld_table * tld</var>)<var><a name="index-tld_005fcheck_005f4tz-96"></a></var><br>
<blockquote><p><var>in</var>: Zero terminated array of unicode code points to process.
<p><var>errpos</var>: Position of offending character is returned here.
<p><a name="tld_005fget_005f4"></a>
<div class="defun">
-— Function: int <b>tld_get_4</b> (<var>const uint32_t * in, size_t inlen, char ** out</var>)<var><a name="index-tld_005fget_005f4-95"></a></var><br>
+— Function: int <b>tld_get_4</b> (<var>const uint32_t * in, size_t inlen, char ** out</var>)<var><a name="index-tld_005fget_005f4-97"></a></var><br>
<blockquote><p><var>in</var>: Array of unicode code points to process. Does not need to be
zero terminated.
<p><a name="tld_005fget_005f4z"></a>
<div class="defun">
-— Function: int <b>tld_get_4z</b> (<var>const uint32_t * in, char ** out</var>)<var><a name="index-tld_005fget_005f4z-96"></a></var><br>
+— Function: int <b>tld_get_4z</b> (<var>const uint32_t * in, char ** out</var>)<var><a name="index-tld_005fget_005f4z-98"></a></var><br>
<blockquote><p><var>in</var>: Zero terminated array of unicode code points to process.
<p><var>out</var>: Zero terminated ascii result string pointer.
<p><a name="tld_005fget_005fz"></a>
<div class="defun">
-— Function: int <b>tld_get_z</b> (<var>const char * in, char ** out</var>)<var><a name="index-tld_005fget_005fz-97"></a></var><br>
+— Function: int <b>tld_get_z</b> (<var>const char * in, char ** out</var>)<var><a name="index-tld_005fget_005fz-99"></a></var><br>
<blockquote><p><var>in</var>: Zero terminated character array to process.
<p><var>out</var>: Zero terminated ascii result string pointer.
<p><a name="tld_005fget_005ftable"></a>
<div class="defun">
-— Function: const Tld_table * <b>tld_get_table</b> (<var>const char * tld, const Tld_table ** tables</var>)<var><a name="index-tld_005fget_005ftable-98"></a></var><br>
+— Function: const Tld_table * <b>tld_get_table</b> (<var>const char * tld, const Tld_table ** tables</var>)<var><a name="index-tld_005fget_005ftable-100"></a></var><br>
<blockquote><p><var>tld</var>: TLD name (e.g. "com") as zero terminated ASCII byte string.
<p><var>tables</var>: Zero terminated array of <code>Tld_table</code> info-structures for
<p><a name="tld_005fdefault_005ftable"></a>
<div class="defun">
-— Function: const Tld_table * <b>tld_default_table</b> (<var>const char * tld, const Tld_table ** overrides</var>)<var><a name="index-tld_005fdefault_005ftable-99"></a></var><br>
+— Function: const Tld_table * <b>tld_default_table</b> (<var>const char * tld, const Tld_table ** overrides</var>)<var><a name="index-tld_005fdefault_005ftable-101"></a></var><br>
<blockquote><p><var>tld</var>: TLD name (e.g. "com") as zero terminated ASCII byte string.
<p><var>overrides</var>: Additional zero terminated array of <code>Tld_table</code>
<p><a name="tld_005fcheck_005f4"></a>
<div class="defun">
-— Function: int <b>tld_check_4</b> (<var>const uint32_t * in, size_t inlen, size_t * errpos, const Tld_table ** overrides</var>)<var><a name="index-tld_005fcheck_005f4-100"></a></var><br>
+— Function: int <b>tld_check_4</b> (<var>const uint32_t * in, size_t inlen, size_t * errpos, const Tld_table ** overrides</var>)<var><a name="index-tld_005fcheck_005f4-102"></a></var><br>
<blockquote><p><var>in</var>: Array of unicode code points to process. Does not need to be
zero terminated.
<p><a name="tld_005fcheck_005f4z"></a>
<div class="defun">
-— Function: int <b>tld_check_4z</b> (<var>const uint32_t * in, size_t * errpos, const Tld_table ** overrides</var>)<var><a name="index-tld_005fcheck_005f4z-101"></a></var><br>
+— Function: int <b>tld_check_4z</b> (<var>const uint32_t * in, size_t * errpos, const Tld_table ** overrides</var>)<var><a name="index-tld_005fcheck_005f4z-103"></a></var><br>
<blockquote><p><var>in</var>: Zero-terminated array of unicode code points to process.
<p><var>errpos</var>: Position of offending character is returned here.
<p><a name="tld_005fcheck_005f8z"></a>
<div class="defun">
-— Function: int <b>tld_check_8z</b> (<var>const char * in, size_t * errpos, const Tld_table ** overrides</var>)<var><a name="index-tld_005fcheck_005f8z-102"></a></var><br>
+— Function: int <b>tld_check_8z</b> (<var>const char * in, size_t * errpos, const Tld_table ** overrides</var>)<var><a name="index-tld_005fcheck_005f8z-104"></a></var><br>
<blockquote><p><var>in</var>: Zero-terminated UTF8 string to process.
<p><var>errpos</var>: Position of offending character is returned here.
<p><a name="tld_005fcheck_005flz"></a>
<div class="defun">
-— Function: int <b>tld_check_lz</b> (<var>const char * in, size_t * errpos, const Tld_table ** overrides</var>)<var><a name="index-tld_005fcheck_005flz-103"></a></var><br>
+— Function: int <b>tld_check_lz</b> (<var>const char * in, size_t * errpos, const Tld_table ** overrides</var>)<var><a name="index-tld_005fcheck_005flz-105"></a></var><br>
<blockquote><p><var>in</var>: Zero-terminated string in the current locales encoding to process.
<p><var>errpos</var>: Position of offending character is returned here.
<p><a name="tld_005fstrerror"></a>
<div class="defun">
-— Function: const char * <b>tld_strerror</b> (<var>Tld_rc rc</var>)<var><a name="index-tld_005fstrerror-104"></a></var><br>
+— Function: const char * <b>tld_strerror</b> (<var>Tld_rc rc</var>)<var><a name="index-tld_005fstrerror-106"></a></var><br>
<blockquote><p><var>rc</var>: tld return code
<p>Convert a return code integer to a text string. This string can be
<h2 class="chapter">8 PR29 Functions</h2>
-<p><a name="index-PR29-Functions-105"></a>
+<p><a name="index-PR29-Functions-107"></a>
A deficiency in the specification of Unicode Normalization Forms has
been found. The consequence is that some strings can be normalized
into different strings by different implementations. In other words,
<p><a name="pr29_005f4"></a>
<div class="defun">
-— Function: int <b>pr29_4</b> (<var>const uint32_t * in, size_t len</var>)<var><a name="index-pr29_005f4-106"></a></var><br>
+— Function: int <b>pr29_4</b> (<var>const uint32_t * in, size_t len</var>)<var><a name="index-pr29_005f4-108"></a></var><br>
<blockquote><p><var>in</var>: input array with unicode code points.
<p><var>len</var>: length of input array with unicode code points.
<p><a name="pr29_005f4z"></a>
<div class="defun">
-— Function: int <b>pr29_4z</b> (<var>const uint32_t * in</var>)<var><a name="index-pr29_005f4z-107"></a></var><br>
+— Function: int <b>pr29_4z</b> (<var>const uint32_t * in</var>)<var><a name="index-pr29_005f4z-109"></a></var><br>
<blockquote><p><var>in</var>: zero terminated array of Unicode code points.
<p>Check the input to see if it may be normalized into different
<p><a name="pr29_005f8z"></a>
<div class="defun">
-— Function: int <b>pr29_8z</b> (<var>const char * in</var>)<var><a name="index-pr29_005f8z-108"></a></var><br>
+— Function: int <b>pr29_8z</b> (<var>const char * in</var>)<var><a name="index-pr29_005f8z-110"></a></var><br>
<blockquote><p><var>in</var>: zero terminated input UTF-8 string.
<p>Check the input to see if it may be normalized into different
<p><a name="pr29_005fstrerror"></a>
<div class="defun">
-— Function: const char * <b>pr29_strerror</b> (<var>Pr29_rc rc</var>)<var><a name="index-pr29_005fstrerror-109"></a></var><br>
+— Function: const char * <b>pr29_strerror</b> (<var>Pr29_rc rc</var>)<var><a name="index-pr29_005fstrerror-111"></a></var><br>
<blockquote><p><var>rc</var>: an <code>Pr29_rc</code> return code.
<p>Convert a return code integer to a text string. This string can be
<p><strong>PR29_PROBLEM:</strong> A problem sequence was encountered.
<p><strong>PR29_STRINGPREP_ERROR:</strong> The character set conversion failed (only
-for <code>pr29_8()</code> and <code>pr29_8z()</code>).
+for <code>pr29_8z()</code>).
<p><strong>Return value:</strong> Returns a pointer to a statically allocated string
containing a description of the error with the return code <code>rc</code>.
<h2 class="chapter">9 Examples</h2>
-<p><a name="index-Examples-110"></a>
+<p><a name="index-Examples-112"></a>
This chapter contains example code which illustrate how `Libidn' can
be used when writing your own application.
<p>This example demonstrates how the stringprep functions are used.
<pre class="verbatim">/* example.c --- Example code showing how to use stringprep().
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
fflush (stdout);
fgets (buf, BUFSIZ, stdin);
- printf ("Before locale2utf8 (length %d): ", strlen (buf));
+ printf ("Before locale2utf8 (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
else
printf ("Could not convert string to UTF-8, continuing anyway...\n");
- printf ("Before stringprep (length %d): ", strlen (buf));
+ printf ("Before stringprep (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
printf ("Stringprep failed (%d): %s\n", rc, stringprep_strerror (rc));
else
{
- printf ("After stringprep (length %d): ", strlen (buf));
+ printf ("After stringprep (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
<p>This example demonstrates how the punycode functions are used.
<pre class="verbatim">/* example2.c --- Example code showing how to use punycode.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
* Copyright (C) 2002 Adam M. Costello
*
* This file is part of GNU Libidn.
internationalized domain names into ASCII compatible names.
<pre class="verbatim">/* example3.c --- Example ToASCII() code showing how to use Libidn.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
fgets (buf, BUFSIZ, stdin);
buf[strlen (buf) - 1] = '\0';
- printf ("Read string (length %d): ", strlen (buf));
+ printf ("Read string (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
if (rc != IDNA_SUCCESS)
{
printf ("ToASCII() failed (%d): %s\n", rc, idna_strerror (rc));
- exit (1);
+ return EXIT_FAILURE;
}
- printf ("ACE label (length %d): '%s'\n", strlen (p), p);
+ printf ("ACE label (length %ld): '%s'\n", strlen (p), p);
for (i = 0; i < strlen (p); i++)
printf ("%02x ", p[i] & 0xFF);
printf ("\n");
compatible names to internationalized domain names.
<pre class="verbatim">/* example4.c --- Example ToUnicode() code showing how to use Libidn.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
fgets (buf, BUFSIZ, stdin);
buf[strlen (buf) - 1] = '\0';
- printf ("Read string (length %d): ", strlen (buf));
+ printf ("Read string (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
if (rc != IDNA_SUCCESS)
{
printf ("ToUnicode() failed (%d): %s\n", rc, idna_strerror (rc));
- exit (1);
+ return EXIT_FAILURE;
}
- printf ("ACE label (length %d): '%s'\n", strlen (p), p);
+ printf ("ACE label (length %ld): '%s'\n", strlen (p), p);
for (i = 0; i < strlen (p); i++)
printf ("%02x ", p[i] & 0xFF);
printf ("\n");
for invalid characters within a specific TLD.
<pre class="verbatim">/* example5.c --- Example TLD checking.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson
*
* This file is part of GNU Libidn.
*
fgets (buf, BUFSIZ, stdin);
buf[strlen (buf) - 1] = '\0';
- printf ("Read string (length %d): ", strlen (buf));
+ printf ("Read string (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
return 2;
}
- printf ("ToASCII string (length %d): %s\n", strlen (p), p);
+ printf ("ToASCII string (length %ld): %s\n", strlen (p), p);
rc = idna_to_unicode_8z4z (p, &r, 0);
free (p);
free (r);
if (rc == TLD_INVALID)
{
- printf ("Domain rejected by TLD check, Unicode position %d\n", errpos);
+ printf ("Domain rejected by TLD check, Unicode position %ld\n", errpos);
return 1;
}
else if (rc != TLD_SUCCESS)
<h2 class="chapter">10 Invoking idn</h2>
-<p><a name="index-idn-111"></a><a name="index-invoking-_0040command_007bidn_007d-112"></a><a name="index-command-line-113"></a>
+<p><a name="index-idn-113"></a><a name="index-invoking-_0040command_007bidn_007d-114"></a><a name="index-command-line-115"></a>
<h3 class="section">10.1 Name</h3>
-p, --profile=STRING Use specified stringprep profile instead
Valid stringprep profiles: `Nameprep',
- `iSCSI', `Nodeprep', `Resourceprep',
+ `iSCSI', `Nodeprep', `Resourceprep',
`trace', `SASLprep'
--debug Print debugging information
</pre>
<p>The simplest explanation is that you haven't installed the
‘<samp><span class="samp">iconv</span></samp>’ conversion tools. You can find it as a standalone
-library in <acronym>GNU</acronym> Libiconv
-(<a href="http://www.gnu.org/software/libiconv/">http://www.gnu.org/software/libiconv/</a>). On many
-<acronym>GNU</acronym>/Linux systems, this library is part of the system, but
-you may have to install additional packages (e.g., ‘<samp><span class="samp">glibc-locale</span></samp>’
-for Debian) to be able to use it.
+library in GNU Libiconv
+(<a href="http://www.gnu.org/software/libiconv/">http://www.gnu.org/software/libiconv/</a>). On many GNU/Linux
+systems, this library is part of the system, but you may have to
+install additional packages (e.g., ‘<samp><span class="samp">glibc-locale</span></samp>’ for Debian) to
+be able to use it.
<p>Another explanation is that the error is correct and you are feeding
‘<samp><span class="samp">idn</span></samp>’ invalid data. This can happen inadvertently if you are not
-careful with the character set encodings you use. For example, if
-your shell run in a <code>ISO-8859-1</code> environment, and you invoke
+careful with the character set encoding you use. For example, if your
+shell run in a <code>ISO-8859-1</code> environment, and you invoke
‘<samp><span class="samp">idn</span></samp>’ with the ‘<samp><span class="samp">CHARSET</span></samp>’ environment variable as follows,
you will feed it <code>ISO-8859-1</code> characters but force it to believe
they are <code>UTF-8</code>. Naturally this will lead to an error, unless
-the byte sequences happen to be parsable as <code>UTF-8</code>. Note that
-even if you don't get an error, the output may be incorrect in this
-situation, because <code>ISO-8859-1</code> and <code>UTF-8</code> does not in
-general encode the same characters as the same byte sequences.
+the byte sequences happen to be valid <code>UTF-8</code>. Note that even if
+you don't get an error, the output may be incorrect in this situation,
+because <code>ISO-8859-1</code> and <code>UTF-8</code> does not in general encode
+the same characters as the same byte sequences.
<pre class="example"> jas@latte:~$ idn --quiet --debug ""
system locale uses charset `ISO-8859-1'.
<h3 class="section">11.1 Punycode Emacs API</h3>
<div class="defun">
-— Variable: <b>punycode-program</b><var><a name="index-punycode_002dprogram-114"></a></var><br>
+— Variable: <b>punycode-program</b><var><a name="index-punycode_002dprogram-116"></a></var><br>
<blockquote><p>Name of the GNU Libidn <samp><span class="file">idn</span></samp> application. The default is
‘<samp><span class="samp">idn</span></samp>’. This variable can be customized.
</p></blockquote></div>
<div class="defun">
-— Variable: <b>punycode-environment</b><var><a name="index-punycode_002denvironment-115"></a></var><br>
+— Variable: <b>punycode-environment</b><var><a name="index-punycode_002denvironment-117"></a></var><br>
<blockquote><p>List of environment variable definitions prepended to
‘<samp><span class="samp">process-environment</span></samp>’. The default is ‘<samp><span class="samp">("CHARSET=UTF-8")</span></samp>’.
This variable can be customized.
</p></blockquote></div>
<div class="defun">
-— Variable: <b>punycode-encode-parameters</b><var><a name="index-punycode_002dencode_002dparameters-116"></a></var><br>
+— Variable: <b>punycode-encode-parameters</b><var><a name="index-punycode_002dencode_002dparameters-118"></a></var><br>
<blockquote><p>List of parameters passed to <var>punycode-program</var> to invoke punycode
encoding mode. The default is ‘<samp><span class="samp">("--quiet" "--punycode-encode")</span></samp>’.
This variable can be customized.
</p></blockquote></div>
<div class="defun">
-— Variable: <b>punycode-decode-parameters</b><var><a name="index-punycode_002ddecode_002dparameters-117"></a></var><br>
+— Variable: <b>punycode-decode-parameters</b><var><a name="index-punycode_002ddecode_002dparameters-119"></a></var><br>
<blockquote><p>Parameters passed to <var>punycode-program</var> to invoke punycode
decoding mode. The default is ‘<samp><span class="samp">("--quiet" "--punycode-decode")</span></samp>’.
This variable can be customized.
</p></blockquote></div>
<div class="defun">
-— Function: <b>punycode-encode</b><var> string<a name="index-punycode_002dencode-118"></a></var><br>
+— Function: <b>punycode-encode</b><var> string<a name="index-punycode_002dencode-120"></a></var><br>
<blockquote><p>Returns a Punycode encoding of the <var>string</var>, after converting the
input into UTF-8.
</p></blockquote></div>
<div class="defun">
-— Function: <b>punycode-decode</b><var> string<a name="index-punycode_002ddecode-119"></a></var><br>
+— Function: <b>punycode-decode</b><var> string<a name="index-punycode_002ddecode-121"></a></var><br>
<blockquote><p>Returns a possibly multibyte string which is the decoding of the
<var>string</var> which is a punycode encoded string.
</p></blockquote></div>
<h3 class="section">11.2 IDNA Emacs API</h3>
<div class="defun">
-— Variable: <b>idna-program</b><var><a name="index-idna_002dprogram-120"></a></var><br>
+— Variable: <b>idna-program</b><var><a name="index-idna_002dprogram-122"></a></var><br>
<blockquote><p>Name of the GNU Libidn <samp><span class="file">idn</span></samp> application. The default is
‘<samp><span class="samp">idn</span></samp>’. This variable can be customized.
</p></blockquote></div>
<div class="defun">
-— Variable: <b>idna-environment</b><var><a name="index-idna_002denvironment-121"></a></var><br>
+— Variable: <b>idna-environment</b><var><a name="index-idna_002denvironment-123"></a></var><br>
<blockquote><p>List of environment variable definitions prepended to
‘<samp><span class="samp">process-environment</span></samp>’. The default is ‘<samp><span class="samp">("CHARSET=UTF-8")</span></samp>’.
This variable can be customized.
</p></blockquote></div>
<div class="defun">
-— Variable: <b>idna-to-ascii-parameters</b><var><a name="index-idna_002dto_002dascii_002dparameters-122"></a></var><br>
+— Variable: <b>idna-to-ascii-parameters</b><var><a name="index-idna_002dto_002dascii_002dparameters-124"></a></var><br>
<blockquote><p>List of parameters passed to <var>idna-program</var> to invoke IDNA ToASCII
mode. The default is ‘<samp><span class="samp">("--quiet" "--idna-to-ascii"
"--usestd3asciirules")</span></samp>’. This variable can be customized.
</p></blockquote></div>
<div class="defun">
-— Variable: <b>idna-to-unicode-parameters</b><var><a name="index-idna_002dto_002dunicode_002dparameters-123"></a></var><br>
+— Variable: <b>idna-to-unicode-parameters</b><var><a name="index-idna_002dto_002dunicode_002dparameters-125"></a></var><br>
<blockquote><p>Parameters passed <var>idna-program</var> to invoke IDNA ToUnicode mode.
The default is ‘<samp><span class="samp">("--quiet" "--idna-to-unicode"
"--usestd3asciirules")</span></samp>’. This variable can be customized.
</p></blockquote></div>
<div class="defun">
-— Function: <b>idna-to-ascii</b><var> string<a name="index-idna_002dto_002dascii-124"></a></var><br>
+— Function: <b>idna-to-ascii</b><var> string<a name="index-idna_002dto_002dascii-126"></a></var><br>
<blockquote><p>Returns an ASCII Compatible Encoding (ACE) of the string computed by
the IDNA ToASCII operation on the input <var>string</var>, after converting
the input to UTF-8.
</p></blockquote></div>
<div class="defun">
-— Function: <b>idna-to-unicode</b><var> string<a name="index-idna_002dto_002dunicode-125"></a></var><br>
+— Function: <b>idna-to-unicode</b><var> string<a name="index-idna_002dto_002dunicode-127"></a></var><br>
<blockquote><p>Returns a possibly multibyte string which is the output of the IDNA
ToUnicode operation computed on the input <var>string</var>.
</p></blockquote></div>
<p>The Java library, if Libidn has been built with Java support
(see <a href="#Downloading-and-Installing">Downloading and Installing</a>), will be placed in
-<samp><span class="file">java/libidn-1.15.jar</span></samp>. The source code is located in
+<samp><span class="file">java/libidn-1.23.jar</span></samp>. The source code is located in
<samp><span class="file">java/gnu/inet/encoding/</span></samp>.
<h3 class="section">12.1 Overview</h3>
<p>The test vectors can be found at the Libidn homepage,
<a href="http://www.gnu.org/software/libidn/">http://www.gnu.org/software/libidn/</a>.
- <p>To test the tranformation manually, use:
+ <p>To test the transformation manually, use:
<pre class="example"> $ java -cp .:../libidn.jar TestIDNA -a <string to test>
Input: <string to test>
<h3 class="section">12.4 A Note on Java and Unicode</h3>
-<p>This library uses Java's builtin 'char' datatype. Up to Java 1.4, this
+<p>This library uses Java's built-in 'char' datatype. Up to Java 1.4, this
datatype only supports 16-bit Unicode code points, also called the
Basic Multilingual Plane. For this reason, this library doesn't work
for Supplementary Characters (i.e. characters from U+10000 to
To: bug-libidn@gnu.org
Date: Wed, 27 Oct 2004 14:49:17 -0700
-Hello. On behalf of the Unicode Consortium editorial committee, I would
-like to find out more information about the PR 29 fixes, if any, and
-functions in Libidn. Your implementation was listed in the text of PR29 as
+Hello. On behalf of the Unicode Consortium editorial committee, I would
+like to find out more information about the PR 29 fixes, if any, and
+functions in Libidn. Your implementation was listed in the text of PR29 as
needing investigation, so I am following up on several implementations.
-The UTC has accepted the proposed fix to D2 as outlined in PR29, and a new
+The UTC has accepted the proposed fix to D2 as outlined in PR29, and a new
draft of UAX #15 has been issued.
-I have looked at Libidn 0.5.8 (today), and there may still be a possible
+I have looked at Libidn 0.5.8 (today), and there may still be a possible
bug in NFKC.java and nfkc.c.
------------------------------------------------------
&wc_buffer[last_start]))
{
-This appears to have the same bug as the current Python implementation (in
-Python 2.3.4). The code should be checking, as per new rule D2 UAX #15
-update, that the next combining character is the same or HIGHER than the
+This appears to have the same bug as the current Python implementation (in
+Python 2.3.4). The code should be checking, as per new rule D2 UAX #15
+update, that the next combining character is the same or HIGHER than the
current one. It now checks to see if it's non-zero and not equal.
The above line(s) should perhaps be changed to:
but I'm not sure of the sense of the comparison (< or > or <=?) here.
-In the text of PR29, I will be marking Libidn as "needs change" and adding
-the version number that I checked. If any further change is made, please
+In the text of PR29, I will be marking Libidn as "needs change" and adding
+the version number that I checked. If any further change is made, please
let me know the release version, and I'll update again.
Regards,
Rick McGowan <rick@unicode.org> writes:
-> Hello. On behalf of the Unicode Consortium editorial committee, I would
-> like to find out more information about the PR 29 fixes, if any, and
-> functions in Libidn. Your implementation was listed in the text of PR29 as
+> Hello. On behalf of the Unicode Consortium editorial committee, I would
+> like to find out more information about the PR 29 fixes, if any, and
+> functions in Libidn. Your implementation was listed in the text of PR29 as
> needing investigation, so I am following up on several implementations.
>
-> The UTC has accepted the proposed fix to D2 as outlined in PR29, and a new
+> The UTC has accepted the proposed fix to D2 as outlined in PR29, and a new
> draft of UAX #15 has been issued.
>
-> I have looked at Libidn 0.5.8 (today), and there may still be a possible
+> I have looked at Libidn 0.5.8 (today), and there may still be a possible
> bug in NFKC.java and nfkc.c.
Hello Rick.
<h3 class="appendixsec">C.1 GNU Free Documentation License</h3>
-<p><a name="index-FDL_002c-GNU-Free-Documentation-License-126"></a>
+<p><a name="index-FDL_002c-GNU-Free-Documentation-License-128"></a>
<!-- The GNU Free Documentation License. -->
<div align="center">Version 1.3, 3 November 2008</div>
of text. A copy that is not “Transparent” is called “Opaque”.
<p>Examples of suitable formats for Transparent copies include plain
-<span class="sc">ascii</span> without markup, Texinfo input format, LaTeX input
-format, <acronym>SGML</acronym> or <acronym>XML</acronym> using a publicly available
-<acronym>DTD</acronym>, and standard-conforming simple <acronym>HTML</acronym>,
-PostScript or <acronym>PDF</acronym> designed for human modification. Examples
-of transparent image formats include <acronym>PNG</acronym>, <acronym>XCF</acronym> and
-<acronym>JPG</acronym>. Opaque formats include proprietary formats that can be
-read and edited only by proprietary word processors, <acronym>SGML</acronym> or
-<acronym>XML</acronym> for which the <acronym>DTD</acronym> and/or processing tools are
-not generally available, and the machine-generated <acronym>HTML</acronym>,
-PostScript or <acronym>PDF</acronym> produced by some word processors for
+ASCII without markup, Texinfo input format, LaTeX input
+format, SGML or XML using a publicly available
+DTD, and standard-conforming simple HTML,
+PostScript or PDF designed for human modification. Examples
+of transparent image formats include PNG, XCF and
+JPG. Opaque formats include proprietary formats that can be
+read and edited only by proprietary word processors, SGML or
+XML for which the DTD and/or processing tools are
+not generally available, and the machine-generated HTML,
+PostScript or PDF produced by some word processors for
output purposes only.
<p>The “Title Page” means, for a printed book, the title page itself,
<h3 class="appendixsec">C.2 GNU Lesser General Public License</h3>
-<p><a name="index-LGPL_002c-GNU-Lesser-General-Public-License-127"></a><a name="index-License_002c-GNU-LGPL-128"></a>
+<p><a name="index-LGPL_002c-GNU-Lesser-General-Public-License-129"></a><a name="index-License_002c-GNU-LGPL-130"></a>
<!-- The GNU Lesser General Public License. -->
<div align="center">Version 2.1, February 1999</div>
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
+ <div align="center"><b>NO WARRANTY</b></div>
+
<li>BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
DAMAGES.
</ol>
+<h4 class="subheading">END OF TERMS AND CONDITIONS</h4>
+
<h4 class="subheading">How to Apply These Terms to Your New Libraries</h4>
<p>If you develop a new library, and you want it to be of the greatest
<h3 class="appendixsec">C.3 GNU General Public License</h3>
-<p><a name="index-GPL_002c-GNU-General-Public-License-129"></a><a name="index-License_002c-GNU-GPL-130"></a>
+<p><a name="index-GPL_002c-GNU-General-Public-License-131"></a><a name="index-License_002c-GNU-GPL-132"></a>
<!-- The GNU General Public License. -->
<div align="center">Version 3, 29 June 2007</div>
<h2 class="unnumbered">Function and Variable Index</h2>
<ul class="index-fn" compact>
-<li><a href="#index-idn_005ffree-46"><code>idn_free</code></a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
-<li><a href="#index-idna_002dto_002dascii-124"><code>idna-to-ascii</code></a>: <a href="#Emacs-API">Emacs API</a></li>
-<li><a href="#index-idna_002dto_002dunicode-125"><code>idna-to-unicode</code></a>: <a href="#Emacs-API">Emacs API</a></li>
-<li><a href="#index-idna_005fstrerror-91"><code>idna_strerror</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005fascii_005f4i-81"><code>idna_to_ascii_4i</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005fascii_005f4z-83"><code>idna_to_ascii_4z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005fascii_005f8z-84"><code>idna_to_ascii_8z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005fascii_005flz-85"><code>idna_to_ascii_lz</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005funicode_005f44i-82"><code>idna_to_unicode_44i</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005funicode_005f4z4z-86"><code>idna_to_unicode_4z4z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005funicode_005f8z4z-87"><code>idna_to_unicode_8z4z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005funicode_005f8z8z-88"><code>idna_to_unicode_8z8z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005funicode_005f8zlz-89"><code>idna_to_unicode_8zlz</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-idna_005fto_005funicode_005flzlz-90"><code>idna_to_unicode_lzlz</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-pr29_005f4-106"><code>pr29_4</code></a>: <a href="#PR29-Functions">PR29 Functions</a></li>
-<li><a href="#index-pr29_005f4z-107"><code>pr29_4z</code></a>: <a href="#PR29-Functions">PR29 Functions</a></li>
-<li><a href="#index-pr29_005f8z-108"><code>pr29_8z</code></a>: <a href="#PR29-Functions">PR29 Functions</a></li>
-<li><a href="#index-pr29_005fstrerror-109"><code>pr29_strerror</code></a>: <a href="#PR29-Functions">PR29 Functions</a></li>
-<li><a href="#index-punycode_002ddecode-119"><code>punycode-decode</code></a>: <a href="#Emacs-API">Emacs API</a></li>
-<li><a href="#index-punycode_002dencode-118"><code>punycode-encode</code></a>: <a href="#Emacs-API">Emacs API</a></li>
-<li><a href="#index-punycode_005fdecode-75"><code>punycode_decode</code></a>: <a href="#Punycode-Functions">Punycode Functions</a></li>
-<li><a href="#index-punycode_005fencode-74"><code>punycode_encode</code></a>: <a href="#Punycode-Functions">Punycode Functions</a></li>
-<li><a href="#index-punycode_005fstrerror-76"><code>punycode_strerror</code></a>: <a href="#Punycode-Functions">Punycode Functions</a></li>
-<li><a href="#index-stringprep-64"><code>stringprep</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005f4i-62"><code>stringprep_4i</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005f4zi-63"><code>stringprep_4zi</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005fcheck_005fversion-38"><code>stringprep_check_version</code></a>: <a href="#Version-Check">Version Check</a></li>
-<li><a href="#index-stringprep_005fconvert-55"><code>stringprep_convert</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005fiscsi-68"><code>stringprep_iscsi</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005flocale_005fcharset-54"><code>stringprep_locale_charset</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005flocale_005fto_005futf8-56"><code>stringprep_locale_to_utf8</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005fnameprep_005fno_005funassigned-67"><code>stringprep_nameprep_no_unassigned</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005fplain-69"><code>stringprep_plain</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005fprofile-65"><code>stringprep_profile</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005fstrerror-66"><code>stringprep_strerror</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005fucs4_005fnfkc_005fnormalize-52"><code>stringprep_ucs4_nfkc_normalize</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005fucs4_005fto_005futf8-50"><code>stringprep_ucs4_to_utf8</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005funichar_005fto_005futf8-48"><code>stringprep_unichar_to_utf8</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005futf8_005fnfkc_005fnormalize-53"><code>stringprep_utf8_nfkc_normalize</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005futf8_005fto_005flocale-57"><code>stringprep_utf8_to_locale</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005futf8_005fto_005fucs4-51"><code>stringprep_utf8_to_ucs4</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005futf8_005fto_005funichar-49"><code>stringprep_utf8_to_unichar</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
-<li><a href="#index-stringprep_005fxmpp_005fnodeprep-70"><code>stringprep_xmpp_nodeprep</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-stringprep_005fxmpp_005fresourceprep-71"><code>stringprep_xmpp_resourceprep</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
-<li><a href="#index-tld_005fcheck_005f4-100"><code>tld_check_4</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fcheck_005f4t-93"><code>tld_check_4t</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fcheck_005f4tz-94"><code>tld_check_4tz</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fcheck_005f4z-101"><code>tld_check_4z</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fcheck_005f8z-102"><code>tld_check_8z</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fcheck_005flz-103"><code>tld_check_lz</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fdefault_005ftable-99"><code>tld_default_table</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fget_005f4-95"><code>tld_get_4</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fget_005f4z-96"><code>tld_get_4z</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fget_005ftable-98"><code>tld_get_table</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fget_005fz-97"><code>tld_get_z</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
-<li><a href="#index-tld_005fstrerror-104"><code>tld_strerror</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
+<li><a href="#index-idn_005ffree-48"><code>idn_free</code></a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
+<li><a href="#index-idna_002dto_002dascii-126"><code>idna-to-ascii</code></a>: <a href="#Emacs-API">Emacs API</a></li>
+<li><a href="#index-idna_002dto_002dunicode-127"><code>idna-to-unicode</code></a>: <a href="#Emacs-API">Emacs API</a></li>
+<li><a href="#index-idna_005fstrerror-93"><code>idna_strerror</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
+<li><a href="#index-idna_005fto_005fascii_005f4i-83"><code>idna_to_ascii_4i</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
+<li><a href="#index-idna_005fto_005fascii_005f4z-85"><code>idna_to_ascii_4z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
+<li><a href="#index-idna_005fto_005fascii_005f8z-86"><code>idna_to_ascii_8z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
+<li><a href="#index-idna_005fto_005fascii_005flz-87"><code>idna_to_ascii_lz</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
+<li><a href="#index-idna_005fto_005funicode_005f44i-84"><code>idna_to_unicode_44i</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
+<li><a href="#index-idna_005fto_005funicode_005f4z4z-88"><code>idna_to_unicode_4z4z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
+<li><a href="#index-idna_005fto_005funicode_005f8z4z-89"><code>idna_to_unicode_8z4z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
+<li><a href="#index-idna_005fto_005funicode_005f8z8z-90"><code>idna_to_unicode_8z8z</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
+<li><a href="#index-idna_005fto_005funicode_005f8zlz-91"><code>idna_to_unicode_8zlz</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
+<li><a href="#index-idna_005fto_005funicode_005flzlz-92"><code>idna_to_unicode_lzlz</code></a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
+<li><a href="#index-pr29_005f4-108"><code>pr29_4</code></a>: <a href="#PR29-Functions">PR29 Functions</a></li>
+<li><a href="#index-pr29_005f4z-109"><code>pr29_4z</code></a>: <a href="#PR29-Functions">PR29 Functions</a></li>
+<li><a href="#index-pr29_005f8z-110"><code>pr29_8z</code></a>: <a href="#PR29-Functions">PR29 Functions</a></li>
+<li><a href="#index-pr29_005fstrerror-111"><code>pr29_strerror</code></a>: <a href="#PR29-Functions">PR29 Functions</a></li>
+<li><a href="#index-punycode_002ddecode-121"><code>punycode-decode</code></a>: <a href="#Emacs-API">Emacs API</a></li>
+<li><a href="#index-punycode_002dencode-120"><code>punycode-encode</code></a>: <a href="#Emacs-API">Emacs API</a></li>
+<li><a href="#index-punycode_005fdecode-77"><code>punycode_decode</code></a>: <a href="#Punycode-Functions">Punycode Functions</a></li>
+<li><a href="#index-punycode_005fencode-76"><code>punycode_encode</code></a>: <a href="#Punycode-Functions">Punycode Functions</a></li>
+<li><a href="#index-punycode_005fstrerror-78"><code>punycode_strerror</code></a>: <a href="#Punycode-Functions">Punycode Functions</a></li>
+<li><a href="#index-stringprep-66"><code>stringprep</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
+<li><a href="#index-stringprep_005f4i-64"><code>stringprep_4i</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
+<li><a href="#index-stringprep_005f4zi-65"><code>stringprep_4zi</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
+<li><a href="#index-stringprep_005fcheck_005fversion-40"><code>stringprep_check_version</code></a>: <a href="#Version-Check">Version Check</a></li>
+<li><a href="#index-stringprep_005fconvert-57"><code>stringprep_convert</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
+<li><a href="#index-stringprep_005fiscsi-70"><code>stringprep_iscsi</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
+<li><a href="#index-stringprep_005flocale_005fcharset-56"><code>stringprep_locale_charset</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
+<li><a href="#index-stringprep_005flocale_005fto_005futf8-58"><code>stringprep_locale_to_utf8</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
+<li><a href="#index-stringprep_005fnameprep_005fno_005funassigned-69"><code>stringprep_nameprep_no_unassigned</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
+<li><a href="#index-stringprep_005fplain-71"><code>stringprep_plain</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
+<li><a href="#index-stringprep_005fprofile-67"><code>stringprep_profile</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
+<li><a href="#index-stringprep_005fstrerror-68"><code>stringprep_strerror</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
+<li><a href="#index-stringprep_005fucs4_005fnfkc_005fnormalize-54"><code>stringprep_ucs4_nfkc_normalize</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
+<li><a href="#index-stringprep_005fucs4_005fto_005futf8-52"><code>stringprep_ucs4_to_utf8</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
+<li><a href="#index-stringprep_005funichar_005fto_005futf8-50"><code>stringprep_unichar_to_utf8</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
+<li><a href="#index-stringprep_005futf8_005fnfkc_005fnormalize-55"><code>stringprep_utf8_nfkc_normalize</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
+<li><a href="#index-stringprep_005futf8_005fto_005flocale-59"><code>stringprep_utf8_to_locale</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
+<li><a href="#index-stringprep_005futf8_005fto_005fucs4-53"><code>stringprep_utf8_to_ucs4</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
+<li><a href="#index-stringprep_005futf8_005fto_005funichar-51"><code>stringprep_utf8_to_unichar</code></a>: <a href="#Utility-Functions">Utility Functions</a></li>
+<li><a href="#index-stringprep_005fxmpp_005fnodeprep-72"><code>stringprep_xmpp_nodeprep</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
+<li><a href="#index-stringprep_005fxmpp_005fresourceprep-73"><code>stringprep_xmpp_resourceprep</code></a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
+<li><a href="#index-tld_005fcheck_005f4-102"><code>tld_check_4</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
+<li><a href="#index-tld_005fcheck_005f4t-95"><code>tld_check_4t</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
+<li><a href="#index-tld_005fcheck_005f4tz-96"><code>tld_check_4tz</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
+<li><a href="#index-tld_005fcheck_005f4z-103"><code>tld_check_4z</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
+<li><a href="#index-tld_005fcheck_005f8z-104"><code>tld_check_8z</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
+<li><a href="#index-tld_005fcheck_005flz-105"><code>tld_check_lz</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
+<li><a href="#index-tld_005fdefault_005ftable-101"><code>tld_default_table</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
+<li><a href="#index-tld_005fget_005f4-97"><code>tld_get_4</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
+<li><a href="#index-tld_005fget_005f4z-98"><code>tld_get_4z</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
+<li><a href="#index-tld_005fget_005ftable-100"><code>tld_get_table</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
+<li><a href="#index-tld_005fget_005fz-99"><code>tld_get_z</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
+<li><a href="#index-tld_005fstrerror-106"><code>tld_strerror</code></a>: <a href="#TLD-Functions">TLD Functions</a></li>
</ul><div class="node">
<a name="Concept-Index"></a>
<p><hr>
<ul class="index-cp" compact>
<li><a href="#index-AIX-15">AIX</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
<li><a href="#index-ARM-29">ARM</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Autoconf-tests-40">Autoconf tests</a>: <a href="#Autoconf-tests">Autoconf tests</a></li>
-<li><a href="#index-command-line-113">command line</a>: <a href="#Invoking-idn">Invoking idn</a></li>
-<li><a href="#index-Compiling-your-application-39">Compiling your application</a>: <a href="#Building-the-source">Building the source</a></li>
-<li><a href="#index-Configure-tests-41">Configure tests</a>: <a href="#Autoconf-tests">Autoconf tests</a></li>
-<li><a href="#index-Contributing-36">Contributing</a>: <a href="#Contributing">Contributing</a></li>
-<li><a href="#index-de_002dallocation-44">de-allocation</a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
+<li><a href="#index-Autoconf-tests-42">Autoconf tests</a>: <a href="#Autoconf-tests">Autoconf tests</a></li>
+<li><a href="#index-command-line-115">command line</a>: <a href="#Invoking-idn">Invoking idn</a></li>
+<li><a href="#index-Compiling-your-application-41">Compiling your application</a>: <a href="#Building-the-source">Building the source</a></li>
+<li><a href="#index-Configure-tests-43">Configure tests</a>: <a href="#Autoconf-tests">Autoconf tests</a></li>
+<li><a href="#index-Contributing-38">Contributing</a>: <a href="#Contributing">Contributing</a></li>
+<li><a href="#index-de_002dallocation-46">de-allocation</a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
<li><a href="#index-Debian-1">Debian</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Download-34">Download</a>: <a href="#Downloading-and-Installing">Downloading and Installing</a></li>
-<li><a href="#index-Examples-110">Examples</a>: <a href="#Examples">Examples</a></li>
-<li><a href="#index-FDL_002c-GNU-Free-Documentation-License-126">FDL, GNU Free Documentation License</a>: <a href="#GNU-Free-Documentation-License">GNU Free Documentation License</a></li>
-<li><a href="#index-free-42">free</a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
+<li><a href="#index-Download-36">Download</a>: <a href="#Downloading-and-Installing">Downloading and Installing</a></li>
+<li><a href="#index-Examples-112">Examples</a>: <a href="#Examples">Examples</a></li>
+<li><a href="#index-FDL_002c-GNU-Free-Documentation-License-128">FDL, GNU Free Documentation License</a>: <a href="#GNU-Free-Documentation-License">GNU Free Documentation License</a></li>
+<li><a href="#index-free-44">free</a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
<li><a href="#index-FreeBSD-23">FreeBSD</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-GPL_002c-GNU-General-Public-License-129">GPL, GNU General Public License</a>: <a href="#GNU-GPL">GNU GPL</a></li>
-<li><a href="#index-Hacking-37">Hacking</a>: <a href="#Contributing">Contributing</a></li>
-<li><a href="#index-heap-memory-45">heap memory</a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
+<li><a href="#index-GPL_002c-GNU-General-Public-License-131">GPL, GNU General Public License</a>: <a href="#GNU-GPL">GNU GPL</a></li>
+<li><a href="#index-Hacking-39">Hacking</a>: <a href="#Contributing">Contributing</a></li>
+<li><a href="#index-heap-memory-47">heap memory</a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
<li><a href="#index-HP_002dUX-17">HP-UX</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-idn-111"><code>idn</code></a>: <a href="#Invoking-idn">Invoking idn</a></li>
-<li><a href="#index-IDNA-Functions-77">IDNA Functions</a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
-<li><a href="#index-Installation-33">Installation</a>: <a href="#Downloading-and-Installing">Downloading and Installing</a></li>
-<li><a href="#index-invoking-_0040command_007bidn_007d-112">invoking <samp><span class="command">idn</span></samp></a>: <a href="#Invoking-idn">Invoking idn</a></li>
+<li><a href="#index-IBM-34">IBM</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
+<li><a href="#index-idn-113"><code>idn</code></a>: <a href="#Invoking-idn">Invoking idn</a></li>
+<li><a href="#index-IDNA-Functions-79">IDNA Functions</a>: <a href="#IDNA-Functions">IDNA Functions</a></li>
+<li><a href="#index-Installation-35">Installation</a>: <a href="#Downloading-and-Installing">Downloading and Installing</a></li>
+<li><a href="#index-invoking-_0040command_007bidn_007d-114">invoking <samp><span class="command">idn</span></samp></a>: <a href="#Invoking-idn">Invoking idn</a></li>
<li><a href="#index-IRIX-14">IRIX</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-LGPL_002c-GNU-Lesser-General-Public-License-127">LGPL, GNU Lesser General Public License</a>: <a href="#GNU-LGPL">GNU LGPL</a></li>
-<li><a href="#index-License_002c-GNU-GPL-130">License, GNU GPL</a>: <a href="#GNU-GPL">GNU GPL</a></li>
-<li><a href="#index-License_002c-GNU-LGPL-128">License, GNU LGPL</a>: <a href="#GNU-LGPL">GNU LGPL</a></li>
+<li><a href="#index-LGPL_002c-GNU-Lesser-General-Public-License-129">LGPL, GNU Lesser General Public License</a>: <a href="#GNU-LGPL">GNU LGPL</a></li>
+<li><a href="#index-License_002c-GNU-GPL-132">License, GNU GPL</a>: <a href="#GNU-GPL">GNU GPL</a></li>
+<li><a href="#index-License_002c-GNU-LGPL-130">License, GNU LGPL</a>: <a href="#GNU-LGPL">GNU LGPL</a></li>
<li><a href="#index-MacOS-X-24">MacOS X</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
<li><a href="#index-Mandrake-13">Mandrake</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Memory-handling-43">Memory handling</a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
+<li><a href="#index-Memory-handling-45">Memory handling</a>: <a href="#Memory-handling-under-Windows">Memory handling under Windows</a></li>
<li><a href="#index-Microsoft-31">Microsoft</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
<li><a href="#index-mingw32-32">mingw32</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
<li><a href="#index-Motorola-Coldfire-26">Motorola Coldfire</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
<li><a href="#index-NetBSD-21">NetBSD</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
<li><a href="#index-OpenBSD-22">OpenBSD</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
<li><a href="#index-OpenPower-720-8">OpenPower 720</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-PR29-Functions-105">PR29 Functions</a>: <a href="#PR29-Functions">PR29 Functions</a></li>
-<li><a href="#index-Punycode-Functions-72">Punycode Functions</a>: <a href="#Punycode-Functions">Punycode Functions</a></li>
+<li><a href="#index-OS_002f2-33">OS/2</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
+<li><a href="#index-PR29-Functions-107">PR29 Functions</a>: <a href="#PR29-Functions">PR29 Functions</a></li>
+<li><a href="#index-Punycode-Functions-74">Punycode Functions</a>: <a href="#Punycode-Functions">Punycode Functions</a></li>
<li><a href="#index-RedHat-9">RedHat</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
<li><a href="#index-RedHat-Advanced-Server-11">RedHat Advanced Server</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Reporting-Bugs-35">Reporting Bugs</a>: <a href="#Bug-Reports">Bug Reports</a></li>
+<li><a href="#index-Reporting-Bugs-37">Reporting Bugs</a>: <a href="#Bug-Reports">Bug Reports</a></li>
<li><a href="#index-Solaris-18">Solaris</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Stringprep-Functions-58">Stringprep Functions</a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
+<li><a href="#index-Stringprep-Functions-60">Stringprep Functions</a>: <a href="#Stringprep-Functions">Stringprep Functions</a></li>
<li><a href="#index-SuSE-4">SuSE</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
<li><a href="#index-SuSE-Linux-5">SuSE Linux</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-TLD-Functions-92">TLD Functions</a>: <a href="#TLD-Functions">TLD Functions</a></li>
+<li><a href="#index-TLD-Functions-94">TLD Functions</a>: <a href="#TLD-Functions">TLD Functions</a></li>
<li><a href="#index-Tru64-3">Tru64</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
<li><a href="#index-uClibc-28">uClibc</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
<li><a href="#index-uClinux-27">uClinux</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
-<li><a href="#index-Utility-Functions-47">Utility Functions</a>: <a href="#Utility-Functions">Utility Functions</a></li>
+<li><a href="#index-Utility-Functions-49">Utility Functions</a>: <a href="#Utility-Functions">Utility Functions</a></li>
<li><a href="#index-Windows-16">Windows</a>: <a href="#Supported-Platforms">Supported Platforms</a></li>
</ul><div class="footnote">
<hr>
This is libidn.info, produced by makeinfo version 4.13 from libidn.texi.
-This manual is last updated 28 May 2009 for version 1.15 of GNU Libidn.
+This manual is last updated 25 November 2011 for version 1.23 of GNU
+Libidn.
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon
-Josefsson.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+2011 Simon Josefsson.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
GNU Libidn
**********
-This manual is last updated 28 May 2009 for version 1.15 of GNU Libidn.
+This manual is last updated 25 November 2011 for version 1.23 of GNU
+Libidn.
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon
-Josefsson.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+2011 Simon Josefsson.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
It's thread-safe
No global state is kept in the library. All functions are
- reentrant.
+ re-entrant.
It's portable
The code is intended to be written in pure ANSI C89. It has been
=======================
Libidn has at some point in time been tested on the following
-platforms. Online build reports for each platforms and Libidn version
-is available at `http://autobuild.josefsson.org/libidn/'.
+platforms. Build reports for each platforms and Libidn version is
+available at `http://autobuild.josefsson.org/libidn/'.
1. Debian GNU/Linux 3.0 (Woody)
GCC 3.4.4 and GNU Make `i586-mingw32msvc'.
+ 28. OS/2
+
+ GCC.
+
If you use Libidn on, or port Libidn to, a new platform please report
it to the author.
If you are interested, please write to:
-Simon Josefsson Datakonsult
+Simon Josefsson Datakonsult AB
Hagagatan 24
113 47 Stockholm
Sweden
E-mail: simon@josefsson.org
- If your company provide support related to GNU Libidn and would like
+ If your company provides support related to GNU Libidn and would like
to be mentioned here, contact the author (*note Bug Reports::).
\1f
`ftp://alpha.gnu.org/pub/gnu/libidn/'
- The latest version is stored in a file, e.g., `libidn-1.15.tar.gz'
-where the `1.15' value is the highest version number in the directory.
+ The latest version is stored in a file, e.g., `libidn-1.23.tar.gz'
+where the `1.23' value is the highest version number in the directory.
The package is then extracted, configured and built like many other
packages that use Autoconf. For detailed information on configuring
and install the package. You will need a few basic tools, such as
`sh', `make' and `cc'.
- $ wget -q ftp://alpha.gnu.org/pub/gnu/libidn/libidn-1.15.tar.gz
- $ tar xfz libidn-1.15.tar.gz
- $ cd libidn-1.15/
+ $ wget -q ftp://alpha.gnu.org/pub/gnu/libidn/libidn-1.23.tar.gz
+ $ tar xfz libidn-1.23.tar.gz
+ $ cd libidn-1.23/
$ ./configure
...
$ make
the PNET `cscc' compiler or the Mono `mcs' compiler should be
used, respectively.
+`--disable-valgrind-tests'
+ Disable running the self-checks under Valgrind
+ (`http://valgrind.org/'). Normally Valgrind does not cause
+ problems and can detect some severe memory errors. If you are
+ getting errors from Valgrind that are caused by the compiler or
+ libc (possibly as a result of special optimization flags), you may
+ use this option to disable the use of Valgrind.
+
For the complete list, refer to the output from `configure --help'.
{
printf ("stringprep_check_version() failed:\n"
"Header file incompatible with shared library.\n");
- exit(1);
+ exit(EXIT_FAILURE);
}
\1f
path (via the `-L' option). For this, the option `--libs' to
`pkg-config libidn' can be used. For convenience, this option also
outputs all other options that are required to link the program with
-the `libidn' libarary. The example shows how to link `foo.o' with the
+the `libidn' library. The example shows how to link `foo.o' with the
`libidn' library to a program `foo'.
gcc -o foo foo.o `pkg-config libidn --libs`
*Return value:* a pointer to a newly allocated UTF-8 string. This
value must be deallocated by the caller. If an error occurs,
- `NULL' will be returned and `error' set.
+ `NULL' will be returned.
stringprep_utf8_to_ucs4
-----------------------
strings (i.e., Unicode code points encoded in a 32-bit unsigned integer
type) of the specified length. The `i' indicate that the data is
written "inline" into the buffer. This means the caller is responsible
-for allocating (and deallocating) the string, and providing the library
-with the allocated length of the string. The output length is written
-in the output length variable. The remaining functions all contain the
-`z' indicator, which means the strings are zero terminated. All output
-strings are allocated by the library, and must be deallocated by the
-caller. The `4' indicator again means that the string is UCS-4, the
-`8' means the strings are UTF-8 and the `l' indicator means the strings
-are encoded in the encoding used by the current locale.
+for allocating (and de-allocating) the string, and providing the
+library with the allocated length of the string. The output length is
+written in the output length variable. The remaining functions all
+contain the `z' indicator, which means the strings are zero terminated.
+All output strings are allocated by the library, and must be
+de-allocated by the caller. The `4' indicator again means that the
+string is UCS-4, the `8' means the strings are UTF-8 and the `l'
+indicator means the strings are encoded in the encoding used by the
+current locale.
The functions provided are the following entry points:
Libidn also ship some tables from TLDs that we have managed to get
permission to use them from. Because these tables are even less static
than Unicode or StringPrep tables, it is likely that they will be
-updated from time to time (even in backwards incompatibe ways). The
+updated from time to time (even in backwards incompatible ways). The
Libidn interface provide a "version" field for each TLD table, which
can be compared for equality to guarantee the same operation over time.
- From a design point of view, you can regard the TLD tables for IDN
-as the "localization" step that come after the "internationalization"
-step provided by the IETF standards.
+ From a design point of view, you can regard the TLD tables for IDN as
+the "localization" step that come after the "internationalization" step
+provided by the IETF standards.
The TLD functionality rely on up-to-date tables. The latest version
of Libidn aim to provide these, but tables with unclear copying
conditions, or generally experimental tables, are not included. Some
-such tables can be found at `http://tldchk.berlios.de'.
+such tables can be found at `https://github.com/gnuthor/tldchk'.
7.1 Header file `tld.h'
=======================
*PR29_PROBLEM:* A problem sequence was encountered.
*PR29_STRINGPREP_ERROR:* The character set conversion failed (only
- for `pr29_8()' and `pr29_8z()').
+ for `pr29_8z()').
*Return value:* Returns a pointer to a statically allocated string
containing a description of the error with the return code `rc'.
This example demonstrates how the stringprep functions are used.
/* example.c --- Example code showing how to use stringprep().
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
fflush (stdout);
fgets (buf, BUFSIZ, stdin);
- printf ("Before locale2utf8 (length %d): ", strlen (buf));
+ printf ("Before locale2utf8 (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
else
printf ("Could not convert string to UTF-8, continuing anyway...\n");
- printf ("Before stringprep (length %d): ", strlen (buf));
+ printf ("Before stringprep (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
printf ("Stringprep failed (%d): %s\n", rc, stringprep_strerror (rc));
else
{
- printf ("After stringprep (length %d): ", strlen (buf));
+ printf ("After stringprep (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
This example demonstrates how the punycode functions are used.
/* example2.c --- Example code showing how to use punycode.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
* Copyright (C) 2002 Adam M. Costello
*
* This file is part of GNU Libidn.
internationalized domain names into ASCII compatible names.
/* example3.c --- Example ToASCII() code showing how to use Libidn.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
fgets (buf, BUFSIZ, stdin);
buf[strlen (buf) - 1] = '\0';
- printf ("Read string (length %d): ", strlen (buf));
+ printf ("Read string (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
if (rc != IDNA_SUCCESS)
{
printf ("ToASCII() failed (%d): %s\n", rc, idna_strerror (rc));
- exit (1);
+ return EXIT_FAILURE;
}
- printf ("ACE label (length %d): '%s'\n", strlen (p), p);
+ printf ("ACE label (length %ld): '%s'\n", strlen (p), p);
for (i = 0; i < strlen (p); i++)
printf ("%02x ", p[i] & 0xFF);
printf ("\n");
compatible names to internationalized domain names.
/* example4.c --- Example ToUnicode() code showing how to use Libidn.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
fgets (buf, BUFSIZ, stdin);
buf[strlen (buf) - 1] = '\0';
- printf ("Read string (length %d): ", strlen (buf));
+ printf ("Read string (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
if (rc != IDNA_SUCCESS)
{
printf ("ToUnicode() failed (%d): %s\n", rc, idna_strerror (rc));
- exit (1);
+ return EXIT_FAILURE;
}
- printf ("ACE label (length %d): '%s'\n", strlen (p), p);
+ printf ("ACE label (length %ld): '%s'\n", strlen (p), p);
for (i = 0; i < strlen (p); i++)
printf ("%02x ", p[i] & 0xFF);
printf ("\n");
invalid characters within a specific TLD.
/* example5.c --- Example TLD checking.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson
*
* This file is part of GNU Libidn.
*
fgets (buf, BUFSIZ, stdin);
buf[strlen (buf) - 1] = '\0';
- printf ("Read string (length %d): ", strlen (buf));
+ printf ("Read string (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
return 2;
}
- printf ("ToASCII string (length %d): %s\n", strlen (p), p);
+ printf ("ToASCII string (length %ld): %s\n", strlen (p), p);
rc = idna_to_unicode_8z4z (p, &r, 0);
free (p);
free (r);
if (rc == TLD_INVALID)
{
- printf ("Domain rejected by TLD check, Unicode position %d\n", errpos);
+ printf ("Domain rejected by TLD check, Unicode position %ld\n", errpos);
return 1;
}
else if (rc != TLD_SUCCESS)
Another explanation is that the error is correct and you are feeding
`idn' invalid data. This can happen inadvertently if you are not
-careful with the character set encodings you use. For example, if your
+careful with the character set encoding you use. For example, if your
shell run in a `ISO-8859-1' environment, and you invoke `idn' with the
`CHARSET' environment variable as follows, you will feed it
`ISO-8859-1' characters but force it to believe they are `UTF-8'.
Naturally this will lead to an error, unless the byte sequences happen
-to be parsable as `UTF-8'. Note that even if you don't get an error,
-the output may be incorrect in this situation, because `ISO-8859-1' and
+to be valid `UTF-8'. Note that even if you don't get an error, the
+output may be incorrect in this situation, because `ISO-8859-1' and
`UTF-8' does not in general encode the same characters as the same byte
sequences.
The Java library, if Libidn has been built with Java support (*note
Downloading and Installing::), will be placed in
-`java/libidn-1.15.jar'. The source code is located in
+`java/libidn-1.23.jar'. The source code is located in
`java/gnu/inet/encoding/'.
12.1 Overview
The test vectors can be found at the Libidn homepage,
`http://www.gnu.org/software/libidn/'.
- To test the tranformation manually, use:
+ To test the transformation manually, use:
$ java -cp .:../libidn.jar TestIDNA -a <string to test>
Input: <string to test>
12.4 A Note on Java and Unicode
===============================
-This library uses Java's builtin 'char' datatype. Up to Java 1.4, this
+This library uses Java's built-in 'char' datatype. Up to Java 1.4, this
datatype only supports 16-bit Unicode code points, also called the
Basic Multilingual Plane. For this reason, this library doesn't work
for Supplementary Characters (i.e. characters from U+10000 to
OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- END OF TERMS AND CONDITIONS
+END OF TERMS AND CONDITIONS
+---------------------------
How to Apply These Terms to Your New Libraries
----------------------------------------------
(line 31)
* idna-to-ascii: Emacs API. (line 65)
* idna-to-unicode: Emacs API. (line 70)
-* idna_strerror: IDNA Functions. (line 310)
-* idna_to_ascii_4i: IDNA Functions. (line 68)
-* idna_to_ascii_4z: IDNA Functions. (line 152)
-* idna_to_ascii_8z: IDNA Functions. (line 170)
-* idna_to_ascii_lz: IDNA Functions. (line 188)
-* idna_to_unicode_44i: IDNA Functions. (line 106)
-* idna_to_unicode_4z4z: IDNA Functions. (line 210)
-* idna_to_unicode_8z4z: IDNA Functions. (line 229)
-* idna_to_unicode_8z8z: IDNA Functions. (line 248)
-* idna_to_unicode_8zlz: IDNA Functions. (line 267)
-* idna_to_unicode_lzlz: IDNA Functions. (line 287)
+* idna_strerror: IDNA Functions. (line 311)
+* idna_to_ascii_4i: IDNA Functions. (line 69)
+* idna_to_ascii_4z: IDNA Functions. (line 153)
+* idna_to_ascii_8z: IDNA Functions. (line 171)
+* idna_to_ascii_lz: IDNA Functions. (line 189)
+* idna_to_unicode_44i: IDNA Functions. (line 107)
+* idna_to_unicode_4z4z: IDNA Functions. (line 211)
+* idna_to_unicode_8z4z: IDNA Functions. (line 230)
+* idna_to_unicode_8z8z: IDNA Functions. (line 249)
+* idna_to_unicode_8zlz: IDNA Functions. (line 268)
+* idna_to_unicode_lzlz: IDNA Functions. (line 288)
* pr29_4: PR29 Functions. (line 55)
* pr29_4z: PR29 Functions. (line 75)
* pr29_8z: PR29 Functions. (line 90)
* heap memory: Memory handling under Windows.
(line 6)
* HP-UX: Supported Platforms. (line 82)
+* IBM: Supported Platforms. (line 136)
* idn: Invoking idn. (line 6)
* IDNA Functions: IDNA Functions. (line 6)
* Installation: Downloading and Installing.
* NetBSD: Supported Platforms. (line 100)
* OpenBSD: Supported Platforms. (line 105)
* OpenPower 720: Supported Platforms. (line 45)
+* OS/2: Supported Platforms. (line 136)
* PR29 Functions: PR29 Functions. (line 6)
* Punycode Functions: Punycode Functions. (line 6)
* RedHat: Supported Platforms. (line 49)
\1f
Tag Table:
-Node: Top\7f1053
-Node: Introduction\7f2816
-Node: Getting Started\7f5297
-Node: Features\7f6404
-Node: Library Overview\7f7803
-Node: Supported Platforms\7f8601
-Node: Getting help\7f12157
-Node: Commercial Support\7f12620
-Node: Downloading and Installing\7f13550
-Node: Installing under Windows\7f15433
-Node: Bug Reports\7f16813
-Node: Contributing\7f18203
-Node: Preparation\7f20175
-Node: Header\7f20889
-Node: Initialization\7f23904
-Node: Version Check\7f24101
-Ref: stringprep_check_version\7f24636
-Node: Building the source\7f25590
-Node: Autoconf tests\7f27451
-Node: Memory handling under Windows\7f29817
-Ref: idn_free\7f30765
-Node: Utility Functions\7f31301
-Ref: stringprep_unichar_to_utf8\7f31965
-Ref: stringprep_utf8_to_unichar\7f32389
-Ref: stringprep_ucs4_to_utf8\7f32777
-Ref: stringprep_utf8_to_ucs4\7f33655
-Ref: stringprep_ucs4_nfkc_normalize\7f34408
-Ref: stringprep_utf8_nfkc_normalize\7f34856
-Ref: stringprep_locale_charset\7f36014
-Ref: stringprep_convert\7f37047
-Ref: stringprep_locale_to_utf8\7f37603
-Ref: stringprep_utf8_to_locale\7f37983
-Node: Stringprep Functions\7f38331
-Ref: stringprep_4i\7f40242
-Ref: stringprep_4zi\7f41830
-Ref: stringprep\7f43042
-Ref: stringprep_profile\7f44367
-Ref: stringprep_strerror\7f45474
-Node: Punycode Functions\7f49073
-Ref: punycode_encode\7f50812
-Ref: punycode_decode\7f53007
-Ref: punycode_strerror\7f55119
-Node: IDNA Functions\7f55881
-Ref: idna_to_ascii_4i\7f58445
-Ref: idna_to_unicode_44i\7f60075
-Ref: idna_to_ascii_4z\7f62041
-Ref: idna_to_ascii_8z\7f62632
-Ref: idna_to_ascii_lz\7f63217
-Ref: idna_to_unicode_4z4z\7f63945
-Ref: idna_to_unicode_8z4z\7f64594
-Ref: idna_to_unicode_8z8z\7f65237
-Ref: idna_to_unicode_8zlz\7f65874
-Ref: idna_to_unicode_lzlz\7f66596
-Ref: idna_strerror\7f67401
-Node: TLD Functions\7f69018
-Ref: tld_check_4t\7f70648
-Ref: tld_check_4tz\7f71548
-Ref: tld_get_4\7f72402
-Ref: tld_get_4z\7f72908
-Ref: tld_get_z\7f73319
-Ref: tld_get_table\7f73817
-Ref: tld_default_table\7f74350
-Ref: tld_check_4\7f75075
-Ref: tld_check_4z\7f76324
-Ref: tld_check_8z\7f77490
-Ref: tld_check_lz\7f78757
-Ref: tld_strerror\7f80095
-Node: PR29 Functions\7f80918
-Ref: pr29_4\7f83206
-Ref: pr29_4z\7f83837
-Ref: pr29_8z\7f84361
-Ref: pr29_strerror\7f85020
-Node: Examples\7f85746
-Node: Example 1\7f86195
-Node: Example 2\7f88716
-Node: Example 3\7f95349
-Node: Example 4\7f97866
-Node: Example 5\7f100392
-Node: Invoking idn\7f103839
-Node: Emacs API\7f111161
-Node: Java API\7f113918
-Node: C# API\7f118822
-Node: Acknowledgements\7f119287
-Node: History\7f120389
-Node: PR29 discussion\7f122033
-Node: On Label Separators\7f125901
-Ref: On Label Separators-Footnote-1\7f128375
-Node: Copying Information\7f128468
-Node: GNU Free Documentation License\7f128875
-Node: GNU LGPL\7f154025
-Node: GNU GPL\7f182200
-Node: Function and Variable Index\7f219744
-Node: Concept Index\7f224730
+Node: Top\7f1070
+Node: Introduction\7f2850
+Node: Getting Started\7f5331
+Node: Features\7f6438
+Node: Library Overview\7f7838
+Node: Supported Platforms\7f8636
+Node: Getting help\7f12208
+Node: Commercial Support\7f12671
+Node: Downloading and Installing\7f13605
+Node: Installing under Windows\7f15895
+Node: Bug Reports\7f17275
+Node: Contributing\7f18665
+Node: Preparation\7f20637
+Node: Header\7f21351
+Node: Initialization\7f24366
+Node: Version Check\7f24563
+Ref: stringprep_check_version\7f25098
+Node: Building the source\7f26063
+Node: Autoconf tests\7f27923
+Node: Memory handling under Windows\7f30289
+Ref: idn_free\7f31237
+Node: Utility Functions\7f31773
+Ref: stringprep_unichar_to_utf8\7f32437
+Ref: stringprep_utf8_to_unichar\7f32861
+Ref: stringprep_ucs4_to_utf8\7f33249
+Ref: stringprep_utf8_to_ucs4\7f34111
+Ref: stringprep_ucs4_nfkc_normalize\7f34864
+Ref: stringprep_utf8_nfkc_normalize\7f35312
+Ref: stringprep_locale_charset\7f36470
+Ref: stringprep_convert\7f37503
+Ref: stringprep_locale_to_utf8\7f38059
+Ref: stringprep_utf8_to_locale\7f38439
+Node: Stringprep Functions\7f38787
+Ref: stringprep_4i\7f40698
+Ref: stringprep_4zi\7f42286
+Ref: stringprep\7f43498
+Ref: stringprep_profile\7f44823
+Ref: stringprep_strerror\7f45930
+Node: Punycode Functions\7f49529
+Ref: punycode_encode\7f51268
+Ref: punycode_decode\7f53463
+Ref: punycode_strerror\7f55575
+Node: IDNA Functions\7f56337
+Ref: idna_to_ascii_4i\7f58902
+Ref: idna_to_unicode_44i\7f60532
+Ref: idna_to_ascii_4z\7f62498
+Ref: idna_to_ascii_8z\7f63089
+Ref: idna_to_ascii_lz\7f63674
+Ref: idna_to_unicode_4z4z\7f64402
+Ref: idna_to_unicode_8z4z\7f65051
+Ref: idna_to_unicode_8z8z\7f65694
+Ref: idna_to_unicode_8zlz\7f66331
+Ref: idna_to_unicode_lzlz\7f67053
+Ref: idna_strerror\7f67858
+Node: TLD Functions\7f69475
+Ref: tld_check_4t\7f71115
+Ref: tld_check_4tz\7f72015
+Ref: tld_get_4\7f72869
+Ref: tld_get_4z\7f73375
+Ref: tld_get_z\7f73786
+Ref: tld_get_table\7f74284
+Ref: tld_default_table\7f74817
+Ref: tld_check_4\7f75542
+Ref: tld_check_4z\7f76791
+Ref: tld_check_8z\7f77957
+Ref: tld_check_lz\7f79224
+Ref: tld_strerror\7f80562
+Node: PR29 Functions\7f81385
+Ref: pr29_4\7f83673
+Ref: pr29_4z\7f84304
+Ref: pr29_8z\7f84828
+Ref: pr29_strerror\7f85487
+Node: Examples\7f86198
+Node: Example 1\7f86647
+Node: Example 2\7f89186
+Node: Example 3\7f95834
+Node: Example 4\7f98379
+Node: Example 5\7f100933
+Node: Invoking idn\7f104398
+Node: Emacs API\7f111713
+Node: Java API\7f114470
+Node: C# API\7f119376
+Node: Acknowledgements\7f119841
+Node: History\7f120943
+Node: PR29 discussion\7f122587
+Node: On Label Separators\7f126455
+Ref: On Label Separators-Footnote-1\7f128929
+Node: Copying Information\7f129022
+Node: GNU Free Documentation License\7f129429
+Node: GNU LGPL\7f154579
+Node: GNU GPL\7f182760
+Node: Function and Variable Index\7f220304
+Node: Concept Index\7f225290
\1f
End Tag Table
%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.96.1 Copyright 2007 Radical Eye Software
+%%Creator: dvips(k) 5.98 Copyright 2009 Radical Eye Software
%%Title: libidn.dvi
-%%CreationDate: Mon Jun 8 12:41:10 2009
+%%CreationDate: Fri Nov 25 11:42:18 2011
%%Pages: 101
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentFonts: CMBX12 CMR10 CMSY10 CMMI12 CMMI10 CMTT10 CMSS10 CMSL10
-%%+ CMSLTT10 CMB10 CMTT12 CMTT8 CMR7 CMR9 CMCSC10 CMTT9 CMTI10 CMMI9
+%%+ CMSLTT10 CMB10 CMTT12 CMTT8 CMR7 CMR9 CMTT9 CMTI10 CMMI9
%%DocumentPaperSizes: a4
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -o libidn.ps libidn.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2009.06.08:1241
+%DVIPSSource: TeX output 2011.11.25:1142
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
%%EndProcSet
%%BeginFont: CMMI9
-%!PS-AdobeFont-1.1: CMMI9 1.100
-%%CreationDate: 1996 Jul 23 07:53:55
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMMI9 003.002
+%%Title: CMMI9
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI9.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMMI9 known{/CMMI9 findfont dup/UniqueID known{dup
+/UniqueID get 5087384 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMMI9 def
+/FontBBox {-29 -250 1075 750 }readonly def
+/UniqueID 5087384 def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI9.) readonly def
/FullName (CMMI9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
end readonly def
-/FontName /CMMI9 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 58 /period put
readonly def
-/FontBBox{-29 -250 1075 750}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E394A533A081C36D6F5CA5FED4F9AC9ADE41E04F9FC52E758C9F45A92BED935
-86F9CFDB57732045913A6422AD4206418610C81D882EE493DE9523CC1BFE1505
-DD1390B19BC1947A01B93BC668BE9B2A0E69A968554239B88C00AF9FBDF09CCD
-67D3B2094C11A04762FE8CC1E91D020A28B3C122D24BEAACF82313F4604F2FEF
-6E176D730A879BE45DD0D4996EF0247AEB1CA0AB08FF374D99F06D47B36F9554
-FAD9A2D3CE451B7791C3709D8A1DDDEFBD840C1B42AB824D5A0DFF0E0F15B0B7
-22AEEB877FF489581DA6FA8DA64944555101EB16F7AB0B717E148B7B98D8DBFD
-730C52937E226545CF8DC3E07C5BA30739BAFCD0F2B44275A6D503F582C0FB4F
-449963D0AD2FAFDE33BA3D77BCA9D1DF878DDAFCA2E22CC4BACD542B282164C7
-97C2BDE318AF9D501CA21F6E662E7AAB75A5F24D2C182E598D175D44E88AB19A
-E7CD59584F95B389183EE21B525BF52A3F23C0FE5383A5565A19361D716F508C
-AAB78411CA5A4D27552CC1C435760D5A89D535B71C593E755C616661363308DA
-A683F54ED0C23FB2C225A008392B0B719F66F11A946A090B7C00B662A3C69599
-B4ECB0CC70C85C4BBBF207E0026F6C7A19F2ACFB7A60804FC98A4BFFD7BFFF2B
-9529E6D9D4238002BBC255BC62959D6F3381FE06E0621B879D5FE5B541D45A1E
-759A6E7DC32B1D1632368D09A97039DF255B6492B1B2B7E2C1434E8306ECA7D3
-5A79B6D614B4979F10988BC76ED53A5F45315CD7DA216221F842FD0F3E050DD2
-BAC23C984D506D8F7D614BCB6B244F5F41321549BB0BD041FBF3053307168680
-3435E9C9445A59A7C666418C4F2512C32058B1CE1EA46C7839C6E372F6CC60AE
-2CF46DD2F130B532DE8ECD42D9204500E413799E298CF6426F28D23BB7216BEA
-1A618B3ECC61B44DDEF0BB22D640B47C09AC0DF378CE68FC9CD88BDAE9ED89CB
-431A5CF9C3E9528FEE7A9936C2B1CF7B38DD2B95773F0EA0051607BE1B0B3588
-A8B907A5EF011B4622C5093A7B107DD1EED6FEE9536DECF1CC96E65373D0F433
-30AE3C094654ABF4698C07F8C74E71D023DFD242EE83B1306786124DD8C6BFA7
-801E66CB944BE7EBCB3FE803EC97067AF7AFC8A4E9AC9D11
+D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
+45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
+7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
+72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
+BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
+974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
+11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBD07FC5A8862A8DB
+7E2B90C16137614CDAFB584A32E50C0935109679E31306B8BDD29F1756946A67
+7A7C2D9BA6FAB9B20A424AA0E6F4BA64C2801C2FB5A1156CBEED0ACB95F697B8
+BC2A6E6AA7EB1F9FD8E3C9B1A16697EE1F0E7400421A7765AB218FC837A49365
+82DC6B2C877A7DA84A81E6126EE96DB25C17A207D3020A045DCDAA064360DFFC
+E3CD50E21ED239D2A6450D04F879A26443ADEB6A20ACC504989876476C7D1A74
+91564FEA1F4CC2C8C8FDF666DB537F315AE1886C73CB5B00E67E7B398A6C018E
+540EAEE98BB8136C4F044EDD63C33431D2CF9740F051DF365A4045D9D8782112
+7BB5D494D9235BA98CF2F30CB119F5A904C32AD04C960C43FC1F5FD8DA7D90D8
+93AFB59F3FF4F796481AE2A7548F948FECFC6C127C4D3F159B08F206AE8C296D
+EE470DB2F879EA79475E029D22D7A8535C09A18689DB0609CC233E5199C02756
+972CC9C94D9FCE264DEE5D75C8D651E4E2D1189AD9588CB815722BB5EE3C379A
+6F31C2E6AE1AE4CCEB29766190AFA20EA937114978752189F1A9F42B39483149
+796FCFA123BA9CCD1D9BE28289660BCAE16C40B5B504058D55CFCBFB4F4E3D94
+DDBF39F157E63946534DA81C018B1C01B9F10DDB55E0A5C2B3985ED1977C039B
+D6755EA42CD09E27751E159C30B93F376DBE61CD3AED34BA36A768F232EB3B80
+E3E6B77C4A48D408217818E398B83D995AB6BC871F20991DF57313D6EB0C793D
+0F28088EBDB7F38DAF7E01AAB3476EC24D7BB38A9889A7D3038D930FF4289B83
+F54A7BE1E2D98A3822098D2E4D067A0D400C20C0B2B4BBD74C13ED1B827490F9
+ECF48F8C3994C1C5AAC9CF783BFA4F307528F51EAB55F961808A42ED53F00C97
+72A432EAEDCFCFB622389BDA707B6ACC9433B065CF29EBFE93AD14B8ECD5F47F
+F073F11822C49B8BE924CDFA6348C3A75E9BB9BF3F31C41716B34794B28CDAC9
+4DB8B087E180A9B3B17680F73D9C12C8D86A922C948093629F5D7F542ED882A1
+692F4F6696865E53E3E2DD43B2D5E8C989CFAA5CA5C4C5999045E170BDE9921C
+BACD6F2863F5553EAB2BA2D4A9034729EC0C4201DE90DA89B0A27C5A5C974109
+4E37BFB3F46B3A506169FB0C68E1CAFC844419A8D261A1FD86A3BB78E33D5FB1
+CFC687A5975987CE45155E5FDFAF0CC5FD5568CB1C26212F92E88255F0549F59
+41B33125946DE43436BEC00804063FBF03EC796E3361B1C852EC3038D107F80A
+9198968265D5488B26D7670B22C2D75EDFFD1B7B4AAFA36DFD94640C9D0E2D20
+5BCA18683EFB91834A3939AB8EB60E2F09655BE003582634C52770DA9668C292
+2E02929D812EE2B0CC65F020064AD5BDAC5F5693B30508F40ED8E20E87149BD5
+8DD41AFF83FD1944804017DC5A04512E593549FFFAE501131CE2FDB65EFD0B8B
+33809CBAEE411B3941C241550B9C30DD28088708F1C0CC3125CBEDCD985EAD28
+03313741F67DB5744A87B381147D5BA70AE1145C27F794854628D87D6C1ECCA1
+749E3465B950175D3C3F40E344297BD92D3190041A4392033A79BEAEAABB8DBE
+CC14E39612F43721CFAE6F79074429221CA588AA2501DE520A464DE157A03AFE
+3C082FAE7628FC0C57FFC61D0330AE6332D20FDBB09BF36848FE05E782D6379F
+64F9C82C45402481B0A35989027F9756BF5A79DA2D96E10F39167ADB4305578F
+90B509B6891338FA1D67DCFD61804AA6621526B2EE4769589A2646581712AC05
+DA6E98D16494F07D612743058F54FEE516BD89A8EC3E03F9D7F905175D3412C8
+F7329077FD6EB25213F3CAC94BA0C3363B759401B6EF7548C7D709F3241D030D
+4EB46A1AE81863C412BDDAEA6084C37143A4C5E41BC646315B1CD09F934186CF
+49D1D8239E363A435307030BD79536B50B723A39DD763DB539F24A10DDA12BD4
+E467339D2D6DB177D6FC539FA77D2DE4118EBAC161E928749F7C753ADEF86117
+58619F1155C563DF2E11ACA8347908B98113AED58FCD0394150EEC94B7F986EE
+88BF7171D208D8F1774B1DD478F0C2958AE372D257E7EDF0F6B5D6059CC4D5D3
+B00FCBD2E9CBE79235B9A5A3E943CC27AABB58728C95C7DBD4F4A1F8A4DA99AE
+7377B0CC0BFBD454794398AE0D5F7281771FFE87B25A819F36E692286A42D776
+01794A43CA9BB30FB8FFDAAF014F909A369E34C2F6C75B7D4EB9DB0580E33F46
+19654443AFF8384B95600B86FF8E41FEFD032355626D60C7507C058EF832DF41
+194B48A36F11082D1DCF4723E21401E0C7447AABFAB4639B26E3D2730E348F55
+53EBFF39CDD03E06E2FA5FB379603C879EDB7E1A10F89695C9C47DEEE52BE0A3
+F446F187AB9D7E93E6F9387F21129034F36DF40605D28FD526AF82CA9D232BE4
+412567F06B38ECCD496EF40A7B243E46C9FEBA4F1BF4B1ECA029C5EC239353D6
+C0B100BF7E7DB33BD1277DE104F15AA19F37340A777741AD1AD693BC76DA48CC
+C6F83CD84591ECFEE375979972B0FAC4C10B625E4BFB261B9FFFA83C31DA0108
+4FFB6377466E9739E0EB64424BD9FC7239C7DD834EC6788A0F97FE714AF92831
+E1BA36A8A9E24739F1DC82DC26CC3CE28C210AA7C569B19E1784D663A0CA4E81
+AFF43E86D6F5F63778847700072CEB77A4EB946DC1F23DBC00BCE773203F76DF
+00F0B085F31420672974DDC642D885E95BA6BBE43E1CA8ABF464D9881CDECC7A
+E98E31B9754C9B72A8BD5CF6D4D214DBC3BA7A0CDF6635953F5AC1E7639C4A91
+C7AECE4C75CA3389C348F656FC2CC96C84C85A926237B6504DB51937C9CFCDAC
+B75C31ED570D180757884E27757783DB2D5F35ECC48C496CDA342D49AA947BF8
+2FDAD2F19DFE8CD1C76A8FA08F33681F3E12E229D7DAB45BE3A3F258B5ED4980
+F15340CF20D965252843E026803E8AEE736EC41CCA82167401977AB719AA2F50
+0B791EEAA82027B3C712D2EB9D14BF8F94FBDE2227609BCAC41EC08DE2BAC023
+28352F913F7DF08D4E1C66E83F764578B22B4EB7191E852B91ADCCB1BCFDB1F4
+E63DFD152E86FA9DE9BC8908130EFDE29CC4401339C05B5B9764CF8EFF14951A
+C6C13AF979546996BF22F2B96D3D585B90CD27DADEC78914DA48432C6ACBDD42
+20EF583FD41F2F6D6D10C3DF7DD077304B5940BB0462656E306CBD91EB9B756B
+7014B1884A36201EC582FC9345C386043DD2818FC301EF78791C1D7854F8FACE
+5DE9801DE9F59D5B4271E003AB897B2EF49501589D681D59CFFD9B03F722EEF4
+74ABD29997515DA3591496B62666744EA76DCA45504F8075C0652D6779DBEAE4
+90430C2945FBD60AD53B51DDBEFC7ED703C418B4B244C8FFA5A3C1B7600C5A55
+3EBDB93C16AC191C3A28EB2279BD3F0D67C826BC6A73D3C0AD02262368AB4621
+98A1605F2887BC5880E1AF2780330E0FD01D7CAACBB0F008A42C427F38236066
+54799594E515B289044BAC4DADF8B3686B4372C5110201221FDA923F131E07E7
+93C44BAD406838BA4D1C277EF74098B8C0EDC41EEDD58C195D7DFF5FEDBF96FC
+19CEBC6C3006DD2CBF76916B4298BB915663C2F61AFD7747E03A03BD7280197A
+9DA590E3D081C6F53DBF94E8D6FDDDD910A70AB18A0F6D48A590FFAB314D6CFD
+E3FB20C1F3C91063F00726A2C13A3D48323F9854839405E5A29D66A43E6E2B84
+A8B3765F1D817071D4D6FF42BC785C2D11AB2B9452F141696CE19C6AFB9777DB
+107D6E22D8CC6C26440BC48248AD8805C4329D46BF433741CB519B21663392DA
+5DC7FC9BF37E5BC396BFADD7263D09F6B4D69594AB386B7BDFCF3BACB97A0E08
+22013E716E642592A20136CF9CFD61D4E515D80E06A4CB4FC9D9B916C93CEA95
+B83B98C48CF36C1D02291D4F5C0419338D64E33C90C90EDD2BA3B96D70FAFE0D
+403A060CFF448D3E28A9B1E3916018465E86095BAAB4706CF7ED350D7C554789
+D7F4FE5F180767DE8739259E68CF142040BE1E2E8C6152DE3417C1FAEA7584B6
+20781DC4A9796431EE713DAC4E713C839D7A4FDC8AB6BFEFFE767AFD8B67FDA6
+943AD387E5D3BCB09039ADB64ECC2BE2620C6EC269E708DD06C311F450099E33
+AF46AEC644222E7DC4DBB9371EE12CFBC4F9B27AB46AD1DA96CE006E1DF8291F
+A550A93026CBFFC1087B134EC6EA76F5E109CDA58FF47338A0039A786A575F70
+B8A03A4F9C8D07A4C856C77D9BCC8E3EAA740172D0C2D0A15BA35C9E5717D7FA
+2691774DDE730BB9D7C70D7AE103DB8D35F3728470C76EBA0E670634E1A0BA84
+2FA102BAD7271DF2680D86A4CA6FC353869987700E5E3FD778165456033D624F
+E9B3E80EBF431ACC934AA0357E824B8AD73E222B510DE8445C55C07C8E5DE46D
+E478F832BDDECAF2EBB11941DCF84CCD887043FAED9AA90D12BC8CA9A0C8D94F
+8D3BF1F80B14B6CAE6BB1C6AA405AA64BB94D5A82CFEA548BA070796A02F9642
+87326D066101435AB9EB40BA9EA9E61B363F5F5E3B924369796E8B78DE3414A4
+2B79C6A13ECB2F34E6299658D07D2B3DEF3D4383CE009A927F0EF5C196652842
+D96B857AB5E905201E7E8BA21A5EBED1FC6863BA9A1A6E5390407F75055E2EEC
+512FBDB3E82CEA13663F1A1944DA072C765D8CED06AB461470C5723BDC1271D4
+4D1D049D3EB131743F1EC9A6ADDAA038ACA2C41D139DC6A84EC3C61AC7F1E559
+6155CC2F49171F6E07CF56D721D9728E87FC7DCBCAC46455A3694C765FE807E9
+9CBC2D304AF37E0F28CCB22F239541B53A4D24D09C662559267467EA487BD33A
+0BEFD4899B581D20582930703A868655C31BE935364CA6A95FBCB22CB714C040
+9718824DFE97929D0482430726CCB5A5307957DD2432A9B6271E849148DEB76B
+FAA290FF6D0B18DC5B76407852E81C105EC6CFAB0F620C6DC9DA555A33C167B1
+430A8BC338BFC7D75B7099CC906AD923FA107C74D3FBB719D77A4E5A685FF9D8
+56424EE4AA074434B809D894ED50F6A60A035C5223EA25DD8983B9B34210DABE
+718D7B2BEB293FF1B63CFB1CBDAFC69552963D90F5E3FF533A3FDBB626E9FAA3
+F3C119E5E01C7BFF832A033C3515BF049E29558B1DAD652F2888E339E67D15AE
+95F9BD14E3253DFE9072B24C0E7E85025B71096AF51C86AECB2921126A43156B
+EC812B32B1164BD9B2B947D503C015616DBF2024F5C8CB3236C1DCA653D661FE
+6B1C19A22D272A176B7F1B7F9E67AF40DB0EFD4940E58B2A050249CA4E55CAF7
+6ACFD84FB46FEF952D18552B3972D79D808B4C263B8C7E1BB647A2D03E102867
+630D5C3F2C917F765A4F6FB8106BA6A9D0093E27A4CB6049C2371287D94B5111
+6E7020776EBD744C6C920464BBBC0AC206033E8240017F8CCB112596ECD7CAFA
+89950CF43FD87ACA750C03A778A37FBCE9C82C2F5ABB135BB02DA8E8C0D24475
+3BEA9D79372D0022FF1ABD378C151417DBC69FE5C9CA38D23A3900E34BF924A2
+90777ACDC37930B67DD44A2E76DDBD9B89598D5F626BFD325A978D277265DA47
+38CFAF16E7FF1946E15F41CA73F7B4B02E5AE8FC4C37B115BC567E4EEEFEFC34
+EC8974B1465AE57759EDDA28DD38A9210871D35D331AE1BE6097C3EC21C770C9
+B25D040B2ECCC3AEB1EA1BF99E0C2C0F192C13BB9152CFCF75332E03F9CEC376
+9B8C285A35F53655BE38713E09AE34BA2DA9C06FA42A6FD2D00CBF2AFD2BADB9
+1571629C65DA38A431710CF5B01FCA68E8B8569922FBC3F9B64A5509B6F677AF
+1B97E91FFFEB6308AB68AC58F9BA43DB5E764021E75B56170EB44C2C0A7DB86C
+62B8982256D3621EBE3DB3994DBF5C5A14CF34B4AF3BD5697F8E3203085DE9D5
+84B0598169760B925463E93DC87CE70AF4C2DF0F4287D2F2069847BCCF7A37A2
+AD451D5ACE4DBCCB2E14D5DF38B226952E7446BF87BEC736EF3D5AE793304618
+D66D3299AB9F9CA1D13F134FAEDF36750046E27706C7CBD8E0877BB6276E5196
+BC2A355D109C0253644918E1CC11B717DE6FBDA201E769812752888CD66268F6
+4ACF4A9449378F9F9923D584BA1B51F33663BE7A306887BC14A37E3C5A4654E6
+531D6EB63DE3946BD8BA95CFB037991174F36D61D842071E6625605CAA350A24
+FE551025D10871FE0E2599A63900C8520EF4911C53A03897C8BEE152451708E2
+43FCF4E700C583A5E8DBCC03BF9CAB864DBD19E1760945DEA0EC0BA38BEA8256
+D3A8D4F70F6685A99C6BD2BA8B412A26C002D76138CFCC7DF6802931E5D97BA6
+0151F6A4C572235B4196B22B7B2D14B32886DF0D2CA8A277ABAAC53B63F64CE4
+E4C088192AAB674497E8AF81961359C389B51F4A257373D907C615030BFBEF53
+DBD99058FD06E352450B658478C10454AC8FC0232B70D5CB916981978053E358
+99D322A07294748BA427FFD1E45C909171017B52B7C742FD77A8560852D819DD
+8DD53211A14D7B2FD11E42941722FD3985D627FDAF87EB57326A0D290B5077D1
+8A4230BEB40523A8565F95E0D44F036A571DB698EDD9D94FEC9512369E5E5E73
+A3CA5C142617944F4F99C0697ED088ACAC007FCE06E5A6EDE7D0E03A3399DCE5
+362271BC31533866BA79FD1FB3F608B22CCD4111FFB1BA35D920A23AD157C6B3
+C3DAE11069D5E46DEDA7158C6478D8B8C0D9DC237CDF0CC6633911673C43FB79
+E4F9B7F27495201E5ADE66255BC2CBE9D9F237DECB62A19D62CB41A1C92432D2
+07F0629E913A71B3F1AAF8B8C5AC66D3C8605A48F8913E39C859E163DB1DBC8F
+0ACFEE80A40B6172032E95A76B752B873FB4DF23CF3A655AF1A1B88C8DC156C6
+190DE72973950565454C0A188A33395FD3D529A88F2B578356DE8EBBC12F04C4
+5B899F667D9E6F3A4EC6DD8DE71FD4C2E2B6D56823EE4E0526679D71FF1B868D
+F261489F06F97B010CCBE640E2F57BA3DC3332B329F7958394BA9777D833AB50
+005E8E9232547104065ACE33396772B0E0BD66D2C6CC54DEDD071E444D8C95F8
+6F88B31E20FDB80F77C83151B7E25BD3736B4F9BDC52EE78C41E9475E5A6D94C
+D348AB42F5E36B4F167D29EBDFBD43B03F77EB296B06A36880FF17D412E77EA9
+F2E7C25FD05E16BEC6732681EA21AC3FF6893B93FC09316A370CDDB86D9E6087
+F6042C3F9ECD742778389170F5F041329782FB9F9702F7533E51F355F71825AE
+2BF4F8FE50D413AC9A20C41B42537FDBE8DDC5A5C793D3760C1EE13716068752
+F0AF10812250BEDFB4D7133FD58F4587BACD572505C84A7D3802D27443175FE0
+0D89C3398B55176D8642AFBAB5CBCDFD6220C8488564B4306D74A58CD2921AAD
+73CF803C754DAC2F30A5324886E273064FA51781D5BC596BFEDDCE3982EA1AA2
+62CA7BAA1B16C6EBB99B2AAC4E6C9CEFB3D10F19987045C4918DB239E6E63D79
+5F44B9D097118D081153AFF96E5EB39CBFBB99A3BE30909F614869031358EB98
+F07A97EA78AE50375941B2474DB46AF3305F2B208D45921F93743A6CB8AC584F
+6BEBE25ECAADD5A789EF60C9F54446687E7B030DA3E5243189F02BA46BFD28B7
+DC14822E136AC7E40CE20458DDBF356488045C95907363864CD6943643BF0109
+EE027A3091C11EA392EA91320EBFEA3B857370AD8EB86D73F035A476F7058222
+E8CDE78CA1AA9EA69A8AA6EBFF3E67324C567B914134DE042D6F8F18A9373107
+536E8D90189917D343F5299024239E2EC1D2D177D82DC8E344A7CF2AC71AEC18
+36F139E7A4EB59A67192BCA9ED0EB25DE13032F6FEAFC3B1F4FC81BB0EDC41DF
+B9EB92618667C59EA499B788CD26C2137D70F1B0AF793AF5AD0D0941F2E746E3
+F5A7F0288BC1EE11E982EAAE763CA422D72FBBC0D754AD58FBF92629DC8866A0
+431213513744DB48E52EFC89C83FEB082588E4F30D7DA77BB598E51CAE7E4900
+5CD570C914EFBA426BAFF7A56FC775ECF5BE13F2C42E51EF96784E5201C0B64C
+074AC229FF0BFDF71E6D5E08D8755D2C12B770B6466A9C9C61C15582DCD2FF78
+E9E74DC2B1CAA344EC0339EBFF92CD2CC1D62E2FA8FF15E7459A83C6CFA58A77
+2F1A40BD276E76B675FD6834052B33BF9190F04DF6AA5FA3BB7D77A88DD5B600
+324C5E28216F47682EC29EABF35BA842BA2294A3D72B126EBB852AB741186C9F
+FC84B12DC4A6CEC08F2D03EE61B65C845841EE17F1B765649A
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMTI10
-%!PS-AdobeFont-1.1: CMTI10 1.00B
-%%CreationDate: 1992 Feb 19 19:56:16
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMTI10 003.002
+%%Title: CMTI10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup
+/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTI10 def
+/FontBBox {-35 -250 1124 750 }readonly def
+/UniqueID 5000828 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI10.) readonly def
/FullName (CMTI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
end readonly def
-/FontName /CMTI10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 76 /L put
dup 101 /e put
dup 115 /s put
readonly def
-/FontBBox{-163 -250 1146 969}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
-21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
-06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
-55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
-B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
-0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
-1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
-7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
-7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
-356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
-19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
-C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
-244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
-AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
-592943209E846E55B4CB54F6658CBA3C0B29796D69D0435D5431ABECF3448C15
-98CA2F36F3659E29AEB79355EC2ADF835CF0886C21B766B9DEBC3950B5B3B496
-2E06D980A8C60305B273232D4604F12632FB4F1B2F9703952C823C098543AED1
-CFB4ECF259A11985F0C944A57B5AFD853374FCF12305601200C2A393E2FC77FD
-F78C2BED60AF8B7CDA6B5746055940D7754D9893E0E5644496F96B6A10D7ACE2
-9D848CC0EFE167A3916FB1E339DBA774DB743B61136CB1F947D8AF1AC91CB491
-216DF44F09E32F9CEADCD17F8D5139327E33DCAAE2ED1AADC19C8389E15174AD
-B3176693A20ED0F5687159B92E079B68C3E13BC6D53A683407C92B9AF351FCFF
-CBD0080F83AA7AF2129D3425BD7A56932D411F47DDFE71CC93F515EE4E0250B1
-289867C2325A170786AF541F6BC298844D1AE396D195746502D050C33E38A75C
-D5E76D6CED80B925FBA7BA64266C3DC9205FBCAD67DE0846E57C32067D454B6D
-75AC24E2F5DD5A32CEDBFB6D8FFD2FBD76A9E0804DCCBE0B74DE7DF2DFA900F2
-7B8FAC7C9FA87C0D0A10B4DE447483CB62DF69D545BFEF3AFA61A2C4E15D6417
-11F626DCF70C075E33C88BE90B738213A4019BECED3E9CB1567AC5FEE6F6E97C
-1711C5B0A571BA0D06C314F99CDD675D0DE74D5CE343F1F0A4CD704EE02972AD
-D8618B23B18CC9E838DFDC7BA23C901EC380108DABF5DCFE2DAAC1A42CD0F813
-76218D374594DDF79CD25BB6F390144348D565B48135F69DCA7B1C7990F1D425
-21D28FF5AD9CF4D06DC3010A8237318BA8F736C23CC6CBA40FEFCBACCAF9C401
-8AF0F3C2FFEC4CEB34DCC6A5AA9562F0D416BD94E4A6B9DB9C9024CBAACBDF86
-2A11DF29CA392BC64B66B510C0F4A45E1DF3264F7DCF7505AAFA2B53A1116A4F
-67F3D23805CBE59A8FC493D770D4DE96B25CC6DB30FAC5BE9B8A08687F112AC6
-5D6385A8E40961D4C182C194788F0D7FE4FD2EF589A2471F6074DFACB4A33DF5
-5A3855D12D1E6A84CCC783F2E3D68161E411C2D6E90825DA4EA289554ABE18DC
-A57AFA8544E48B84B57BE2600D2301F7159E58EA5B942742F85674
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E
+2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A
+EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD
+8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF
+CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2
+7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC
+32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09
+482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF
+118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381
+1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC
+C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA
+8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4
+61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20
+C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504
+3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70
+9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A
+D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0
+125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8
+34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A
+30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9
+39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49
+9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184
+2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF
+0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348
+3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D
+9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757
+802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28
+FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0
+98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9
+5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF
+AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD
+A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93
+5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815
+DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37
+4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC
+8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B
+A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362
+E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F
+42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96
+3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59
+A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F
+7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4
+49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428
+D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C
+0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955
+CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485
+1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB
+8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388
+6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468
+83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29
+60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284
+42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2
+1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A
+21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA
+206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9
+D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7
+7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B
+55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4
+6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762
+4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392
+871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E
+9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645
+DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5
+41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8
+2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F
+220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001
+A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D
+981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F
+337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8
+139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B
+1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC
+100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A
+1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905
+F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB
+72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7
+A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D
+310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928
+7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989
+1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2
+8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33
+80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610
+3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C
+C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996
+4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB
+865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B
+301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48
+3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9
+1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B
+E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29
+0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0
+30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E
+2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0
+C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89
+14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A
+44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC
+CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654
+DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34
+9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87
+4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3
+2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676
+21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26
+47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4
+F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9
+D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F
+03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5
+886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8
+352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD
+9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0
+9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3
+92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F
+821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93
+3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0
+47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0
+F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B
+9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1
+AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71
+C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978
+B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED
+D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD
+F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E
+81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038
+970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C
+6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7
+97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668
+A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE
+AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594
+971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96
+514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7
+8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C
+392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170
+3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F
+464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE
+C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E
+F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053
+911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6
+261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED
+D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA
+147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D
+C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516
+C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB
+61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD
+FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3
+F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C
+2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C
+7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193
+11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C
+9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66
+C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3
+1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692
+5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5
+6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0
+EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E
+F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23
+AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D
+8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94
+376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6
+B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B
+02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56
+4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF
+9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD
+751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198
+3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A
+40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962
+2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360
+D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A
+0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E
+8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946
+AFFD0B2B724EF0F28393F3CFA43A2414B9010A19FB385563259D1E883FF01BB5
+62BF7A095F83D39464D67B980C137A779636760C9A55D091DEF4308068FA72E4
+7EE1CCB653CD3840E8D3E7146C9A054250EC42606A82964DE2DBB200D56D5207
+6A34EF8C82D88C29DD36C8D4557D1CC21A3B4BCCD2A5984EAF9D2F900DCB8AC6
+4DAD8AB40300DDF33E051A8008BAF71ECC65F1300CC25640732FE2BA1F6ADB2A
+95D564B19A3035E27F66FDE3ABC9211DDFFC557CFDC04546D999D83FB8BC8348
+E705290566CC292B070FBADED5A15A8FE421648A80D4C665D405CAAA6D6A29C9
+95E0D51CD606BB9143CCE20C908DAD730609D523675B596817F2352F6D037E18
+75EADCF481F27673BA7F253E0B2337E3153415DE40C492F1036351910FE6B933
+42626EF81AB0A298C718416514400EB47B86E2FB3F8777BA26C2B8A707F30DE0
+CF72BCD39D6E934B23A5C5C87D078CB550D88EA0547B54C7469642A1D00411D4
+64546F5BAAD40887F9AD1CDFD668BCF9D9CA52DB6FEE53989E21A736A894F1EB
+AEAC18CB4B7D1983C85DEA0EFAB41E2EE84BDA72BB756191E47408B194F0C5A0
+A86232DD12169998C520F77AA5039D010E970C2848C9192FF84CDECDAB578990
+4B3FF3E45FD1EE46375D0E8E144AAF7A37864A8B18325C60CB9284367B49478A
+0E8DD4A6BF31CCD8C5A949FBB5DB580EDA64442DA3626194C31BC4831AF4CC74
+4D505607053DAC9D14E753A5A60F8E11F72D917F2828CE535DA2D0F052EDF14B
+2738DACB2D0D51ADE839CEE8954584CC933FC342E5C690CB93D7D9640B9469F7
+23C84543BEE989037E08EA76A9AB0C9AF04166E26851EFF3167F964ADA843677
+D5D5F6735067D8C0F31C456BB35D31B98E4DA0CCE5165EEA4D59F98C4B03FB77
+685A0AD426DC914790713CAF14D447E9492F907BD5AD2F14BA35BB6E9431F6C4
+28EF59139A10E055CF9C7B771C905B7439EEE46AEC9D288523E06A7BB5900424
+5F7DB61451912F4A76BE52E56D3F05CA0DFF5AB1BA1C0D6444AFF9AA7F7396FA
+027FE054811B3EA3F5D23B9220A659E44717F2AA3CF7CC2822A913F10B226B6B
+3502746636481D870714475C9649C7ABC6136BCB308E19DEA3902F3C34A9246F
+CCFB4C5CE5663CB4883A9220F39D0144B18B85049C0DDDD9855A3BF9605C9750
+D5E8D0EE2F7071AC6148C0798ECEBC9EC234234A21E0DB20718EAA7DBC37D0BB
+12FC8512AC127BBEAEC6AD7439E78D7DF02E415EE30F072BEF2C63B0DBCC8580
+01D0F08DA33F1650E17E1A6C25737D3DC6DD654264EFCB46D5D7AB4D65AB4BF2
+DC8C8369E4D11EEFDE5070AAADD9D6A40EE89D2986259D25F05A41A66749BBDE
+BCA48F058E4D13DA37BED63F75D04F9AFDCC6C1607A2FCE0A33DA371E0077240
+65D2484218CB438CAB3EDC212CE3D5D7C2EA61717F2EA370030B0854D6E51FD9
+5951AEE3260800C2C4E2C020B7D1F46261B9D1B6EF43BB378CD2D5FF3BCB20DF
+13DD79CD5359C6A8E8FE4D188C4AAE0C2A17EB63AEE4BD459EBE3677EDAAE037
+C1647572B76B8ADBA33C5C6F07A7ADDA4CE0B9EC076FD4BDFAB61D5C2F399833
+5E038FE35B288F8F14AD6D5F5DFB5B80A20AB7FA01A54169F8D7602B53A8A007
+BFAE8196A7D89D8D3C4AE6484533232735C49DFC2C2D70200111BF4BBEB0BF63
+6736DCE1256170622AEEC131F20977A7A7D784D943381877D2014021957ABE7A
+563F87A629277C36A190BC1F76C83FF565E34E1430F09F6D3DB11F3A4B5BB233
+06ECC4F5CABB1982CD5B0CD20FC361A37F7727871359CFE28ABFBD12C94EB049
+D5ADEAE04CEF7E378F5685EAFBA8BA2AC9E6C11A4402D591C3D68BA496F3251A
+539A38500C9285B95D8EE2DD88C1ED6791C8E11E671EAB6B5F8E72B90174938E
+CA2A48E0E47B09972D705710570571A976F0AF6125EFF61B0AED0B0FB3F294BE
+1802D0DDA762EFFB8F34C2CEF74E850F78FC1269186CC7C2E576CE81EE83C628
+77D8346924027822613690369A387F0AA1AD75925043DF3994F4FCC557F0FCF4
+0E06A9293064BB38A6E7E4A690AAFD55650F4D694B7B641FC1FE06703FDD6119
+F56571EEB33610ED8913CCE5F287932DCA3E3B8B95686C73E7FDFF5B8FECC6AC
+06C0C53060F6021C433620426F78357125EBCCCC8AAC6E459656399969DF641E
+8936810B0566B6625ED409248F542A86E95E3419DA1E4360CC09F1B887A4621F
+06C8A0B6452D33C9649CD635AB34CA73D757D693
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMSLTT10
-%!PS-AdobeFont-1.1: CMSLTT10 1.0
-%%CreationDate: 1991 Aug 20 16:41:43
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMSLTT10 003.002
+%%Title: CMSLTT10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSLTT10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSLTT10 known{/CMSLTT10 findfont dup/UniqueID known{dup
+/UniqueID get 5000800 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSLTT10 def
+/FontBBox {-20 -233 617 696 }readonly def
+/UniqueID 5000800 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSLTT10.) readonly def
/FullName (CMSLTT10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -9.46 def
/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
end readonly def
-/FontName /CMSLTT10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 39 /quoteright put
dup 120 /x put
dup 121 /y put
readonly def
-/FontBBox{-20 -233 617 696}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0528A405DF15F03DB1C3DA8B850431F8
-0E5F73DAC973450D1ED0530313057E971FC7E7CA88E61DA6DB9A5CD61F0F76CB
-4DE9105D0627B8DDF51A655098229920CF429CDAFC3F7788C95E7AB30E84F840
-8CED52E98DB4CFF161D2E62B0D28CB8B0AC82E7A8D2C007953BAFB3056D66079
-8064956E257D31C13509FB81A250D9E875C77A4E91CC49E9FB3C0718B2F691D4
-B4A64F351F4DD68133DED7629B0D96E5124584A16FD2AC7A3EB244A934FF059F
-ED7297B0505F3C2994AD66A3CA5D2728B034DE94B64A8AFAF341601BD4DB5858
-C9950A8BB9C598B8960609F48116ABA8C007190AF0ED335EB5BF61BA6871FA5F
-EAB5A26AEB5C7C352EB80799CEB983F19EEFA801093F62086AADD0B80BB6580F
-2CF61B1390FA56DFA1A0B61C58DEF96BA767A8A37EA44730783C600706606C60
-4EE74EA99B7C0F8E2525C8847F3D31907C3C483EFA98F6C416B6B2C343DE6370
-52FAE423008D086A76A1FFB327CC7FD84B1C66B203A4F41582F4599A82F8362D
-38108452EACCC937FFC4F3ABBFE3628DF51367DA6BA3F6826FC6522D6AC5E8EA
-00BAD300FFB6DEDAB93237704202BACD030AA824B1E97C0AFE17FCE8C75F4FA0
-B8A74329A6CF1788C7EB34DA7307411E9AD7ED8D6582884456E06E033B4FFE7D
-CD4DD8B06AD01340CCCFBC382C18CA451E4C886B01D082FF8CC5793F4727C3DF
-B52B4F1A242F31D1EB79D1E39A1D4FD13D6C5E2A42AD4B4D1CC4EE7BA0E5F80F
-802E5AB57EA15F4DE44D82AC408AA86D4BF58EF967FBC6497BBC7F017C0598AE
-32CF865DFFF0FC7FF9E6DCE9B5F2F4C7491AC674F46E8E7660452CE0A77C1EE8
-00DE382ABED85350033F8ECB97398E4E0A75D4877A107F6A909D0C76D14F9A96
-8A6CFDE3FD9D79B6FD82693A9F354BD2ECF30C6D99F7AC522F8D6C93EA214F7B
-3D0ED77F042ACDE9414264C0698E86398562E2C640DEBBA0734AB4C3ACE3907D
-CC79E6B2C6C3C3F9B01526E8CD98237D4A9B403FF8CE3132222FA60C196A19BC
-A2393AE6935C0F8B67FC1D1A12A38FFE95A66EB02C0FC15DF80611EC5F766065
-C2F919D30115E4B9B2DF8E06119C2D412BE014B3250E6C19EFCA872A584AA020
-8F164DA7F2EB28C7482E30355FD7F4D748370A8E0765BC18D8B02C593422CC9E
-2BB241D1D6B25BC33ACF6DF52252D220C56729205B93A091B50B6950802C4AE1
-A40FEC3B01F1893EE9AEC02D7D238C5F777B09A64ED97C40F65B0BDC0FD86071
-85CFD0535AD50DF7CB998CD57531016A50C6FE0491B8AF86FA06911D4D41CA44
-E66D39C6D922D1CAE808DCCC8465E5F4535A20223227982AAC9AFEF0B93F1949
-51210B3E1C00DC3162385E641B2B39C78111CF5A22E6DDA34C544E3DBE69B2E8
-01E1D210DE6109AB63B82C4423DBD65DDD6267421B0098FEE41043721B061866
-3B94FBC877D92124C1B1946A67B163CE0926D80A8FB1168804DD07A58E9B88C8
-7F95FF44BA0A7D765BDCA0B7D78A82D9BA76D916E24BCFC5F99E874423C3D0FC
-F25254071271415A51425372B990CB341CCF507C4184EE044E2977D504B72D66
-82D98EF7A8F6B228DEDEC6E580EA66F131010CDB0F410009AD324C5746F0687A
-53F252F9C5816D8F7DC2531ECBBCCE77100F1B45420D3D5D17EF23EA3FB5B28E
-17485AAFB0A84B9E2A8409FCFCDBC14F6023D3CDC5F6050B26D0A4C2F8A348FA
-B242D018A7109B1E7E74BF83D9DD31F8C0ADB922EA778A5F22269B83AA935F06
-96ED8AE63F3A38097E9742F6F86AC3AC02E0C52FE5B3187CCF376D75C160CF24
-323E6AC504389C86AD376B5F7C8EDF8ABF062CBF42F26B337AADDAA6BC8BF6F2
-88E12EA2D2D72FAAB44A7EB77B1BEB805FA0F17463200436554F24ACCADB73A4
-F128E851A5895CA243E0B7E9698CE2B8B7EFAFEEC803760F1E195ABE25B94505
-BBDDBF646C5D0DF0848DD7DDBADDA7517D72B5F08341B62D40CF66A8DD4BA371
-A06C5A69BF65DDACD42ADE4B8AFCEAEA54F96160BAD5F265BECF5F7C0161BCE2
-CBAA9401A15454D5677F4BD1082FD70709121F94EEC9D20E7203EF5B677B0DC1
-5F322302E6A1337419864B0FF4590858BD2D48448449A0C56628D58EE84CDD9C
-9F53E26A5B5C81DB56DA354F211BB58CF3CA6743325EABD507DC120D4B3D3634
-97C37CF7B4F08E4DAC750DAEE488F315A8CB075978E8515C2998B0BF0F88870E
-99FB7CBA579B359EB10C559A5B82B805B71A784C519D59E4181428337E2320F7
-47A1A962FCECBBB7A20A73BC49CEDC8C2CB18BA8356CBF473A20170CDA6043D9
-0D827D7A2F84B9DFE100C51B1E074DA6DD4CFF111BEB5092085F5F4E9D5F27F4
-225617089AA74BD761047374CDCC50BFD1ABFAA1833C8C595824B8DDCDA89AD7
-A09BED961FCF3AA7D2214A5F7E6BE8D5245E2DA5B4156AEEEA9DBCCB982FCF67
-FCF11E687878F4E631F22CB7C5D2FF47883FAFD90F3AE940B9E06B783A9A62ED
-FB3376A975019AE256AAF6FB720F9248A196449569B9E2FB0FDAAC7E41A3E63D
-CBDFB04F7B86EA896A8B15B4A1AC5C006CE20E8B8FC2CB07F279B7A3C10457CB
-37DB0C136F48E0FADC1BB30C0D6EE275B2E6C622DD03221484255A246E3FDF7C
-CDCC4420629446257B69BA6AF63563F20C8BC01EDB150C1E4C647E6D4B839BFC
-0069B108979FC6C4130A993A311771D12AED3D3BBE038C1408F4F0EDB4ADB0B9
-F2B15CD05AC89FC1258DBFAB025D3307D6511A022B62C55C243C986D6733C137
-6A9D1D962A0410142638104AA163448A75EA08C4B8A888AFD59A1259E998EC4C
-B6082A1A551321553D60ED640964A7A6A90B9F69D2AB50C87B605D1E5C8C5645
-CD1DAAC077020E3F728FA64BED2CDCBCBEE120183EC7E91F520D5CE4C0F56CD6
-607C74BCEDFC98328E7E40F3C068F077F8F0751C1521D970E933904BBA328A5A
-CF258BC044CB98EBFC5F8A769153D604AA2C2CBB194C87745340FD1B9ABF5E51
-910813F51E093515CD87CE3D35670374B8CAA043422E1DC5952DFFBBAF7E39C3
-58266C99E53AA6F13C9E4ED914668AD6EBBAEBD23B174544A8C5E8194130C9DD
-487BA1ED33DEDCFB1DA3094ED90B2EDC7322B06B806981249EFED81BBED50A3C
-1F61B7956AAAE19876EDFB712D864993C8FF3E1652EA1E49F185ED30DEB08191
-3576ED39E736A040398574CAECB8EC40E3B94DC20668FFB7FE41DE9D03AE283F
-6EF225CB0A8986E99E37F1552ED063250D99318D39D6FD5FE6674053A4C6DF44
-DEA34EF42FDE894D55AABBEC2554C46CFB70E681F0C403B086748387C83D6F71
-C96B1E8056FBEB245B3DEFB1B607E74B51E21DFB9A8FD94C9795F45EB8B91F6A
-4B63CC3FDA0A76244B1BC29F2822F987EDC5C4B2DC92FF8743733B93D089C9AE
-ACD96240588AC68429787239019FAC3FF62DCBBF1E4EE1256351B599C591ADBE
-FA03E538BC26C6DFD6BC23A0B474B4029E7D12F29130E56C4A45F6A629F5487E
-69FCDFA96DE4673E16FF2BA01C8B6AF4070DCF169FD53BC58692FF1EC6459254
-60CF317C9B1AC883182CA39E2BFAAA044B221694934B4B09AC186C87DC03C225
-6EBE47DECCCE9B3A8BFC16632044070FD12EFC2282260C926645E483AEA01E61
-7531B7D24DB48EE833EA767325D39A7515693321745DECFC04392492D82D37F9
-A94CEC8BB222FC63C9E5181BBD3E5E415E665D9A8EF90A1E36EFB51C4F38B398
-F2AB969203BFD8FD30B3EF5B0B21FD85521A03C886AB0A0B88254A3C9BF03B9A
-677BCF2C5EDAA35A020F92C9794A77428916B2CBE75F27F97FA6AC0B155132D7
-0D29CDF8E12708736C8CC18D90A63F859082A819CD6D577C9F1314970D9BAF7A
-6DF5826870E018AA9FF5BDFA067828B38FE84D5D5BCFF6A53777C4190B768511
-A126A5DF1E5C5D1A16692FC02CB80E6BD3451A637D1821AC7BDCDA808D72C5BB
-C64D94BD5FB1F06CB2BC6081D7328051BAE08CDAC321A48D7E3C02BE1D3D1377
-61C9535B8E2100B817DD1F07693F0270E40041234C2D8846AB0518060EAFBF8B
-A59BE72D2BAEC6EC59BFCD400C32F48D8D35339989BC95C2B317B666F414EC12
-253ECFBB8AF78C513F4A747A5A79C0544AAB7F7A9F3413F5D91CF99F51EF8341
-BBF3A84C3019FFB3F28AA48F1D87871D026369E6A0BFA296262EE2A65E4ACA09
-1AFCD0C1F3043C333C6BB31B7257CA3DB4746A80865E4255CF40FD1E029E644F
-BF345B2210BCF532A37C28BE20DF6F2BB81E919175FAB36A626256CEFD870710
-E1550F2847337BC8395666BA10D61B09A6AF4968C60C772471F956F9C03DB7C5
-AB15DAB8FDC5F72975358B8804F0FEA01F6D4B9128D8DA6B2DD541F58285C5EF
-35C214839F2A5ECB14251A6C2FC3859F7509AE779F4878F452B12FE4F78CFB72
-F098CBC4E6B0DD672DD615A757F2679F5D8D3A4B6E1526887B28D83D5358850F
-4E28D691E7631A9049AEF3F3767BF027E841902694643B9BB27D3953C4456FB4
-9ADE84261546F1D93F33D5FE8160DCEBEEE0EFE5EF366934EF19245A18EC451A
-9C5254E4C0BED9948ECC53E60BFA1C2D376616F6BCF85008CC31165C854FB96F
-857CF6242330FB483001001184512AC019AA8905DF23F06D0B7828791461A36F
-1E08C0E36F059B6DBC443AE32018BD181C2277AD9D7F374D613170C86416334D
-D1BFC6AF96E1AC36C836EB7CCD159EE970C7922FF5F58643B9501502AC6B54E8
-515CE45E621F8140E5DCB0CCB7F00F38DA2E1AAF4164C66B9961C9363027FF19
-05F762E796B93E3689EB2A97C37DB969C07E1E39F53CB4128101EA083631EE5D
-F8363B28077E2085842CAC9EA549B2072167FD6EDB80B8BE1B6D61481F25B9EA
-A584D5A477DE0596D47E8ED89FC7DB85544D5A840BF6441EC9AC68AE495E8F47
-A120979C0CD25FFB7F4ADAB4D131992EBACEA1DD5DE834F6BEA84D13BD539E20
-70199505E2BB089C617D25F54CB7F73252547156A4E575BBBDD6F75149B4E5B8
-E85FCCA0FA5EA8C241B6C1504FD9134C7B22DA8180BCC558A72208F1209519E3
-5E4C6E32F83D5F876699A48FCF0DCCF44FC06859E517B2C25BA00A8B85F0E301
-D2A17E9D59F9CFD15C0F0E66375B1F6BDC500E02175EA8E50266A1C3B8BD23BF
-12E79DEEE2AC1D4CA48C8D62AEE598E79C8A522C66A4FF1A1DF757C48E4E525F
-ED6817933D4E872722CFDC18D3CF57442CBCFE57C59BA41265E0719D7677E26C
-25E4611AF1D70FB3C5EA88380840116D561C8BBA7D1388FD9E183C82AD7776C2
-59D0620F597AA45A9A345D8426D02C81D56F9740FCC8EF5EA6354D526D44A019
-E9B1739BB02CC3495717DFC46C6E71EB0AE07E6715E1ECDBF7E1F5BE597B6CAD
-E2EEAD219DEF40051D26326B93D8AA7E3724D7998A1B0745893CC9A0C02332CF
-8C09C7293E2F23395F8B7922F766080AA7B0B0772861974D3F347B8DCC6FF52E
-B3A1CF1E78F1867E80A93722A42BDAB4EB759CE89389080339644098F0321C17
-8D3D3F7DFCBBD6CED71E05FAE86646FDC421D265ED7437927A2EFBE0CF11AD4D
-FD4135631614A4307ECE4AA7BE08B089FFE2DBA93BF5ED7457698B7ACE22AA55
-30AB9EB53BCBF034B1D22B8DED5FFAE9C7B8B484007C614A13C35260D81CDF80
-E0501C2498C2ACAEEF03DAD15211E4287354D0BD7C57C6571AC023B708260AEF
-86EA021722DC6113833C25790FABCD5C20822CDABFA4E5240B9B972F843C5FBD
-4BF144920464967F50213B582DCDB5815A8D5E334A3DB9D59231B72BD6BAE237
-D9030017A33A6EB979ADE115EE6A215B6AB11B9B310BF94C0F88C766C52B07D7
-911DB37A54F9370509F88B43436A762755FA06A4E9BFCDEA7F6C22EC678ABDC7
-0BFFC7BF150E980DF0260037EEC518686143659E3C3266E02C122B69B56D58F8
-8593FCF82E1DFFB6DD26F11AE382C59A10FF02F4AF78FA0CE4A2283C46B32B57
-A1499738C3F96168EE551B6CAFBB1C827AAF2FB9661FF1596891C5E195ACB9B2
-94B4C1A430B23A4B30F4745D583BA753F3BF148D16741279A815082B7B31545C
-63201DAD0F57C343DC98CA69130D9C25F0C71B7F6E95DC1DEFBD4010B9D70AAE
-4237546BAE5525B4E229E54D4DD463DA111899D4F85C7E727998B36730D17AB1
-117DEF21C2CD57C096C1720E10B8D59FA10D9F19FC4277F4DA8B48B9FABEDD58
-09BDFF73AD60D0E5BB306E304F166751A8F48467E010637F884217DF3A6FD188
-AC947911F550C212869ACBEEBC5746C1DAF22A125C43DD29CD02774DA9365E3F
-A4BF77A5CDC291373935D632E8B07082120DCC312E158D355C0E8AAD26363B56
-BC45360DE5846AC61F7625A2609DB34CD3485B602CD134008D0074F207294CF5
-7519987EE1C5A7B26340A4392DE0FC79FE7A6A8F4265DC842D7BDAC7CA209148
-53E63A45E6FE13B0BB8E4BCCE822D2D0918118CAC34A175A5DCA7FC1C6DF7422
-9FD94C3C79A0F10A818E8AC15CEDD5AF3CCA4A3274C677B6C0FFC22C1F04E85E
-87E8649DD07A943E939DB2B0C9379DCDFB61B3CEAF7CE841FF71E0B0A089B287
-8A942EC8D603BED18EA74B684CEC2C0CBD447AE5970E7033458A9332F5AC1264
-B72523C5C9C4CA5F69007A23E7A6BD045BAEA55875003F7366127204D4BA1B10
-0E07F991B48DCC6961101502C12D3B555DD82BBD605B18A281244FB00A28131E
-0245489EA450325408D60BC088B70AE5BEABD53899808503BA7D5464F37CE9AF
-E66AB929236AE3C40A4B0123982FE7F32642B0CF4CD97725D1052C2E041ABB35
-884E89D4B41159841B96C5C0CC702A657D998CFB41E53EEF9A030ED13AF70800
-BEC30FC4E5E6B0E4C0A67A4EB98EDB480C4B8C925CE008AB99B4D4A0B43A3D8E
-EDCAFEAF1533C1C2D8EEB4695D4DE181B4FCDB893DF84FAE558E6CFC33F9D2A1
-E0D432E05A2CDD6FD8306C4C4B4EFD255B421B9DB727B36A649A93AA1EF8D635
-E3DCF6750BF91B65BE42767D0668C4EEA2039AC4D07CBF04FC96E4063F8824DD
-7ED6F09F13E086CCD73CFE70F2D002A3C37ED5251DA1F21D7EFF7DA4CBCFECCA
-7B7CE736E75217028B76DB0E56FAA99B80A6C9B7C1B2D1C7B6CD1BFA6F0FF63A
-AAE9E2160496F933124C60A739FDD86868C8024C1CA1473049F47CE59F3B118F
-DFAE18F483E8D27C74C616B6068065703E39D544D32D3A1E126E4EE718E696FF
-244F7BFE220205DD7FF6B875B854E9035F01B34F6245043414DD96D26FF92FA9
-CA9C269D0747BD67CCE3F4FE25A73520A1312B52BB7C9CEF958E915E49CC6E12
-E4D88202CDBF3C55165BF926AB8C48C65252435B4D558815CCE2A380A86E8966
-835CDCB1BB91440E107B24778D2AD2E64AD6AA2FBAAC3C287DE368C9720AABB2
-833CB80DDE605F3CFDD2AA3EC99E4BA5403ECE1A237910AA
+D9D66F633B846AB284BCF8B0411B772DE5CE33C33655F6FF751F340A8D6C01E3
+2E02C24E186BA91B34A1F538959D4450CB683EAE5B034D030186901B458D3777
+6B3942BD2E07121385120248891AEC2EB33C4E3A0CF00828D0F130C31A918C18
+979FE94379C648EF21ABF659253E43CD1253866F157F1DF85AE7E8714F061B1E
+ABA3AD094FE8D6293916FA82EE4F486C7E513A06D4C9BE44306A8287970B4ABF
+B6D1F9274A5A0BB6ECF713ADBD1260D5D6C4420D357FD486470A74B2F0621B59
+A9373ABECDBF32FA68AABB66FAB0C970A3354A335FEDDA1C288245E6C890B8DA
+3D0EB953283ABFE372221EEB1586B0167F634E3F29CADCAB484B81A243CE1E3F
+D5106AD6BDB1AEC91123377F816711CB9D5140120FEA84B8205B79D1569509FC
+6B671211985CEF51691C45A168740BD826464B2CB0ABC575E7D453161328F80F
+3AF1C99EC219010EC6C95E0A8D1909719CF18BE424967E90DF67537220E60C3C
+4345B154D08F9EA684710E659DFFB0BA1B7FDDCD519305900A5E1CDA219A6C90
+DF8BD712A3686DAB90344E8784C7A9AF3318550285039B701B9FA1D3A3C3B6C2
+753F1E794A3463A173C99A9EC0E2AB5737134CEC2C97CD6A37E38692ADB4B131
+54697B7BBBB23680C72CE96066D8007B90AF0FC5958232AB4F21826691E9874D
+107F47DAC1026298D787989BD77CB43A09FC95F6997DB00D8483AE9C2716CBD3
+7CDF02DA34FDA2F0754ED0968270E118DDD8BAAAA65C41D699E2BCC2556AA231
+328187D2F50FD518CF458B0BA1F7DBAF4B231CFD61D5DC56335B53C3013BCCC9
+85690E19E992ACE55EEF2BA7A75DEE6DC33933C226FC1494269B7CA4CBAE987C
+2C787386400172AE3F44AE47115F4117EED866713BDDCA4A7AF658C49F913CB7
+308635000043F63BA210410A66E192289592882C477B2EEA0B2A339F0E7CF450
+CA0EF79D3A6C28598825CA03FD688DA60C95EF707C6E67CB7E57DE7A80545195
+739ACBDF27069F34C9E0216C3D17CFE7A652B910FCC9B9AECC2E646809C22D93
+FAFAD465DE794755AFF5BEC17160C9563B5C51D07022E2D3A256FB5CACE131D6
+F4B30F591A0419D957D8F0DCAA0A8D65A8D83422AD7C2613FF13A302E152B312
+3F1ABB45E42084EAC894FE335C07324849C9736D00C872C4551997DB889AF17A
+A52C5AA77DEB548B0103B77F65717F70B90C1BBAEA7BCB4959F32851A9882A3F
+55673F24103D6BF7FB3AD3EC3CC50FD8FBB4A6B13C3D278174320713A7B327CC
+A71F01E50840B33D0FC3F5F6A6F2B0F2D0E38494B1C73096A430510F927235FB
+69E931DA8CE5415EE88D0248565E3347353621A48F7948AC9EAB5F5057541B50
+82BA955D90BBC82E582FD71904445A59186022FB928015235B60830DA59813D0
+8DA3FC306C43FF8BB2CB6772B1F7BA3C1AA4B2343E7DA7E065EA53A4E5E28DC8
+0790F2D5CFB203CB135A08DCC9702B59A63290444F202756E55B9FB053F773D6
+0F69C63E74DE593E49186FF4304E8FA76C3E3006358DE549E946DB69431981E8
+1261C9C9A884E4EC708F69E6AF5D22C5BAC49F2AE85903E3D48D03B7B97054F1
+D2937A0C685D912D6D20A75A77712164DCBF8FE4D5460DACE139C5A934EEA09F
+B94DBF168A4BC03A9D689936D833018FF43837DF9519AD10F357F00BC068E737
+170FC9FC6715165F733A0B6FADB9ABB48B845167DBE6D771C916577FC2132863
+767DC6E3D460E779254194AA690983184D934F5E858C1176B3862B69B42EBE7D
+EC9AC4E020085D474093F7694C8A8C2025D4B0163E29320C384D62A9F3FBCB1F
+AB5A374EF3DBA48AC2147A207AEFE8B78BECEBC55C97B538F3A0FF4589D171E3
+826342C8A5186224FEE54E4C6AD5EB02BCB4088B132FA1A48362824BEF161235
+8E661DCFDFD8429C65CCEF63902D0E07C2FEC1DC2756D942F13FECCB7E8A8048
+345338F24B7808E46A04A915C111F939E2669A12FAC0BA4F74B832EAC83EABEE
+67E2817C058E69C2010F2572FDD15194CD8DF0FE9F827D349C0444A18D1A86FD
+802BC120A5114FA3523C221242C7E767B0AAF6AD15DA1561CE8EB18A2401D71E
+20481FA5F1E247CB5288F47795A6A3A3BB186E89EAAC4A54AC91405427136127
+5B151203426830F7CADABDB3FF63B40CA29CF8E667E71615869978E99E6F3F07
+0170EACDE3DC62DC05681D7680E2E96C30002AE34A4E5EAEDF88577601A82C36
+22D625A03B0451D7BBAAAE0C396711500E94A482EA787495073F16A76D1657DC
+4EA7C7B83BC30CE7F145B65B6E2ADC207D192CE3B5FEF7031F4BD64F57E1BEFF
+CCFFE06F1E4ECA48B442DF413766A70DA626359183A9B24C70419487423C816B
+4BCB067E661E47E172563090D6328BD738D2B0FE41A0C1D7A47576A79BAFC880
+0473229D134F998909898301CEF50A82B627A9A06DF59D0B9C530EC5D877F1E5
+220D3A1ABD2ACBFDF1933F92B3137B22B9F95A961D93B729307749A50D8A6403
+7AD0F9C40743E39B8D198CFCF7C033D99440D46D821D97545B930EF92E7AE005
+27F2FC766FDD4790FD1913C7A13328E73E587618ABD9008022C5C6C23935CEFE
+B5ECA2CEBA1D25DD846B48423F7186E03B1F61C8F1D5AC95CE03C83B2F221300
+7A761D6CB5F7F9251D3F9A7F4B25B99EE7A1347ED3059A811A82A35A033E9B07
+A4FB2A95009576F48665605C478E5F6C1B135016FEB4AE6A6BE4B4359836E04D
+45AA11366992162973FB6266547C2E570B8F56F6D992D2C0F63950A16839FE10
+F56E59D93A37573E3268C5892C9F3358753D1FAD6379E82BE740FA17236E96F7
+C53A2FF785FAB86AD17EB1DE8A6AA9C69B91C9D9B43B5188E51F6939FEC21B65
+AF17DCE95DD3BA4F1DD51F0BD5E5869A1ECA7398B6E664EB0D189181E9C23012
+DC1E54C146842A90909DBEC03B79B58909205F2CB2A7F83C66B437D7F7DB9781
+FF0C67F004E979C95B706D8D85255CCD827CF6196D847DB380B56980109E96CA
+997157BE78A4F758CE59D78158A854EF2C20099438F74777D3B0298D45BA86D4
+3C0AC30C984718FD62ABA0567AF0A70C1DD41953E3E7212D5C562085177E650A
+2ACD49940551E3F7619B4CC31DBF67AC15D938619B95DBF66E6D1300B1BB8605
+31C4011379FB5388CA49E4A9BD6C921560CB8D513F8716A0733D2A7D77E62D22
+A69B54E9048CA168D210816E613CF6357706EF6B118A1263B858B7E19AA98891
+43BD675B06C893579957BAB97199ACB82C080593ECB8B66A7334779CC16E4D0D
+4AF365CA6AF9727AE29417B61A5FD52452873B1D666044F8E7C1F6C6AA3397B5
+94A5780F4005FB5E41698FADD1594B505A58253D68D2AE3320E22165D198050E
+425820CC0A43FF1D61F168D87CDD30C14D387610B6CDB63BAA39B3EC9B3CA616
+FF1CC679227749DED3DDEA26B4D97C633090DCB8D8A6E5E07E3579E4A99BF1D5
+51E43D1D7F139C9CB1D76D8F693A3F23A74EFBE79F01E0B850BC6B6C7F62C2E9
+859469A144853434895D73DA6BD2B348A48BA80E79327ABD96539F2EA2209852
+E1BF6B0B819D7C68A9A1D0F6F39416E3EC4AC21DCD3C51D3B5B8D417EFAE165F
+2A7E0B76E558AC9F685A76FEC7E3C73CD607D9025DE6113BE5D0401887A53910
+82A813B026A502B51D484797D9D7E79A25B6624940AEDB4A15F2C73CA1AF60FA
+22D15BFBF268EB044FAE17822511AC6580D1D74DBA3C3335217780B29FEE792D
+200B00B8CD888A8BFF15D938FC758BB5CD9B3E08E1AC6CD1669E663BE86711A5
+892684DFCAF70C11E803164994BDAD89128AAD6461D4558AC2ECA3E05EB56D32
+0290AB16A6DF7133DDCBDEAE89C6CD83552792E23CBF567D57E46548EEB0A140
+437492B53C14419B6FE7E64AC23923A9E85F56A9DF209DC4E6BCAF1E045F9CA3
+BB904BFA150F4083C18B0CB5580450CDB657EA768E71222C71DA911A722AB9D9
+E18B6847F417125C40EA8A0CA1F551A4548712D098209C78DF9C3F78605E5402
+DA2DBE2218E49B819296D5AC88D17DDBA982E171733D1E9E295B3157C9B90BF1
+CE68CB185947D1E3D7544155B741296D14B064BEFD3E6AF25C74006CF6800551
+80FCAAEE6FC9105E1674EDFE68C45617D8D3E2264CD395EE94EDD017EB85884F
+FDF530EDF4F3F14750CA066F149E688FAF8EF4B5FE6AB515CD298E8D170346CA
+9B32BAD1D86DC147BD12EBEDF6CE1E749C5B48314F512470A568C172C35CFA41
+031E34586A89404CB5372D7B2C7A6D96F420D4D7C2D4C08184F4AF86B4536A90
+9367598424112A7B05D7107B23695CBCD569002290599E0FF4EC5C852C31F5F3
+9BD56BB840DC17DEEA579E7A7A9F764788D4E3774BD523D21267869224D68891
+4523070E80A123B58F7B579866332FC38A41A5915EC06F2D14FBE4A6CAF59AEB
+57E98D661637EBB885AA5D74AD429CCFF64E5149815E7350118E6385F4C74E0B
+2EB474A6DED021D429F01C9B0634A09250C40E22B3BFE1B7246D18116D585F39
+0E06E9B5F27A6CB77C8E9462189CB900CFEF08F798CAE15FBD94587F33816EE9
+03FB2DA6826EB69D8C284AB9F7B00630D0420EB6E35E0E288BA25F5C2345C067
+22412633898AF99C2FB232D1469025BF262B567F29A05F4816FE8EEF5F02BD79
+06202F6A1E3E5D4B3C91BA8D5FF53D5136BF70E5FAEF441A7310CA83721711FC
+39EE48BFB2FF287234B1A6102AF146B10A632A53AF97E11FFAC3A2A86BBAE3BD
+E0459ECF0305366078066F2CC628A3918E775E4236651B3D817AF1684B07A163
+A0142D16F55D2FB5F2255A8813B8E54EF3E801E95A4A226AB8C0476AC5EDCAD6
+9258ACB6F7C0CBDD298A0B816560622A1871FBE2FAEBFE697A8216A0D8FE30C6
+B1BA6C3E975F78182743842E7F851064037394142AC91B2530FB1D511EB20F3F
+79EDD8B7E1579D35F6E7B2883C47A46B6C1A458BECD6BE58AAFD834A7D82A553
+2FE4E66878E4699856DEDE964F454638F768AEDB595A883E380408F558015FB5
+8720954ECE2704AFAD4D62E8BB2657C4FA920D72248B3F762B2F12D125B796AA
+1C4BD6B42D766EC1C9B2C7AA4B6A3474BF753742DE8AB76D0AB0DD9A20EE2DCA
+0F34CB25995ED3183759CA83ABC32B8BDF0B06EF169252587971F7D37463BFA2
+BE36B2E45559DD73DE7CBE29DE92B9BE6B9F8093F934BA311D81E18A8DA92FC3
+312E3FAB43C53E803975981F0076EBB8F257C123908450661B6FA79E7ECE98F3
+B0A94E0DE3A4DCC8E0FEC106CDEDAA297A75BF1E40F3C2419BF72A644F452E2F
+9A8793810319885EB3AB23B1E80E8B62A889311355C73722C18E62711A7E6A16
+A5B923408444B13F6522FECA9A60B067EE332B83E1A69CD835C9D69B5D8859D6
+91F9276863D2E2E8193641E4239F4ED15E2C482C735BF5434BAA454EC2830C1F
+7CF766DAC9E924F17F03093132627673BA3D99DC2DBFC89E5BA032C16D3C1C8D
+78B3C464081044DB53C7A29E925F4157EEEE928C8E28EDA5F0A4BB6E0042D8AC
+7595C350645118172D04FBF06B2C9A9F3603A54B57999E2960C993724CCD6A09
+766BDF73F66E07FCA9BD09079CE8010E6CFECBE2E5DE1EA4E280AB78D5184C11
+016385007CB5AC0BC95955A1E88EA1A1D8EFEA886007708BA063F556D9284D4D
+C764E75CECA51BEE3D35DFCEBF6175953D30FDAC00F23B1721A1DD577945B5E3
+8176A21A649D907B5F63C71718ECF32ECCF1B26BF15AF694F1045CF98FC75278
+E9782ACD3D83CBDBEE690D29B3176E745AAE436382D258CB22F3DEDD02E441FC
+6A9931AC2F61156DE258DAAD5EDAD41E6C0DFC902173168BB4F51DFA7EA615C8
+B0F92FDB118378CBAC3D56B6B9BB0883C0C14EAA67396AAA7987222A132B7959
+44FC1E9D6DB6D549DFBEF8D2DD8C53DD3B66935FC239E74E2C440CCA13C068EB
+C4A3B69F499F573D076E2C92E24F2C69B806591B0807CD903E078683854963EE
+5125C3640860CEF37BE186DB781475554BFE6C528A9633AD5772BD53244E24AB
+42CA2D1123AF45FA257940CE611D83014DF04E60220E9AF27CB2A2247BBB004A
+F5722A5EF058FDC7DC2B6ED1406649DBAA58DF2ED3A91483D60F11C4A39BAF57
+CB1E320A987B790672CDD3E3BEF4A67032244DED2FF4588B2072CDABFEB36009
+9F4BCBEE16F811A44CEC77F8AE873C90C0F4C975E51014ECBD45A56A63F034C2
+82212977023A132E5C88AAA826D841FDE9CBCE7A01E4B6F0EBDDB9A69EFEBD72
+0B41EDA807CEDB791084047624BC11CE10B7A0A311272EFC9E013FA374D97EA5
+F7998FD908748CA72D8CABFD0F01220C2114D3B462B22FB71A23B284B1CBC7D9
+EA20BE71F8ACCED21F096009A14A7C7B51450BA51514707EB46B9FAAB31CFBEA
+E1DDA6F5D9AF0B6E7D05A1EEEEECD606427B0F2363D1B882B50140466B9D3CBD
+D00DB06DDD1BD4681E367DAA4B7C405C6281B67FFF794041738FC6A01D261CDD
+F6E0A330985F2CA782CBCC02B6F4EE5993434F656B91A51CC03B1D73FFA6629F
+14F6075EBFD83B702D8844A96CFB5C14051595BC7DB2218156A6DEDA5C98CAD8
+BEB5284D9D9F86406A8C1AE85857185991C360E5F44DEF352A1F301207BE94C2
+9A3A11BA468FACB3FA2D683419C44EFDD7C8F1079659F3ABD89D7F168B1591E5
+6105F9B3FA481BA953CD34CCFE73E427D3AFC46E5C58C2981198BA284DB8B37A
+6647BEAA561799877DD6858FCA71CA6003F2961FAA529906673EA94D82D78116
+4DAC81011FD175DA707C1E15D4B6FF19F8720A4E05E6E103E2DE880FA9C192BE
+C5ABE7C311C2ECCBCE8F9713DBA74AEC37A61C8F21F271B35F0F7C88B182525B
+A4183377597ACDA9A6E2F181725D427795B975BC4168A408D292CAA484BD1B8C
+9DC62E737ABC805C8FCB7E96454DA032B601345570EAE0379BDA84BB6D15D780
+42FA1E068A7D62F152B43B788513E13724666FAB4E2B4F04B0448194E46582CE
+7389BAF0D1DD4435BAA6B82AC305C04686B89FD51197C721D941BD2893596024
+1598E6C2BD84527EDA6FAB782033E4BB4F964FBACD96CAEC3F3CF89CBABF6B4D
+4D3AD14A03D4BE931632BB03BC2B92842FAD51A19A756892D5B978DB695D0540
+CC9D030C612E2B201D60D09F56332DD0BA1351EE62816C21A35C33DC11B37BE4
+D2F164ACD836A5CA1553CBC733E3B159860454B17064B4E22D3764FF6293BC81
+CFA3B2325C8E072857F6FF4ADAA8818247D431A28D3C5FDFBFB24A6CAA327AC1
+0B3630C84ED9F0D33B8255A3CAA9C5A0C79F7BF6BA3B9801C3BD0B30AEF7CCA9
+92F25E332EA97A7CC653C93D1497992D6B76363885B92ADE34C2A33E30A3B1A0
+57E9C16D8CEC189565808D3FAC92973C71CDE74DE9D8781CCAF88747758014C4
+5B62667D4D2CC5EBEBE77C5AD00C6A69D1819F5A786964501E077EB3BBEA52A4
+57729AEDF35253F7E1D31F2DD1587BC15CCFC1B0CA930DA83E2031B099A38158
+8D1849E7145AC74777A3C7136DEABB0C787E5A218309A65EC7D128147EDE3AE0
+C0AC039B56F767A22555CFCC12DCBC7F5A5A3B4E86EF5A69EEA93DF0BAF2A3F3
+7504F5C6A7A67388D2F9045BD755BEB7DFBC2EED679497EBEC808BE20FDCB5C7
+B586463BBB898DECCCF7249E9047DA943FAF0718A2050FCFDF8A4C2029FBA674
+EA64003AC03A847185936FC375CC67B3006EA681F61F640C3640A78D0C7FF521
+D477981E23E5956BAF42252463FDBEC49BB560A9428D248B0C5250CFA2A49CD9
+DBCEF73123C13BA382D3CF6A7B8A8CA3191D379A659F0E2C6E9CAFE9DA2AC074
+F622E397A2F7C73347364AE249B11AE2C34AA7F0D27B5F35D548D5AD1228597D
+D16A478C901D3A34D870BA39F770885B7DE62298F0114752435050E99EA4E5E0
+56B965EA185E8DF96B9FE97EE23DD45AADBFE02B427222B9FC99DA94FB2648B8
+46BD30F881BAD3820DCA4D8093BA0FE70E03482CC063B751439125623FA7AE40
+52DB2A380D89D5E37BF264CC73DA9A1540031587F481A0F146C6ED6F3F2957FA
+19477F075ACF608CD94CE466C1FC3EDAEA3ED25C96FE89A7CBFE528A33C4E84D
+465FE6FB031B48D904C5120D428D6B51F3232847CB0B7521E5CEA887FFC56F02
+0882B3BB7F5B0B954E7078DE3E31D8AE65F9EA55F4C169DB7C35DB9645617AFE
+078E03BF9A1BCE4E489AC9495A1E6CC7D1FFDCC03CEC1A32490186FE8B53B09B
+DBA7F0E23C8F5E5270D039B409D504203A458EEF12C035039A8AA12C719C0339
+F766BE6275511D585F82E9D4AC9B5424312755C4B74383FD094BBB24817D6525
+EE62456392E5DCAD0A0157A4A033E440AA014D5682606312F72248E13C43EC3F
+BBC9B4A2CF19A4AC6ED7F561EC37127BD0D3662E05BA4DE5509060B1D607170F
+C8460BF557910870B904BFFD042752C0B839FF9E5E90361BBA35589BACDEAAFE
+C68C5831BD0F19419A684DD99D772D60BFF26CF80783E4368C5C13299DD502FE
+D5C4F8531E38EF4CDB97BC705E96485E6D35BC2603CD9EE98FCF9B0FDA17BB84
+3142E3FF4FFC6659855C63098409C680B968E62B3C844B47A888865DFA5ED6E4
+C1FA4A0FB50571B5D725646B993DEB64F9ABE725E6CE64ACAC4428EA35D78F62
+D78E4FBCA57C78A40B77313572D74ABA7D7F6D429C84EBBFD0FE5D70E0332685
+D350F3D5DF507ECDF63EC58364701CEF19E33CEB6CC68F8D631DE8E6BEEB6B40
+23B48C2D314A260B3E94145EE42CED0D7C05A4736ABE6905B9BC29DDFCB51160
+C15EC73342440187E0D50552677E2C8369BCE8CE8324B2241ABD632E06E177E7
+C044E44D9357FC6F8AB4327A930302530691779D33174C75BE4ECECE189C2AAC
+3171CC8CD5CA4D239DEA20C1EBA99CC73A88230863543301AA4830A1F75F2579
+EC23600E41D89B5A965B4F8DE1CDEAD495676A1ED7ACF4F178B7C88852255177
+667F46585DB722033E1AF5E240507F9323B318E8B5F62ECB7EEF3BE57AA7B158
+867363F1348F8785B03D16FE4BA4BEF244001BF86221D3338BF64CD4D103825C
+F52F858D48FDA3836294A578C2B06C92CF4C6FFAED162EBC62E1CDE6B88280D2
+58E521B8E82E31AC813A22C1C057354CCCCF8EE7F0ACB9B9C9C816A0F16FDB5D
+D98F251158039E72DFB34307E428C4F6D7FE1CE0599124DC57C24815546EF507
+8B3D0BAAA6C8B704A19664AB185607C9ABA4C7F5F655C1789E73CB96945A0313
+E17AFAFA7C553CF466AD01CA97C2B33C057C71D1B7E0A316C9860D61114AE8E1
+28E18D677F741CD2D7BD1AA96E05D0E32620F3E8A2D0922856FC673D491D222D
+F20A1B2A91E6213BC715CE24700933E74FAB286530D1FF2D4F20EE3BC176DB96
+1D249C0196B8131ED0E52580B67E988238554ECAC30222D32B849F01B846A9DE
+56F103AF5B3495E98EA3F91EDBB4F47033B9F05FA0B836ADD78773F06C48A7AF
+F54E5E4DAADA2D26F69117B7E29774DB30C214B9BE922D81CF5563300CEC698A
+92E90C832C1729362748E0A60E83AFEC4E3476FA7876CBDDC24BC513A4CCA68D
+90FF2D2DF7934A521208D5C5C13F36F2A0B60F8230880F226D76EE814B14640B
+74EDA56C78CF8ECAF82436285E7B5077521B388F9A4EF76B5F6D6B2F12D91140
+19262B879E9508D4C0BC62809BDABDC283D2BE13D9B70B8774EFEAD070820419
+C0F5D0854A3E99EC455FC90CF4A0B695878CF9ECAA83937B5849F55BB193CB41
+281420C3BCB77735EF46EA354FAB0E87DA8F78B2836FDDD82F62D5D8A5C9E28A
+6B337EFE33110F36C70AB50477D22B83873EBC8C23AF0EA953831B376626F004
+4C0082EA39FD9CBBB76DA6F984B3AB03E53CD7C60E50D12A8EC2642C043B1621
+43A01466DDD940F2B5A9382390390A5BB4D309BCE121985618F05F4315BE8C07
+CEF490E7449E29D29F15F505FFFCA2233198822241634107E21CF3CE2F0B3FE7
+6D9EA48A8B2BCAB7D1164DDE5E51D86BEE849BE3D5963D683FDAC2683A8204A9
+7818085ED6C5A76C77F50380E33448778949AA59C625B5D743DED7691428C376
+44733F19A2BE85D5CCB2698275FB36961B9770EBFFA7422A3B4E584A47100885
+8C6B70B63C35B3A1BABAF248972855E73BAA8E88CA07B9E259468EE77A8E8215
+C1771F825FD1A57C34DA37877C27AB76468BFAB1009B8796B3399C6DE7189994
+AF7DC5260A3148C8FBDE030DEF30748EDDBF74C822BD64F33C0AFFB7594EC334
+D6A3258FED620706C19E83D60F22B47D85E537F7E0250920202F10A15404A022
+9ED73AA6DB5A0C8623D9B88B19D9A9B22F43DE0BAE2566C028BAA4ABBD8A0883
+0C7719ECA956F5B7F81EA3C739DA305BE65A92A801914B9E1B1BB76A5F0907EE
+2F77E3F571FCDFE18ED70D801D30B1357C3432B914F615866472149520763BB1
+DD9A375AE28A83BE84B9CFD241D24AC449941DCEE6700BAD28E3865573F4A22E
+DEF3536A7C1355AFF8B1E0622701EFB309740FC215D79EE36910550BD810311E
+B91DC553CEB0A95D7609E672A703E68A3094AC93FE6FE15737D69EDCD3C1C04E
+F0333743B4AAC85BFED25602A2234943DC1CD0B5F9E7756AC59EB4219305DE6D
+291D5138E02BDFE4C2F5AF16D2A75D55568560DA7082B519C80E64547ACD7A52
+F4D0962B9F2543723B3BC2FA3DD3A1D59B6AF4108AC20F58491AA57F91FA56CF
+B3863A6CC6E80C5310080C4D3F75E96E691ED827FFE98FFCB496F7233B2BD695
+C6DD17233762E80BE454AA29BD3B821CBDBA41EB5EF8FBD58C82415E032629C8
+5724CC1BE16BFB271CD53B2473479FDAD6F37DC187208DD80C26D9DC2701EA9D
+F398BB621085D2307CB0B479A41A8C4C24C897581B5CA189E8C1D9968F80A1E3
+0F20011A69AFBDC7298A3878CC276782043EBE6622688155FDF98FA311932E5B
+F083E8E84D9D9482A69485E64827942777EE63BDF938A6CDAB2933B2DDCB59A4
+7312D7C812AAF9B4B0EE11FDD4AA2B2B45A1BA327520D110AE1F8AA0F199881E
+0522A7ACE3CC13338C29A9F4A43D08AD741A04BA39879923FC51DFE961D40E03
+F56F896A3A526CCEBC827FFB6CC8FFAAA52C0B346A1AA6C9C6C8BDB8E6107CD3
+79A6DEBB03A1E0482DDE4942FD9A260BFCE7C040D192A16954A629E6AD8380EE
+5E7D6521A9F6311F9D0D7752E81A4A1AE37F141BF64B9066ADCD0D0A3B1931C1
+431676E7AE3D77A5E8AF63F87F26BB8BB25B86E30E00D9902B62C96367B2C38F
+8B579B3BA515801934ECB0D1A4501FCDDDE0C09A1DF2E60EBCDB1BE9E565D65B
+B0288C1E3D71D1EF533C4898138BCAE7770E4EABF7464BF1F023243F75BFE8EC
+A0CAD0BCBB578A64FA153FDBB30882326E3453A790FE209B2CC8B348803540D8
+4E07730950858BE19002D286050945D9F88D178A1A37F7790473F05566B772D1
+54AD0FF1B1BEB6C6D8D17535CEACD04EA5AE0BE65A54BF36A503E15474E1EC25
+0EE2DF9F5847791ECE04D9A118CE722C9C61A5549804846747453BEB5F2CC42D
+289853F5CE3446A1F1736BD986AB2AC449ACD16B91D7DC3783A048D8716DBC1C
+670E2A0EF80FE9D9E66D719EDD67A65F49EFFC399EFA2E43F84DCC2E77651B66
+50F00FA152160FAA85B53616766E88B5C40B897CBD5707950372DC164C9AB855
+91E1DF87746BB7CA27B8D2EF363F4084060C15DFA73B0565DE2352C00C16130E
+3C275A4E92836439F215E6B839E1C15C56D0F8B391DB5ADBA1AE68127F0C0CCE
+50507D939B3E68FCBBC55E2E99F94C6AAD617C7312ADE756BEC4003BBC4D1A5A
+B79D76AC772E6B3ED1EE9F36E3DD1ADC01C4FA8CD5592E11B5A9FA01ADB51EF3
+3C482655D9B3A5B7400971EDC4FCCAFE2BA1C5BED9B5514D1BF5193AD216A63E
+5CF80337A67F3148A1190394DCF5B70791F32EBBF5698954CB7CBDD015CDCF3E
+25CF09E0F789BEF133B028476608A72BECBC883C9AA476B85D8A464317DAE3D8
+217D8CA64C874EAC981FD11617060E105914FD27CE9457424C9158442248ACD2
+A797B4991C178CC8C509790AB7537D64082905C1DF94610811F4DFA1DA1A6DE9
+A88335BFD651969130B7DD2F51E1B465B13DD5965F7BE925DDF38DBB35057F4C
+88760AC29DA1AE6AC4596E030B1F50A6ADFB80666EA750D7B130BF8A9319A484
+ABF44EAE00F5630482472B86A8E2DA2CA043D9898F3B15D8B27D785AA4D20089
+E4AB8530EEE4D247345145996ED2595156163CE82B15E5CD71E86C6ABC473604
+26B47BACE512AAE3D45E10BD736B8D28C37390C17EA57BBA88E5667AAEDF1B2A
+81AD335664AA5942C307A174F77C7C2901CCD7AE1CE3B6723523D518557A0FEC
+9C6D29F6974A576ED9575D262AE48D9713B6452EAF55E7DD525FCCED1E9808EE
+F35EF1AE48D73DCD5F32566CEECBBE3EDC201104E367DF74833B6B0124CB945A
+C9240837C9191FBDF41360B61DB3328E1D0B3D47D5413D91E23D020F6F5BF4AB
+1131F3713C439737F2796823D1F7C724D519E5BF7A665F62F6AA952F94C5CFA6
+5FDED020F8052DFAF5CC704FB832B5623B3E1A1A8500DFEC1D05B856AECE961C
+06250FEDE204ABD5CC86B4B11525BD2B8C3FB07BC5FAE9713CE7A619167CFD8C
+9ECE58FFEB4412AC46858F5711C62FA8818022B4CF39E53113FA4175FB127FB4
+8AC60B8E407A5DBF4EB4491B32485AAB0EF881AFB97FE730DC27E293521FCE7D
+61E2C11482592E881EDD076A56F9613E45C69741CDDB2B1BE8F307F108E9BEC8
+BC1E011580D03C82013710B4CFDC880AB7858A4E95B253AEB317BDB214CBEE7F
+36A20CC3FAD8DE8F5C38BDA87F5FA82C920D57D9BCCFFE0D915A93CA724C49C2
+78245FCEBBEFBE2204A70BDBA20EE94BC358D5CCAB487FADDE806548686F6133
+F50E23A4216F88B8674B2F85D0BC0E505844E5800C29DF6331F52DED85EFBAB7
+2790ADB9751C8346E3D6AF08A971D8B66F30964F31228F4071BEC33F9D5C1EF2
+FB1266A32D75C16BE5309CF91E7B489B46501B8643EAD70D24B69D0D66C7B1D4
+484A5094205EA947BE0D9FF755324FB1EC0F18034A47CD381085C4823F7CAD6E
+57A6F8AE16A90E55C3D44F896FA486D14307D6D61E8C9C682DAD0DDFD04B3934
+216A9C45AE769821308855C54E36C310322136E11C1FC29F80E2FD715A5C97C0
+872AA58E2994B9B2269CDCA9A9CDFCA6885808AE4E88F1733D69138FD22E5422
+FF4DBA0BED034A208190BB624C2D6415EBA0A19EE326EA022756A7AB52C67AA3
+78CBCB8482F30F6E31B4783C8A81FCC602CC3924313CEDB230C497E9288E9174
+594DE7CFE30B0F25E9BF839AD5E7F672A344E15895AFFE8FA0FF9024164127BE
+E7416B6734FF62C3C7289B01CFEE3E5A0C5976DAC8BEF17719E1F3694613BF26
+20B0BBAEA441138E935A6F59D75638ABC587C35AE909ABC1FACD16968DE4BE01
+2A079F1E23F372CC6961F6AD3EF5534882FE56E6C35E8077A66E287999F0EDE2
+BF339018ABFE4B147CE55B6A8AD21470944EB9FE9190CAB19C88A14191B68608
+9B6C1D07B3E706DAB259065D261A5808C0ACAD26264EE712CF4FA73A36AF6ADA
+F4E0692653E78AAAA8A305E63A32FB0F4782F21350A56CAEE8074CFE273C6058
+F1C86CF6EB7E31D57C81BD2E165431ABFB0084966C4EF87BA2C898E63BB63A9A
+044EA6DC4EA71AD365F816EDE1A03E1174B3B7F7AB5A1D14442732DF17FB1903
+13AE156FA535504A38A6C0DE8B00E1410AA59FCB2CDBA3A8A07E4A2BF3436E29
+BD9801AC1321EF75317D4AFC4050F6B65B5906A59AC23D4BC8E480799BB94806
+913AEE0B5335DD2306F1A9E4562DAF86C9CF53C387E4C1E55A813C289AD3002B
+F7696E2E630B3B9ACB938C5670AC678553CBA32E4B6746394C6812B78561DD0F
+D38EA6C543FB1D7EDAF5A299EFB492C47FA47CE8C84A50FA215129D7C8031BA5
+2F2F09B0E1CCBF20C76FD8672BBB32AD487050F40D8B18DCDEFB60799AABCA36
+91894807B5A4010A03FDC86EA04E0F65228D66A99CF2C2662FB30FEF8A9726C5
+79988946EC6D7367445B10AB60B6D1854309563596E939720BFFD7A82C9CB55E
+47588A47EF8D1DD34EDBC2DC7EFF062B1B99E3DC1A299E3B81935DDA25229DAF
+613E3608DFC507EBA803095125307957F931F7394BDECB95E3383481E76C783F
+8AB7336027D19F2DAB61653F38D7B5D407DA86E3D6C4B86C6DEBC3C0A5926E5C
+4A19752219CDB01699CD625B55A0E9FBCE5C35B4F452C6D687147FE96A82655D
+32BA983C1BA9EAD79550201BEC58809E080FA25C72146846076D94FBB20CF0AF
+0D40DF5D6FAB4886DA3973BB4507636E154E980DEF570D2CAD66876067E1B61C
+E83922C124E422AAAF40032DAFB498863BC9D28420F76DFE78539693B8AF74CE
+82DD00A82FAE3DBB824BBF2BEFFE90C4095D10465384DC2F15A66AF5E6483B3D
+342D88E1256F35B7DAAAEB2DA249BB5801C9FCFBAB59E1ABA6860E9CD0D3F594
+66C375B7A782C6F56A5D9E092BC5C9FB0BB67462F9E08F4D69787589C98C74B3
+B00CF545615F68C1F47E96B4B2054719D0245720EDBA5FF6A806DA8EC9A668C4
+DCCF597FF64AADDB0E0F56F26EF8A0C8669C16BC9B57A3C4AF0C65B065BDCCD7
+CA1740A9AA17B367D91A8D4BAB5233D592E01E51741E593D51C62258DAB3DE2D
+3239F16E03E7D9A8CB720F387CE80C207D7C767FA86D61D5C6A46C3F27CC8F14
+C56B3F8EC59070066437CB423F120F1130E6CFD3A1C79FE81F3D08ABBA6C6657
+AAA285FFE1F0052F50F8790D3250B2D3D1477B752687CCEF5D4D039A3744C42C
+A3A3EDCE6A40B3F6
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMTT9
-%!PS-AdobeFont-1.1: CMTT9 1.0
-%%CreationDate: 1991 Aug 20 16:46:24
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMTT9 003.002
+%%Title: CMTT9
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT9.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTT9 known{/CMTT9 findfont dup/UniqueID known{dup
+/UniqueID get 5000831 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTT9 def
+/FontBBox {-6 -233 542 698 }readonly def
+/UniqueID 5000831 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT9.) readonly def
/FullName (CMTT9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
end readonly def
-/FontName /CMTT9 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 39 /quoteright put
dup 121 /y put
dup 122 /z put
readonly def
-/FontBBox{-6 -233 542 698}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D1E
-2931CE5F5D18C658602059F07BE66E6EFC9239D7AB2FB8A4CBD41675B8ECF279
-650C29E53B14AC0E392A664848C1844B1CECBB2D5CFB72D0916B675C9A9A1E35
-F12696A6F628473C604A95376468E06E295AD6F76CEB939D94113532050B9D5A
-D2F41A9EFB9424D986612313B89EFE9C8A71313340B248F6853B1EDBF02B7F9E
-F447220FE131D7D54CFB8AA1281DBAEA73E665BACB1F164552CC0CEDB63BD4B1
-4A9AE8AC6FA02242DBE8DA46B64B6BFC11762F0784F216FC8B9120D688D1705A
-438B14F5E5DEAF2A98408B3B64620DE3732A4DAE6D08D5D97E34C75DAE19EABD
-BA0796165C1151BCBFB1DF8D29A63A8300DBDB9E3323CB82D0337598B83F4F2B
-A97CF5196D4D1CEC1EDB8966E548C0D9C194C932319610FB43EA1B86322FE641
-AB48770FF13BD475A7267E142388563D1A400419C585B22A9886074687BEDF74
-D905BE8EE440BA2ABF28EAB673399B7F129B9729DD5564C681954621903B84BB
-CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A
-082A852710A62A147C966F2B85B51B0BE85F11D2057C66FDD61F6C5755367980
-9F4DE680601D4DA41B46F8D2148450000413C27AA39B586B74B977B25F0FD3C0
-4BA1EBFAFDBEC531EA1210365091671CE3C86A6D4BC591C37DCC02570042575A
-9D24252D6E01A8603753934D7EA5CAC1BE4E5AD2BA047DE8F3983B23A8A1511F
-B08D373B69E5076CE4300137B8805EBCC0AAB89BBB312A77835795E3C069322D
-42C893A30AD739E2BDD299679B158F7493764F2321E3965141B5ED1C6F4765ED
-F46D391A646B30C90002B1C461AEE79E5F094CACCA656CEA3DB921CC5205F328
-A2C69F817061D6C60B121EEE844CA5008F23DF098A804D202A649831727E89B2
-5F8179E82F6E0BBD6D741E8E75BB167D18F2DDE43CD8F43C3BD0FD1E6F34E4A2
-DAB0650F8A4A3DFDF9C4E92837335517A977460886B40A2399C1225F3C6CEEC9
-26B415FF077511DF5F1DE65324915807FE55DE096F044172778C70EEC820D9D2
-CA2393E85913E87579482C9F12576FCAC1E64FE646FEA73063DCE44707DEC332
-CDC716EF7B4FD82D42A696A9745C140B67B9F54813135A1CE25BAD1BE9D5A231
-692D233B201DDCE06718A7BE019AA752606AB1BB75DACF8DCFDF69A1894BD4E9
-D4DF07A02931E7A3BDEC89C2D17945885C4D937BA2E1846D76A7B8E754796F45
-C12E9229B33F9A489464D6C5EAF00C5749D578F2A0A34B0A8FE98AF92CDECD08
-7AAB2D5B0C7FB609170C5CA186D8E2C1E2EAE9C57F6F17F46486E9C6250A5F4F
-592A9A8F19809BDE8BEF788B51A2756F65D85B2EB851C77F7D9B11E0C217C620
-6B0EF9796E51BA47801479CD6E3D5E68C7899DB3E5491495624A6F27DA4F83D2
-22ECD4284E12BC1EFA7E13CA82A852A329EDBF490F68CCA1CA74C692B36868EB
-2101B758CF94969214EE760FAFAB4C5E74E9F14A2425888B38E38ECF797F3C06
-3D480D61AEB7BD90B16ADF37616D2C3C5D4F46D5F8992A6F1A9E86F84392EEBB
-C057112FAAF0C65CDBD99500DA825A5B67C4CE68EA62E7E2FBEEF00CCE040D14
-590868155482B9EDA4283D933D8EE98933BDD9FEF488F4D3D5C4FE48F2AB5B74
-1EDE79A74D40BD46874F4AE52576350F72724F57EF9FF6D1F344EAE7E269B2A1
-A97295F0DDC8CD2052C88CF23C70743A08B1E6476FF258462842BFC8B49821CB
-EF81B20AFAE8F5F7275CE3B456A6AF756F335E037B80C9D9704221742FD0B246
-C39138EF42430E692E959878110D15C17C7531DB2A780E80AC7B832CAA7EA31E
-C634F6A786C4110D9004A8B9B5E5157D96A29449B265B614E8A830BE0E09B043
-11BE7E6127F07D5CE73D752D2135FD38727C085743EBCDE9A0C055393FC1FF46
-B7ADA8569D6E29904FEE75425166EDBBB9490193F1C4C584452A2DA28C7ECD76
-3014C6C98E6C8E217B289F63F474067BEF274A7BD21DC01E68517145D3D137CA
-0BA1B591468F10C50D5E5F3B94141377FEC079C3F6A2C028C0A410F6149B2193
-8254146DD149270D58CF871E8B2F897631A09E9DC5BB25C3227DB9EFEC94B890
-DD793EF3D5BBF7C229D8AF154D1C2CFC464A1EC7D17FF866E39D843AAC441F1E
-CDE78A638BF27A7A578AF0A2CFEDE5E05416F7D4BF521DE2F48F13E61FAFF06D
-C9A060B5774F41308040C9A45392A2824A3B6FD4869C7CAD87DF92F9E537BDBC
-A963521E2B2B8477C6DCF37CE806B59A29D9677612F9A190CB733EB3179B8B36
-D753C41E0F0A24FC3F58A236DDE642982E6CF599A1C37A14CCD521C4F64251CA
-AA825E8808C5FAFB9050FFDFA358DB1D8ACB16FE127640E241AB9313DC418A05
-1487A3D4DE759F176E41C95F9D32A1277B19B940CBDF9F9D4929D680C882E6EF
-4B836EB33FA47F6949ABD4503B5981B365A635157485830D1FCEBCD106C5E4F2
-AA22A2B75B10CC8D0061D3ACF79FA9314E3C81C26D4340085B893560169E2303
-F0DB607ABF4DD14778D1469D1AE3B78E760F2B48FEE646D26995F7C27658B122
-C1E83A08C0A387305F0B2022E2D02D9D91E8891CF266E3EBDB3EF405BD9DA68C
-C5DCE5A5AA45CBDEC0FB828266AA280DBA16BA863194CBFB77B71EA6B17D7E0F
-DECE627BCD3DD7F8D114EC8DDD4F0A786CA2AF10E8860CE63F4C0EA178E98608
-CDE6C1E78DCA56F90662AE49132B8EF40D7B3F87073952D1DF7AE500349D0FF1
-C5A1B6D6E0A4CBC8F19026179F61D3664872514538F9E3F28B626CDF46DC5808
-FE23A48D774982C682BB817177A9F21BD6BAF0F4E22873609ED5C9A0EE74D621
-0B8449613D2CE9784861C5603CA194A07F5CB030FFDE97C511A9A077F78356D7
-7A75C2A3DBA26CCDB073FCA8DA90AC284EA64B02C4DADBE6C100A5948635CC59
-55B3A9FD01A53C3C967989691EEB077D1925C649593782C132F246C09A69B7BA
-F97C9C7DC81F5B404D1ABE791EC7F9EA354F66CD3AA4E8371BB3A9905F1C87C7
-74FC4236D93CD69718812E90F273FFEF6B4BA8283D557C6604B0207EA0657B55
-8465F4BC4AB61A3CB7DB826681C66BCA84A95DF63CB289B8905550A023203FBA
-E61556E5B0CAD5A83A05C36843453AB83D72A96FAB8A11C7203E6B235253EAD8
-5505BBA8239333DBF9730527AF330832976D7A31F2A2F8E5E883C4E90B3F37DF
-2C3E6D01FED71FE2E212F37CD2FC027EE9DE51A19263035D530C77F2B323D309
-2A48DCF2C8D4E9EB17A0A33D1B403314D70ABE9AD3825260A7DDDFE20A71BF9F
-85D73933EF437B377F21A60CED0515E1B705FF94FE53C27DD32D2C73E8D2E28B
-6F1E78C9A3686FF5EF5E9870E8D2802106AE28657E7F8EACABD6682A8D7F5C0D
-AC65B1E292CE3C7F52597019E77B8517A661D75DE3ABEDDFAC189A39FAB75220
-95D9225FF4BCEF1F9F2F1C84F3E2CF2A004173A5FC00389E0E0EF10744227641
-EB461B9BB090008DF3EFC4CEF299888C1B3FCEB54B1BEB0FCC26E8F5FF8C90DC
-B599647483495B0D941B87F2FE8462544C7258A56C036CDD55516F5FC09CC66F
-907C005175065205BC8C83DFA626C84C2416DBA2943310349D0291A778C7C02A
-93FBEBDA671459D87591BDE2F91159E34A9CEA92FEDF48B27E4BC10FF54BE8DA
-89E4723D4C79EDD2AFC9A7E17486EAAC169D65382099C1F1FD18FBCC553C9417
-501CF5DBA50ECE41016733C5B9A7E8143F63BEEACA90494BD9BDD91D0E2E3ACD
-3A6259F1802D3C438BE4BD21CFA6C7D455469161E6B3DC046C634B8C886050CE
-0DA516BB7829826E73EEA5E4F19F1D40E954286B6314330382C07AAE26F8AC72
-CDE0C8AB3B05CCD194ECF99828ECA850A1F824A3DE501066B0BEC68CAF5292BF
-794CF459DF48C2975256979473AA3D7EF2908AEAE79980C8BF90D8D8A8A41231
-AF22074FB85E7456A552B2731BACC4071944FD926DB3C3BE30C2CF894A27AFB5
-EE773F60E5C495A93EAF02FBB41984389B8A4B937B4FC144015017E5413A7829
-3D2BCD17BE704133D38FC8E746667C3A0F0759A6EB1907B7CAC5B92746E84332
-AE204C4039FFD97A50F225459A38FFA4C7134F3229561BA198CFBEA21A26574F
-08999B6C2458F51A99322BC242A59E4BBF2E1C2FB5834A196249FE1EE52E80D4
-7B99D1706589F733C2411C52DA478705AA0702C3A43821015905C7086E84C349
-3419AD94A3EDF1DFF4002B91F0646E13983644C9F6EF430C10632CDC03B54291
-2E602F33812A6561CF9D86656C1A82401CCDFB886271A5CA203BD22125E13D3B
-FA2E4564875C4702484BB56D7D70579B4777407C0204D9B970902AA0E51E3335
-B6605AA730328CDE247DB1CF494745541223A6FF09226DEB8E3BECC07D5A9ACD
-E3D64DE4DD329B49D97369EFE959351B2DF49B3B31174C8D7D961D77DBBCBE3A
-9E73C6BC2CE624598CB031A1261C32A540C45FBC089A6C9DEEBA069E2E4BB8F3
-E90683AAC23CD5465005FAE0746E20CE38B4EC9FBF44DC6228C0C9AD50FE8BB2
-58DD5A4DB2328F4D4285A0C4BCFA1704A1D203974B3639723E7D417E3A1F94E3
-ECC4F799271B7AC61394F51F98C42D2AA476B6A0C57EB37B906A93186C092A09
-F72EE2706D36B9DFAE84C08F86A261376172AD4F037F89A12EDBCB63E9E1D8C6
-3326C0C76D1E3445BE6B600202F6AD8E8B139DA6FE7708DF47D3A8A041B9EB63
-C8FB41834AA4E84CC4E1AB699A045201EA59EB753C12543B598602531C40A6B4
-B06A17AB608636DCE7E927A6D2928B62D23601A6C6C0C85A6BDB3C799DFF560B
-8D4BB430644952FA9CD29890AB55F276BA42F62D759408ACE8297E640B4F1380
-1C4B71A95598C06E05F9CC27C18D7E801F4004DFA3C70EFBFCC4E5CDD6870738
-5B38208E0843549FEC55E5D694A28B656343EA92A747DC91B3458054347B4EFB
-51E7552276606BF404BF9FF90987EB578B57AE6CA26D3474B94191EF664FF1CF
-DDC40EC35B48B7B1777749BC9E4DBF97939F6B9C2F70BEEF9A5715F720B4A687
-5D81AAA165002875F12543F433A3C303C54A3AEC20822068F7FA827C68BD8E3A
-C2A30F0CD08616741CE9152F526D86C3C3B9466C27A26C41A5FC9029B1C11FDA
-3AA772910DF31E74B569B9EA1F44446F8ABD8B63ED85E904488C23A4645CB433
-A2FFA3E16421E86F48A8EE1A6785BCA89EE587D37E18AAC159DD059B3A518EC5
-D58F26D30FB5D6CE2710B47B9D5C486F061A755D030A8A699047093A728CEAE8
-9207F387BF2F4822CAF41B1E32B3CF79BEFCDB0BBB9FC78A6AEB2030872D3F2A
-AB23AEC857FAD9A757E33FC031BC4920A0328158497A51A70ACD4AA3A980DA49
-F4C6A39873E5C2290697B1D4AC9F7A58C99DF276BBFAC7A2C543E7F1E879BD6F
-BF64A0513BF3E0671E094120DD08FFFA8C3C4B6D2330101D8DEC830CA9C5D641
-87B958EA2BBDADFAAD55DA8CC7B638EA9C509BA76616A6A32D24ACBA8C208F42
-16C25B3EA130C26C944BC749EE78A24C0E8774F56A1837D8CB3AB251BEEE444A
-40B3B901D2A8925719D9E51B4E9B6C7EAF09FE00B39DD2F33CB2C24E6801656E
-DCB77457A5EC5EEBAE443A11BD0406A015BAB31685D418A85F01E31F88A21253
-3BCD08C78917A5AC6EF8569E02FB4A3AE46B658D507A7FBC749A23315871A9D8
-C1C906B0826A4EDA1C6C6EFAD0CE1213C1D94BAA9B0461DC285BE0AB633A8F8A
-750E3A70FFA3FF5FD2E78E8BE5681E144CBD53DBDDC7DC5BDAFD26EFE0A1CF8D
-D190C42B2D28B611FF04FAD27DB0E7C3C273E6EE2BC495189F229D9FB3924207
-EC6CEFB99821198829EC3C15346E28FF963D4773777D33FFF4E534EAAFAD0D48
-3021DCB24CA98D802983E212269FB971F7E80E55BCF97A212B2DE1AF2721C4E6
-A4466FA003B81513463A0319B14CAF5859307E950D6B92D9CFA91AF4519BB63C
-C3FEC8D7511CE974691D911C73D4E4304D78D6C34DA0F90A719A2E94C993DD13
-A60F404FE777611552A15C7CF27578C7BE1E185A428BF6D25C06FAA323D0AA6B
-2D450032B23D8F7FF3E9654F916924977E57DD792D191279D5ADEE4EB75EA645
-145BF0BB844AA68A2893A8A7EC2FE60F17516F19947DABA9976C2889189D6A53
-1D2857D1AA3F2C5DF63403370A884DCCEB54032FB1F79A7339B934183D6C852B
-45FDB74251533DA40E6F7A90DB03EEF36D86BD690C025CD7BA8ECAAF269B8BC6
-731DF3C2BB1502C47F27E267D02E9072501BA17018F5F4B2AB6E35B70F03951A
-72610C597E35580BEA3FE6CA5D937E649FE4585481AD8AB3B4E3257559D97116
-A015B5E45024055FF05167FE7F881C71F1BCAAD27A36E10ECD878AF1AFFFB1A5
-17BF50513F6F35AA0C40F5F7CE59687C2D65B58FF9CFA36662D1A04294D932BE
-0B729C3829F1FE85261FBD8E5A9B3AB35A9324203E58BF969936156580EAB14D
-D1842F71B7B6DE7EDCF5DE8C54D95116DC940FBE3E5C96DEED5EB7FDC9A9B495
-92067D334F1E23AE042C9D39ADFE188F313CAD7561091B1758BABA413F8405E0
-B22FDC715FA860B1599FC0801EEB4BB36FAEFF94C6E19BF5DFEF5839533E98AB
-9864EA5834CEBAF028FF0B15D40C61049CE789BF24118893607DCC0C72671159
-3F7FDE0FBF721031BA49DF8EFB6DDEB8B208ED72C6123462E461D09F2206B045
-373D36A16CD58E9688FE78994517F5FAFD4A40BC7D74251ABF8572E7E067D6CD
-1BC02839681F508D70458CB5D2750D13B5405073B086C61E8481C59BE4F20525
-4A697A16B7DE1540469A2AD9F19D76FC41C2EC5C0588B8D567C30AB706EE5EB9
-66393B19F7D93F9A19D22A3EB740B0BA52ECC8CA7B232BB8317AF9C2F1105BA7
-0F71B461FFAF34C3F695B7F73FC7CFA2140AB2D62C3DECFC62918D4FB74459BD
-E0B2AA8B43A8727CB65D7D6157601AAA0B98947040D1B120072511821A61DD8D
-E67C2FE28144B71B3052F7F45ACDB7E7DC4DB473E15885361BDB8DBD4424618B
-CB3CE71869AFB06F4BBCAA8EE9C916F0027981751186FF84EB51FD7CA05A8353
-B226848556193C1767A6C96CC1C59F0C153D3397ED0364A1C19B295F1715191C
-F471C0B3004B1EEE106DB2750D8B127D2FBD6E3A5AB32CD7E15332A64DC3AE35
-CB49263C6AC5741999328FF3C0F497D0E81C4A325605F8A0B3F57AF37CA785BA
-2152EF6059DE501217F850AAA15CAC696C91469EA728B7D4A9EF658E4658698F
-B3E5D034233A4687BDA4FD86105D91316B297E938830CE22285B25F271BEE72E
-69D10C8AA433BBDB903C134EF2242BF70CC04AE6846919238CEE59913726343D
-ACF16790D5BF8DC73A4E9F969A14C432ACA2943BA786E4E55146A0F1C1C11321
-177E389EB97FFA3502BDA2CA00D9F42D0E2148189A075970D649153CE8A16D49
-D9BC9A4221070D00B65BCD6DFE956B6EEE9D0B3E5FD5FDE15414DB11C4242BC9
-E075F0905B716000A7FB5CAA551C95640C88363C7AE1BE77470C2FFC10EED3EE
-43EFEF9B542A1DE5600DE9077F1FA3E18F3D2273598783DCD54A8512994C0711
-1052650249E83A446290098F11A0C84F4E5A7AD7FDE05C52AA0CC71DA2DA0825
-543336D3232195FEAE977223101E75155AFFAEFADF865E19CA5F243D18F3F437
-32066AF3A945F4ACE9223D68907A65E9EC6E5782B7E4E3F1047DFD8B06D85305
-9B469D85F759FB220D79295A9EB1FB47F07DAE3AE901A5C3E2043F2FA01DAE98
-6BE9CF92073CAFE0C07E9F4F98D8E01CF6AE22CFFF89BF133E7F99797F46B4F3
-36AD21D0559858CDECA5710CD7B111EF0507E86A3A18E0C2D347F37E78179D65
-3587BD6067D6657292353CC073D7DD4BF2775B0E7FC70848FD84C1F323A60202
-D3558DC3681C9DB9A75830A48873E680E377C5201F6C47FA95075AAD23BBB13C
-A178B5BABCCCBA96E4BF9DFFF29E8A9AA4714B4E728A67AF0173D06E5549ADFD
-2220C2D7B4ABA903C6BEBF09203BA2937278DD674E6EE760ECAF6BE24C6EEE31
-F01ACF80BB16E04C979A09C4E4A092910E3F5DA121FD710BB18216E9E1BF3062
-677A332EDD2769B817910AAB61657DC94670D56D6B6D9091253681F4024ADB37
-F15E30DBC1E959E6526498876B57073C6ED0E98CCF9901E1A198FB13789B97F5
-85C330D6FF458A0BFEDFEA84A5D10942BD0F5BE238538B7CBDB9D27876258F71
-A0161CD549C4C487E6511B345F6D648204A0F71160DBB1CA392D3B17AD92A36B
-8137CE1445620E8822F77C22C70156C226CDBAE8F371AB42A7A7DD13C56B95C7
-8F281F53501B7BCC8736EFEC5BB91C556EF927ADD8CA96E817DE5CC696CBDC33
-2C4A7C12FA2ABC18D902ED6A91A39BB7A8630DF7D8A2265206558B55C8F0382F
-FB04CEA4F8C0C9E77B54011E84ADB5C07D715BD47CD25ED157BE4A2CBD0BA74E
-8D4BC16906A21B711D8917B96904FF810E629B4885EFE909BC545E1F7327C82C
-5CE0F93DB0A03D339C882C4BD02428E97304776DDA22375FB49512DF95587A8D
-8F0DBFAECB3B23131F964CB845DAC2DEAB78A12EF8DBC37ADD6A002C2534DC33
-188FFB4C5972A3218594FB86A945BCE64240A47C513C16AFF4612C70409F1FA8
-634B54012DFA344D86A43BF00D8C80E67D16AA6CA5B52709A2E313B16809A3C8
-228CF5EEE29F90B6C082AF69DFC3E76C2979C867C8CF8D72DEA12B904B4CD7BF
-C3A85121D7DA6261BFD78AC9E649D0F4E44C4983F3C1B466D31009CA5D04142F
-71933AE710D645E7B35D05A62FD7003D13064529686F25A3A3541C9F74166E4C
-3716CFA8D0A54F920437DE8358CA9F73C4E333977FDB5AED7A4F0DE613C5CB6D
-BE3654D3C4D5C386463EF12F2238CE517909A0D54F154B6F6154E84696F267F8
-EE588EA8C21A7A061DBC7F376589A18ACFDFC1DC17DCAA2B7FFDC062FA28FAB9
-A2971EF4B59EA569FDCE3C5C27B96E26E1C0F50A5C897EFE97E989C9AC94EA62
-84B8176F626762C23423AE63CC3494ED614F3D05C89B8ABD6A8FCD38ADCC3820
-3A0D50E597AC2954C0DC03BCD9608944C49120C5C0BD99748D0ABBFEB2141C9F
-A596082083B7D53A54DBFB784EB116BBB8D205CA475B63214D6B8A68EE48E97F
-E77C2D527DD9D33B8BD158DB9EC1E4D0BD49C9C2106F8F5A8D7B17186C894917
-C5E054B53E20A3837E05C5B31F030BA65E3EB65F4660A5BAB5DE8BBC777112BA
-C4DD53A4C2EC5E65A70E1F39286FDA64CC063C674F34FAA610FA705EBECB1145
-94651C76855C71893B5C618E35D2C1E62D3DCF6B0C3F693FC25E9CC684067CCA
-B2E94AD819AE08745E60D9E947ED4562CA1942BFAE082D3B2227A18D04FE045E
-BFA16AEF5F3C2080801CC0AC5B2ECAE125643F7892061EE9FFAC02F8956B0388
-06A5F42BB942E387BF76F6FFFD65159C44BD01EEC5AFED0080760B7EE519418A
-15AF69068B9EF860B800433C5F319A4D8B1847103AC4EC96E5A92BA74459C0CF
-1AE5F7B453AE0F56F18785F9FE0CA8182C9325FD75A5F8F16A16C7C91A22C33F
-F716CF4FAB7AF7433BC495C3F1D9D51B924BEE1006F7EAE654287B725E58F82A
-31A998D78B74D8AAC07CF24E97C74E6360830B2E80F70F3EB0DD009051F5E318
-E8D984E17891B74996A444C9B3F2F495D3C5C8A15B6BF744A99A5B24939D0E67
-9E51ACEF55FFD307F9F62064239ECA7CB34A6308340C43F2F838428E9BFA6F87
-F8853469B6D9692800600388ED0119E9F0A17E972F08ED8C46A82AF93F17BC10
-DA59A7EE56608E1322F47484F4D555B595CB0C96405D517D6FB5F00B3F30353F
-EEAC18B721F4DC73E47CAFD40269C38CF1C16CB833C93D6B2248A78860EE9A86
-CB5A93213075E44F117389104674362E7FA8BEE8F81013F1AEDDE1FAED6737CA
-7A01A0A4E21B4FF043292BC393D6839D04222CB1C4A9BEB0F7A3F6F01DF15F04
-6D818FDF54100FB6668ABBFF7D6AEF73A9DED3FDB5DFF3ADF8330167FB73E3B3
-0A0731A8C5D3782A7A5FA1FE3A60B67050498350A9B8A8F1AF5B8C48B79CB391
-987A15DD82A3AF09C4ECEEEBB647387B7A57438434FDD10B799FE58CC14EBDDB
-3C74A77D6E083C6E27C6EAE004503F59781B23EF42F4789D7884465F34782E36
-360762983DD10F3F6D408B87C19FFC65CEB9C5AB28F82954C81FBB1A3DE010B6
-072CBD60B190C8F63FC850F8F09E8F0A04AD8338B27161575294BA01AA7B8FCA
-03E3EB644731F299E03197A4F29C6E920C4116D7365B89DDE872311ED9E9DAA0
-D14564C64E2879F074472CFA3480D436B764771AEED75DED0E7E416DA73C7265
-A413F7556848004E4388CE6A78B783993406A2C1F7883547CDAEDF8757B4EDB1
-9121B1EDE0B694E836CC4BD6805CC09028F30A6099995B6B39FCE5CFBD29690A
-E3C799490362448D0A3B1B29193569023AFF063EB85A7C1F44A800F9C030EE4C
-DDDCEDBD031E6C714787D342C298A343525495568A167C1D0DC1A8B8F6DD8BD0
-9B1BC4790FE506F0A161BDC3D93B910C9CAF1AB7872C593DECDAD7A02348910A
-6E38E1D2E30E16776E243DBB4C455C42D9CBD7563996013CC56125CA8F759999
-8682342933FC67040AA7236039BB13478A4F60E2A35B18CF3CA1F3AE2C9A36B4
-B13BA58C9419FE3A04FE576ED3BF1E1AC5D242220426F64F03542B976F6FCC8D
-426C47C8BF80DD4D483303A57796B540D65738DFC9B042776CF36029FF79347A
-BDFD44FDCE6266063440450080D75CF4F58D518E03C919EEBBEEB31FDF6FE7E7
-F175874E2382ADEC5B2044D74E487DCD68A0A862C459BF1B47BE8F2FEF16E9B7
-005EFDD1D4E3FD2208174E4EFAB81D43547FCCAD34344D6DBB9610B3AB1BA5D2
-555496386C93671ED0F3FA55DF330E53984444AA3C6A775036291D219B759453
-D5540F81AFEC830D4711CB741435BB1246A9046663BCBC819BADF6CA5421952B
-5CE28D7871D877F6E4DABB5FABB667AEAF7AFF0C7D70951619F9898211DA4501
-2A0240D93AA06235489DC9C4BE4BADABEFB8372C8F9E1E79480937CDD1B18FE7
-A1F10965E2916DFF744DB5B2AD6B86CFAC15C2E9D677532959A3D0C792F1CEA7
-1E823DF82BF43CE7B5BFD6D0BB09619F6921673FEBCA117670A9B2A26F1C8CE8
-CEDC915B586E929346B4C553E032AE38A16E5D523E3FBAB5D3DC0CBCF94E82AC
-E3B49E88365EF5C0F2EC2AFCBC3AE7324C41D533185E8BB4ABC019A3E23D8EE9
-0D099A778ED742D7383790DE0DD3CC41357B04E3EF69A45BBEEB52CFCA7424DD
-F904594DFBDB165CB0617900DF8F8A2F5449B79B18C37B91B3A29A81A012FAA4
-3460699662AE6832D2265AE6827A0EE29711DD118DB31A20B87FF876B3921131
-2310DE93FD6AE2E2F2B2DC5F8AD1E9CF967EAC8A1129BEB01D48F59015531E1E
-8637D4587D24ED735503C005D8A246B4173992799C8D20426CF9C510F92B8181
-9D8FAFFC069FF63A91DD5FDF4033D1506C8D31D44118A8D4B138BBAC9FDA926B
-3C8141627A5314C1BB586BC957AA92020251B325B5FC201A3C8210A1EBAC7231
-BAC905BC7C4AE833347A0B98F0EEF976781BB7C9332FD0E65A31CDFC43070AD8
-3B49644D2DC760B8D0A24A280AB501B56626751E83AF67AE7970F15A3A451757
-77EDCB731EF90986082A8C5F21342FC5D15A8D0EA3083FB9DE0172E52AFF460A
-F16C3382F27BB145AF10EA64D388E2F35D6BFFD70534251FDF84CB58F0E4FF65
-1D866D278F04F896386EED1A02925E3F0CCC2019A017591C26CFD7430AC7C697
-CFE586E3CAD128E455C4D7A3D2E128A66215CA4B0B0779AA1E7807449DB6AD68
-5A05C186FC7419AAA97576A8E41D4AE55E60BE96A8F7EF2A93F63DEAB153451D
-F5D0554806F1718046B1A69D8F9E52C4966D1064DB7C6022B66103573A0A0D75
-87465C4E2E9F38EC5D2A3F02EF9D775D3895075940EBE643B0B135CF9A426B7A
-CC3828BFB3B17C46495585FDF20FC3A73CA0AFB8CB8C4EFFB3F5AF1893CA47BB
-CD2EAC786B8282A2F915E95F178E18C67C926F176130B0F4A7BF6E4711F30BCF
-30819BFA8B6420A6797C0E5525F8D187BE6EDD1690BEE2B68B660A43DD1286A0
-F503CD1E337DD42598BF589FB789FC23D0FB249C5794677D2DFEEF27375E8C29
-175BCA45902801D469C8E9FF76E77B3A6D4457CD6F391C65243E693ACB263A44
-CA2E1E7A9F0D0A9634FBB485DC4C172AF9DA72BC785F5A48A397F08E6E53C662
-6D1CB33AA51501FFB3673CAC548865648AD274C168239AF68F5A52E9687F3C83
-97D8D53B9091754F005BFC4D388E271E624411D239B00F62FA2D3179A0D56FB1
-6C15935F4DE766207C0FA4C112658079C33080375BAB96BFFA97F867B54EF656
-B04477EB12305CE3D1BF171BFA7DFD983B72C937762E518E67F989BA168C8558
-9D85DF89609E4B23694E4C5012D687B8A73FB85A2F8D08512D55F07934FD7FC1
-1416E9A09A19DBC6826FF54B74C5F148042E05BC8D6E083E48F2D7CB7A14D18E
-C67765E99F670580C1E73C098963E2C99B5A65F2D65F9A900CFB7636156C9D92
-9048AF7B4EE5E38A2206CFCC26E1B00950C72DD74A3BF416757226DD259056D2
-D7E5B4D351F2CDA6F3B4B567BD15A333574375FDA65FCB6BAE0C2389EFDC4309
-3A955E74A4C113E12ACB6FC131449722E62D3A11CCBA313232D89E7E9F0E6A8B
-43CEE7EBDBBCFF9950741F1B1397F4154FDB4EA020F38F44176811439880847D
-F844B100EDCE25797BD233D726F5585928E944931EE47BDFDF90EEBDEE67BE52
-87314BCB5C301EDA11AAB7F37C9587EC364977635636605BC8524486BFBC1F52
-D6F67A1544C6CCB787A86C16F5BD9006F90F5D677091393771AC1BD14320E8C8
-FB40417EA7EF5638188C4F898002350A086E450D051840DEAE4E684BDA6EAC0A
-3C4E38EE80B9A455D4A2828BBAF6B0534993D6DC0BE157983E4387A941C05477
-EA6B361F5D7D2EC752CE40F623481CB12DB6F2C6723285421CBC616B570878E2
-B1B0E8F5FEEB178F6C9BD97BD6FE1DFB0A9D0966198B49C46C3058D6B53BB31C
-CB81C9A3533BC04C5237FAD7138EFA7CE4A25781DA9E8258A1E60D14766E9E48
-8124B160A694852B2C2C1981BDF4713BE5B38B60BB14C32ADB4BB71BDB0DD3F0
-7BCB71FFF47B23D50325235C6E7C4E1D8AEC3CB717BA0DEB0075F44939BA1FBA
-8E1A87FBB2242E2DE5967014DC127F8BACE8506A09F9F911B896EAEB18F6796E
-13978D1858984446E3B4B86E923B15567229D9A8254CF57D54386CCCAB51D7A5
-236303F2A2D34663E3A8578BCF32681D6AA33A1C73C1D6A802A2C2B40AEC9CA3
-DE358C77DF89C399E7CA310DB5404C774D9FB4ADCC3DDA025D5C5F7C874927C4
-3C088DA823AB1DF533F01062C5CB0A249D5AD6340C8F3D5C80716C075BBC6EA4
-650254F80C6F164BD52861521A117A8530473A7F896EB7880DE92C2E2524D485
-AE76B41493CCF04ECF190F8F770C48F5767533A3573B5D2B1BE4AF98BDA1A9C2
-CB38344481422DAB6029B032EA8E65D229AE20476434DD140EEE4F6EFF51B3A8
-B0C577AD02D87B4D6DBA8AF5D6AEF68CC1CC59FC926A9F7E4BAD2D2A929C7FE9
-6C7E5C9BB1B47754F5E1136A03C9E8FCAAF59F1B125E9C5D3ECA0FACBEF4E620
-F2E87CD22FB39F35B0ED05C5C48741F0CF7AC235F52125A06F1AD8C76B9B799D
-0AF9A17D173202E6ADC7407339EE56A80BF9C14A2A45694E823BBFE84D08D2F0
-76F0443306780F20C5855407062DF83C953F1B83520E1281C6B33DB6B604E017
-820B9D19EE481EF4FA68572470CEF5D5D9510C24A3465BD7568A8CBD2A8D4E41
-E5A3CE779DB6161C6E889DF510A2800041A334AC98975A7FAF9D29E326DC065C
-9331BF6441093A5F07009243961D8FE68580C93BC7426CFD71820189114E28AB
-3337346B6BB3A1037096270C8FF66794D8C4926CC9E5DD379E05BE591C4AAA7F
-5304B6038C69D8E2AD3479419564AFC9E725DD05AA52D6F48FA32685
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMCSC10
-%!PS-AdobeFont-1.1: CMCSC10 1.0
-%%CreationDate: 1991 Aug 18 17:46:49
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMCSC10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMCSC10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 97 /a put
-dup 99 /c put
-dup 105 /i put
-dup 115 /s put
-readonly def
-/FontBBox{14 -250 1077 750}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A30EB76029337
-900ECFB1390CA5C0C3A04528044F266BA17BE487C79B94FAC6D6484684C5BFEA
-87BCCC77D40AD11552035E95E3007126418ED49B68468B38A14E88E68A267B98
-076F1C9769A5AFBC285E5B158EAC9F926F1D6C0B8F1D57D9C31D25AE27123518
-9D2CD92E5689E0213089BD268DA5E47525CB8EABAA4B78A15AEA34705889AB3A
-FFB8953B5B3482E52BFA0940630ADF8C0AC2177D907324299EE980E850F203CD
-B627962F43D5A678C44243CDE97853BDC6AB45FD5C09AD274DAF89929F583CC9
-CCC24BDFC68B92111055ABA5F26D2DC67C70906F71C2957701D65AE746A60C30
-40E6CB24B97FCDAD0487AE38A201FBF0E41BABD2181981A71940F1E707F91E5D
-C8CA50CB16D8702D188E56D014D92F76CE0B52ABDB9110E32438D2BBF3E6A40B
-7B005F10BB437812CAC6ED2996F7606DC962C4FDE207FF322782C343DF44CEC5
-FF06A55C630C20E9AE1B0D1C5673753C43BA0767D65D1B451CC6380D8BB3C4DC
-81E8FD8AA79BE993218686F29D3CD925566DD587F541A0DA1B1CC3BCEA2E6C7D
-5E1016F6917A871F1BBAD96AF9E867735017119A381FCF33EB2D3E1E7093FD90
-CDB0CED4818CFD9E201A03430CEC713620BE0D3254158931FB657C6877C1B3D2
-24030F377820DA58F4B95CFE645109F3F1B80DB5FACFD7D05AE2909EEFCF95AD
-9CB286C8B6C075CA2267C101B736139863186C193E31085E7C9FD88EF8BBECE3
-933542C85309013325B4BBFE9A5B606780C8580ABDA2F5D0064EBFC23939B307
-08568C3B7F5F053BF367DEBA349FABB9F760C44D100BDEEFBB01F27BFC61F886
-A05B2870FE72E963C4A8189809A2B2CD9FAA7F16449612753E497511227DC378
-14FF12E39E88C5918082D372E253B61C7538BB00D130E9AD5E26A039A33D0694
-91AA4D2571A3565782107291BE4D4B9AAB3DB1EDF984D5B64217EAA28D8B2F19
-A645B4FA969DFFE2F64F1E2F0ACF92E01DC32E02769E040D6F59F707E2441238
-C7973B0E5752A0F3B7C7E328F5AEA0BDFAACEB66018CC5D7CAB286824D7F2364
-AFAE8FDF6961641A5790B923DBFE0F908E38FF0695FEA7BFE993EE6B8D0CA848
-B7062133BBF02A6B1750F1E4B8C4175BDA65A6FEE6CC47E0BE9A2EE144103A08
-F8903F8F494D6604A0BD7C2A298C06F30C4D90DEF3D2364C85667CB0DF8B6C2A
-956CBE240FDE42B27B08C8787D9D3BC807FE4E4E9C0733CABDF626577589671E
-64116BD5A69FCD6500B63EC97C57B9E0DF00BE29664C4C17F899339AEC17685D
-FD335BD8FCD875C7101451A5FF3DA0AA8D7619188EAD019351F412D77BF4CB86
-7FA1BEE9FD546AE66D3B7BF35E10DB852592D917720577FB917238FDC282CA2A
-C139DADF9F3423E419C530BC6B8FBA73733BDFD5535C20EC95418A5C303F328B
-401E5EC69CFFB2B8A28510E5F4A9435361E9AF3CCB067801B766A143D489B355
-F541FF1E1F32C5E17BBD9A6131150955B35B63FDAA564E70413A7308B1ABAF2E
-6D87D9A549DE51A62204343CBC7D7A38ECC5D154A01A4A7054CB6937BD77D357
-05DAD31FD5B8B38450075277ED6614EC89564EAC1AD2F586D062F21EA6D52BAF
-133C280E1DD6C3754C31BB3CEE7E6DF43DE7E15E0223AEA7A016B09200463C1C
-9A361B95AA360DF3B174BFCED0BC1C6EE261D64AB20D2479A92702C00B7A5DEB
-C9E262B1447CBD53DADB8C11C6C68D1A3CFB6902F3D37E85F4F05588E6F88D64
-0E53CC634BAD0BA1EE0F16E7466317DDE2E6521F5B4B9AA68094FA7E62688890
-46FE6BFD6F0F733BCBCD75BB8B7605A2BA832278988F068A879872395797DCC3
-91C47345BA010403760752E140D5281B766ECE69A1D3774B21A3594057C1492F
-DFA0BC409A1F6CB9258E4B61FEDC26CFDA03E0C6A827886B52E9EC7B6A99F200
-115678FDB267140368ADF66F503FAA7057
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E6BABDA4215500A0
+42D1A3D0D02C0C98BB1D6ED0B7791274C38B038FC7921FF1FB8FAE7258C09259
+4B8E1BD9EDCEDE9ADAD9BD9598EEA9691589649A9A21539161E374075BEE3457
+689F308A4A7AC9F2FE4B301A6C36B0442FB92E3B002623493DC087800B5A0521
+0DB96A23175AC584DE166F59142779F26FEE9783E28DE49FC3A8D6583EE63FBA
+610DA773CA18ACE6F64A4867A1A7817120ABF9DE4D17782866E6CB6B65A9F6D8
+3667C8D3E61E5356E35343FDD4C6436DF73934470916CB5F0ECEA6BFF092E735
+C7C355B56189D1DD5715EC97E50145FFC17BB1497315A9585D713A7A6DFC7933
+995468EFD0F59E3C15865B87925A3F2930E20D5A35970E2C44F1629FA16E00EE
+EE21EFC50D49F5BC02300D0A7BB85E649CB4E2E828C8B1C5469463013E71D723
+2CB11BCBAC191AC751A2AF7FC228395CE9472DC1809052012AEC2CD66695DAF0
+4CA04234F0187F4116C93F59A7F1F8123DE87F111853B785A20CA8B49B3B0CEC
+B11AD345E1A11578D2EFEB0536D125237086CC8CD9F34A5137AC5DDFD8746014
+D74AAE8239B81ACF65F379CF2153B06A238A2D767F294CAE0D79228F0B7D45CE
+510AC9657A1776202FEF42F96D476E7DF407786AEA12DEA0013D3B4C5D0640F5
+BC5BB72C34066270399CE595827175B23B25072723BD24E07F6BCD9EF0175DEF
+93714BAA53960F81103CFB731CED4A267B53727BCA3C97B0BA5004055D4EF0EC
+F725658E53AC86E4061B489AD4154915C3981B3B703E1E2A8D390CCECCA99385
+45EBE35441B062D7D12DAB2B31569387187D74A4043FD71F1C6D352EAE0F6757
+4345FBFB6DB15CAE47CAC4BAE47AECAE5FF5EC19057DCEFA1B23F47364ABDF47
+088A7C6A2AE26B10459B6D41CB69182FD1472F326CE3A15B59255D1DE3B616D8
+9D1F12561038839781E657C896B8C58A32DF5AEA23732A0966D96C68C988ED7A
+09B7E2C8F9F3D0D56879764781566299A4EDD3588BDF70E3D924D25074F30988
+E35BDD827AE4D0B4A06F55A9976BF0DB3C0B1D09CD08E8CB168B50617691638C
+0EC1A791C228177D4FFB021EC3DF5082CA3487AD2EFC8DE9466A690ADDB4C52A
+FE2A6DB4CC275CD33D9136E735279FBB2008D59E667905EBB04326EC33C98B2C
+94744B7F540D86E90DED64572ECF1EAD3A58EC101642B245A9C7232DC8FB8741
+03F97883BB32FB955C22F878FA0FD114451A3B3859B0B5537AFAB73AEC7DB2BF
+409E1FB41D473714F6BEA73CB085139879FA31710E01915C2938C37BAD6D7D71
+45B897E00857D3931A489EAC7B42BCE4E65F73F67FE027CE482DC47598ABCB95
+39E98DA8ECA3E23F0799D5963ABA6E2984DEACBE7B46B40ADC6213E0F4D08971
+58F68C946C748E4B4217CBA2391BE2086C9758F4E32C9B6413E48D84D33A6E85
+84747029C0A9C9B92841D217A902BA8EB333999D62FDA9F82BFC8ED11F67988A
+0CAE42182E414A9766AFFF4B046A09D476F8E3F15A8C7829BEE982D8350BDF5F
+F215F2BBBF68D4B567BAB798B9604C79306C475926E9FEC0F07A99F43473C6FD
+B15AC29C3D07FEBAD1BAFF75AAF2FBE94F104F1DBF838044FAD94B661B06AECD
+D9AEBD02B60CA4546DD6B5B5C1A3833ED07845671CEFCA8955CE0DE5DB8FC93B
+3306683CBFB8E5B79A863DE78D455DE9D592043C2686F88A43140F8B9F3B553B
+7047420E93E753829F8D47AC7621CFE3626F271E31F0019CC02D0B57F67BB47D
+8CFB63E902EA3231C00EC66EEC0D30FE8394558BD3535C888C4CEFC6EB72E737
+712ADC6300162D5D79BEE0CA1F6E4127A0BC90656C01692F6D82C85550AFC97E
+C2693E379160FDB9636FA41AE9C75B7F6643B05971C6D67CE30971D590FC07B3
+E0B36B4D1C7F25110B5DA2130D574FA292B47322975A2BADBDB39AAE69BDDBDA
+A880F9AAB580117708C79204DFFDC08BF4A48919B5C22228845CE8C3109E93AC
+2479E523B8A1C12A6E541118F121DC6B4EAED83491A03192D5C3A2A45D1A2467
+757E7B377C635CF5CAE11A7CB49D49F3A1BB2286090B5F0E4F89869D1771D50C
+54B5C5E091E3048A2C194F0ED00DD64FB95BAC6FA9D61ECD093ED416DA3A4981
+DB07CFF17C4F55C62DF628EBFF06FAC3F3D3F91C30EBB34052BE1A08F5EDA4B9
+08977197950A282B84E21D43C64BE3AE4BCE22C70E7D392DE09D89B7F23351AD
+6AD37225C12BA79EC9951F5DA1E505DB26200190ADE0E549305B7530CB86EFD2
+A896F13A97E51754F70B609CB4511CEFC38BA579C071E9510A49982389980DC5
+336D6C4A2DB100DFEC4055C7AA9C55880F94FBEA9EB280BEF66CB8E1E38A359D
+E5AFB12B540CD599085ADDA7FC2C72E7C873015773FFEECA2C596B75BC39A3EB
+3C43FA2E53C0D7993042F3D652BCC483E48B7F6C94C3FF6D38E276086A6AE67A
+E5A571B9C72E0D7824E0BC2ADF51A393B9E334649F786EC1923C854382B89627
+1B9E701AE5A6C42E672B2C6A33C8BBCA8F69B9061E787D6B92183F20CF4C3903
+FF5417427B84798C82BE28D2C81624E3920CA61EC9EADB364B5A6E50E49A1A72
+A9A090A1FCD84814B8B2708AD787D2B5015DA1305874F58C5EB62F843685FCB6
+465FCA80176CAB2B2FE65E0A270BCE1E3DB97564BEDFAE5CA44395A8DF4505C0
+3E103CC3B914359B2870DA6CD30382EAE8949131CFE31E9E75C3E47A3834BB32
+CF183D4A8B9001710D0A11390C9DAD116196568591D38C2AF4ADD852F31494EF
+573462759A35415900360882739789D6B89ACEFA251C5ED90ED704DD7C3C80CA
+9F6CDED69537D201D520C99E69EEAD5D3C0EB84C166660B3C190166D93EDFE6D
+15BCB6DC5CDCA825E48D33845CC2FB15291AAB823F25CF8BB0A1EAED8BEC524D
+D9CA016027141FAC9D35B64FB9C224552F29EF6B32497254E319090E698FD8A5
+15491CDFE1B988C79A0E3B9D01E12FF084E9FA86CCAE02A3EE6F2917B61A2CC1
+64B8CAF309D1AB48A34227A7729DFF99CB6EC282E3FAEDD2673779AA7E4C1789
+D93FDC37FE95F087C5F88F53D30A2DA9C913BF205FC6BDD060A40184F4AAEB3C
+D080D63B89CA3DEFF310D09EF0A83F3914BD5B7932980ECE139EF0313C20B4C8
+576EE0FE3F28FAF4D3CE7CD0890BC824A85B8EF4636BDF1EF1BB519F93D36540
+ED09FAF93FD71992CA2CE2E83F5355162ECEB32AD218092F45D5A61A44E67135
+EF0453589CECDC6962D0E8DA7E7567603BAF50B2C8F1CA65EA5320984E7D69AC
+9A7D3D7F92565D79E8C9DD2D92CCA7DE9CD058545E9F98AA47904D70E1897099
+3C4C852B3BA131DDD348433C336BDF5FBDFB62120DDEAEB3255E3207B0C84A0A
+1ECF9EC869DB9BFA3693B03FCB27C5A5D3CDD62630DEDE91B4DD5B9784BF0BDD
+FC6EEC3FA7ACA9E15FAE47CDD9B7FCD2BF0EFA10716F08C0AF25FF67CB6F9598
+C607D2FCA452417D2C69DC808A9441A66492394C3450BD30632AE739EAD654BA
+4343459CA36B6D5B2C12C39495952F2EF93D82C73E33236785A79609E260C4E0
+CF3A3C950DE71DDC3939D42DB1CB1CA917CEAD56979A70F8F3B207C805319FA7
+3C000AE2B21D711A6D78C7BFB901334DC06F59EAB6D94B507734C27971F8458D
+D00193645AB92FB8FE163D5C51AE4F40BDB4F2C51691E76EE0636F071F37AAA9
+BA78BD12459CA499210EB0CE2F8BD317387797C33F5933AE7A6264DA06B4A6A6
+1188326147A16B205D1F965872DED7D8EDB3294FAD2FCDF0D423329E9CCF879D
+4E0B966D509F45527F7609DD09694D286F6FF7535EF8971B7DFBAF608A19D442
+C133207EB1152ABBD11C455D0977F66A9B73E51381D1CA4B66E87C0C7175A63D
+80C699A052F00C41DAEF42E7A40E07B1B14107AB0787E24E17C1462960E3C54C
+AE73BE4924464FB177EC62F116B2822842541543EFF7ABDDEE197D6BD8F8D4E6
+59175D8C5957550B70BE775AD52FFF6E7C00DA7CDC16E1DF7446BB5D8FD82647
+3E9F87D5EA365C82A2D991321ECB14A9E3AEADC5A56665DF7072D6DAE402BCB6
+14D92B17F9E063E4E9D8D239C91F5C7C0BCD2FBD936C9D4A0B57659420343B59
+B395BBD1AB5B6003F653699D57E7581F9813CC98D4F072FB78899D6DECC42D34
+F2787EDEA64058B46C4BFAA2BB96E9BE5CACE8D91E4C080ADFC0FA0D4A29C6B8
+54FEA9E11DBCF53D9CA40A21AE5076451EDAB3593E56B6D453DC8EAB8C78B588
+34D4C4F36861B5649BC1E9F3091E704BDA7613ED45C911DFECA74EEA05165191
+825F95A947CAF382FBAF01F3B8B041ACCDF39718D7DC5BA6CA12BB20EEE96439
+BF2E2628AA3BD2C91998E6247A690FCB0CC95F286F427345CC4F1115BA3A6E54
+4743355F2CC991CBDFF5725902C1F5A6DEFDC8638A26EA456C33C27773D6214F
+66536CD2E44FD253531732D5A8C44B336B1BB47B0477350EB8CF74889B93402E
+2356A9CAAFCA562315D8E0B3F42F08932CB87BA2499A875AFA08D11DA73B38AF
+F46D03B7F639A8D7BF88CF07FFF4E91716DCCE6E2CCAB60A64D5E40EFD8B336A
+1BFCC4CB04F49DE1FBDE7AA5B2092A6EDBD913D161A3271AB6411622D0E14416
+37F81E0102F5B0F2F9A2B27819E4BACD7C50E29D6291AE5B0973C657761545A6
+741729620EF2BF1046B3913399C10982EE5F4142CF461EA31042E432CC79A1A1
+39C607D22E45A6DEC008CB4BF6007CDE9DD5802B49A62C8E02A6D448B64177CC
+887AD71D171B99E7ABE2085B37D90B3BD8513995D9A57F53184DA474F6DB5E49
+B73E04CC214EA5398DF7D7541F94E623E8687B511640457A48A68E9D9D6584CD
+15B57CC044D8091C771D175F2EEDD411099BC8F7B4317DC503BB5E405AEEB526
+5E6E1B1F2705275D274E012A98F66075CEB90AFC648B964DDC0E9C4AE7B24CE1
+80B051022E5781A533A21DCFB97893847D685137EAD85BA708A7E118C72FA839
+A9E460B5D17365A0AF1F53A98319FB64A5819B087F554BC056C4BE44113A5404
+BEF759F890C1CA5E7AE156F4F8106FDB4F8DFCCC640976983EADB30976344048
+2A86D7B2AF4A01CA736B98D52ACE392AD4BECE7E61C710B08B66F01857CA460B
+B8376E257113E10F6DEDF14CE2A4E6A99ECBCD302C36CADB713D849EAE9EB598
+F29DC98531D793B79F83091F9B136809E006F34E423D528CC4309AFFB3EEB47B
+9A9DE4D5B25CE953345C326BCBE2B4912641780637783084D3D12693F8135483
+CBB0AC4EE0B5610D7CEB7DF205830BDB9BB404DC1B28FB0824CC187B26C19A91
+DA0025EC739BF3993700101D042DED86D67F5FB87912CFC51AA7DF53F2162D62
+6314A2CE13810D0B8D81F45771391A236422CFA0F35F7A0CDF14ACB2724AA57B
+7C2C28D53029B1146558610E0CFBBF72A85AB9BA308F846228F299F13F68E8F7
+D963B2EE9EF7D4C21690632B640BDDAD0556EFA4EFBF035F13377ABB5CBC280B
+9E0C12AACB153C93351E5BA95A7D149010E204950A59C7FC6581D9703468C1E9
+EFAE37E7E6ACB892B3F8D1248D9A4A72F642FECC5E0B25C15EEB921EDDE84D12
+0E524FE6133C4921FF4921242392C12FBE69744D53739F7E849C1B96C4020AB2
+1FF10DEA608F111749E2FBD8DBCB17F353DCB3075B4F4B8186963EFE95A76A10
+85AA5BB6DB4095291974221829A8E436680F4860E01C3843BE5BB3101D0869C0
+EFCE08D187BC04F58C7A450A59093680A0F09E8E3F12DF5223E7EAFEFA01978F
+D8354753A68022CC92C71F2CA732DADAA8A466D4AAE5999B0DC077715671F518
+E6277741F44AE798EE50DF44CCF71FCF8BC71F76374005FEBC4883C6EDA854B0
+88C0C2B476709AA809ECE41AE786DB1A32B3FBBCC14921673578D3514C8CA842
+E1FF90BE33F7B93ADF6BFB8B1AFBBD080783BEF056A6BFAEF676F7BF9F2DFCC8
+01D255A9F0391951210D60D4D4DCA93AA858B38C0D7B8FD740D5FC6F277C2A68
+54CC2DE1F40B6347201FCA2A0A91822708D820CE645C3E4E5A09FE25721AB33A
+97871ED448F38FC5A349D81F402B34461D840D5768BFC6849439AB6115104F78
+B87115B1DAE12542EA898F86ACE247709817850B067F537E6137196101D46DD2
+D842EA03EF4501E34074E8458E638ACC4EB349A7430AB035BEF2DD4CE00554F9
+18F9FE32A55AC1E7E50D64AAFDA278D77A7149C59DC5B1E3064A4B281A54C9CE
+A5EA94ABEAE4C6D5674C208ABC72563976487136AF2E21F835BEFD232D7F0D13
+1D19932367F51D5379934DA7F1635AC51EE5CEBFA63D4D32F018DEF13624EE62
+31DAE68A08DBE3B4FDAAFC75291C8C6CC7A657E3C7453C7D1461A36E88E633D5
+408253B673AD87A9FB2D0F56DF1305916D14D5DD62051E27BCE09CEE9A1F14AF
+1D7164BA5FB6E6EC8D38750F7E28BE330909F303ECDEE692E347DE13C8C2F82E
+29C8BE6EFD76546F362A12A1C2DC12389EA95ACB4DCBE95620F0C193EAD91B33
+BAAC5801AE827B9AB3FCE5D11D1D7854F8FA8A31670119CC0CA98628F801838B
+AAC7EF90AC5466BE69CE3E3CD9951A5EB9AC08014285422F6DA6F6E221BB30F8
+0042A11F2E4B765BB0D142AD52F4D85785EA71B2E1CE20728B9E9306CE93268D
+99B822A5AB5232EC7E26EE1160850AD3905864A01357F22722B6A54D4EBE58CE
+480EAD9FBF068EE965AC4B5FD2FA8CCB91ECFC6E90B9C49268CA0B0FDAD23ADC
+D5A74B41149BB08454054C451AD0DA4CCF8B60F2EBD061AA03A011D548B6B481
+FAB00AF9225BB5463F27FD67333FB51F8664536267E95CFAA0BE3BC1B8F889CB
+587A3A4FA2B45864F07E11372C9507A625C0030EF7030A0B4D931BCC48F6DD51
+A4D1F63FDC4B59C1CB18E6242E9F4B4B8AD9755B870FE60D640181FB7EB8120C
+C56F51DC8C47FCC6318C2145EDCBEFA7BC4253315BA67FD2B3D4AF6A9F3F229C
+AB75B592EADE15B1FB5FDBA1C0F786BD21A51506B7A2E42C2D086BA6F84D1B3D
+AC7531545F0B01346831FF36A52CAC1E390F99AEDC265B44B0FC9C581BBA6BE4
+48B723811EBCAEA5FEFAEA7E5B987F2C7B3E9A65D2D14A7B74F099401C57E367
+385352D0776D2A908F7A5A2E4D4160946C5591397877025C8C387CA413EFED56
+8B142E8341E349DB4DBA422A4FEE56A573972A0C66590175158E48850A9F7F38
+4B95726787B8F969FDBC97491CC81CABC976CD00A27D1DFCA7CF467A956C1C6C
+839817AEF8794B6151FAE9261119DD5DB787DC9D3B420FD325ED6599FACADE0C
+320D54C2E0D296537E22C1783670A9D9BECAEC63853EC2F05A990260DC189D63
+7CCC0BDDF2CF7585071ABAC14630666737041194D0777EA4292AE60BD7F7100E
+DB568C90F0D899EA006CA423CFFD6EC70A5D3D8AC43C747DBAD3B02219E47D8D
+DE030631F4678C357A58ECC52782B31B50CFD44EC33F41585E51B27E3997D33F
+461BEF897220AEC80007F13C5A1EE3A0430CA899047DF944831F8B010A7DE74A
+BFD26001472DC00CDC9F17CC435F61ADAD4E9AE062ED477FC621FDDF9242C449
+1BB3F77FDD1519A251B663A693D84B42BF0962F537757F38CE5C5D56B98AB10A
+3B70C8AE8D52DCAFCEC22E7B09D3C4EFDA1841C74CA975E4F8294F7BDC796500
+0ABE197ED3737A65F7BAE601C91DB3983EAE11DA3EA18ABBBA3650DC361C2E77
+EF9F97618B0C337A906FF39926D2B0B7883ABBA650816C4C6B34EEA836994EEA
+AFEDDE56E0099D0E09EB88EB093544B9BF4871200746A0409C475FC4232A38D8
+F3105B0FF44E4F132378DD12D9E796412FD0F9478322215E9F59E69396C35AC4
+097C4995B2C3BAB2DD04B1A7097DE16DFDD76465E79ADEEBA90489ADD0914EBA
+53E11A43ECB11D072C68D2131BE1C7C43CB9DD5FBA0A67BA43D6851AD4CD3BC7
+39AE2E22CCC183A56CEB71D4F9F578518E376426E42B6390426A8434B5A83E78
+77A5B9963BAECD5FA5521C2A29418764E4EC1A72462B04957F823E2817A7F8D0
+1512919889500024B1C42EC107E8B8533C0B314EE4E23313A4C1BDB009A2073F
+9BAB479A3F9DA76CCD65629CCEF78015ADBC2D0D124B3BB2D322FC4D209E417D
+84BC3C758B6AB64A01E25C9C7B71D741AF90A19A339F99A0BE9FC39622F04C6F
+737474CFEC19C890A657BCE192B9DCD8F273CDC5294875DD4507DC5723EBB357
+73DB0933927DC21081E67E5DCF4E41FAA6E00E8DF04128F86348FB0718068FA9
+918319C4EE9D090CDF348153B6CC48648C55E889B4FFD3D75466F1B50C437546
+7DD9CF20980B148F60BB146402DC0732A27F255DCB859CFB6F9D329C12FB14A6
+7824D6DE27B03FF85BC59703A5D6C5B7D1CEBCF3C3FCD71D6D6F0311E41BF8BF
+0609D23C84720FA9EAC961C9D49C2E962D9618C32BAFBAA8CAB0B2F616E57DA6
+8CB44C5595A22D635908C7739B623DCE5F82493E7CCCDCF899AA79753C50B80F
+AC982C82E3E05B19390A97437992FF3DC0D64413DC26FB3B234034C6AD3F2F95
+811F31EB98F5CB8CE8044B55512D24DC51926EF37549633C04FBBF04039160A7
+6C356E1954A859DB9DEC5684FCBED64DF740ACF1028B64B6E37CDA8C37DA793F
+E8167A908946D5C619575F082117817F3A800A6EAEAB185E089BE1328FC9385F
+83217AEB2573F1495190CADF70334FF6D7B4BAC744CCA8A2DC79A78189C9136E
+119C0874B98A018B1491770D15E296EAEDCB228D8D0326FB02BA9F8FAD5CDBF9
+7A4A36646B6306EFF2000F2EA8371E46A356AAF677E6DA7B5B354FC9197636FF
+E9869FA36B1F8FB77C70345E596A389EB180C2C605FA14CC46B0327296C4525C
+0AF23FFE8AA7C3F081F5A258A62D052386D29DA31A952134F06EE0BFBCF67BC3
+B415BBB053ADC6930911B119B030885C6D90139A9D601BC701CAE6040BCA0AEB
+0C7828C3EEDB38FA89B442B64664EDBF3EDE7C574085E86440632E6FE1281B77
+074316B8B1F5C3383A4A9A4636A7322F53C95DD828388C4789EEDE74D3948549
+355B2C9A51B33C9451F51566FCC5A4B3436D1BDEF0FB6EBDA54FCD268EFC4633
+983126B556723AE39557BE3502222123662F41881AAD8ADEA717C708CDDDEB0D
+C9C4525648C28C92B8CBB8AC54AD9F628935E9DA46E26A29B707A51A697A850B
+99EAB1370D253F13EC0232AFE478FC123811073171D9491F0613F1BF3F5649E1
+FDC9A90A49DF2C1CAF1AABFD6A0300D7F03366B9AF54F01F2EF03B5027E28A05
+89E84064B4C335F41951B4793C421785142256AECE57F9616653814CC7B87F25
+BA649A63C418C69A592E35DCFC36455B4FFC4ACC37D3EED0C29AD3B4C3A9A67C
+84ADBB8E9BAC45EE44A3F486502082135778AAB910817FC63EEE57E9668F7E4D
+B66CA9AB74086CE7169F512DA6CA391B884E8B377A185B594DCE02758FC131D8
+0BA516DCCDABE77577AD9B4889E274898289B1845C92BBAEE14601F2C09EA498
+2980544B001ED6698A37FBA2A18D4B091B8BAC59C10F3DA76D0C44607F9D8C24
+9897B7470CE456F2CFE75B249B7A07735A368A8E3D21467AC747B1154FA1D241
+CFC3DE0A108E7F843CB57B3FE9BCDD9BE121F080F710696A324FC52DF363CBE7
+50AA70F8F726E68B25FF5E728648F495E4BA6F75A7E6D97F8EF614151AEEE1BA
+2C64175F72FB3B6AA1BA7DCF91F65439096148E2E1879CE676D45A514229B867
+9E82D99B42C29C3BF66208CFBA301BCE0D0238E9ECD351073F4E14F7E0EEF806
+D05A1475D577F8F4313F47AD0390857205CB4CA6CC4C373249682643DC77E1FD
+32D85AF5D9AF3815E32999BB397F005F5CA8D69525404D5A9E65B45CABCAABAF
+3D30BDAEC3EB6495C05D4CAA79FB1A1606AB3F111BC7AB34EB66F27C07A44630
+C2479F112F4551FB16F2B18086EE2454E318F5CCEB2B743E4CA980DC945EB2E4
+116D89E8BD97E3CA01289D9694D8281BE2984197FBB808FB907DAF268AE09502
+4DCE09F54D1354B22F34E2814FBF32DF64915D462D19D3A970321FA6B0C497B0
+0C5F7F0BBB80483F28CEC07E449695C19D5EBABCB44C57E87B54B2B188270852
+4838FB7888ACEE44D8C018FAAA1B784D2B388B91E9132D7CF10A6256845FCC04
+CA9E7959CEB0DDE877A5ADD6716455DEAD6B5B20AA9501DED9E12FA3F95201FD
+16055139346FFD317F989376BF3970EAF03D022F0D842FC17EB4F4DD831C0F3E
+32B5C82AF036449254EEC72D9BBBDD466D6B8F2C356FC17F3F6B11DB63C5F04F
+CD01EBEB9C5DCFDD059DC35C87EAEC26E040B924303095AD6F083C0EE5A3C634
+7C67CAE51E632BBB25F39FD0863D85B4C53F38AF9B63D92C60D7F3787165E681
+9E89FA09E617B8AAC6882EA1276011C62CB302AB3970B2B20819C87EB2951CFF
+71A21D80E6AED1696C096B8C170C8451DC0CEB80A66BC7A4AC8A301188921779
+0479F92681828213F5D5A7C7A4FD2C2479A70481473EB26B20FDA4C500D51E10
+4E67BAD9C75D3907A36326E6E801D54E6D5EA7150E35D401FEA58AC62F5060FF
+EF01EBD6047D177B322B73501215D82F2C799A7306D5CA11DC40ECABA30B64D4
+8722178022D2E636E0F47D1E61D991740E829A8DFFE2D08E93EA46C5C9397942
+BD098F60EAA18DC435C71BA135406351037128B9E09EFC60B4A5F9020A4019D5
+4E5CD0F39EF6F495DB09BC21BC671BC9DA9B61AC072CACC32DF91E52544DA018
+D4DC758AAB87BDBB671B88DC314B97AE06512CF7C4EF53C648F3762E78C2CA8D
+15FF110D462B13F0FBA5910A5E81FF92ECA06F1D8AE476F0A0829C9FD0D0511B
+5B0CAA6C1D562BD27E49557C2B6AD3542AA43722748E0C00E781FDF06F8765BF
+A5430A2C6D19B28AFC0817390E93852EDDC257E6415184B6ADA2CD0718767FBB
+2F8A21F57F8D6E4753997EE3CBB2346BEB89D89596E4099175726A82310E7E38
+660C23A02AB96C4587C2E633469C62040B405DBEFF07809C5A2004631F0A88F1
+14FF1D9437EB5BE651A66C858E56BB01E9F467DE730925E0756D3C18523B8B54
+1266A85244FA09181E13530316BD4E0A6A22E3A3FAEDA1A9F194B9F04F0788DF
+651EA63F70C3FACF2066FB2259E5E48E5E3CB1B5FC201A3C8EB21B364BE299D8
+4CADB08638040D276DCABD6988B5C58F8F821F0C4696B816AA886E1854F5BECB
+A8DDD5F03535206F2D95B7465CDB425705053C6FE431A6C9C12201101F004DB3
+D1227EEA62013C1214B94ECD7226052B9825655438301B2167EE3E0646295B1F
+4A51FB4E4C8B0D73D882FAD454F1C94A3A41ED27B56863CFB27656037B683E9D
+0026C48E688BB38C51816718D33C3FF62DC2965A6E545A2EAB8DE2940857712B
+8FF56C5C1806889B364E8DBA5B9FF123CBA2D98086091C9909AFDAA6A4170A9C
+6B71B14750EE747C6EEDE344706F191CE32A647A88C6443E364CC63F7F95A8CC
+4B7BE59C96540D075968F579A3F4EE82F70288540C2A1C0F4C637A4C1D8A36F3
+3792EA73ED26C98D793969856A3C462A1CD8E755B62266549219DDD93133D9A9
+7BD4C7DC38479F4E54E65F45ED1D161569BDE0D66D7924B76F147CBB4D4B2B70
+A748717EF9A2FB97F7EB00F342CFA13D2F47980D4033D1032A3E48C48BE93046
+1F284C402B1CC7D4EC9EAF7574FA6F37FB4B52E68A0E1B72010F55E2E26C60E6
+02964B551CC1B983BCBAE7EE77200E51E10C1249103C092D61CDA7B1F86392AE
+13010BC02AC963767B00FAA1AA8201292CFD0B6840F8F2196BBE04CB048F7D59
+932B16A21158278990680C0EDA1137D9C3F03996D145BBB387DD20E0B2C386DA
+BD15C2ABF0BA788EC5B1FF2ED28DC3C9547913F755C54BE6E23119AD3552939D
+18126621A8417EDB9BC1DD7F24AF57040DBC62117B61443216D12F31FD9869D5
+6E0641BFCFE913516BEE8DB50EC41D483DE66FF5E4E6731D2DD773193F393B05
+60B71ABA8C194B5927D580DFDF477821A90146E60FA7DA265DC8BE8275EDF338
+FF2433042FA1D70BEA24E04300557C0DE9E84915F5670D8EC1F24960F5E457EE
+F262DF1F58A0925BB36013A71FCAD7033E412CFDA98F7225E007514FA2645C81
+4EFC1B616C220FE5496A3424D27B8024AC801FEF1CC8727ABC4EACEF937632E8
+E3836459DBAEAE70AAA39BA8E48DD47AC5F558950ACAEF2C86B03B788C2852F9
+E540E39E3B707075BE6FE2759A98E189E9BC5A24B5F6F5C967E9F801D664AFC5
+5B6A52B188D21B12417E6ACF9BA61864C06F6854CED75E43C2E8F47AA6D170D8
+148A18DD04BFC02868391F33C3FD0345F6830B4AAAF0C502642006A824092ED8
+DC584D5450E377AEAD5E654DC78E3026B8258CDC162C8F0735EE8C333AC729A8
+D8C76AAB817D528CA7A4E41866C90290DD8A6C8B4754309B587F770CA625C9F3
+22031945FF13B721778DD0F8DD90310E5F4D40576D6782262EDECEC93E21F6BC
+72A0456EE646D11413CC56DE0A1F1840BBCEABA8BEA0745076FAB2BEB9A41A83
+F3DC8DCD4A26FE3D5F5C82F30539A37A6901421F9A6BF2632EF9F42B2E950EE3
+AC17809BD6F65D3AA4643389DBFFF2709E1050E43019469766145BA10FFC30A6
+4B5861DF58B664B97112BF70A6759DBFFD37E2C55847C7147E9A70D178AFA2BF
+398D3811607FEFF018D6DA06E4DC663EA95B1314BF92294331ED6658FB0CD591
+6A7C34D67EE6221CFB488F020E665AC5189F0D7AD836664EA28F70568392AE94
+C96976C80064CC5DA67D39F873890361FC2977239544EE1843C4454E9F4895B5
+F50452D8AFB0D97B5028D303CDA24A2BBB98D3FB90366A4CD61AC6E3CADBB1FF
+1B0102D79C1D61B54AC5F90A6E8E2E3E248A7046D4DC6595D235BA90E2B5DF96
+219EEA7CDA9501287ADB769ACCA5FB773E706CE4F2FA8F90A2679E621845E059
+AC82DB6F32375EAE68B272C95D460E5851B3770460B7EE9F005B12E5755DADAA
+0C587A0AF521DC77C6BD02F82E2F57AE317A5971D7313985C1AB219D43E4598D
+C8C310531E73381DBFF6C16C6A8C2BA29E393FC3D607A75BCC827A38452E274A
+983C3DF9529F70D2124C6566DF1C970CA69D6E03198D646796633C90381C5735
+243AF7C0FBD40DA5F3477724133D0834F58DD4CA9CB5ACE63AD461E1D8888CC6
+945657CE8A6DB1637538F5ADDACEACB962148537532459E214B210FD8C3585B4
+455207488D525D607CF07E8D1473AA2984BBF31396F2C3CF15124AFA85675A09
+2F9C3A0C9F44C1C5A6E71C64545F36BAD5E0B2D0040D00F39FCA7B87BABAD323
+3868F3A9C251044D0607026E6A94B7D2BC48B907C0396BB8BF1FC681E0E478DB
+DB4AB24E02A1D607A87D61725E32D5D33176A8EAD75A5E340B8A2373392FE136
+572CB56DD3861BF18C8E4DB7EC1611C99CE62C24F9693647371CC46765E710F7
+24A4BCBC3901107365C4E70EB55FCE6480D99F960B2258AD4064400B20A747DA
+C6C2FD260ABAF24EE3CD328A5B77DDBF12231685ADD172DB1633986B5C55336A
+37E8D998F13B4EA7FA22C7F4A8565C062D85B02C88EE3CA7535DC1E1766DBEAC
+AF0B43E488A983127B149100942AB57A161818F82673EA302C26CE3A9FAC8725
+98798646CF2F6B33A50E4D349DA57DBAA0E679D7D4BC52A1ECEA4E5E317D3A8D
+E412FE9EB654FA21D17A0A4CF4B05036027DBACA7AEC8B417F8C2120E81E9A42
+A6EA2FD874E2CD7A5890F3BF0E8F979DA9D9C2C2E5D5510DDD126B9E391DD21E
+BA4403A8A56D4EEDCD071878A01F6870EF17DE67693C46A38D7C8BB162AB7116
+1347B10815D78CA3B18E275EB0CF680A55D2B0545D007E944582E6ACA9009351
+B86C8D941702FBD9436C212C6854E418319D2191E9F9A8DD1FFE82E7A2DEAE26
+B6A27351A9FFC57878297FCD5634764B0E586FA98CAF2CB027044D80DBFEC15F
+AE4426B59F093652BBB24003E56DBBF0E2032E9598A54E613E04681A6F2EA600
+6025AADD7B3A038E0ECEC1AC88F45FA55B624CAD4431153D1EC55D0416207C7E
+E9368AB8F98249340FC696361964CE351D3EA13D7D3B382BB4177319DC77E8A3
+DC4E2C72E3CE6AA6E999CE4E2D422596B58D1C3F5EE770F6432B2A37F7BF7A6B
+5BC243477E5F5B1A316C83348A51223DD15A00DDC3D273B3692F406529438C77
+74ECE00BD6D68E384288301CF42A92156C991BCC796FAB8807CEC8A8F7CEB091
+47C061EDB3DB5B87FDE004BF91FC0564D730C046DEF584035BB032CDC368BE46
+A1199423D578C4E9FEF28594DEAA994F7CF0FE1E707819F9F85ED0264C7791E8
+5A97CA7C65A4A502B5772494E6060EAC31F694307955ED835370ABAD15D7F008
+B790A3592BE1DF1A1D4B72448F9750D5F6E24D364CF8BC46839A435AA5A7CC5E
+719DB65E02744248A1F23693691DFD38376AABF4DBACC7114C69737F781EAD18
+1399A822D200DAAE0BFFBCE9F8E7096FD3DBD021793EAD3A49540AF275E90564
+48B3429C559D3643A8D4E644F3F8CC995BE253EF9A1E9E77350F85F43C9E47E4
+1A4C88CFBCD398588D32CC47FEC35856E2E80BC445EAD4786FB852B7622B48A8
+D1F74DE2CB076EF15C54F482CF59D2D775B848D55CCEC17E03AE1FE75206930B
+EECE331FF0794F04A2A33E234F47641694A8C7382F1041168253BD84528650B6
+F8BF9564E3DC9C631EA41FE23DF1EB349286EABEAF7F51F293C5BC892C928CC7
+F81C2E5633597EEE6BCE2D79EF22052A5D1F217AC6F16DF4FD7BC2F520719DFC
+0CFCF443D6DC4D574464B28101948F614D1004F6232053556F3F05C5ABD98DBA
+073220147B200138B9AD77990CA9D99FB022F88FF29DBBE9335DD7EB6BFB8887
+C98BC1D1F3BDC56FB60B8534E8E570738B7BF4F6A8D92F0F34F0F741FEBED089
+AE75BCA245B17D3B619AF82116B081F90F4FA04D9625686D37A5C13AF38C93CD
+A2E15A1E2CAC2E32267C08769D9E3FA376B48D9161FA7CB907350EE44359450A
+6C11644651731684268FC45910FF76F7BE1A16C1C2CEAE66B9C8945FD996EC79
+79F87722FB23780A8789D87694E13D835BF50A53C03C480DC593683D17FD2D8D
+E9C55431C3735F97B00F1F49954C712C25CB8C23F9E434B60459BF8F83028F7A
+17D436BF9B877E5F5251A2C7560BF33FC974318854540CA1EF0FA26F0FEFBB79
+62656BD6DACD0C8D6EA059BCDF48FD5FD607998B6F8EFE1F9E80F8AC33DC5D61
+372DA81E6C91D3618467286A7F6CE4BBDF772FC0A11BA82C4FC860C7D1B7934A
+7F15543671F411955FB4428850865D7DBCB6D14E1EA05573D6123EB4779D5F73
+A28458F16760B43929BE636FA5503A5CD3134DB106277BF39B86DF3721D01182
+97DF2467F961C3188161795E8611231CE2DA959364216C9937517891908310A2
+B2F38EAE8CABDBD6F1E2761863644DF6703CAE5126B418812E834E18D9FE03D8
+28B4F1049A205CC90D9DC3E2649A6D205BFE3206F0FBC6CD01228DA4CCEFB184
+F8A92781EABE80102C6189B749719FDB228BDECE067377F57F19562C11628F1B
+EA900E1EC659F86532EA0E7E73D4DD89771A681AB851A831D86C4E124F6F57C4
+817E654FF433CD75A293D44E55CC7644D09E5DBF24815C182867A802E38827B4
+6B6ECF91C931A227A894F085368998D20A4E97931AD26ED8DAD3F93BEAFB95EB
+B60DD47EB5CFF65E16C7B69B6342C28E3C7C99ACE270AE12C43CD47BAFEB71E2
+0764B55887E6804DE42FFD3856FF63FC47300C7D1DB542A766B8610A43A5789F
+71DAD3322D0A4B43790DB64D0BE6B1B3BD26F38B64328ED991EEC6FFB6396496
+9BBD0F009D0909EF6E4E1C5FED2BC934F8A1BBAD1A9DC766AFA9EC3B82DA49C8
+94876FB789E0A957225AE4676FDD0F32B63D5412EF398FD5E60E89814BD0B4FA
+0862EA977C0F0593A5219C5CEABADD995698639817FF00CAF4EE583363B0900B
+FEFCF022F7E079DE096421D6DA51577A3BA934719834D6D154F98FEC49B3AE8D
+3103C964BAB3C5912FD9E3343D2D7B8328587C8B0B218C392AF853F63B054D68
+5EE9E7E4D8CE5C9D7EF38C4BBA3FDE40C4135754FEBA4D8D2396DDF4D6D8C1B8
+2B061C37657697D5679F0764764A29B066A04447DCF9FA1D8AA3484452761304
+36974ECA2DFD4A34F9749A0589C9DAE4844EF6C7C59C940A9A8079D3FA9D5CD8
+E6930B5AD05C2736E54B1CFC98765D93E90AF82A0EA1B61BE2C9909A8B5D6286
+81CFB2404A332FAE4A6F31FC074D37771221F7C8F652BDCEADC7E6650FF12927
+D6E1E0F3B54B9FD8C1BEC2987BBF748F58330EA76C49BEF701C6FDD2DE956DED
+630B2FC58504EA624909AE6CD7C3592875C0B24FBA6FA37EB553B6BDA8B2561D
+7015751C97318E001729F25FFBCC501463D02A9B831EC6F11AF59C51087290C9
+9D1F049A3D2D28E25DC4BDCD0D23F7CF473D8944D4CB757D3BAF95FD91A68133
+DA40FB9FA731D949009317334015808D16881D2F7E5B215984E9774230F0AACA
+8455091ABF14BDE7E4ADB70836821D8374170ED2C5DDEA63966DE7B3AD825D4D
+431DA1F1222CAFA285A6733039DDC6CEAB8EB39DF4149C42CB45EFB13C18032F
+B762CF32A2C864A4EA78021E3CCCCEE13133D1AE3C009E300FB32384DA84B654
+7CF1828E504B0EA414B4B30FDF852935682A4D4186A40C149EB8DE43B21AE642
+A5543A93E591C14C557A5B626A20A3868A9778687F2ED2421F68F5E7994E043B
+CD473DCA54A8B56440BB47574C1DB283448362FA0F7C7D0B3DEBD18A364A2670
+EF2E787B7E226E4D3A03F3C3AAF22F26EF336618699C94DF23D6B10377DE2887
+F88D5F5E97064E65FE0B0C96FF9BF58325817754F4B4CCC99A6D336A4779CA3F
+59F1C54F4F6602B2A3B176664D03CD244A7F03BEBFE2C2129F5D74FD33F8A215
+E980FFFDDDF7B9F09B38F75948C30344EACF0104A2EFF46A496E7C77173A0C11
+10EDF1FDF2CE53315FA054F4B5C7C4CA66777C7096553342F618F9CD2877A648
+B3113A0F2EED8D8421A2FD93C92371234477ABDB1F1FA6998E479571A2A0D34F
+7B5F97B4D369F6ABEF1E9BC7270B4170FCFD55C3F9D4ED50A2864A22C3946452
+949CD7547FABD1929EAA1F0BBC44860D7E92443C3EDB23C3544EA74A3BCC54F5
+4C87C71712C8EE81E6B9011A7E7FA9491048C98EA05AD30C85666111C8420C3D
+2F476EE2C4B6400B5C6FA6432F70BC05E291946C6C84B201344660A80B566892
+214603C8E747403EB615E3E57EF1BE5E6A883FE5CF43641B96F37BE2694FD276
+7283996B6BCAB6D51BDBCE3B23390B92D4597E492B380DCD24A6B8466391813B
+90A0EC4169205A16EFDC2433B36F5865D05FA8EC769B880F037679E67A571D2C
+1321918539C4E021A4909FBC19224163B53315C7FB04D0C5C8BF65CE9A2B0919
+FCE284DFD8B8A9AD09ED4AD66D17F5D012AE998F6E17CE3869CC232EE83A8784
+7F092A9F1F728CB448375DC3BE2426CB06C9F9A351FF02D7C9FC8ECD8B4A8F97
+45A3419C26261D083557AC9FCAF7AF3ED6129D48A814941E8EE6B82072CB6D8F
+9124DFE557662BE8F6F2F0166235DB961CB3FCC1750070FBBBF52ABE15610A03
+8E0282AD4BB20896BA8AC64FD29C53F0636636267C0EA3914397A96631C9B7DA
+861B9B30BC820B4E61CCA4630ECDEDA619912D6E532BE8172631C2CB7C8707E5
+9B0FA28C3F6143AE2A6AF19816E4C97C8E3C0CFB4B22EE8658F090E7495EDD93
+ACA56D5C71D6E5F17ECE4A8D69815A0B350B116CEE8526BFF7A53304E42FA2A2
+BDF88A5588B37430559E20CBAC302F1CA94ACC496BF3DA9E38F4714AFA0807F3
+F97257DF71343D29B6E6096259BB2384D6180BFE2FACBB36A6D98EF33A0AA392
+F9AA49977FF5BCE3D81E2CC47772C499877F022F8A3A0AEB1251339CE49AE720
+856C017F78DC2A00DF99E37EBEC32CF9F666F7B0A4729A17EC84428C6A4C73B5
+B2F6FFD5197B99EF1ECB151B9C0941EC4DDA986FC53DEF91E5713714E8891026
+DE07F0F7FDAF6571E6288D7E1C3E7FB37914E7F686CD9A0BA19DD4897141E0F5
+CC8E15BB894E730C83EC413A2CEB1AA3B03B48679B3852524D28679B4AC43B2A
+F82EF3B4BAF2F72044D5D673938EC2DF2C1C42CF601BA8AA4AD8BA5E6F06B750
+EB21037460C4858E88371F50F7E004110ACECD71586AE3833B2FB0220A8DEE59
+9F5B2587A982FC81A46363A33AF833147F4C7BC298FE13A7A1CCFA8A01DC1683
+3F19C8892607BCE292F8038DF8230C25820504FCCCC97F38EC859B7FFFFBC041
+958DE170B316573B033FB34D6CABB0FC62640E8334971D3106BAB8DD5AE32571
+CA9971DE9AB5F4B5D30E0833E22BD60C8C1FAD2073B339C6DC55DB3BFA768850
+33EEB01457B4E3D86AC48318D6511949EF0CCFC2AEA3B4E4F1561476B591F10F
+2D005D014FDC1B4C3CCBE5DEA1DC1C8AD00D0124D08FCC77C8104CA1187275F3
+811C004BDBCB68493F5DE1A189172B055D590D5BE4DBCDB56625F0C64D63F636
+801F0686858B9F0B555BB4F981B2D918AD511818E3789B89B35C5C50EE2AF00B
+601B4F93D089BD4CAC5A7088AF13FCAC0222347E9E52ECBE07B4B5F51DE5013A
+D63D47D0FC5D4505919E6AAEA5EE3C057A4C13FB82884A613ACB56CC6AA39AEF
+2D6BF5F5BBDDC59905E4459A455B70BDBE050C1434241EDB33A5346DFA2D8FA2
+B683332CBF15D699672A4456DF88DA5E07E2A2950FF5F288625C1EAF695EB442
+7BFC865D1624C78FD0001B3A1FFCA5B85936C9C0657C99C8E5ADC6606E3C0DA1
+20C29CFC1E10502DDAD857ECD7375A0AAFE41D55AA8C5894BB17A7A0A1001C05
+33474D0049C8E6AF381D241ED8F739794BD05CFCA52DAE567FB2EDF1533E6787
+0A922A47DBE5057A83876ACA6AABC4F2B19F706E7DBF016176A6AD15D5B36E2E
+52A899CDFB15D150704F83A42489537F19F19B00FB7A3F5F8D93E12E4AB0055F
+C625A915EA469601F3EF59105508CE5EB5284225826D344D2BA0C7B6ED1653CF
+C7944A34607CCA8FFA213664AE1BE2905EF925154F68FE43A47E07A9D374D32E
+8CF823814951741BFFCD800A4A6A18B65BE6052363A98063FD3D23CFEC02F205
+6003E854FBDE9B2F25F3C3FE211262D328D9C73C67C5E7C3B5190360B1588ED7
+62B4CA6F4A7F46EEF3AA57747E99CD23B66A717EA292FD9DB9FCA6C11D2F040C
+9B29D28FC735EA9D23E9FD278CD5F2CADEEADEB084ACDB38729DC657415533B3
+D6CE07A0F1151245B53CA88121BE061A97903DBF62D8FA42715A87AC8A6DF7DA
+E797DBC085E45F1995A2463E21CE612DDA5D134CE734846D3E9168D6CC87DC44
+ECC2CF35BE70FBCBD2254D5D25BEF7766392DA0ED56324707D95E8493C8EB836
+201E8C8B53CE665EF50997ACF7DFEB9A286BFC418AD2804041073B7559CD6BC7
+FE666D2307EA4E3625AD37786E189FEEF0B1AF13FC2262836F9D3DB94B4C3760
+02AD0C9F66B06D50441374AAB547E6793B21C4B5DC96EE27EBE5347E74A3C77A
+2B07F05C3283A1892B536340B94372C11FA40361CA2C08D8E5FB56626C1545E7
+DDB3149AE318BA210869F83034D915767E27A908D66EAEEE21EBA8DD50A26D63
+D004FCAF3B66B4560CB49ACBEDEA62A041EAF12307A59B4D286DC1EE9EB90AA4
+37D14E0DFE35F32682FC3A02042B681DB09424270A785A38911E6D6A92B1F36C
+666BC82A052DFC4C9458304BBBA42A453EC1629DD31F133C15D9248CD3CAE4C8
+1D0CEFF412ED84FD63158BC9CFC89978C1822ACE95AB92E58BADDDC64F38912D
+FD14F8FB70EA84680FF563D3FF1F93B6A78FE88A6E93BDF0031CE29454584735
+9558542A0A69560A13AC697E12836C23E21BA7EF85A013FF845AE6DFFCCA1F09
+A2528B29680CA1A5A5C5DEF7FE783685E6D11566DDAA8AAE0FF557728C9750DF
+BD0082A3BEE67CB88DF7F905E5F2C629C7025092594AFF4AAA215E807C8B8C41
+429DD6D1E309D7B3597E98A9A49DE8C6175A6E18D52F22FF66D51ECD07EC8FF5
+57D3E78A9CB5BDFFAED6C95D500863D7FBCD535D2C0D1A61343162FF41EB2F3E
+5EE25E26E23DF17538852001CDF321C9AECB4512BD9128020256638463844CBD
+E55F6C49FB312FEEB4CDC95A8D3E76EFB8902633C490AC74532CAA6A409ECD02
+27C7377F47048DC7067CE24D626D5E1398D48FDCC6B0980ADB6CAFB54B00702F
+9DC1E7582E8548A5DD8FEC4DD29D59F41F67358C84BE6B9974BC441C37701AE6
+0142FCA013400BEE55D46DABF9DA53A6F4AFC66E0A4949EF2BEC85F9BB0A4EFB
+E528EA99C3D9B24D4C378460A3BFC0CF73CEB301FAC488012B2B7ABF31446BE1
+51B29E691C8C09EB032246A77E79BCAD7844AA210C3D66F20D8F6FAD92D1F445
+C98B11BC489662526A5B5B38AE8C08613E02EAB2C1B526603DC7A814851CE070
+E7BA8E7B076BF88342CB9CFB8D706CA6E53AB311E8FC9A4AEA9C745B8E950BBA
+974AF892FAE19C80B5A9A9B62E1E592920E272BC9EF34A309CF4BF0909FB0477
+FC33D891A785BF03CE74DDA2694A154846F0CCDC980367E7A92EE4877D68D2E6
+7A1FFED487CA7C97DA069F20DA0EDECF612AAE8D3548A671BD875D7BA59E5123
+3C163E9C3244950C8D348944DB95A2A3FAA829325DF4A8CDAC10BDE9FFAD8632
+332D4844BF570DBCF5FA0AB790EE5F0C8EC1E6E2CB48355AAB446CA657F687A2
+C2984E5E0F5F5E37DBA0C42995728A3E3F92EA9FCB7780119A240D008233494C
+9CDE72C2BC9F25A8391E695D057BC013BC6E1266A8EF217EB903FBA501CFD433
+674F746FE546AE560F36554F668A0914151CC73547875ABD09443C025B59DCC6
+59F12BAD851F12C443935B88DE483FDEBE4F289712335EB3FC7E907C679825B4
+A1B38D553766B7831BF285F1AD2F3140B21C810FC7DFC40EE61A818519A70AD1
+AA928D5BE22D7B1E64760525EA87721410A6ACC1E82A369A029B34E09BAA559E
+876919FB546145131C2EE5EB7445FEDC1502A609B28E54CC7E2E60E68E782229
+254CF9D1A768C0E2AB7D7EA96C7EED87A637F5A15C9824045C7271808D5CC1DB
+582776D6EF4A139E3CFCDCEB233D9961F92D055CDA7A560416C9963C1B5253E8
+842A175074F49B56A0138AF02842E867750037D76D8392B72C782A60F15053B0
+4AC6E25B0805ABEC5D11041D8CD3FF2D8BF39204C63874A348F0611E7F1CA5B3
+F51A2CCE907F9CCBF463EB6449EFB11C61AE27382C3B55FD84B3FF7CDCEDF48C
+8A9D975E1E
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMR9
-%!PS-AdobeFont-1.1: CMR9 1.0
-%%CreationDate: 1991 Aug 20 16:39:59
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMR9 003.002
+%%Title: CMR9
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR9.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR9 known{/CMR9 findfont dup/UniqueID known{dup
+/UniqueID get 5000792 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR9 def
+/FontBBox {-39 -250 1036 750 }readonly def
+/UniqueID 5000792 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR9.) readonly def
/FullName (CMR9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
end readonly def
-/FontName /CMR9 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 12 /fi put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
+dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 121 /y put
dup 122 /z put
readonly def
-/FontBBox{-39 -250 1036 750}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
-87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
-D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
-92A36FADB679CF58BAFDD3E51DFDD314B91A605515D729EE20C42505FD4E0835
-3C9D365B14C003BC6DD352F0228A8C161F172D2551CD1C67CD0B1B21DED53203
-046FAFF9B1129167921DD82C5964F9DDDFE0D2686875BD075FC81831A941F20E
-C5CD90040A092E559F6D1D3B0E9BB71733595AE0EA6093F986377A96060BF12A
-A1B525CD9FA741FE051DD54A32BECD55A868DD63119A4370F8322CCBEC889BC2
-A723CB4015FC4AA90AE873EA14DE13382CA9CF0D8DFB65F0ABEDFD9A64BB3F4D
-731E2E1C9A1789228FF44116230A70C339C9819676022AB31B5C9C589AE9094B
-09882051AD4637C1710D93E8DD117B4E7B478493B91EA6306FDB3FA6D738AAB1
-49FBB21A00AC2A999C21445DE3177F21D8B6AAB33869C882613EA6B5EC56476B
-5634181ECBF03BFEDB57F079EACE3B334F6F384BDF9D70AEBD592C8ECF21378B
-54A8B5DBF7CB9282E16AA517E14843909339B5E7C55B038BF3BB493F3B884A1C
-C25F9E8FB912CBE23199AD9D2C3E573727701BA301526C66C3617B9514D6F11F
-11930B1D97C17816C85B1BFD9B973A191B33CC3B391815AC46268691C741B2D4
-48A840F1128D9B2F9CF07D0709FE796B23A836417BF7B5B12D67F74453C82F5F
-25F7B30701D6F6D4F4DC623C0C27D6A6FBECC7312A3CD10932FC7C10851C3C52
-24B75DEA8A648B7F34F5711DB0E843C914E25663C510185BC37BDB7593C1C259
-21D8DDAD33982C336BF272BAB2F48E68217403FE9F54877B243614A87E64784D
-2796EE4179FBF96123D1BEE3EF89D682B427BA4F12A1318A57F18BE5DD903815
-2617BB7392BC53E3083A6D26B81E4E9973CDEC5B0BD15124A5B404A4031C7101
-C5A86A74B053F123C60C9F42613E19F6FA9F26C30059C103444FBD4F3CDE3A9A
-93FE31B79F5C786BABB27C298F3633F1A6FEB44A520A8DCAFEFDA50F81B1A5F2
-2BB04E99602CD8E636B6F5512760BE75E43F4114D57959749E5792A9843D594F
-AD1FF6B8007458D566CC5B213B86BC5B484E1F9074375E6D1C022AA4CCEB00E1
-E77FFA2BAFCFEF5F146BC20989B2421A1B9AC14C5569116F2274BAB465EE239F
-B503BB298527DE89F133F263C9C34002A736426C07220A9B7A528D358529A2B2
-1565077D352A93C6BCD530A84578C14C5B0D11CABAE5BBD61951F4855E854877
-A4830823618D7320477515034DDAF779BF1BBBEE6E90546D45EDA07BE44A2D1C
-7F6D704A5B8D114295A04C8F4B1DC8707C143E8F0D708861F2136E5776F68095
-A8118A87546F68B92BA4050ED94A37DBA6D7A412AF2DFAF50578FA29D7B9C4A2
-F5895355204187F33E1FBA8A4B56429C3DE2A409D6F34A35761146852B6F3614
-4E53AB8B906694A58CED48FFF1167FE58676B6632A99E4C948C924E736E24ED0
-92D7127F4108C13F6C13FBA180E2D485E86464143D65F18F7C2BE7674C927DD8
-D39FE17E04E2C92FE5BC8F344B3D1B698C6297C0224697D32221C15F0B488A50
-634CF2F7A23EE47E02CBD8B2958D3986CB0F8B429FEDA921AA846A77C66929A8
-08DECD5381235609D4E48C86348D74C94719E80F76F2FD63DD4BE4D05FEDE835
-FCD28D5A7B3D16EDC816413C473A8E735D58759E36EBA2F378AF2FB74E1BFC73
-EB715901E131FF5770611CD5DA96ECDD1D09370A707B87C91055AD6DF2FC557E
-B383BE1652EC800381AA475BE5CD966BF4897D58C84D06190203737748DF49FA
-1D8A82B5A6328FF6E1448B1FEA221ED9B3890228F3DA57EF9F3D53DBD427AC16
-F5304F40B10FA4311114A2298560E74EE0CF45DE63EE763D0688B3A4CCFF2421
-5F8C22FBD806658AF38912EA127B897091F30F7916A699F3D840B60B82F3DE88
-B56B14B0CAAF5A5567EBA4E748625F832F77D08FE5456BB3516A125BE68A579C
-02A0ABB6B551944A94053822D982F4BBDB86CAC4BBD2CA7BA9F4208542C51405
-4990B498A20F5829C48C5854B373E4F1FFDE81AE89C920AB8121EE93191EB679
-31DF0832A075274CA6405CEA6FDA723ADB4E032746FF1C75A897A1DF46D6281F
-0206D7F6FBFB5F4785C8AB5F4AC587C262D69BE3BB7E90B19E1586A6655C1EB4
-CF1338C480B334C56098099EE7FED6B421E7AA57FF24D98F65E542DC792622DC
-A5F9E748F6C9A6FC12A8189F2EB04C2231D3C404E163E20D97D0571AADFCA8CD
-48808287A633ED839692F052B4B56A5EF88F3D9C98A897F6E8D10DC7AEB25242
-925DC07B1043257502DB86F7E261FE8DA1F1BFB37945521871750980AD5EB888
-5A8C1C44BA3ED6B4524745E8484F0D23CB576CEBE7E26A7E6A63890412B580B9
-5FDC8CC91A985818AAD59B2D5A625AAA885AEC6E4B19A3F8159B55312C9988BB
-0714FDA6BD652CFDB5EBB888D0F69E4EEDAC6DB15B176329BF80A89CA0FD05F0
-FF9BC55311C49A00F0E1FC81C1A41B3D8B706D961C6E74A98B3130A845A7A7B1
-0DBB96452AB8EF5E4E98E9A83E6E14AFA9F3325497AD5418D2A48185F3F35F30
-8450314BD45D531CAD53F67C451BC1AF214C94E9B9F99FEB1256762C8CB08366
-ACC8CBF019FA2B3BBEFA71FA2977C952C54E15DCF7B457BC338CBD24374BFF16
-D258A8F785ED33790328455686A3445C97C0694B335B1E9F9035FC4A44A47953
-F45E876C3585EDF3E97C1AA0176B78F2C9E03436FE29B946A62EA1EA5809EC9E
-743EE7CF478CD7712D285882A9693D9A73576B80E67B5872F00F5BBDEDAB091B
-E8428B4AA21B38B2C449FE0CD5058E83D123CFFFDF2AD79B05FFB0B1F7E203FD
-2750D93F2F72D4697E6B3F816E4DADC32914F8CD8536538880FE73BC1BD6EFEF
-9B61710AAD6ACB492530297AB6F8926F2270A972681094E7AF268151939E9554
-5F3AE7BF894526F14621133C1F31F0FA29A4DA880146344B69C7006BDCAA353F
-F6C1FEF5A864065BB8E3EC2B0D7DFE4A5213AB7ECC9B063CEDF84BB544098B6E
-2F1D862C235F2F870CB49D0A3F39E4A5B7B46B3E1A13D894FF2211B3C6F6AE4C
-B7F5A70AB1C9D62BA38DC2131AD4B33AB9AD17E8B68A8A116E7A85ABB8982152
-A4CE796EE02D6BA7FE8B84D86674F4788D4DC6A3D3AE8F781EB618640CE65F75
-75AD1A78C1243D06DD452D6F11295060B48398B65933361080E033923F8F2425
-C3AE2C74B21C8F12C24CB147E64CC28167FA2A77E7C6723BF66544055B33F46E
-6CA8CFC869930194A0948EB002B27002C1DB362EB43E8B8ED50DD1A8EE9C99C3
-870C2ABA0B79352553B57E004E03803D09B9EE2776E0670819A5A3E5446B31AF
-545390EF8190D97344BA17748FD291FEF54EAFD856524EF79883FA2898173542
-24EE10627FCBD6B15B186E448AD0A1DB235138189ED6CB676ADE745ABB8E8094
-41FF1569D45AFDD2C5F330AEC4F1BBE8690A72C34BE5EAE98323B5D5F5FA3BA9
-6D6CA267235E7A3364FF99B156ABC4E80F907CBA4191B5C923212A90433D8A98
-FE4ABE72C5581B64126C3E3FD1463AAF7E8BB1E649248970A2A985A00F703FBA
-E3F0E7C8E606F42E0E1BDC0F7E7F3277FA28AE997EDADC4475B9CCA23D7B0E82
-4AE6FB7BD1570A62864768ECB5D15B086F0C675F8D4F947A5D3EDF6FF8325AF3
-21DE3224B8C24CCC1A205F8A944B9F0ED873E7BB6426D33AD31018B2971E4FFA
-B06B2E1E19D862DFD715945389ECD93BBB34F4C98BBF7C2F02959CBDE931A563
-60B4AF21F544DC68F15E8F2FB20A7827271D253981456C11D4FE8978CD00291D
-CCF7C11924D1CC66A51DC9CB399DFEC173362400977B3C1F8F4072567C20B90C
-683216B2A1AE31A4E269CAB4062E940D358F0BB5A0933A61239030CC82AAA06F
-98817593279B49CC21ECF68BF4FE822D838CA5A68C63386E7E1DD996E8ABC119
-39B326A20AE20A8EB4637DF9799BBE213E27988523FE5B4DD0730DA8E10FC8C9
-41AA60AF990C30DA1A0ED5CB1DE01F54AEE53A20794383B7B9526C526B3A5F3D
-9D30ABB2A38C86ADF7A275C0FA2251D5CBAD519514BB946A6295D47D5530A94B
-96A175D1E55E9DFBABACEEDC6AF1C1B1EC08F2EE90B70853ED6CA4DB84C0A069
-F6F96FFE3E4A9F256B26E30A8A8031DFE638EE15183E4400470DD744D0CBCA53
-3F9E205FA7EA6B662AB40E80F7E83BF3E0924EFF0740F0A94AC5F04D3E652253
-75CD014A8C5AC1C0E8EF721CC5D6FE68ED3F020A7EC962644C922C3EB2E2919A
-934DB5B62E9BCFE44340BA9A6C5C99BFAC2A6390071BB0A04FA4CD9DBFDFA8F6
-99B162E6A4D82F3ED43E1C5FB097F421AC99EEDB99DA08F6B3A33E545DE52167
-ABF41C7D06E0673E72827FAAEC745A3F2F985B63D88D8D5710A9AC335AF1F216
-4490B5C2FF6C1758BCB893798CDA889FE19CBAEBB0976A20DCCB67B4DBD3FC15
-EA3CEDCB6630CFD84B7E81EAA2266BC4D3DD0FF50E7FBDD24C33529A2122FE95
-9005C9FD59F3DD01FF9E4CFC448D83BE0FE5903C7381D8220C21CB6FDFFA9864
-24B8C1EF9051D95EBD56D2514C9D8888EEF628AB5BC8A2DD047FDD8075DA36E2
-90009D75D46F29737A170593F4E8A392053E0027DD2A2D6D6D9DA6A41E3DE6FE
-C76A9215E206EEC232E888E659DFBE5A3F73E35721E5DD65EE29AD7919059538
-EFFB4E1BF3072B4EB814A83680DE7DBCF22D717E80F7450A559F741F2ADFC8F6
-409D5272C475F1DD164B3B4C530DB38566118F73C38115A8367696669BADB2A2
-BEBD6A647A964D5ACDEB3ED949C1D39876E3EE4BCC63086AA81819A537D0B7F8
-E5AAEA15071DD71BA41C52B511CF3D69A47009BB9EB4C2D4CECF604490AAD19B
-AD75E069FD680ABE98AFAD64A6D0DEC190FB8BF9D405C84A88A8DD138C28E3CE
-928E56A59EE2444D8393ED3320968E12A9998C876D805BC7858AA40842F21B31
-2432520C13D1FA9715BD44B2B9AE23444AEB3CDA3ECCB1114BD1B0FF983E39AA
-CCD6F5762867198A98B54B9319EE1AEBE1D13D90BE771A2D4B8D69F24E22EF2D
-50FEA14D8F20C34B2C6964A7FEA6D3BF9E8D4911A109117BE557782CA74CE283
-A423FF0A8C6BD9A951E2CEB5F14013ED8CE7DA992D1F92E13FDF86520FB7D04E
-880AD275A76713CA250CC47E59D4071FB84A58479562A6C7228C9926670A28C3
-780099DD09142F1C4FB497BF24D14211553F3C7B648EB3459FEC6A25710275E5
-B5EB9DC1D53F0FA82CDAF66BD77D22DB60B6D7D27383A9B366E520A3EC7F8D8C
-771F55B6DA2BB061B2056A70E950DF86B7FF0C0B35CF1665E1E22571EFC7054F
-EA784AD83E5A4DFEAC8E19656F15DBCBA0E50E6A56A839AD796A9EBDFC3ADB58
-1CAA6B88CFA3BFA809862A94404264B0C4BD46817C6F8958ABA1E2EB0819A674
-1527DB2435A5700D279C56EF8F310C32089B6066F1D8A974875ABCAD86E0C4DF
-0D96E4140E95612F8566801A255CF3B38E80F096F85A9416F73298C8B72E6D70
-78110877E30B187C033E0CB83D8B8923451139CA4268C03D610A4EEB92BDC8E7
-50980B5CEFCCCA7CC6834FA86C4040D9D2982BB8050F4EEAA0002C345715F922
-5A80D2743DAC2CE4D5A7EEB4AC868DC9DB242601B376EEAE8A21DB04254A03B8
-EE7E053592F015F7330D7DB46AFBE015A90F539DBDA68977A5B9C86F558A67DB
-2B7DB8D1B34006CE10B1874641D30F1F2AA24591EDA2CBAAB4D8E35DED3C1DD6
-5EDDC56509BF8DB85E85893EA6E13019606580B815BB7384D1D2C09FC328E53A
-0CF89C389201B0807755A494FDF0AD37DC3BBEC35C8F9734E5DE86293F494C17
-D090C05B5ED442FC61ABBF5D3BFE750D012A062D9A8FB91A616C6024305BB92C
-246157A7DC2DA670A9893B974EDD6468F99B5CD0FEBB9ADCB23E87F67095D7A0
-72A0E5D92903E8A133B16C9014825B131931DA721E3D31544C559F1A2EC051F5
-EBD6022998E85B6BCC4F62CD8732C6F8317C829D70A08179CFEEFC4DB358F872
-97D54E8C3022C15B91C581CCEB74037E40AF15E808CB70EE27AEFE86CF413651
-7572E70AF71FC8DCFBD8E50AC50B9B6FDBD2B69BA2EB290B0789A89F17009B9C
-9FD4C8C3864EA22FFB65B6C679A4263AE1EBBC9BEAEADBA259FE7050C77439BB
-FC5715C7D4C5AA50E27B8F22E7642C959C21BBBEB590D663E1D19D52B683087A
-0C92D362D44126EBEBD5951DF7809BD462ABFD7694892F145A5B28CCD4C0D23C
-2E1194B6F71563E9C6EC35AFA7C43513DBC6C37CBC2F5E2917AB63949A69E772
-48A1EE85ABFE9FC88BD8355245E4F93C77FB8BAC3669ACE72455FD29AA42E7C7
-10B306F1123CEA48B2F62D7C8923B4A72F49648DB2B96ABE733127303764B840
-399DBA7C925759A5BA232650A6F0175E3B1BBCCE8A42F5677912633703F584CF
-91E1BA76344D76129A369F343F2089F1F75E71597B4BF52E30A2FB76EE331F5A
-0406441CFCE7BA928C48485BCE6B049475F934EC4FF0375E0C8E341C986C0BFF
-DDD38238431CE2C6C347E4FB320515BF2976FA0F9EC2D7B71128574A9982DDB8
-B0B7B1F30CDCB5938528CF8EC4095F327D92852E8199EBE75354134EFE1E5406
-949D64EF5BDDFC72A86DB8D3CD50D1185B17D56960FBCF2236C6823D2D55017B
-6A11229CE4065B452D67502BA3CDB5D70AB64DD9FDC7C52FE6249583122C4C2C
-E96227FF85114BE428041FA2C86914A5D17D4E85A1A50AE73E74FBB293C7F7FC
-0935E09C4A1296DA6DBFC1B8A0CC025192548F8C406D8AFAFFA8ACD4B6468AA9
-23EFD2CEBE8A868E60DAC1E5F48544AFE09DBFCAB4FA476CC21A31712C4E5467
-82E9C238E9F316FB059B674E4543898675A3CFE6A99BA6EF5509334623E53A26
-0956A5D26F188A0F874AA5215B6FC33F5944BFEC555BAC70FF75A4EED089F33B
-99C6BCEDCD639A04C4B8AC92687E21510FAF79EDBFE55C0440A2967C345CA0E2
-70C472F2B5E71ED8720A81D3990A38096B0934DC6223155E8647218E655578C7
-ADCDD13AB4239978D44351C26C84E57632C3C6DA90E43C8B6905F6F858E85342
-141A7B9FCB5D8F0DC728323A45CBDFAFDEF1C1F374F49C917C18455A9F67ED46
-C0FEAB128665BC17C8356A309CE2CC92FCDCBEA57AEAB2ABFCA14006F367207E
-3837675CDB0717FB007F032A6059AEC815B7E059F6D9D54A2FA2F8F1DA9F6190
-684AC5A85E9572867F96EAE194E2C2470A6895F268B8495E0A2A25F659D7F336
-BCF2F3FF232EF6291201D7579D67E3EEDAE9377CD1DF4A7985403C0B06C481CD
-0AC5DFA6D8060D30753A401777AB4842E4B72D69FD912FFEE599035F4BD6899D
-52926142474523C31FB8F2E1AA531B88297E0819FFBAB4263BC7338DEA6398D0
-61525249682F1712E15B635CEEB6B5D47CA17A86F96E5167E81B92C215D79A46
-28B3089933364D371C8F7D3F8438A2BD5D49F7BBBC95CDEBD62C6CE4D2D8C8C2
-CA14CAB451F12EE3A5C607427D555202514DC3DE14B02736BFE9D41F55C710E4
-5C8144598F71991958E6B38C00430C385A6C696883BBB40B2302EF08CC44FD10
-34ED8BDFB37205BD522FF132C28DFA72BAA88B147B04F011C9CD1CFD5C993417
-EA649438D2129A62B131D5D8BB5933B8D3509ED80515174A00C5DFF80B16090D
-9396483310D0420D3A27899FEAD91504BB4E47F0AE22F617EE617A395CD1E042
-513E71328664C6D48426B9F227B005257BF5482598BECD43B4EA56B9CD526246
-D1F04EF94C13362029F567A5A4A7BD523EBCA135A5B632488C1514A1166FEDAE
-A144B66F60C5D0C074D8FEF55B7A06EB5B6F798F6EE2C0CF31361E7C87BBAB7C
-019EABAAE51412CB31C2D2AC62229E9D8750E9EDBB38901A849D03B46B6413B5
-3927FAD29B4A2ED55CF0CAFC43925EBFDDB2D28BED2D4DAB642E501E28E74EC5
-2E05049825F3D5B507DEBEB3FB7C4EE48849B4F957D6DF8312250A1E27F3B254
-09780C724E1BEE6CE16CFFBFFEA9431D484ECFCD968E4E9180509413756844C0
-9E4FE065C6DEAD311740716545C09BA9DCCFEBA6230749BA622099FBD86CAE22
-2CFC8914594ADA7DB5CD9100C69DF355C1F0366D65AD5B7C5F29FF77AC2BB8DB
-E3CA4249505DF9F2B1900913567C8B81B4F57DCB0A9F6E71CB0204E1C49D4A78
-DFA9C982769F19F864B91948BA17C9FC23512C911805DE99FEE6F4CB8BE02CD1
-5C99E7573D357861E7DA8411054DD146B0BFDDCBA7C21B61A705AF11FB67D91E
-DFD051B253F7C94008FC6D9CA4E5212A7915236856412504E19EDC145FF53C7F
-A2BDE21BDCD750459124D3B37473952086C45E732619EE4AB5FE901FD7DC179E
-B842094F6FD065F0130EA42C2308A6DAA0C09FDFA81D5A1219D97F6769310536
-1CA1F9E4028034ECE5B235A1A9746CE317523AF8519C9EBEE19CA302ED3608F0
-A27CD487343D4671E9AEACA83F243AD005817D0BF28F9EED6637D16D442E5A8C
-8DC79E2180534A27364679B4CF3B18845C66D8DF6664244BD1144EC7CC1FAAFC
-C0FA4111AF7340A42A9687561549C4C2DF9711358E2D7A18BBF27AD8733703FF
-A333C48A6D0E8B0E5AA8B95A118A9682A1C5D3222664174A9A7B3A7830D0D719
-B16E7C48939049955798DE36B3CF99BF30BA5122C600E534FD817819592BC15B
-E1B8C995D0130978BCE27C4D155B1022B166AE2E728DFB484BCCAA65F459B546
-7E1C5B49F7B08981B3B2565A60BCA3BCAFC7F44BA8F1B4CFFC19F6E9FA464478
-781CE54AA05AFD90B0059321C83C420388EF2E1EBEEF6064FDEF091CDE5B40FE
-135C50F6E8BFD7663E3F4C7059EAA999C06714FB226063812F18C105038735E4
-EF910F204C63EBEECC1AE1D7BC788ED9220768B2151977288E8BA42E0639F294
-E487FBCA7E3108B15EFE58FBFC2E38BF3E8A098B52DE7CDCD4FB563E1D65ABFC
-9A4F8CAC455C6002BE8DA60725CDB3131B81EC3C5D1559FBE6BFEAF2CFC08310
-6BADEDABF228F35D3AAB4C429BC3B9772BAD33AB4AC1BD70E0B257E96B4C3C28
-53439C4131EF3B68DF0B30826E29FDCEF3869A8BBE3ADEB7200DE8D9CA4837D8
-D5381D755F1B68C6BD5066F3B287C7789666140107E74C1BB57B8DFFCFAD3786
-E84F93404F2082FA90A467D3DA781D4873B072C9258B8E1978B498BA2D0EE45E
-FB1825112ABD00D80B17613D70C2800DA533305AC3DE581E5E6A06E23722C95D
-7457A5855AE4C9702CDACE6E7424E8E7739628B66A6A585298DE1B3F66F0DC9D
-18476623EB504B3BCC9EEF22F2F81D62161A6502FEAFEEB65FA310895A834918
-6020A62DA7A19BD56D1FCBCD2C3689E8B585ED029CC383F33B171AF26941D417
-FA69C043BA91230BFE1F584635BB797E3687E1B3DFDE74C313A77453154BC2FD
-C0D4F92F2BE9B9884F4462D62CE852BFF528527B12C31AFCD4D56BAA9832C25A
-E3EE5858DF03F89D2C9B468A1792DBC92FD5F4FC5C73E830F44740D0EDCAECB5
-B814D117462B37880E9CA4F443732ADA720368061BAD2DC5EBBF3F23AF2F5FA9
-84389EA2D619F9DE0BBFCE588EECDA8F074086CD0097306B0286BA6C3A7B1E1B
-1788E069AA80029517D39A1C34A172882E4DF72F9EB47D1CFF6096F9F63FB633
-94D01495325F0EC22EE4B393C3AA1007E0BDC36CD2C835B6EFAFE88B54FAEAE6
-52143E0F077F1042340DED2C469B0932E84C33CFB2648347128142BC66253AB4
-07AE5688E22DC244365E136BD1AAFE4AD7E444C76A7E9B0A88CAA4CDB6905883
-9D6F4B5F642437940E24B3563408F975E4A78B9049B9D24825017AFCD88DAC9C
-81F9084847B55B6184A91CCB9F14D07B30302A44215FF3FDCA416881452E2218
-313A1E7E10D63BDBDE3AF80A36B2C2BE571253BA5E29E2445DF3DE0BDE61D674
-BA01E976328E80DB2B7EADF67C4C563DB4F0FCB7FC3FD0F6502EB03A45123716
-EAAAEAE665DDB70C6C9277BAEDBC35B549D9D5BF99F5AFD15C1CA7D048B7EA06
-00AF405C441375292CE9CCD2ECB22655563B8F54A4775A4714DC8A9691149F33
-5ACE63540CBD5D949E2BDB2D5CAF79B76AB20BF2CD47BB60A4D60F039410CB61
-2CA03DFBDE4B3B90CAC3C6951FFF1735B0C3A423A17C1D855BCD3EFF9C4E1F96
-28D0796CE3DB55FFA12B6BE2457402B33FBD4E11501217A9A8EBA1B468A67620
-38CB3EF774C7BC11AFDC2AD41B6C25737D586E58ABC5427E4A8CD89ECF2CE47F
-E88D3447580CF09B9349C06D9300E37429E8FA01E23F8E9A7EB54935022E7CD6
-1D55AA07C66C484659217668173ED4B9A124C1ABA72C3C7999D67266E9789DAD
-A77EEA892496F350A013B3EC5F29BE10E710F5262E9BCC49ED04674C5AD270EB
-B6DD13A1884D6A06DFFD99619F1DAA570E80D889BF2DE4EDE13E94EC3D039F56
-31F6533178F1B3665BD650420A339A143CC238F58A0CEFD811F07D4F47B732E0
-E0AB6E4CE1939333E101826EA4EF8BD1B2A91046468D982746D880F511D7618F
-4B3A8F15006C88C42F0E5A9E66A1C588AF8D152AF024D2EA6701666FB87937F7
-55C45E22CC7B16B7875F2A3A7F215C50E5C14252718CAD44C84866FC3A2A94A5
-8416D344DFDE3199DDE726C19E6B7C3954EEB35801C14FFD7FEF644C5B1B707F
-3579DE344ED3724FDBF1ACE9F47097778E4C3D6E729778865B560D629DC33A98
-43E3C6468E9F9934943B542B9FE913E45F3551806E6BA0091C4860183540C706
-1C56E5F23ECC20A3BD09884DB4CB5E713B5FCE9F8E8F5EE3A2011B1B9A3C5D90
-CAAE71841F71A2E4D7E5860FD41628398EB27A6AB225027014DB734BFEBD8B07
-5017B427AD8510143BFD00978EB79D22078B39A424AEC36416B8C8161D4E5565
-83ADDAF869C8037B7C8D108E85DC28C67CC0CD7D5B852445C17F7B37E7136615
-F25D25D241344DA10D24555BD4A08CA1C1C57CED7E1474AED07B3CBFF7C5FA39
-9D1044850DA1958719BF9B09DFF66341FC8978878DBAF865DB2C269EA90D2590
-74C4F7A85F307B956E6ABF59BE3B3DCA6879C58A69609FE799E2FA8B72CC3ADA
-D9847746C0200ABD07180FEC6028490786EF5D95A7F428C22A4127098D981AB7
-0319A07E15151A61AEB44C21841FD2073D858C6BC3CB138293E3DB530B16870B
-1F269DC7ECE923462ACD4696A0AC9D5D871508C65DDFAF99EA280D295D248991
-7F54BA5F81417BCBAAA8048A8A285BF071D6FB6181868E1E8595F355D470427F
-CF06571A9B8D02813368D7859E00C1796C8E9EE6E9F8B1F8459130032FA2E2C9
-43C806D9D474C05E84E1934659781105DAC31549B3871EBF0343EC1A0BE3AA91
-D59666EC36C13AFC5B4AAA385C1AC6D1225B6FAC8A1D8CECF878F28936BB31DC
-8A32BC985031EEEFB5E5A2C1243665BF5EC263FE981662F5E44058510FDB49FC
-19C1691854EC4BAED03315C9006BB19A3ED8D16660C7B758E7CE44EA3B64922C
-F1726154AA4FE7FE5C80118205B038485247D883720008DFCAD72B8BDCAFD73F
-3BE7002DCFDBF32C77C4FD22989C1B6990DA2B5720A883A2B7893FF46BBCDC13
-C86423775F421ADC51B5586CCB6540517E807BCC7331551955B1F6D9070D8B34
-8A2DE1EA25BEBA4CEEE4E86ECAE2A826C38BCA32150C4DA9B834858CD44708B5
-9C047F2364863AD7986326BECFBA910BBE858EB33E7871350A655020FCC9A89D
-85AAD4C7AC3A5A1D6D3ABE4A1A072E0885A0FCFD9C76F97645F2D4E6C9819CA3
-C97AE5B423D6FC336DC1BF6B4A7B6EDF4E6CDB2468E7CC572DD1CF25A24E4D86
-4188FD5D820ED6DC9E7FF28B3FF0E81768F835767D1AD4BEAE2A7AC7D2A21443
-0DC0BB6BC3342C0380741E0DB8E00A93B5B180441C0B0A984A77875074C9D581
-77E6EBDF58298E73D8E4F7D0E9A90EDFE71E2913F22D4AF4C349C6819F4F82FE
-088A053D9F3643E519BCE6A4479C99EDD780436D050354DCAC6BD9FF446D73D0
-E326B7A769A0185F65F60B9AAF38B1FEF392664F26CB4E9E30B344C057E8B271
-1E80182B3E2E6CD579EFF55630C9276AA9C98A5E8084E5E6D48D11589E675BEB
-32D8CAADB0DD356231DF5EFF557563ADB88E5668EEE2929756C74C600D23302D
-FA053182E78B2632F16140D30D98E5186863C987B5CEB244C5D343785A662638
-F67B5F899237A601554A774A30A261606779B43C448916214123EF4AA304C102
-09B960B5FCE004EB87CB8C5ED612FC273783C1ACB6867ECADD4EC80F4AB4E52F
-9DEE3E5B8BB8FD884B544ECF4B035D2A8849FCE4077589F228E5B18BAF182618
-04E7F92B23636A1D77721E8F938AC82651F9C1DB87D6EF82B80F046C3D5CE87F
-D49DCED31D341CC923ADD205B5E29FBBA7D8404BAE05CB1CA944B92C10849098
-9BACCEEA6BD4BB6F1A85E298C83C12516BE77C78605A4612906C0BD4CF18BAF6
-7F6B843E3401CDCAB031132169D524DA6A771C5C9AB13E97EEFEE7F1F557388D
-1733C212F85189293D38F5C807AFEE54775BD21E30697F07017DF147B08363BC
-93D355FBE2758E5D7E2FD803C698ED5733EAF3C133C983F7EE52163667C70A5C
-C774A3380AE9CEB7668B296B0272B087631A046310BFE6B0C462F4E9372C53AE
-EFBE48D95271B2EB3C1E8B504D4F3D56F8C0ADF8FE6A5CC9504E53CBDD435532
-5BD279CA878149B57B9B9B14E59071CA023FC285B40566DC570C74DEB3320FB3
-4D9B679DA760BD7E35D91AB29B9FFFBF4F9F1EA059EE96261D868E3C26F4923D
-3B26E33A8C98E05F17AEB05C52260D5942FA881582F97F710737839442BAAD02
-32305ECB5DC933E3602CC902DFE60A1B8540671A0B8EE9954F8F58AA83634FE2
-E658BE0CF42F54F10AA55662B423A8F631D2459706D84DD5C6667F0FDE86B982
-34BB685D3EC6AC173A3E60235868C4D1913AD360FD48E0A34E64E66FFA27494E
-6C28C16F11D200604824ED9D4469C65AE5ED653FF47FBAC7676E8BCCC84CC42A
-1634A6AEF74B8D1E513737D76A1A83987F04EF2F8DB5E359A2445222911374A7
-EDD2DD82A9D350B1D241BF74184FC1AA5EC4E5018CB63866AD20E417D69138CE
-18ECEF9537D18E673321DB10E5DC84BDB50AA96DFA4932FF57DA489F6CD3AE06
-B739C1B3164214EB6702DE282F85BB8991C8ADBD5633CA158D6D16AD45E211AC
-D2D6411C900C37CA4C1C88BEC4CE887BFD45E588CE96438E7C100C4A82BF19FD
-67526521024467BB615FF11666EF8DF79D0989AF0E708901E3DABAD804E9D35F
-82AD091FEDEA2FD0645DF99F5F4A8BFA4E95126851BBE51D92DDB8B4E3A63A45
-2522B42D723B2DA6D3EB1B309139EE74F8303947626AC4E55438FB6A68CB6875
-AE03D79201F27F95A90F1C64726E8BC5538ECC87921A9AF91616158BEB31D67F
-646AE3703B68E7BDBD01E644618BD2048C83A50CB1C2A63054CBDD451DCABBB5
-3B12D5C5DB3D42C3B9FC91AA63D6009B38C1EB1C6AE2383562B6B15B6912C889
-C42A20D606CA0591737F3AD52769FCB3299E6E09C045E6F11E6E3ED6D1779BEA
-0E6A361CF5E761C8843962384F55356732DE0153246B3A0BA1831E2F0D532604
-F66FC31FE550F761078026504FF4FE754DF2348ABC36E47C71FA7E44FC000CE1
-A6B4792D3CE52E7BDAD933BAA8EE620E48246044BC19F14C05FCC0D912024F03
-2A6076F4E30FF3956C38C910117721423C4DEF88831DA8A55F337CE2D60C126A
-EB038436BA68231700452FA4860898F4179089319CBE73D3902DC703CEF9B6CF
-C63CBE242974258F6F700607721ADB43E8238E47485CEDD4625F34750BBCDE31
-48FDA025B4DA88F077C53C8C720A8E94E297155B5CB020B3EBB697C4E021CE45
-E25C99DCC70150131074E86A9431DAFFFDF6727B0DD06045CAC3B4E1C32E11A6
-7E83BFA598AD9A812EFC7976333D75420721701A13EE25A22E245944716C873A
-ED3BAEDEA3D51D38A9F5B9615E93F21C0B67F920EBA8C3D188149E4F6B63A489
-319842591134C5F20B2C4284C531AB375DD5C1A14F8321FBB20101846BBD1D87
-0C6E5281BB5E33D3A7BC3523A9D825110590721E984FF2F594C8D3DB06633924
-408FB6E916294F6BC537B734558877E3C46278F6543D86723D33511745B365EC
-37A9AB31E309BB27D008EC0F179663D7DA80A93ED2ABF09416E6212F811CC3B3
-E820B5060F7A20E586AB216308471F04A3E699BD4CA40B0D40F933B9143B60A4
-23A0FBE43F7C03F9ECB120084AC47A8F711B252ADF822D51952AB0BF30643B13
-0A761232F443C38E7C8FD1D2CAC069C2B979057505B48CEA22C06F427B591B4A
-25BF9CC9BC26665D82AD06EC449F0E808820B581E46C2661A2BFDA975D214DE4
-7B1A5E4938F2F0C8953B0D6DB23EA51E2CBEABF961444C41CBACCAF17B833E12
-FEA13D328511EB5CE0A700C1182DA143BE521076DC56FDE705D1B428A884FC2D
-24EA025943C9BA9722FBD41EDD4467AE41C205B0BC82EBDAA91DA455E1FD4674
-0A861090134E602CFAE94061DAC71B37D5304E8941C62DF255F54ABA16D2D9C2
-07227711019A0413B8A46223710E91097D666213F95172303DB81C6191ED2A5D
-1C6A5CAB24741AC9F82F5F3E985658E3153AAA42081E7D46A3670EB7A8E03CD3
-D9D942E88B48EAB7CBD0032E35402E0C61180205E16304F8FB53
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9AF72336CC4AD340
+15A449513D5F74BFB9A68ABC471020464E3E6E33008238B123DEDE18557D712E
+ED5223722892A4DAC477120B8C9F3FE3FD334EACD3E8AABDC3C967C61FF003B4
+B10C56D6A490CE9594D57A2D431B9E5E10FE3D8832E227A7087611431ABCD029
+85F4865E17E17F8CFBD2CADC97E0A8820E3ACEC873F31464466A9545E967E53C
+DBDDB8478E69063FBB891566BAF88B7660A4405B16834761F041CCF7650AF955
+F9E853AA9F5F4382E1FE7D0C5BB4023818A2383F91249D48CE021250EC9EEB1D
+2835E18FB73026250B32A8849067D5E2258797C917F998F2D4121D96560C5FB5
+B5D3471216639A8671B6DFAC5E3554EC36D9A72518525A795590C74DD70DA3A7
+78BFC43E51D6F2BA52F17D4DD00D389D3983EC54912AFF73684A8A7E345537B7
+E62361C04A47859DA084BC72EA53512DC54132EB2EE671793603015652EAFDE3
+41C4B6B679BD60AEC5153EA0D2200CB1D097DAD770F5F31E6FC475A225995277
+B867B731D5401E2D02B85BA85158C80FF7E2BBCC42B98AC867E67D25DB656072
+55A0D32AB7AA483A5A9686CEA4E2B3031D90D84DB3E2DEE7706C91BA81CB8DAA
+700E5F61E07D6998C9552C81B66FD10A10033D49EF3BCB0FF22ED0A3737523C9
+8F851C61C4BF8A213BF6EC70C956AE48B5BD276CC0437C72BF6515B10739919A
+F00F6ADD2798CB211668842349171A5AEB0664D2C44397E55A4A9EBDF54A3EF4
+FBBCDAD9DAEF4B0CAEF7112FA828F2F8D9F633D37E5516AB5ECEA87342EF8DC4
+3A50548490F5BC9A8A1F98AC7AEAD9D913BFA10CA86D73AEB5BACC1FEEFDCC15
+B3655522CCA2C772E902FAB2A6FC153597D52763EB44AB7489FF061F7F58E8F2
+AEAAF4D17F36CBFC00D3C653F335D14240C87DB4339DA9D30A5BD1F502BC9013
+461B9DB2FBEEC01BB18990439A0E9CA6576BC9CF6B1A3DB9386C4A5D4AA6A5DC
+CFA45FB75F22E10ECB72565DB441A194902C91427B4F676E531C661F7A2C3C85
+CD534D1C89B6779B2EDC8E44667B992C20C70B663BFBF680A6CF4383EB7CA26C
+4D1F06B5EF4025BBE65795F1EDB5CCB97050872D6C07BC2974F905ACDB7A765F
+291365D6C8152153E7F017A25FB4476C60FD9EAF9A121633DBEAC32F62850223
+D6418566AB350F90F4B35F19598478F76B63E347D4C61E203D4DB8ECB9889181
+C387F4B663A502C638761D2782BB96EAC81A0108D7BD6938F67FEBB69218D115
+D8E89CFABCE15C6ACC7FEB983332A51A6A73CF4E341574F366713D7FB29956D9
+9BF238A87483D37E526A2EA2F101EDD34E34CB92730DCA7235AA0027189BE405
+2DAB4AA021A30C28B26C50808E1E965C02F6212EC7C72F5683339425A7739380
+A422E6191ED8453AF0CAAA424AE44DFA7CC5C2F6EAA8D73A5101D8E9517DBCFB
+2858D0E8ECB7DC430EF23A9E4428CB7DED8D035D6050251AC101A2D0E884721E
+2F21E573F948048BB8FF888911C508CC198BD750083B339500C426AFCD5634A6
+AAAC1C7E91249667B231BBFC64B4317192FE07FE9DA0DDB5E517D097AAE46577
+9555F29D45C67CDE9812CAD03F220B20519F2FF32DCA56A554D4296FE2D1F3FB
+B209B5270E0E695EA5A0EF1144957CE045881AEB8D05D72CE57F4D34617AED67
+0D3AF0472CD8D60933651626550366E300E72A9C89ACD475C2E2ED9BD44B472D
+9DAFE943F8E02A6DC38E447EED964624C37C3130E48211CA279BB6A0BD59466B
+42F3D89B5746F29E084E22CF58395AF0F29E55113F3A3F2F52CB3A6DF3D026D0
+C81754B8E2E4A15F6943BE9D0087D5166060734FD07C4C57D7C7D90E8C9C1F35
+623CEEE3ABAE75E1A18A1E3B50B7266BD2D8E812CFEB4A46B856885B185640D6
+B9C22179551002B94282F57FB433B7FF157D2F0D240836B72AF4A331668AE5D4
+E6B85415F4E8B9D2F9AF90FAFAA0A3866DF417CA5A31348CF9B41B8F5F4D2F97
+CCF7ADE851B5E2E2F6E319AAF5792EBB9DA2C6AA8B73D889F3CDAA42932CDA7D
+07A7E59183CD89520DDFC36E5D513BFD8AD0886046585F29B4D7F42CC0C27AA7
+53915AB1167D292FE91957E94A57FEE2D49C20C9070ECD736BDEE0F046E60350
+EA539DC298156A4E0D019E7D481FDDA6861E20678516AB80ABEC1F09B126BCB9
+52E8272A06BB6DD87ACFC423B4A4FC9A3DC8DCAEBB807C5F748F1FF8B17B8B88
+F426206BF1B7B7D239D26BC3CF0776C467A98CFBBCA5FB6145D5900137ED19DC
+D002F10704AA680EC753C22E29AAB15712EF22AF73D80820A1EEE953463D4EA3
+81FAF99518D4FD0F862A324FC44C4B9542A92C5B60CC983CC8F647CE5BDB4D6D
+B92B380E0E5F7208A9CD91FA9A469548162C761C1BA05AC9D60B766764D821B6
+B4E17F56CE455F06EA1EE2D38FE47581746C4C5FBA63AEE2B58E877D1A8FA83A
+31C972D53B64E92EEEA147426A92CFBF76FC614119C6E9C6476FD6A069C803BF
+E949FBE50B5AB1F1463F9747E8D353F7BBD991C4F90F920BC9407D8E24720293
+846D052214E60390C3CB926D38C83AF697425D80C2B4FC4706615B905516B733
+46ACA325CEA68FB21B2D17CF0B68BA4DF249368625CF83441EDBF2B86C957C1E
+44CD722BD2537CE84FBA07EC7AE15C840041B9F7F3040072E6084CD55B301C08
+A64A53BD4D3DC30DCAC6C152F316ABC59B8EE978793EBD568849DCC2A75A495A
+BC83470D503F8E389F54B4A4A31624E83C601B43AC1E52CB811FAA7CA6B644A5
+1AE0BFD4FC774C9C9DFC2769ABFA9C83F900BE2DD4010416053A1D4874E6ECF4
+D86E44B4CAB15D53E5630C144B0C15B58DAAD785BA298B1893D1B09BA5D40344
+6678FD2D17FF6674433C976D6DAC659175CED26139967C9B2B9CFFD78FC2570A
+E5142141C2888DBF2DC8503F9137CE7CB21A1EBC2D65BF33FCEFBC85C9CB736E
+24E8595CE934AB032CC70BD6A3B0F3BDBFBBE185512FDB7BE3D4A6620478453E
+75D044BF770B44C9741E31985E6DAF5A318D7BED12B02A4BCFE60D25EF12843D
+EFC9BAE2A3F2EFAD66D7858E83EB46BB09D2FF8AE9C43844A7001C86ED97AF51
+C511E3A89A1BE349FF5215D1A57843EF51456B9838133846F19BE79AAA5C1AB0
+5F400E5E8E7B0BF96EFCA3B8F0894BE589F2C9FB6C97BD16D38F0A237CD4F034
+099C41F85C7E2C7BEC8E02C4F327306A53B4B48B26A8926670CEEF96F6DF2281
+7C2DAD99EF8B81BBB777227C2475AE7400DC393D9C0445E925DB1E955950F7AE
+53E9AC4306794239346A419F7B5DF4168382EF5956B81F83BD4BB7635B3BCC84
+7D84D05AEDC02D14675D777CD19B08124001A4F4EA96990D96000C082A12F00F
+7FEF793A7FA69D56D3A38D012168C5458B667190AFE80E02C816CAFF0A71953C
+D80B085CD286027E2FDBB05452AA762FD7C813B2E19A79C74190E04E746C4933
+CE1E300CAF5DD53B08110509BDA404EF07FA1BC5224BF1205DE8E0C3276A13DD
+866675103B960C5F36644F96B4FAC16F5D6E91F74629B318FCCC8E8CB13EB76B
+B0B7B90718D913A52A04732EA3667674994A325A7973C601A7DDD50F658E0826
+ACB8E53D4914B0274AED98D7BC3B2B7F9D48A7ECC2F8ABEE05CF2C4F2B90360B
+B7DF779EAF3E103D1D83EDBE32DDA873768D8C37DC10A5354A94B4153049AD64
+FF3E0BB51AB91D7C0B4134D8731CD0270DAAF19BED9EAD800A14B65B68EEE89B
+40DD624111670DDC7C030DEFE0D1B96420E249332445C155BA96231C88E70643
+D526BDF3CA1E05FEE72CE2B881CFC01ED780C10E89F0828AD55FE29043BC56E8
+2750A6DD15AADD54492F6092618F4CC6A31766B17FC60766D18C307EFC9BB787
+39047DAD6B38419EFBA46B4E2C932F97451FE78AD75FA90DE409FC6DD46585D2
+1941F5ED47A8FBAEF5A917A240959E8D9F9917DEA3247D9CAE6BF7A88DB4C4A4
+F9F5A6DCE542420A032FF3392FE0F3357B51F884D6181583A554F75B1DF192E9
+253CC828FF06B0D992D5316435980B044BB191508C7C45CD90F797F88856424B
+14A5707459C50EDCF3E3D8D1667AAA83015405354CE744C66D9A5728F29E0085
+6DBF740717FA0799E3BCC4ED7841588B496A5E549B953A7FD288B4A045DB611E
+E3B2F35963FF18ACCB1C968BEEA2CBF52B3999AAF89A05320BB2E97F52CFE06B
+9F10E3A79865A3059A957F97972D80ADF678A36E2B586C101FC6AFA4D137C13E
+EE7102C9B8EF78CB057F8B7476F146E8FF5C897FD5503DD198128CFF7B5FB339
+FAD0AF0EA967F77B07B367A4AC9F668F8BED99B98E87FAC750EE045602D76C3F
+289FC9D97694C96AAC0AD1BD3FA94DF2CBCEA24B40F47B9B59E54EECEE7AC4C3
+A3F5D19160E4C1EA830D57FBE10D8D46AC5CA0260F22FAA45236F0F542BEA9C5
+5A88F878F68B36114E0573900C65E305462B22A3429A17C7A567694414DDDA46
+5F30542B8FD4F00F6C295B2E8D3A986B953D96822DB2ECD48E8BB1763434E652
+152EF3717F5E7FA10FF0B01D9F64E22C5DBD7254629658887BACEC0ABDE972EE
+67299FB84A05B3EFE22B6976DB4CCA384232DDAE38C31623A4E39EA2E82C1EA3
+BBB68F1A7DBF405DEC37CB7203A895C36A44BD2D63F45B3888AF91D37B510A59
+3C921BB44DA620892AD87B665F69F6FA510B071ECC403CB2BE2F54B3969C9E88
+713244BC97C1466DA8216DA7600C221E7E7EF5C789D2E12B36422023A03E11BF
+2790FD6062FE6BF62F5010A92F0A104B76E255A0975E04F6F20F760881BDA7F5
+D834D1D328B6EC19AA7D5E5678A84C74C82553DBE8BB5765E84F5A8789032143
+6020940B4B8D45FC3433D356E28C25F42D0C19F911213D85951B2B00D01B77BB
+A4C72E964F9D95422BEDE582A05CD52E03D28A996E6CC8FCD910CBAB728073F9
+F9FAEED5470FFA55930447C5BA816F826F983D53EC9941EC8364B3060FD74C95
+26D4F5CA753B574FD2FA4D1D333785241D8741B79E628BC852FDC35478C5ED9A
+C1BE88C5EE7302816E65C12B58EA16FEDD4672EB3E24B6EDAD5DCE263BA8A970
+350B651E5A9F3C281D85BC3F44EADD0D93402E36489BA5185E7D388974B0B700
+70575188BB610CCA20F081E2CBDA13DCC6F72567962ADB342E02C1E763B673C5
+F7384E24C6E1730A3A790D690A2103AEF88E0C1D4480DC9B25E5C8C9E1919C95
+F83320179B4C7C4A26D559BFB24D7D596FB73758C9990C451E77FCDDD17763B8
+9C30A9534E3CB6680D3D419D4B70B0B0A0D160FCCDE169714E373F65B7144CC2
+DB9A44E041211E1517D3148E65A2486CBE5E74E625261CCF65392FB4F3091473
+F9E8DF327D59A58558E5C9F7190DB577D5DC658F5E36258291C708B3D224653D
+064BB6079F91293FC733710893AD1C96169B30CBFE4E9D52E7EFAE4AFEE68FEF
+1AFD5E7E9DFCE8DE332B0FDC0514F9B3090AC85BBFB527FD8034DD33E9576325
+A8769AE09AF1BA792447DDD932B98FC9486B39E0B04DDB3EFB7A30DA0940B33E
+E27490E0E841E87B1C90E5248A91742ABEDC10F43A8AF0F9C5B4A4930B1AADAF
+01874B9AC3B8D0DBECCDA6CD7E96471FAA15CB7F8A599C5746327CE392224C3C
+40BD60AF97BCA6FF6FCAB2FEA114D7300B89E91C3BC92D5B3E2C83BB37992D8C
+72F661EFD0AA034C738C019DFB79BF40651A1A34BC1EB9F5AAF58F8B3DA32645
+24AFF8636486F08BC21533B5FF7391B0679A78DFDCB03DAF6BB7475A1D51DAC1
+EE4BE9B986655D1FDB6936445EF99B58B303FE79F11275EEA96A9F6808EA8775
+D873D1052FAC93769789C700F20EB2ED6D15676F6E563A769CA9298E463FC311
+83281483B1C953370D196727A6A0E66D32D9480AB1B6DCA77868C1A2D5DB6483
+5F31EB6B18EEFEF1CDC31533E69B0AFC6B30FC9912DC89BAAEEADC30BE14F448
+1A6B70D36A5D9B01799BEEA686066114910842D022EB464A9A1E8F0A5628BA69
+AA9A1925CCADD44703BC67A89F3B48E4680726DC4360274185CF3C8AB747A8FC
+4B928AD62B092EFE48B01E33ED756DB696171FDB775396BBA138E056F71EDAE3
+7A1E4CC272B8418114B0E81DE0BC43DB3C133167344488820A92DF10FFA26FB9
+65FCA2C87D302E956DE6B4FE145145440C83DB43A68F8B29A592B127BDF49063
+B7F11E155CD4CAE305525BEA56B7C412A6260426407BD892A3F2B444AC3421E6
+FB6E6425EB5C3053C5644666B80405530FA0012B54557327C98E0F4F064099A6
+4ACAAFC1870359C1B6FBE7606BB8A26026AE20C212210449905E628AF1B20490
+8CE908B7EF3E3DB551C85AEB0F7FEB6A8D215B97998E5DD9C7CCFB2A9402B8B6
+1770D4023777D4B45A73F471355353412C51D4CE71FAD1E0AFBD87B5F86307F3
+10D0B94F1194EFFB64AD5DA54A4200490F609CA8B912E149F8217ABB1E9EBB3B
+C4470E7365CF5E1E761AA1945044B225BD53D142F6588C50E0644740F7DD55E4
+8F73201E5354A8BC78339211AFC4935F44701FBA043AAC4BA4698E9D7700029A
+C79F992F62627C91EB855F64C4B251718FDA71EDAF082A0C7B00550949D617A0
+7071FB14F05620CCF2180941341D8E60FC88823438FD728A4042AFA8B853107F
+852F631518B61B234565291B5D5B89DA818DEE3AE3B68A2869DFA63255CC882C
+3B16BBA08FCE3632E57FF7A07F857A1F0FDCADAB39D77960BD827CCC8661A997
+648BF5BEBC0FD2286C2A112A8DEB9CCB6330A049170D5D68EEEEA011D3EF3EBD
+855236B9380087CBBB6BE24191F728B7EAC5B50F7A547AA0989B7C7D3437DBCE
+1669341264E290646F2C8C5A3ACAAC7CB63DC692FAAE13E9B40E8BD39FE16A0C
+1660CE66872D061056C04DDDC265C024BEF8B7E3C3AEE76FE5C9702002C28BE0
+B180295EE00E567FA2E5CD1638226D24A7C732E1BD8103B476EF5702768689C7
+D4FCD47F2AB94A2B1FBAE6ABF87B09E7713C773FB65CA83F7318035B332B9F99
+24A2C8897527021321D003AAD7C273E4BFA2710B9BB26C2CFD3D9A5D7ED1096C
+552D50028AE2476FCD6D12A5D0A897521313ED1A3A8456A70C16EAA50A3E6733
+6DC89FEC56AB54A579EF264377A103939D5EE00A90B4F2206D0023AF9491FBE0
+800C6540FC945199E20E945F46CEEA2E885F6800B9DF042BCEF4291A4B1A62C8
+6A7ACFF872B25FA3AE69E0093F3D0FF13A3313430C06F1AF94D500431566F659
+E8C859A5F80F5BD2E85C8E32603D3745628E8FE6FBC50FA68F9C3811A2BEFEA4
+5852CAE2AE5AAD3230ED050593BAD0A9581EB7B327C6916B8FC348F4C23E6FA2
+00FA28AAACCB3091C1D83F7BB88672A53A2EA3B8C7C24374E400C57F0F01019F
+E52D5C47F389D4C9AF126F4080F9AB8D1C8F470932BBECCEC72A9796F6E965A4
+82057DDB43D68298A00880D4C2E2496F26F015FD83C5549215753459310339B7
+6B2961EEEE74DA31FEC8E2BDDA42D4080A32372AC372524BDDA580EF6634ACE3
+128C69D04D890DCA337212B109585C665AA83EFE47D5BABC2627A86EAD11BF7D
+744176652C7F9497785A7A06A994ED8414BBE8B26E74D48CB83FA24AAFBDD507
+84A90195EA3D77BCE8C2BEDDD1DC52E8164DF15D65B916EBDF3A8A76849653DF
+AE3CAF9561AF3B705F75B9E5DFD6758DB65A2FD54683759912E0D0035CFBCD86
+5D24AB1323A0BDCC0A8FCCAD408E091D37B62D3D1BF8537CFC619A78488DA0CF
+87FF97E3181A579D373539E8AFF22856FD03F4C387BA307983EDE87FE0F320FF
+41E45F60704B913C7381D84E98411045E4AC9FFDF8168FA2286D8C7EBF681EA8
+787E7960CFCAF502B7A3066310BE7A1159A02F1BF2C5C11A3A9A52E01DE3E108
+8ECF6C9F892370DE073A17C26D92487DC47818C92555B5FA22B8E2D726EBDC07
+7B0E0DBF8060AEAD5106824D748D9C085BAC95E031069395B41D5BB131FCDAFB
+5CB678DA317AA3082296487B40E1D4297E22905E096C47A26F4DF5975ED35156
+F33D505FE3ED168177598CA0CE444A03F66032BD7D1C1ACA0EF9FC36C4C9CE25
+C9B1F2420CF9A96365BAA62E2704F2C662090D58BB4E0B099DDB4EEBF8D05F97
+A5CBC658236F5E4D62BAEFB5996AB9E8EC4F4F9AC53FF17CC7A87BF1B8EC4626
+1C500327CCB89B0EB07A9F4903E0C5A5E7370D90B50C010286EB368B0503D038
+A2EF77A39178507E41DBE433DF19D3F69A70793D051F813CD263B5DA690579AC
+1789D2D4CA15488F73F1F01CA8FC188FA30CB08809D8228AAC5A10954A6E5471
+F8D84AF40CBD5C92F789EB1742E17D5EF1F7212D71A06BD7091360023093F101
+36EB44A8DE87A4A196B0140641000B445FD8F603A9A7F2C6F77EF6963811F7C9
+15649EE1D81DC3E988A7A797D76DB89758A73428D690AAC6CAF6E216CA40F8C6
+2E05352428D4C5BDF539C8E423815555A1051370EFB3A9606D3D58F46E7D0B97
+CCA0C589D0E36D25CE3938B059FB0E2C8361014B57098F96088C5C98E7AF24CF
+F8A8308EA440CD67106B94310E4C81D9D739DF88C655165C148CA55C7A1E2F7E
+A6F673ED5F34F1C1D20B609A152EDECFA26875C005B5D3394AFC2E2FC73EC0D8
+693A9561AD2C3F9B9E9C9325EA9497425941EC3A0CEF1A59E6669429B08600DA
+86C38D78CFA1AE7634B2C0423F951E647B2AE424776519ABCB28AB77F98AE76A
+2F70CC3FC78E82702743AB7022329C56ED8AE3BE873992E131DDC094E1E6E683
+D2545B0E6044A8F3626CD111A9C0940AD0A7D86CE7038A74907C8E9A28945C73
+CC08B2B5F0D608B7A4B741D9F35104F476DC5B7C9E09D0BA369B0502062B3ACA
+061ACE401105AAFAB82C4AA821E8523BC287BAFD83AFA05B719CBFD536B82B6D
+A6E549A9FF74858C3DCC717457691AD5BAB068DFD9AC47F9426F7148BB8FA709
+24316D211D3A0EA27C36EEA1E76C0BB1068594DC152E58825290920E6DDEA892
+BE5622E1C421994E1338424D82156895529BDDBF81ED48361530BFB2C763E138
+777FF1CA8846EF2343E735E9EB00E50971C1E7B50917CFD0E82E5F05D1F96031
+216DB9AC8A26B00280FE57F64038938E7E48429061C48B21F9B051F6147B984B
+193B34B606F5A5B8583654F891D0E7256870F71A8898783B772AFA05228231D0
+69EDB2E2ADF1F8CD734ABE140A34004817B886A717BAF0239A5B8A0874412F72
+C49ECA2EF65E34A8B9C3288D95EBA49A57783A51198028FF2CC674E022F6C6F9
+91F40145A7A1313A8C12793F71E79A58BEF6ED7DDD3CD527317F3063086D8B67
+46817FD31B267DD7B61DF90BED14A3164DA8B2883B0B2CA52A8B48F33D055173
+A804F2704D9367231B9B797CD55E7D512BF3D4EF1709BE4290C627E04330E3CB
+CA9D10AA2F41A42DC3089F2C51AFB51A3A0A5E68F99F61F05D7DE8ED84DEEA3F
+3F2A64C59AB48E9137F101552C270F6B5AE64868FC6AEE59C276C7DBDB0D7835
+9D58E3BAE73B32391C040298C4B93B8149ACCEBDB0D1D481F6C795004617D445
+4108A2BA61E53ADD1BCB8E528A1E982E5211458978B071E20C6A2FB7BFB3FBB1
+BCBDB5E18BE8CBDBBF8B28BC56E147DE26DE432ABC8F6CE4663CEEFC7E2B7232
+0948A931575B3F6D7C5C29F5E59914FD00CFA0B64E595CA37FF9328FCB3E5DFC
+1ECD5C2CED3A0113096F86466E0EBB27A3AE1D793090520DAFAB5A00545DAA99
+500D452137475078B1996A96CDB7C12ABE78F41CF4DB7207C66394AD669BB39A
+19492926069ECD6A5FFFB23654B0877618512E706301A7DDC2B76C42CECCB2A4
+0F5388B9759429AF631A262C6F5C1DFFE78F9FB4371E98D29FCF91F4CD7A9DB8
+5665151FB63CCEE8039BB28E82A7A73ACF6434AE97F67BDD7BDC6FC671A90D09
+2EF97519795B91C4AD666EBC36188457390B902BEC72BE9F0AFCB70EB75CCA91
+270C5367C18CCA4396C5D97BC3D1F1C93A6E82767543FEF3277C1DAB981944E0
+D8B3EB3AE74B1CE21F7C41C9A7FA5FAE2F6892FA7B8AA3866FB247E9FB015004
+48E74475596253F968537227DE9FF96147F79044A86E9046A57E21128FEB458B
+194E8E4C3ABF558D1178D2FAF63B1F44F15600E01692752C2AFFFB88B95C23A4
+2A3FD624778B37C56CE88C2F005A4561679F7EF91967AF1B2F900F8EEE4A8264
+2D30067D42CE88A5A5C7792D88715A4CEBF3B85D6028CFB8B7018F52A695C63D
+B1DC68D73C592D5283541004E877FDE4E81E152F9E171201E9A88EEC6659BE7B
+6A7F9255F6988FCDE5BDE0F31DD4D282C8743CBF831B9C2C1A703BB9A4B1791F
+7E680BE9FED244D0DF33D24B535BA45145CB9D760D603DD269E8C049EDE168CF
+539C729CF86A23750F8B09959C77350AE33E5DB69E8A53B8777BDC1E4BE06A8B
+8F4629742053C333643EAAF492A7C00354F81B131CB81B379D8FF88201D25DAB
+530341925F14267F61CE0E68632E090207695319FA5AA0878E49597D6738BAB2
+DF3A56898655772A5556F9DBEDB7C93533B3C2279001A48EE229E94A864671DF
+2AE8B4BD90A9E4392A01B8D3D76B5883613ACF6F527C10C47CC38A4A413231F7
+20FD2EA9A38CE5BC9C148B3C94E2D9832DACA6E6478972DA8FCE275D1EF7434B
+E7A89C5A762A216D1B1B436334C94B6EFAC7C3A0AE6C5E61025927524CCDD698
+FE851712EE72BD6DCF19E80F3CB2E5709EFA9A8AC8FE9E72952A3477775E5AA4
+6F9236F411724807B43621A40F3F9F398A48B1DC37C89A7BC2BB2FE8CDFFFF87
+543E002F539616A994F5C9391887C89F1CA5E562DD1BDC67873F3AB0EC4064D4
+5345416F4B1A369B016AD889C4DF3B17434C04694D39E05F5E2A065E47056E06
+46B9902581982562BA577DD1AB2C8DF789290DC603D0D643ACD7BB349FD4FAD3
+87D7E5991FFFEE550C520E504FB024D02CCF6E9740576B9DB43647BC9D91DAA0
+926D16D5A9EC52435744503A563F06AE339DF6E6441D74A245732D8215878D92
+C3CA6E6F1E259FEC912B721D85338F90F43F01F216E2009FFE57F62317258585
+92DC75A95F78DD51C0382B48E25BD93190E51E5CDD27FE3107B0914B9E996CBF
+597BFC5B935DD7D4413A40B60F1A1A5A6F8B0D962EC98F793C6EB93D7901AD7C
+A9E537F23016238555E8228801BD3524141DBF1F9EA47BD1DB3727AF9BF17B8A
+508C3009662E2D20420C7A6DAEC54F05214F9AFE0E170A07F821B9C14A3B606B
+F2BF8BD370B7803421B5B7EEA030BC8F7627D26DE058C0677079BB64EEBCB911
+EF57E2F7190842A1F01C58A5D9264DB42A21AF20C16A9830788440E1926D8042
+8B69FC257330633D041A270F49089DA16EE3D1E9CBA0AC228DD7AD384E6558D5
+A4E283621C8A28286D14AFC126A184209C4CD7606CDBD9CAB352585EC22A7A6E
+8D5849DB210ECCC58E043413DB8FD3F354912A400A1A972458C1965BF8BED449
+002DF6C6A89F675B8F8FF4E2B841AE3F263FEE88285B8B373C11F8DA5ABAF93A
+EA1A2B5FA0D028CA2F88D17430F9974C882252C1E7F27958B9363FA6A2DA0D3E
+CE09A39652060A8BC1BC2190C49188C1A6DC323069C232451D1A95FCABF01ABD
+72674082FB4F0D7BB7CE53156A46C7AC7F01320D777EA1EBFEE780E040423DDC
+EBD27C9860BE334D2229F2C8B09F0CD18F0A0BF033859C66C2CE3105F06013F2
+DB2173850DB823FB7F3979DF4147B329DEC8C9EC8B063AEDBEFBF41EEB9B5565
+E90DE4B2DDA3D51D9484C03FA8731987A2B9D9189E8C9105B9325C899ABBA6E3
+D46043BD135FB1807D66D69DED4DA0CA5AFD2D732F8EF17F21DC429D3BB5E105
+5376F2C19524650D0EE7C7B38A228434070BF82CE461097EE436CD8295AD890E
+3F6D6BD351901BA0004015725527988EC75B06F20A37D520B2921021E8C0183F
+DDF12BECBB7FB640A592A8E7AC4F42E14B5D281C3E1E958FF9D6170C83C89591
+A90D8C3CEBB14BF119A4954F626B225EE36D9DE7E0F4EFCEA30771E0935F164C
+48FE03884428C4FCE87AB96322F74DDC6AB8F444AF89B625C372B9216F6F9DB2
+BF889D75275CD02BDFE481CE6E2C12376C987EEB9695459D42CE4F6AF59D3668
+1AA6A43DC0B8A8C17D6CBD10CDD64640DBE1ED20DAFC5A1C4566A4D241B6F6B2
+B57B012BC0E83EC563990F4C2A5101CD6704F132A0E4E4756D5576B20317C441
+5A7990FB1B77404C1254B187D4AA02F959E8B88F3B9B01ACBCE153E5D11C3843
+2AF90E8CBB20221A3DE14D6E8494072C7F5E3C49247AABCA001FA7DA6118032F
+BF76661C1E4A47828A80636F7E6F91E751395442177EA0EBC1EADF9678E32301
+A26979BA38449572155C33DB42AFE6BDF6F98C1F92EE10F25700A192EC12EA2C
+F09F1AF20E640577E73EF73D0A32E0E59B9B4C64DD0347F0B6BFFB58BDAB5AD8
+59770FA18C3F2E84AE62387160BDDE90786435D435910631633C15433BD8C3D3
+656660E62916FCD625B7569744122209FF10C12C745A5B51A771314D66F89F74
+FDEF6BE8FC9198F9C19C3FBAED296E4986B5E9ED11CEF5F968F9E1D8B79E4CE4
+04886808E91411CC444A5612CC7D6A206CABB17DB865D4A3B0F63FF6FB78126D
+3C0BFC32DD3D6469F8663207EE06DB544357F5F195ECCB1C8E4ADBE0980C586E
+082966D038B9030E8F5046A2568942D22B33CBA8723481F47BFB68D94A5A0C77
+9FFBDD083C0EB5EFD9D00FC3A9AEA49E1C01384D3585536BD89DA690268B5546
+54F24D080A916CD5CB5CA277633A0970B205DD6523FA72A4FAD7DEF6A1B1147E
+78BD062EC737AD4D738681200FBE446B5AB4A032AADD1EDF211DB2B4722812BB
+6DB9AA5CA0B83055DC576846D526AEF8C7E481B7726611012CD47676E8C38990
+0B6D6F195B94F8BD002F0C7B2420A838A51A1E428765EA31DE32603DA4255A17
+60475CAD33FC79DA8D973E79A769AC76464C4E38A020969695B2C20B4B9C31CD
+35EDD94A698E9EE9B9EF83060B9EB9BC42D586C6100EDA02FFCA76CB5B8C51A7
+1EA1EFD5FE0C54CD0F24883779644A3C942BB04763C4C9B3B16BE077741AA7D2
+42B8D425C749A6DE08861D3523E411B99CF670B8DC108D731FBD4C7929725B26
+6B716D2B0FA1B4BF06BA9251C3FBD6DCC019B8729F2FD2871BBE7B70D7AC8F4D
+616B644A322F063C606716A8F65C1620D964826AB0D071D2262DD1A5A1F159B0
+00A721CB400D95F63C12E9FBA2F567B63DBBCE47008DCB293A4AE746C916A9D2
+9C0912801BE2767AF023A39F822F2C9362414E03C67EA05B0016156E48C8B426
+D4D8A97B1EC4C53032AB0692871D304508027BBADCF9AB64EA09DB71CCB50554
+758BDED49B3619C117A45CBF6DD94991110C153C5EE2F6A45747000DB6E8574E
+6695C67F0D7786E428318B8601BCC41E8A55B9C84D27D781550218043DDD0454
+FF6CE4FEACB37D474359DA4C877403429DA8AE3C43A73709C22E067E3164F54F
+E4BC345AC6DE1ED1B6B63BCD9229CAD7358A8A4CB183DC8CE6BA6EEFB35D084D
+0B2EE594AC327201B54F65C23BFCEE042E74D58121534F51EE6E134798FDEC51
+1C360EBC415A3A9B9259948CC516E398C25DFADBA43DFCB1A1839986A2B75049
+63DECF8C97530ACF8CB05119A7796CA215AF4A83E5C5C4C950D6C5CEDE810969
+43381E08118F22327AF39A6AAA84F591174BE943A27B6EFCED3F188EADDF55E9
+C6A3E1257112FEBF6E5F503C89DDA360FF877D607A6AC219A7C623B448A7D944
+415E61A47EF919D55F11A20776B323061C67102203E6C6A59C9A8189B1ED8EB7
+97A813AD7BF8C56DE4F2DC98119C1116975974AAEE8A7E1B43265201F10B76EB
+319D926AAEEA3AF9F175BA2A40F9099228875A9D4C7E97A861A16EBF75144725
+2F7022778D2EF28FBCCD473C8A510F10A619C3A59EA4FD487BE926C6779BA20C
+9145050F262D487A0CF69836032F10D1D79BD2AD76B3F9F965205DB56F6D96CB
+E6DB338AAC7A4383BF8BFC4A7F7612CF5E7B87AB9D4EC67CA202F329782C78ED
+7C0F58150BD216209890529F740D29B83C3AD9DB41237487EA328592C124AD59
+DE409C06985A9E256DF18B8B74AD60740B92FC446A2CA4242E10D6CD4845832D
+2E52E92B02CD46C69B55B7730CB973005F272F0454C2E287087B0DAAC14489B1
+BAB6069F31830D65FE1A948BB30D930C146FB64C234484DA889055D49E9F8B33
+4C3082AFE1E2074BFF72A0EC80B6CAE5E71FDA2565339EB96E6A51C18E0B7CF7
+A2DCAF765251C17D932662D95FE44641CE5585E468757D0F7220C45AD45ED13C
+C44DA66C6480FF5E1F59647DE8821DBC0190EB70EA7335BA3753802236EC9607
+8BBFE119BA80BD4FA8EE9E152AE434F7E7DB1DD828FBEE40823E435902A8D138
+3D891A320B17719ED023BC6A5515492B7B04D017158A8726CD4315E0EB207CAA
+1C2C81ED388D2F853F22F870E9D63654770C0EB7E16E1EC4E5C8661152B1D282
+AA292416FF98E95152E8D4F9665CBA7493958DEEB4F35B17D14A21A45C87EF8C
+AAFA6329866ECAC0C31940022B7C7BC4CB89F6B76CFFA2F864B69324188ECF7D
+441D1D754FCF1A520C4F9CB46A6B46BE0403EF9FB9CFFC7FB3117B4CE57786E1
+3FD192482B87B4A248FFE1D2947353648C62BC47A82FDEC77C0B4597A6ABDD5B
+39DB2D2AF00B6CB6ACB4E7832FD565134C87D3ED5655D3D0A5FE5C9C09379D29
+E2C7AFFAA26F35BDF22FB7DC407C6C47ED4B5B9E0D157C7C104B2AE495E2C1F5
+3D74C790D190F9A8E3E9E6A2CB271288B963CF500364E36715AD39783950805C
+93FA367571C1E2D5520E0A0E3EFD5005D2871DB2BF4F47A535F1818C6BD5AFB6
+F54EA0039F95B4C609D3A3C097713A38868B6574B0CB7782FB069AA69C732BA9
+245DF75775D6250F79A092E0C2012B518C79D38778D3E213AB9BE93BEFD774EA
+63544ABFBA971F16AF6C14D9C52D371AAD8569230BC37E7EE6FA0FD458B4305B
+A52993BAA6AB2AE208DF3FC1875FD0B34315F6DC75B88EF009A419F728A38519
+63D1C7DFD8567DC63F62935F594F88BEDAD3922DD5424C168832F28A0F5A6C7D
+C8342E582049B7EB2505CA31CE87A6C347FFA74F8CD92E5F02A0E5ADF072FEED
+85A0D2C5330E61E340EF83F767C63F3BE5C37692143134A753A37C471E90CEA5
+D9EF9E3B8B0B75BE556C0E6F205415C83F3223ADCB0B534F480634B6B119F589
+87708D6C604D952A879B9AC69A83A09590A2D760BC54AE561FF1F904B4844399
+D374F08E13DADE5BF241558E43BAB7F646D8987F0DDAADD743E1932DE01B9BAE
+0D7AE91D113A0995FD3C4603EE4A8B10DD708D65E33E6B40004D37E0E2E14C5A
+C3799BC51EFC3E0CAD8B3FDAC906881B44FE63E0DFCE94F4AEEFA7AE094FF4D2
+42102DC429484AC6579F2046F0964B543CC07E81E1B0ED408E06BBE133099F24
+974AF29D5161CC065CC8816EF055E90B1616C16CB3A7C995D1CEAFAE11632826
+C24685D17A70D152AE9734A9965C470E20F679A073F959433F8CE3104AB0B3B7
+F1025BCA8C5CCBFFB83BEAB17C2D67CAD6340F59B5B9536609AFD44D79A7FFDA
+57929ECC164363EF8CF51F88BC0748E0281C17170511789139B80DF8B3DA0282
+6BA0705C4B764667AE9C9FA63BE71D1257493E55AEB4BD8756FA0A44439B3C8E
+FAA06172E526A4F04E37A3C04FFA996D483C51E79F43A6CEC0C1B16886B66542
+1A332CE6E6D89B36589D5502AABAFA40EFF5C4DABF178DAFDB9954CB5509BA7F
+D7AF145DD905BB6F525411CD04F95B6B926B8021DD2F5917C5A9DC1639B76D3F
+BC9214BAFED58A5F124449AA0C21C14BE650061CEF1D65A116F276C5AC48357E
+9D19942684ED38CD61EB800655341E52D6E11FD00743FEDE2CA5FC499AF5E473
+4AD200F3B5DEACEC0BFF991154F8B465BAD8D9CF6DB3AA15939ABFD71CB487B6
+3F2B92F1061F0A1E36694DA35A10E935BEF6212A988906A2562E20ED442839D9
+BC468BCD1D16C924B4BA175734549E601EE7A8CD6AF8EB3801FDAF844C97AC5B
+0AF213D176A6724E478EFC482C1742B4EE006D79236E2CB5CBBAB7DD3137A0CE
+595241BCB90C086318AF9A7D5B7E5A9E6773D0E25F90275BC5666DB0D9D5FAFA
+0401EF29A8B098EDDE6963B9986ED3307F91B3CFCB1BD832FAA14B245FFCA444
+CAB9FAAE8D07C30FAC211A281874F185A80C98495510B8083D831C099E553FE9
+155C2CA5CED5F36953CD63122AF1674742BDD73A18BA7F9C91F4572C5DB96154
+EDC3F49AC9EF36A2E2821A6951537FDAF333476FFA4DEE65D1E32C1759A14CE3
+B2F05355E4C01F1836A438B6CF57B9A74CDF6C0E4A82EC17DC1C3C6ACDB24CDC
+70B159F2C83CC3D8A519DDFDD7FCBBCA712BE6C8645C77583AC4F2EF4A8BE053
+097ED265E7038D0A21D895FA2FFED6BCB554A425137B0BB7B6AD8195784D530B
+A9FA9900D368C3C6B225F261259B86B36C523A2FFA7E91CBFBD226005C44FA60
+5777C49E4B4F06A3D9136A3C834AEE0034825208F5F5DB1F7D046ECF0EAC00ED
+E706780E789241308E3F7423B8232369BAF20F4D9432BDB18863BF4AA61E22CA
+77FE2CC260949C0130FD656958C8AD82769DA1A6DEE0E8D50AFC5097FC2B9AA9
+88C932817F7DD2AB6F0011564A06CDDB099A306AE17CDF3A5472ED102E3F2178
+B23AF6EDDF390A97E6A1C4278B672B6E80DB0655103EC6DAB53637C7C6E642AB
+405D1C04DCC6D7479A34E1B75657B4D0462B5AB8C33A3EAFD513502919B31153
+9E903E688EF8B84DD3A067EB10B821BA5D16BEC6CD45266FA0CF22B7DAD22B14
+543195E23F5925E34A0C558459401050D92DD22D77D9BD1234205A958E261748
+66D39BBAAE7BBAF62F87A99E790D87BD91B7AF9B6038ABE52748EDB776AFFAEC
+4E3DFA2DBFF2A1AFA4DB0457FB5E1D72BC534EAC1F98BFDB73089FB1AD4A1191
+FD1E9D4CE6192B7911551D8777E9BE9AF2345BC54992743E5323F2204157595F
+BA8D738728C177F12BEE767FBBB079092A19661F68F4C283EBE264CA1BD128A3
+3F22A54508AEE46B65058CAE98458D28CE163B9C0B1C899298122E98A424E216
+7F7BDD45A97A020221F99BD4F97A0AD0883D4AB60403AA1E683D358181022FB5
+48465B82DB0E713A409BA8C2DF5B71F9AA79079D5C46BB9165CAFEC6A1FE4DE8
+E0377765774075E65522351037E6BDC55F3E05D4525BF2F1FE9CCBBA30D1B68A
+FC06536C6E2BF2A4D96B438340E2CB6900402D9ED59EDFDBAE3B29649610A349
+8E4C4CBF6CA12A8EB245494A1EA5DE3AB566FFD26542C15BBDA47A36C9E5B298
+41368B797815B77023DB8BA961C4208ED6ADCB475CF3B14BD2429B9A125A6E59
+7507E97901279CD74D7430BD45A2900806B37EDE2C2A082793EBCA37174EC0E1
+C944AA6B493F8DE445ECCF2E0F7BBCD9E9B6AAF63DB36034030092FFF195C42C
+CB618D28BA546E24FF73DB915C2CBD47B7C2064BE1D9CC276032918A7BB1A5D0
+A1BDD93213C71FD022142E04DB5EC2F41043FDCA2018A7492973B9C98089D9A4
+BB89016755FEAFB2975112C4054CC115A1365201B35D90A6F6D081D1A38F2BF8
+FB85C2FBBCEB9C35737B31007AEB9248D3669053108C00E156400794707736D3
+73B3B7597A54F3786613B84321B8DA03E9BD7E9A35BCA3738820B8927E6AFB05
+1F79E0BCF8B475A9BA17F74166A213981434CE4052389219DA5E5346A296E71C
+809FA687FE1FA0A1A4419AB5293B1A4571AFBA46CA7CE5FB981D97ADC10C4D11
+45FFFF864F663B0C6B3BACC5C7724E8FD1B40C126C6DFC2D394291F03F670CCF
+C9E1BF44CFA3DDDB545FF2D943EA3CDE776535741CDFA694CDF9A3D7F33E432E
+23173D18FD65B6AD6392200257F2B8B9381C3C89207A66579716D1C1185C6492
+D3E8DC3119E819A40DFD117453C8D8D98295AC9C7A0B3F2F2944CC9E6B2EC1AC
+8E6827E80B69C5E881D8CD2AA6A4ABE11B958E5147CD646223EF5D5CA524201D
+3294B2A79A9981B900B94DD442117D21485D4706CD114FB5DE0DF0EDCBECDF19
+41494B3A56FC1E7ACCCBD34714DE2F60FC8A9B18C1BB837524F3CC1407E076BE
+63A1224A25A49414818F82D2884CBE891FC2BB9B22C90FAD614A3F25DCC950B0
+8FA22C9466C52D0CB80789E3762D6CF9ED0D15B7CFEE3AFD9B3BECB5E349D530
+08B1758E4006DE89F35D2C5A3FC450FF2A0A1FAAD14FD5A6D3C73E4EB5D5FFA8
+5407F87174CAE265D681F4F27C913CBE95768F09BCFAFBE3B0466459A039D6BB
+9BDD1A7871D5C343E6998F8098FFA1F85DE7DFDA01B5D1866BB2348D7DB9D83C
+09E13F7EA27BF6472C1401D27D7EF0F344F6255BCAE49FCF1BD54A31B6836162
+301B59435E4915F3462C79D1FB94C632FF8CE567191E3A281075E30CFF912107
+56A8651ABD90775495E49376C03DD37139ED09A3D77A671381695D8A12AA8C9A
+77DD3D64C373590792DFF7FF3CED3A78C48A3F73AD6C310930871E52E05F5B72
+331821D0E88C190508207B94AECC3BD74C0DD560750CA720D7B0B07D691DAE40
+5A6F866C001F2DC608C24786830A3DDCD02F02938147FC8BF5F849B5B591BD4E
+5CECACE55ED5CF9A73CD1DFCD7AA82E0B500BCDCDCB677E1286AFAC7AC73C42E
+926B9A3EAA0C636D70963896F491CC74749AA1E5EB9E894236FAB9B490FEB386
+E2E9AB5EB491AC0C48D82D08B3C1827AE1849A99D5707A2E7C150283FDE31C48
+BF614B8334775C9F3D186E0F554DFDA9E240774081A9B7E892FE894D2E2CD135
+B947718B81AF7874FE2DCA91E95BAFE76DAC27BB21DEAC7327B91428D1F5F045
+FA2FCBC3A7618436C3FDD8A0C38CC374638E06AF705741F3BEF782AB42428030
+C0121263A1EF15A461944D64FA8295BD1804B4AE54EFDC87C2C50E559C6D83F2
+8D3B5A9598A40A452D9EF6DDBAB67D3B346FBCC2307713A7C30F501AACF83565
+425DDF915954D2B564AF114A986B70F83BC4E93927072B241CF1D91CCE0949C5
+5B1F4B7C7132AB5D08D8CE9A97541A7F1C10CC5D4127EF86A56AA12FA32A0A3E
+1ACD7F80E6F1C489F50AC0EE2168977ED64C49E3C38CF3E13B708F577F542231
+10AEE67D6E0F4068D4D1F92FFDC61F47C4CDB09A6A820FBB62412F2B8FECB562
+E4E62A9A54EE76066C397FAAA8600F9FC232FFF8AB2FB9410F30209F976D2191
+6412EBA9B22D1CD263D877086A797443EFA2C1522C2801BAE765F4E01A91F911
+1E29E64E8C636A0B571652B5BE4E42A9E2D446150183A0AE8B3822FA5C8580FC
+039D390602F780DBB79AF3568C74A86BFE3B1E4A28A00BBB93113A2197614DD0
+C5B31CDDFDEC03C4D1E02A8ACB06499EB1A0DF6AC4FEBB73442E7E1AF84D4CB2
+F205798EB0295BB3566E51FB458A785F4C2537DFC8DBE81C83EF1200012E0CCD
+6E049305F271B2F7434899D11EA9C426A39661AA1B5F0861367DA0C02D1526DA
+505C696886820D032D68A2AAD83675BEF74D37A7E261C4579842F2FA4108C6AD
+6D8139840572130496838F4B67E876C05F559BA1D4ACE7170640ABAF4F6B435D
+C450C631EEAF8A2EFE266A01DA0CBF59BF715842775DE350C53D52121B4902ED
+4ABC1C6823FF26E472BCA9D3B26F3A8FD30314D38C260789C911351A9E6DF636
+DCA8259895B7421871479FA2AF27DE8A4C7EAD454275706266E620FB19508123
+9D970760251C8AE57029AEA2F8750B4A18689AD6C7AEBD1E615897B34515DD07
+3C2B0757EF38A5B46CD2E43273713E812654273AC3CED58EFF6BB2078D62983E
+8F48CDC5DF7EAD2B6FE6C001AA6F5CB251B4D20AC5E069296CA9EB275A815721
+31EEF47153074128EAAAEFADC2676F7251B6A3AF6448573251000E28DE6C8221
+EDF4030AC95D5D1F0BD940E13F3A13E4DC51286C2B1D8AFF3CE1C9C701066CBC
+1CE0CB96E34D617D0DF866389D03EB013FC5B3B0F01690AB5297F744B6E96476
+73B4952B0D5604980DC993E4A29CE8435B3963906AD786A5902CC18A4E74F3EE
+74589BC150843653CA397EA1318FCBBF76E8633D588B475926141A542F2B3643
+17466DED4A2C921010D92182BF36E33D367DD4C3CC5471366BE754D14924B8EE
+3F9A4A4FF85EB52A400F18B27A789AB3913CF09B24C5AF0C1D70BCFBFC8D11C0
+B02EDA3A368BD89A330A2726738177867624FE31A1030AB5C0BC028FBCA17C9E
+B5ACA171E05F5F8C10AC1BFEDE50324A3F3E1D118DB0457CA99E904696CA0DD8
+D5CAA78D67D98C567796E14857E1181660E7EC92610481AC9DA74914F2D9E6AB
+EEC3ED4AAA521E239B56525903FDF7B1FAE3EC587845A72ABEC4FFA02D16A21D
+F6D51D5ED62C2884D8F2EDB3C7D0A237530A06DC2723E54F4458121B7FCE0403
+0DD890BC31BF1490FBB711B0FF3CEA9E6C6751508547A19258FA75F928D0FB46
+1AE7A6FBA515A21CEE095D9B44F0B7FD0575D0B5A4978E9D59D9A8D6F8FC8AD1
+2B6C12CDA6BBAFC54EAE71062D6F74F4044D3B1837D55124C400CDBF7319E6F8
+BEC9AE767C533B79126763046E3DF6FF720B146D5E8DCFCC45D430EE4D729139
+87BD70B28A05D45DF3B94720DA054B775F275B1B3C17EB0E1F2B1C98C96E6DD7
+46A04E17C460FAAD710BE3CF810BBCBFB1589702B1B92C6DF78B703612CE6079
+0C200196AA16A54B7F15A65A1A4658D1248E6D815ACF5CAA8E645481D1707D5A
+C2BB9A9DA12FC8734BCD8739BEFD53823FD413FCF3BEDBBC53CD8EB601CE05B5
+54E25DFBF1867AB662915F39D1A26520C742DDFB2196E7F147E1E08A4AFE3A4B
+30D6A02DAD7628F432D8801B73B3DC3C3AE3B70BA2EB2370F606056799CB2DAA
+CA6280A31731EDAAAF92970438CEC515E0DBBD8EBF163E58651D2D017DAD5470
+3E21C060BCC7589579DF72F4AF10028E8C5E5B908AC6261A8D8E73E94D230ABC
+AC1E5D0C49B3781A85E047A86C7EEDE7A97991DA25F8F6ADA242D5C84B1E6A94
+67EB1B0902726E2753E5EE29D8B3C30BB924DF363C4E00D6ADC18DFFA35B08C4
+F83240EA1515CBA31B4A01CA17E1DCCEBCA0B16FE5FAAB58A48174C19CD7A8E4
+E312C485EDBAFB5015A7228E657234A9AE42A60F99E183561679C93A799C5F06
+584729B8BD882FB0658468DF16A03910670056AC1794552D91F0A17E906397F2
+1C612F9FBF2EB19D992EC29C3E11863133C3402700E4F6522AC98C552091DFCA
+2060DF6E2566760375050F33E9D2A22583B90FDFD175A503B5E656D959E37CA1
+F699E8250642E37C3115D19D6FC467A809CFE06ED9E2455311AB787E08E7F20E
+A6930F912BC36E83DC0F2283CDDF82BC92B1CE7C31C9DBFCDED8DBC1AF27CCFB
+5679B34D22A4F1D4727AD43F92B274920AAD50646F514B0E2ADB99F2A0CDE100
+1C3459B5106B150BFC4568F56919B91E8739520316053056768ED8C28E783556
+8229CF175FE29F72AC14114CF5D93F6C57A14F4C65FDDA148CA7CA93A895E9BF
+6A09CB837C31F153F9EDD86AF88B0F4BBEFB9242EACF441E092388EAD66F3278
+064D2BAF9298E206CD48AB6DE605CF6E936BD73F6141A8B4E4884A1BA2B819D6
+9BDCA4EBB2BB215862EB665D539AC05C2A83D153C896E915139293672727AAC4
+D62C801A1E3284B65571B08B581781BF273DD768FCB17F2AAA232D968EC19D45
+6CE948CD0CCCC08F17A110B7FCD5755D9B431B064BDA103DC94FB5C698437DD0
+5E31EE2D252296710825294A71EB04C58A21496382B45CF6BFFC55B6276C97E6
+C5D7F17D962490AF81340626DD22F7B883642FD614C9C39C263A5A4CB36B1EC5
+0C7E57499421A7C731A05A05851A2E40B3E5A1642164F9FFD46F74E9530057B9
+49E2E4117394344CA7628A08751261671634230F9E082F71B2B8C4573B2F185C
+EBA617A5A789BDD683A26BA33B584AC029A4047457D560247C4EAE9DE389B383
+6F41A3FFD62C984FDCBBD404E4F93B4AD9FE2AD07526ECF0163BE05A6F30EA97
+307EC94575414CBCBD0B579DC18E0655F85FF0383227D602ADAA59EB56AD5DC7
+318F1D2B4493A8CBBD3D41F037F006AEAB382C75DFB50D0A2CAEC469D4E3CCDC
+84F42CA82A973DFD1C277EB8B5EA53AAD23860FA8C0CBCBB6698606801E0310B
+B6CA330B0C752E25E102C232E538FF160AF8633133DA7EC4222F4026C952057C
+01B950D58628F541ADB9DED497EF9CAE6319F3A1BCFDA464AF0D049E7C13EAFE
+A35EA5EAF44A2311AF291B670A658232C7C66B3DB632C1706208B0CAC36ABBFB
+FBE8AB0D6964C735F1EE1447F594DE31351BCD98C822F48B4A07E1CB62484BBC
+2DB4EDF3099126E90E7770F7DCC6E0344620D3F7364972398D73016879C1CA4E
+377DD28CCBB7AF8F2548B37446979146D001903D0E575D9187694ED0CD46431C
+3B08B93B581E1D14F6FAB37703B13AB93B0F384D496FAFDF5B8F8D58F8ED54A3
+09044EF9455B227DD0CFF8271D075525562C58F035F9214E76CF83BCD3A5E9BC
+5B6C6713D5633C5604C04518B6119A50A0C8841C679D49EC675278C50760A43D
+89B9CA3000F9195A7570E96B3B5344FAA4DCE47794458DC4788F1C9A322871B7
+1618FFAF13E1270B9CC49D6C8EE2BC6B27FA114969E5715DC0F06BCAEEFE5041
+9DD9DF85098A8CF1CCE9790068FFF31F9259FC94D250508DF5806425E3862A9C
+004E762B1884885D8846E92AC77FC1643D67CF4C3E8F0712FB876BEF144D8C48
+B7F731BC9DD1678AA0B99D57EB84ABE91E4458D0045AEE739CDF6E7F276793A0
+EE1C8A25CF08A787A3C33E1F2C6C54406335BFD852C4667E305EF796DF691873
+FEE9933948D71268866DBA53973061966C98DB1738EB6AF514AB437708A4ADB3
+6650B0EF2784D1356EC4BCAB419D870A65C8C76B47EA5D9313F57B18BE475516
+5D88C82FF2B9CB84CECD725D9C45237952389A24ACF8584C9695B84D6705A163
+B00FC442C65B4CC6CC79EC654377C87100286522580F2A45FD5F595B83322969
+5F90906C9D34056FA4CC7F128D288E8D6A63812F67506FD9289F5C09A4E50BC4
+847EB431EACFE122D3CA10F76AFEC873D4BE61AC5BEAFD4F012E5F6BEFED5B2B
+FEDF4CEFCB3F09C6E34D0EC3ED3971B35117B7F84058F51A1E478ED895440D29
+88535AE88827F6F6469A6AB088FEAD5C887BB5986B95E39FE6E2E01FC7E3B80B
+892D353821CACA2B86DF53EFB85ED96AFA7F28411CDB2AC597C57925F67A32AB
+BDF33CCC1D2A319EF9D267513DAE25CFBB30C97B4D72A191192A9748BDC4B0D5
+08F929C62BE60D2B8FCFF339C0D12472D1D1AA7F4C67E59B58C6D9BAD0C53621
+8564F2945C1B80C57437A756F40B54AC20D61B3DEBA4975B795D242E1D32CD8F
+C7C446C04E47326C66695398A7900574A0C9A933018E547BD41C08390E55374A
+E2A526B7A36EF69804613423994CEDD730DA3E7DDB11DE861DE2C55AD18B8FA4
+3DF91FE11648F8E11EFA022953AC78C6DE6EC953FF3E9D6C56D70FFFB8A1EECA
+A9624F970C132C4338CB93F26941C0AC3FEFDC903CC3FF19EBAB992D7465F10E
+44B51FD31325CAD0BBD5AC70E02F1568F499247CCB21FDEEA0A72F5B08C405A0
+C1772C8B2CD8541D4066FFB81ED265061BE85E4C47FE9D77AC501F0085215EE8
+71D441E9126E1F576B6D87003B4983CE57500401ED20AB1D7191820BAB5BBD6D
+DE495CFA488B277FD842A15D9849962043D669A6BC2FC4260F1AF6AA7AD8DA62
+2345F51B73073727A61AD3B7DB9F1AEDFAD985607455C6C434A63B2754A2D8EF
+6CBC7B3EAFD6EADF9F7B183019D7C9E0D67B134C23AA9A4E680D03FB08092DE2
+AA2318DF3A9B64B8E8DE1B9A2D497BEE259A7F892DBB8788D7392B676512537A
+19BC19753D7A202CE365C4BA4E1D228B1544ABBE5D924C07B6123F25D2E5978D
+91D771BEBFD9949C5AFEBFB8A3DDB9155D37B05DC1E0E31D2663D6A16CE5DB0A
+1C87B8D9A8EE291B5D0AA96295929CD4D6BF0E88C890EDBA753748A1F7879901
+819E4BA68D5B264E792B8E6F11D95A09837D153248E7B05F887FA083FA89780E
+1F54D0C6782E496DD13C74812CBB1B76557EA4C094C6304466AE8DCBDEF65606
+E15A5D5D50FFA05B7F612176C16F965994ECC62382D92B949A2A1C11DA8A198B
+C6012869500260B87AC5B8F90C86F2E59B26D82FE850B2C5F75A39887840927B
+1DAC4D69D3542AA43722748E2E6E645BA23A775C5E7A3E76D323CAD2FFC455B4
+4E236C7CD109DD9126D23D554BB312DDEF14B7FAED299F057B62F89F4F0CB605
+A7A826DF893FD503E4E5BBB3B98A52A4649FC8DBBBAC5003A15FD5E0D03BAD11
+1F4F0BC2A9DF317281DF665CFEAA679066404644BD18DEC33ED8117FC6B4B2ED
+F9B078C5CB73A41ACFA6BAC5F1C8427C9AE24C3B6D406943B7F306F258CD91E1
+EA69F3D6D045B5FA2527A06CA79FDBF552F394B530E689F54791CC14C1A18C8E
+91E5CDEB7943B27D42E3427FD9BD27123C37050948F911811FC94C0878BEAE93
+54EFDBD8906C827F6566DEBE5B3A333054779E4F92924A141F0E8A81899C316D
+AD3B53E32CF5E177D13AB847CA600DF9F72E3C9BDC9BD16526B4BB1B295B4553
+30C5C4369E78B168BBA3C565A45B8AE33B2106794FC24A4EA456226B2E1544C1
+0E0FB344B66647CA7D648670E197F740DDE9F250C95BFF29CE077C7705C852D1
+3186BED7E7B3F0A0F094ADEFC7A8584A21408D43F9AAB1A2D8857137FE04B21A
+F0A635E2C95F68DCE021184DCF0A02BF5F63FC60E1403E08691F7D65FD33DD72
+A2A17A875B1DFAE1B77836D4E33292B8C4677D86C901D0E5C7FB38A0714829BD
+3D92BEF9C4B6F6FEA416D54C7DC477B5E758B832542E4FB197055764F7094D2C
+24A83D3A1D4AAB6DFA6E991A9574038F34BAA2196266C854952429BD43362544
+9E19E70D6198D9E51C14846DD92B41DCBAFC5BFFDB0D9C33AFACBE8D8C4F2C11
+82A99B3FA52EF06CF5EDE26545A765DB94504F79F16F9E07E2245F1B10F75C43
+AEF53A952ADD6189584C06E219B0F3F57A6ECA59A79AF0874C48CE52D908A6F8
+CBAEBD764933153FD6AC28D7FC87938AAD47E5875487E29C12634611179E8998
+C8D05B0A3AB1D634AF62120734C5EA3D87857EC4E89BD770FA7D1D986DBFD899
+C86EAA91839D038ED7CB2A898737BB3CFE50336289A98A9C76689B6BCC4C25E8
+71B7F1EC63E7B7B1B528ED5D2CB205DBDD18ACD66852D632A887B977C85E2A48
+174A701D33A229DCD63C2BA164D86482FE1570E312B7E8F137DF83A8FE4D4720
+6756683F83354DD9310A68D49F361B83FAB390030A939D53BF69236252166B35
+3B25FFC9A0BF047BD86158DD8FC94ED2C9CDCC3E258399213D32CC8B35274A9B
+61269DE206594F18973C14ED9E5EAFBFF50FD728512468AB5AB8DAFA46470813
+C766CDC2B84C52260CD6C03B8F9A0B4A5422561C13B67D57D64EBC2AC31BABA9
+274BA92B3ECECE804C40390CCAA4ED604061242B4B1983A5D01217A2E8193E41
+A9342B9694E39AF57CCA2CDF00C683224B155F6AC4E306B9848ECF2F27D0B1C8
+F766973D7DE4300B45104C47BA98560CA21CDFB7C7B615542993A51D3D51D361
+28F67CCDA3C495A9BD153BFA82C9B8BF5D4AE6C2C7A78F3EA3697982852DEAF5
+6C96BA9CA6D32562EF6F84DD2A3AA36F0CB4B6D371105122A8C99FCDF07E4E05
+938EF82644DFEC40525F01BB06B958F787B3F94B4467EDC4F0515C9D69896A44
+2EF69E9123012121EEE3B9CB2CA3F1AD1D07AA0E45
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMR7
-%!PS-AdobeFont-1.1: CMR7 1.0
-%%CreationDate: 1991 Aug 20 16:39:21
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMR7 003.002
+%%Title: CMR7
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR7.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR7 known{/CMR7 findfont dup/UniqueID known{dup
+/UniqueID get 5000790 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR7 def
+/FontBBox {-27 -250 1122 750 }readonly def
+/UniqueID 5000790 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR7.) readonly def
/FullName (CMR7) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
end readonly def
-/FontName /CMR7 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 49 /one put
readonly def
-/FontBBox{-27 -250 1122 750}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5CF5B8CABB9FFC6CC3F1E9AE32F234EB60FE7D
-E34995B1ACFF52428EA20C8ED4FD73E3935CEBD40E0EAD70C0887A451E1B1AC8
-47AEDE4191CCDB8B61345FD070FD30C4F375D8418DDD454729A251B3F61DAE7C
-8882384282FDD6102AE8EEFEDE6447576AFA181F27A48216A9CAD730561469E4
-78B286F22328F2AE84EF183DE4119C402771A249AAC1FA5435690A28D1B47486
-1060C8000D3FE1BF45133CF847A24B4F8464A63CEA01EC84AA22FD005E74847E
-01426B6890951A7DD1F50A5F3285E1F958F11FC7F00EE26FEE7C63998EA1328B
-C9841C57C80946D2C2FC81346249A664ECFB08A2CE075036CEA7359FCA1E90C0
-F686C3BB27EEFA45D548F7BD074CE60E626A4F83C69FE93A5324133A78362F30
-8E8DCC80DD0C49E137CDC9AC08BAE39282E26A7A4D8C159B95F227BDA2A281AF
-A9DAEBF31F504380B20812A211CF9FEB112EC29A3FB3BD3E81809FC6293487A7
-455EB3B879D2B4BD46942BB1243896264722CB59146C3F65BD59B96A74B12BB2
-9A1354AF174932210C6E19FE584B1B14C00E746089CBB17E68845D7B3EA05105
-EEE461E3697FCF835CBE6D46C75523478E766832751CF6D96EC338BDAD57D53B
-52F5340FAC9FE0456AD13101824234B262AC0CABA43B62EBDA39795BAE6CFE97
-563A50AAE1F195888739F2676086A9811E5C9A4A7E0BF34F3E25568930ADF80F
-0BDDAC3B634AD4BA6A59720EA4749236CF0F79ABA4716C340F98517F6F06D9AB
-7ED8F46FC1868B5F3D3678DF71AA772CF1F7DD222C6BF19D8EF0CFB7A76FC6D1
-0AD323C176134907AB375F20CFCD667AB094E2C7CB2179C4283329C9E435E7A4
-1E042AD0BAA059B3F862236180B34D3FCED833472577BACD472A4DE3E3F6222F
-7A252B780C86447859579C68E52691E144F836C1C62F19A12EFB710343D33262
-1F7955FE5C37074CE5F9C7ABF1A241078519A4D7913A0AD861E0E357B50FB730
-E757C0D26390E6028FAC61EB0E9414716AC8406A6E35DC70A7C1AA524804FC8E
-985CC3604A2BE0A8235CC895B2B33CB7EE85FE4F2CD817BAC3D27ADD295D0A0E
-BC0E8D849952BCA7325DC261A785CD2305BC377AC61AC5E5B2CD3164CFF033CB
-5436B8000673A4D763ED26273130702447C75A774C7799FB8C3E54A2E34D1710
-CF7883A9B05285C7DF30F314455A4428A5369D92C0348D45BF4AEC5E16611D16
-1E5EF015900F4DF63A58DC233BEE88417B204DBD110AACD1DE3D750F9C
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB981ABA2ACC9A23A5
+3E152596AF52983541F86D859FC064A0E3D5FC6647C3CAB83AD4F31DDA35019C
+CDB9E3DD3FEBD4C2B36BA3CF6E6C7DA85E25D8A31A9BAD39BDF31FD0D1790707
+9DE6A078E8A409D8295F642DF492AC4F86AC84383B0F4C6BAA7C22AD5A898A71
+D6CB34D2CD12266C486B75E75A69C14819DD9BB8159088E04D4717E576B8482D
+BDA52110AC8B8A80E4E9D58F470EEBD3CF44A1E1EE8DA318FFF3611B02534FC9
+F4018C7C57E80570D2F634D98BE5D5EC6D95051157F0EA94A3D12BE0B4B79939
+F82F8D73136D3337C44E314B0B16CB030D9A12E01FB667105F334C3EE965E5A3
+D410D2F1531547A4497C355AEEB295CD3C5334BEE5232992960B757594B89F3E
+52095042DBE6B4DA3C3AD50CA95EA9EBADA10630B500CF1FCCA7D60306743681
+7E428D33B7F7C40B425CD58E4CD8AB474BCE6A307BC6C6EBC15A8A96E0E2977E
+A33389154536F5C5D8CF036D07F24094E779E5ACBE5502C92892F10F4C6DB627
+C7EC4C7BF20B39418A8A85D7FD9B0EAAFD871DDD41F93BDE5FE619AFB8711824
+DE890E62C1969A6FE28DD3578AF43D58A728FAFF0B9FAA640962C8F35A26F76C
+67F3548D6DB54A25CEB368B47F97EA2B0C4D7C0E7894A4F0C823C6C1922CF9DC
+10E05600556F1C7C9AFB33A2DB6F8730F70D6BF94B1FB0887451F2FFEEF3584F
+DFADCFA9A2D4846B8F0E51620E1327D994CDF973B837D10C90FF76DE22B47CD5
+EE3183898D156861AB4DFAD34A1E3FA260B8164E6680BF58413A553E88F6100B
+C4F4E8E972C81A5F88A7DBCDC308B4C3581BCDE13877B976B1F84330839FE5CF
+C78551620EB803DF94A5C921F8EE24F7EF8FC4C3E1653514212631F54F90E3DC
+E9EAF96E998F340C4F729ECF7AB430FDB7C0BE3DF2C0D23015820E28B743CAD7
+7F0AE95413C3EEABBC69E852F53EE1DC260D7F1E712BECEF2F18437DB23D8E74
+2902AAFBC733AC5BAA452DD6F3671859AD836C8564E99CDC4183D8495AFD99D6
+1F0D65B6588CE7546717911E25BDCA6C2649E3A7466A3E2DA7C7994A30AB4449
+672EFD00632EFA8629C1AFB7D53D801028F77C864869FE636213A69173003EA6
+BE1ABA95EB07B13D1594BEFCC95ECB0A9CFA9892EE0677D6B6C250855762B7A7
+8E4E022640F93169DFA0303A0D5E73BF3E0F4D4AAD10FD7E4EB20532BA30371F
+E9F480F9513432946F9828AFB5D4AEAFA5829B2CB544E5EB634C4537EF7DF08A
+A1CFD94A52DCF0E7CE4C5EFFB01E6D50558B75DB4C8D5512B06080F27BE62E01
+2EEA6A0357441401458C842D3DD4C35B8F561D816B336216CE0C14BF77648AF5
+E33912CF95872A1E1AB9A18980A0B29A881D13397C15E1CBA5D3E0B27943EBE2
+F3003D15EB446BCFC1C231832475D5B7AA19E4CFDE119D6CD62D053C6D29C333
+5F729791D17B3F7108074EEF4D1BD101CB33E01004532CB0D716D2E54D169C6E
+80163E70C0E9081F31A1ECBAE079D2A518B790B0CB2CD03DFD034A0F4788E800
+B0CD2DC1FAFDD487C2F381EBAB2A2F3F3AF82021B211DC9CD2FBA6A1BB3D4AEA
+4C7F3D9A5C21DFF284CCB827D205A69638E98D5DD8E36AFC1A4481B5CB2A2E8F
+D6C838DA6F81990F5ED928DC7457501B5C979FF4CD20A830896A460C5DB13D56
+A3B2B5D9B292374A9BF392894DD99FCD6A1E655AB395E839F074D1596488700C
+4E2891C8AEEF66568E82A8B826F9A28FF84D4D9BDA21F638EAF96880B4EBE0D8
+081982F34831A03BEE81FC177700C2360D2A48915EC40D5FE85B400E175D5AF1
+067FA0097904FB647757BB44B4042D30D1557BD0F7922D731142FD682139CEB7
+58CA4C8C240A0B86B1888CACC507E24E04020BF1882BD9B4CAECFA97DB24D7F5
+AD64C69454027F198BA35881B94EE9159A2D73E450C3BDAED66B886D6DEBC84B
+653E165176228F88993F12A170775A8D7038BDF2FE8DC1F7B98BDC02D1E6686E
+9B834F6C0AD90780B17DFE25F0A4E470CBA84E73F2D22BEE09A040F14CFA2C14
+0FDA5A5149B5FAFFE49F55EEFC43831BC43A8326FEE9C7F469C0FC3B000884FA
+41DA7318EB57262CB96FC4EC7F16CA07FE1C3BE8C2DBC8A8135953D6DDF20BDF
+75A2B6D26074FCE752BD32FB9F5CA797775E8DB9BB9786B469A3CD65A0D9DDDA
+C2A166E454A94860EEF5B5C12172DDFC576A03F6E6F8A735FF21A3E9CCB4CAA1
+3064893487697986A42CB5888B2B0A79FA3C74E8187BDDF7BEAB884B70B8D4AA
+AC6615745AEB906E08BF831CFDE222F58D02B428D55E9D5A3CDE74E42D8A2CB7
+E1A3A9439B678AD438793ABBEB72B21C58981DAF3EDCE4BB93D95F4A1E943BBC
+B3A012DE92FED4F232A3A7D60CE60B605151F9C7C18A5C653E5D6D15E5B49A63
+73E7A339504D0ACC74B8B116EA88C3EBA2CC631AAB29F761E5F062966AD2FD28
+7FFE52FA8A115DBE23E471094FFB3CBAFBDF11B7E9058313F2D069B2CE98A962
+64645738F02A31E2F2AC11628724034ADBCEE012721EBF0A567893411F950410
+B20754A7510D041FFA6144AC9CC46D846B82581F20BBD001D34D9764010824BE
+61C30D05E5C5D100A24F1917F01799CF5BC4E50FCECFEA732CB50196825F0E08
+8A1EC868C6D4357857EE2957E081A0E4372E31A8ABEF23C3F2EA0FEE57DE4D08
+61C570175C41AA0C7A3A579ADF593F18B4AE3782D2552E4E0759C32E059EE741
+2D8191E381731769F6648B3581CAF11DAE46471896666F18F02918B0860BDA3C
+BD5DE777672447C23C62ACFC2611ED5239D6A266FDA6031EBC5A530C1A2FF7A6
+B4380B9A4C877267854AD1F1677CB5433F28894ADF93D39EAB94541A8D232E08
+22D082D0951A60F62B87DC028714EC74133A4D65F7D0D1296C0E189C4A42AA98
+28E8AE7ECBB9FC8DFABCC6EEB1E9FB06227F90808EF31331CCC5D4C9A6182181
+047902DC9FD0444FB94B60FC74F3B677758088CE6A159D940C5CF682335E756A
+8BACF06AD7225D49B0002392C889B0FE2C71311D2596F4903D12FA20BA2FFE25
+A0804B4BC282929BE31E0F46B34532CB5795A65218CFAE21F390792DA67775C7
+B91A2BF4C16DE4F6551DAE3A5827F616BE9040EE6B1008DA2F99A01EF66D697A
+6CD1A44E0A15D1F39EA8025E886A68A1E9C334327C7703EE721E497CA924AC90
+7723106D913C5ED4BA4FC743CEA8D0F5172526107DA65775C0B1B77179D336C2
+9B09B608D80B1A1E87CA1A84A833A00D980D919BFF56F6390E9D5B45E9935CF5
+E69D003564462F750F7DCE02DC23CC215A0696B74D8BD3156A392A94F557655E
+00BFAA035647568ED66157FACC585E411F7F428569C147DC43F6E4FDE693D0F3
+9917BEFEDF61FB980B85515FF6424824E2D995B05CA1E5D3E8BD8D3281DB7CE4
+E54923E84058FFC0A8A2C491327D0F87CE4C352B724167CEE224DABA3B95757E
+4A419594BE4F92E78BA6D35D4C93D31ECC3134B24A45DC32445725BB044F09A3
+AA8C31EFC0A2944ACE2F2CE054CF24DB350FB3C71115518C24BDC0F7E54250AF
+9D3378D38480E1CB9029F31570C619A28F065CA4FED5665EDB96712ABEB33B9B
+4232C00C1B0215F08D53F7E430887035AC25BEAF06942FD1B6C442253C887AB7
+D694C1A6115C8990B4CAF1E81DD1FDDD6B03C00055BE956BE7FD8A4E1049AE69
+EDA8593CBA8C4A41E046C689FBBF9F1B64E5856A7FB1C61EC815A56DE2A8ED33
+41F370B8203D4E5B19C63AE9E6E0D26F4F3814B5AF48AD30EC9B8402C941FDD9
+722FCAFC638FBB835F83DC77F93D367266FA7DFFFCB567EF82B1695AB4D94D09
+B18AC041811027229DF431F5CB2BBF6ACCE9D500C8F075A74590641C1A607C56
+D2B8624797BCD9C91C3177818691FBB4744EDB6056464A0B95B8D63F7C22309B
+82D6126E2057BCC9FE5566D96B7A9B201A09B0D3252A5494C8CA2C8BA8A13C29
+37EF2A882D61DA708C279F663D88A8E2999A0F3B6F98C49901A7631BF7708B67
+54D0B4C52BF4BE0DA0439E6763A7C9D639AD4092E77B13D3510DAE1475C978AC
+796F9B2AAD3BFF35C5A3E19B5E2BF704B3BBDF68CE48BA4FA2496D60E58888EA
+28AE12D00E9F0816FAC190590A865BB58569A91BF0345D01230ABA361442006D
+BA2C90EC2036BBAB79EBAFC3F217DBD5854C519235F9627A1C3C71D21ED38AEF
+0BB40F3B86BB9F09A3F309473D8757AB7E638DC1C59A7F9BCD49DE4107A2E54F
+422767FB94048987847205584309397F554744690ACFFDF5902FE5DB355930B8
+71863217830DD7A563B0B3A4025ACE75B0E777B4414B62A13B50C54E0E6D47E9
+D43BF769B9411B74E1069BF71BA873B4B8973EC9BA492A5DEA58D267872BB246
+10AA67B143D0E2223FFB4991E583E629413CC894C3FA4869B72D19CE1A0CEC8C
+0FF5E5A3EC1FCB7D3C4289813F0D249A11B55104BD60B2A89BEF44CC77CCDA9A
+065B8B83B4F4253AA1D535290DCFAA4773452D110D2B3370F9E2FE5432B54A9E
+644EB3BA9BFF62347F376839024CD5EF3C5DFD30F412DD5474B7933E6A1AB63B
+4B12F2417C72D0543C26A263AEA53E5BAEBD67E23553A72E949DEC556BEB5D09
+C4D7A89B14FE4EC68D0E3E9D65A64B285E53590F418EDA8175113CA375A29930
+DDCF4C71ABB26CEB800C2C2B253AC1F53651C88A56ABE5A74F3B54CB4FFDDB92
+60AD7272BA25EC2F6FB759AA6E1E7964FB55AD09F4EB25DE45FD01833947BD05
+6266AA8ABB7DD792941C7A070FCF3A4636FBF8921C70298D42FE92F079DBA2AD
+6149D9CF9EF7264DE6DFCD4429949B15EA90B596340713BD61926DDB2BB23BE8
+F9DE38A31620A817420A245946E551463960A8C5C7295E3B3D6A59BCDF5E472A
+40B7A2CDDAA43CD8AAFC411D037142579D11054A903E102DF0D0C7B5BB854DBA
+F3F086AF991F7F5D5C730F8F9AF213F25786F3EC0E54530FF912F4876FDE16B6
+A07D0DC4FC46EC6363BCB68B83ACC448B801EC43FDD2F8BE0E93D809FF81E38E
+176AE17C67C85FEA58EC95435434C49A950AA955D8B20989C550AB1F1C31B7FF
+99422E1F48FB7D6F327C6DBC4695A03903DB275B94CB39386E46579271870A25
+21823E75C377E9D5B46655E8CD8F986372CF8BA846423E26582315A9D19E0BF5
+305C32B2A0EAC3ECB275B1D8BE11A37ADF524944219D94EA2C5DBDA768828B6D
+775DA8CDB09E0570E4ADDF462EFD8D3FA3F86B1DEECDFFB699AF6507257C1879
+16FC615868C2D51F03CD57BA38D42995D9164B257441210084DC409B6EE4C119
+0B2E17B0A8D5326DD0010E4A325D5F77BF935693BC90A00A28C7B5F74817DA39
+F47A41E32F4F92AA04D30D810F7B1484EB53AD8CFC8CE8928B570314E0F713F8
+AF127227190F9C16BB73D2A217FF801C391A29095DA5E4974D137A0CAA7DE702
+E20DD4755B1D78739756A5E7EC3542B96AD6844199FFA2F5F2E9C64E2DA4FB2A
+ED79869F745C59D235438251BC2E6D26112AAED20E06021D1AB896EE1F1DD2EB
+437FBD4A25E42245C5A647493FCC9922E6DD7AF57D5D482921D1CBD6F0F02949
+C27777144751C1E72F4EE2BC343D4AE7A8A8758123B54FB1A026144C643651EF
+0907A376945E19A8FC7F98A034832A5820A481B0823F980F59623E0511593FEA
+BDE6EFBCC0383242CBD4954027B075B21F10472059A480D6E5ED01C3B07461CE
+9810251A5C5643EC7403130C2246E8616CEA25EAC7A0076731FEA8CC43BCE3BE
+933FCE61067F5FD402E67E2B9DAD954AA77C5BC86BC5E4BCE2ED676D8D8EC7D0
+ABC5C86D82180B9D5D7451C71B5149B6B67883578DE9909317928C0A92E3205E
+F23015400A1763A6FBF67FDE3318AD2696685A1832FC31CF38589EBC7CA1C818
+60D2B2211E04EFCCEA88D9A9082E82951EEB123924A267CB03C48889032F2892
+4227E217FA28F87E01CBF27BF1EA60641A4238258CB7AA355908FE36D90F5CAD
+FE992D03A33E47CA9AEBEFDA57793F39DC6A9E85D5B289F6B862B35DBCF82E43
+5CD6A862F6FFAC36478C384C3BDB0148CB1FEDF55969C776E77917635B5A65EB
+F2AD351D21CD3822D43289FE8EB0FED58182997097C7E9F4373553AE1CA92083
+EDE3BBE6C3BC7009D15AB5FEC6A59E9FD1BCC7B2099CA15FEF083B9CBF7B890E
+CDDDE6BA0AFF306C76500C945DC91BD533FF9A585CEEDEF79238C54E6168001E
+26FEB29E523EE501BFA4F60B782B1499B07084C35A2434B4D29D3D8E2C8F945F
+A9922443B68D07DF7EAA1F4CDEFFC438B597D8943E231B5216808A85F30EDC81
+9DF5DD22F54A45335B4C2203887475F39D247F0E7347BACFEAF220ED82F9263A
+6488E73C1910023E505FDEB143006C1A351D441AC57F9D52D2C6D63D78C75605
+999885676BBBAD56074298E0BFDACBA1830BA58E87F436CC670EE8EB1870154D
+72DDBBF3794F8CAAA3F1E11DE29752DD99EAC695838A19BB67A1FA3829B6E0BC
+5301610A0351AAA749F456AE31ADD87D6ABADCDD1FB3CE81C3713F48780DF407
+530CB284B2AC709F52EE7AD647DEF9FA4D2A867CCEF728F3D40CF34C28D21527
+10160B3DAFB5FE16AFC9D36C6EC4021FC189005862082BEA60AC72B63AD27D72
+FAF3C2D89DA2648FC4C65104A069212D87144E8533CD86A6D73DC7CD9DBA25CE
+7DA53B000266F3871B24663C77723703315C5E4A89DFCDBAB384AE7EB2F455AE
+AB191FED406F7F6EC9E5B8276EF5C4CBA041AC7E8BCEC7CAE840154BDCA3232F
+15711ABD1E867A434E9787CA0A6D1F197597DA27ED2402CB2D84ED082E8D3A39
+81E6EB270DCA4E7A90E2BEBD3CBB3A2BE3CAB926192D7292CC16845B6399A543
+BCFD224BB52F21352732DB5154FA3442733066CDC3E186D8AA97CD801DFBE43A
+116C86889BE198DA88CA978B8C40ACB67E8F7BA499DE68A6FF0DC72C3D00BA1A
+B378B39610F15CA026F95ED8155CE3FFFFA2E2FEB352DBE14CEE1669F2387B70
+55B91185FBBED764266215D518716EDA3DFC9E5DB6B148A553E75AE5E38E1CFC
+6EF47B314D54CF24BC13856F4F7C976BB91D143DE32FF49BFFC87E17885A1893
+BA1B8E441B08EFC04F7D103C1FFBB665194B3D0920473740C55FB1C50EBCF717
+A2359B687FCEAD65616EE89A68F8D91AFACAA0B238EE4AF0279AF5BE5294C3DE
+A7E1F5E6248C0210E7D40683F04B12A933C746ECB517CF94BBCC6E4CF49AC715
+D8005AFECBDFB7A6B417DB8A28F8E9EAF39CEC1CA64DF37A5E66A76C26F721F8
+A63B003A040A62F87DCF61B298F960D510BEFA453F118E59E7DE8CA3DD002EF0
+127EAF733D5C61B5132348D280F84D159809CC71A3C6F7373BBFD8D6EF715D34
+0016DEFF14AA5F960BF1BB9AC304A1823722843547BB4CA5EA4C41C6C2701C8F
+7BDC810443F9DF34BA469A3260009B799871BAF8523C8763544DCD0B382D44C5
+F75046AFF85F0B5A3188C2EE786CEEE5496A5AF4BCB0B429CAFC403FB983EFE3
+61FD9F52ADFC38E07A0FD7BACBA530D2E4DAB2592AA9564843E7E2305047F060
+C5FE4243FA8FDF1B5D4F61ACA7850A604FBC6D6970959752695C90F78961B4E2
+C8CFA41082B1A37405AABCEE5BA3DC2B9EA76F486117B84728EC6D8AE6379CCB
+402C2AA89078EC992C00D53151E9D82C65643F549A572A20F05107A41BE5AC57
+8EDE92AE20B05E2D0C98151CC92D5389A675DFE39DF546A33A84A4C534337ADE
+B17C34E09145B37CE1EB1D10D42CC8D6E6B127A3809F7202381FDB88D42084CD
+0AEAEB8A8288CB56870EA2BE9D0B9DC8291021CA561E2BA388DA3494E433E0EE
+5E69DA51D0AC505C9F71562D3E9750F23CF14D2C8ECF0692FBBCB4A92B48B4B0
+AA2163A447D5FBE86D961AE4D4251149F11C4BC269E10B48E8C42DC2484EDE87
+6540CB8A5EA2494148D09CC9D5014EB73C29368A3945AAA1BA4C17BF640D2A0D
+414293480FD600A77D37471828C4645C5A4AC4729F4EA76FC946810B4968EB0A
+719D8F3E61D2B740AE9A33E9F02982A13ED4B6ED0C6C4A93A9E9EC045D0CDADF
+DC01ABAD0BD95692907C04F06F06F1BF6259C8E71099FB64B4FE263D06C5854B
+070C8B864D8ACA6EBF440DE14DA34A2A548C9F1557C70A4D718F4F881707851A
+6DCC39BD8791D806F5DE551CDF8612C7EE6707D554CD826CF352CA634FCFAFC7
+232F32B3F0EE3D2577915BEB212005E06625FFC9F49383C9C64F51B6541F6AC6
+12D2359547103898D05E52CE54B46835
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMTT8
-%!PS-AdobeFont-1.1: CMTT8 1.0
-%%CreationDate: 1991 Aug 20 16:46:05
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMTT8 003.002
+%%Title: CMTT8
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT8.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTT8 known{/CMTT8 findfont dup/UniqueID known{dup
+/UniqueID get 5000830 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTT8 def
+/FontBBox {-5 -232 545 699 }readonly def
+/UniqueID 5000830 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT8.) readonly def
/FullName (CMTT8) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
end readonly def
-/FontName /CMTT8 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 97 /a put
readonly def
-/FontBBox{-5 -232 545 699}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F0187316F83DDE3E2D27FCDF6C5CE4F95B6EE
-3317BD91B7921F3039DD35FEA387D5CFB6C6E9DC84C178F3432994FC7FAC6E5A
-ED41A1E2EBA350178FBFEB45944511731BA827167DDAC238FC69A5486B995477
-C469E2E27493B0B711DF8E267D3D5613B450011921685147114106C9472580BD
-F531022F6DF5432B2A4EBC51A8032C7F9689B6FA942D849B29709631613DA68D
-4DF7B6F059A19304F40A3C3580CE3B51D79D42984194D4F178801720892FB6E7
-61FF43C63F9256B5E9F4227B1378222BAAD4D52C77462DF01892220E11129C16
-6C9E45BB9F01ED7C1AD5D8B4D72BE0E12969AFEA90FEF170603CDB91CB243173
-B19A56084D10293B80A35275F41BF78A054DDC98F4A1FFF592463D944960FB31
-6BE5F03960F9B1F213CBCC7FD448657FE388F10104D42B0715FC9571CC60CF23
-C72560CBB8835A0CA208FE06676B3B48B093CB7FB2C0C53AF17EC5B372A9771B
-BFD52FFB7062B4FE0106A01A2A1A1DD4EF5C8C7623EC9324A2CB3B402FCC1FCE
-52BFC8662F8A39D5F1B41C97E7CE34E16AC28A1E94007AEA7D4C519399F1B7A9
-48FA7DDB671067244F09C29F95DD60668223F45BBDA8B1C452E930A9F3F341C5
-351D59EA87462FFB30277D3B24E2104D4AAB873BB2B16DA5B23BEE25BE2C8128
-C4CF2F4F438A4E520CD932BAC455BF8775C27AEA6C73EED3EB2F8DB5E356AE27
-41B35C8AEFE73C4CD6A591AAE4F45762EBD6D3636C03F08C552BBFD0A13D11D5
-491F8369B4BAB8ED9D6F1DE7DB7AFD383986C4338D3AA71C9AF2B8A0955CFD86
-0345F16D9798B25156DDF826A7CB6A0CC4CB43078BEBD3E499DA95562A08EED9
-7CA27B7A0CE3FA7EBDAA87A601B7CFD9F935916FED5048313D1B3A9C69223314
-19C61BD2DB628C4E0DB5300B61C5282A4B81A78F7CA59895DA00F3AE9CB57C4F
-D9A1484BEA0A9EC07E95A5092633295C1F84AED8C6385AC4F1FB14658964BBF1
-7E971BA26F87A51CA5C602BDA3E6C78B27A51954460E2D77F524470946E822AC
-564E1CF430C883E4CEBAD6E1917D0342007216C06F310B87F6806E3066690694
-08D9218C6D2D54FF56E4C315D3F55E1B1AFB671BF963AA7AC0A03400B2F8F860
-A03642464D1AEE2256228C156984FE524B4007DCC1ACD8EA90CEC168BB95A249
-70D7CCAD7C06F230544279CD0F003857D5143BC3C2AB7F98DFCCB16E595F2213
-E30BF107390D67C478CB27B9FC1ADC13FCECC7A772797EFA0377DFE106503DEC
-ADA04FFF9CDD4772707FC10F0162E7F0E071EFE3A7E30CC474E59FE150B50E6D
-DE6A60E021E23240DACB1F
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D06E82116C79486D8
+C5C32DADDFCB2CBD26FE85FFCB176AA09FBE325434B8B9D358B7C180AEC54F8D
+24A1AB4D5EE5375B963A221F060453E01768F0A398352CB2C76E6E70BA017570
+BE1C3D3A86E803B10B506FD9DB49DF5CC7BE17133234D7BE9230BE8B7481B357
+08595FAE04D04B14C633C52E303B06EDEEF7CDDF20F34D7F08D991DFE2C4261F
+298E0A818EBFF29D3B29D1D0CE2F071B49B0622F65F936F6C1D4C6AA2860E56C
+9140A4FA23BA31888345142DBFA79825662511437347767D4A13A976FCF67EA6
+7882D7B391B37FC1E22787E484D19BB252C4D73AA3D73EFA5C6341CF6F127033
+2B91079B5FF8A164666CCC65D0002EF7E374098745C84E3037324B4248C5385C
+FCF0539F8C04CBC52404BDC6ABD1474617D06377A69F4851838F462E82A86BC6
+F8DB2E740B5270AECB0B922D4493A75422349138B539B6067C040F3007F04191
+CB545ACC01B4F28AF811266260FEEC04057287BB5C26C077946DDF23322FD99F
+2B3DFFB62AB8BF12000AA81ADAA6A064F9C34D5F36CB7F66A5EEB7B494FA1AAE
+32B380163AEE08F5BD270FAAD8DAF0CC5B6979B8D4FB6AD723E011DCFE119092
+D1025BB62280B745BB0FB140E82325F1FDFC029100F922BF206E5527B7D8F60C
+3F3E3AE2184CB954391D10A1618FA0940F12159167494E29A46125CB911B19C4
+97B4DC76FF53B7F79E380D7375FAB6C30A467E02E48BA73403D3900FBB440C9E
+951C081C8D5E04DC0C8E1BC7D552075CC360B7D1007367C655069324713715BF
+F8182AEB6F401A1F029FB3962BB3A0B2775979FDFFD834D5559EE20CF54D7D91
+D93C5C0B1E4BC9C5097DA97E893335D6F25B0215755AE271340453DCF8252782
+8607B0F972DB969DB772EB7BEEB185D4E20EAEE6BC04104F3D484B0A702514C1
+55113C7286CDADFF3B72732ACEE29B3711F5B1AD864B05DC35F1472686B200B2
+3FCE6AC13FAE056EA1993EC64BBCF7A0477903CF2F3D58BD5426CC64C9A6BC49
+F41ABD24C4CABFB9769EAD51191410C4D8EDC60F0EE5702FF3AF9E14ACB750D9
+8062B2D208E618459B7CFF801A19CD1EA697D9786D901579C497C3277CBE65A9
+606F8977813CCA03C91A43B254E4642655FC85AC4F1846F40C12EC9D84B65048
+F288A4930B5718ADCBE9693946FC085B0B7B8F0A78107BFDEFF431736BAA421D
+CA836D9A7521F66B140E49D55E2BAC0F0CE27709AD06E535C963EC33384E7307
+A94769B4EDE9CE0001FAB7A0D9FB3DC22B07EAAB04AAC36CE0DF7B9BBB53E2BF
+651A22EE851F2F6729A0532C6B7C056991E80F1755D0062855ADE2EBEF7F86F1
+0D4E29DA22849F223CFA8DADD219996CE79567CDF9BFDC150EFEF8CE36CE0BF7
+488D9DDCF32A977EE94BE881A44B694A5B0286AF7BC53A0869210832A514CDFB
+60474202B8BEC4B4EE01
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMB10
-%!PS-AdobeFont-1.1: CMB10 1.0
-%%CreationDate: 1991 Aug 20 16:34:36
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMB10 003.002
+%%Title: CMB10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMB10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMB10 known{/CMB10 findfont dup/UniqueID known{dup
+/UniqueID get 5000761 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMB10 def
+/FontBBox {-62 -250 1011 750 }readonly def
+/UniqueID 5000761 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMB10.) readonly def
/FullName (CMB10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Bold) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
end readonly def
-/FontName /CMB10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 50 /two put
dup 117 /u put
dup 118 /v put
readonly def
-/FontBBox{-62 -250 1011 750}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
-7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
-77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
-2DB0E39996C010F3024A5A3C69C8485664A4E3AA81348AE21A30280D0E3B6542
-A770F048F31907891EAB8B57DC70FF775574D6CD26B8AC9C3E64C3631325BF0A
-99AB413BDADAA3B51A3E168B03A856EC7D346A38BBB0A2700A23B2CA91120B9D
-2AA5BE5A359C60CD78F055253785CC9701F5D670ABE4967D74838C3B267C6563
-C9651AC41D8684AD5E913A5C9C547CA225A74782D1AC62020FC38E29C356950A
-00E8F2B0752CDBF81EE4ACD59BDEBBB9523AE4764B995855F3A401EB4B04EE56
-B10758196CB661448A3617B83CA88C41756EF131CFCE0C968B94B6C69AEC1E9F
-BF8B21837BC422D766B5089D81CF35A807394A026FE3160580695B1213968D90
-8ECD1611E719A871E15C6085A17906F77B5B2DFA6AE670976758E67F8A4FC362
-FC7299D85ECC3C0BBAD4649B9DAB4A2FB248D6481CF0CCF274634D37A5AA4DDC
-31F3138AAF10998FD66F3817B77060E71C6D8F17205F9C098D81D952E0FE3831
-2264C55D73215176470D8D75E7BE6E44514984B9D20208DB3ADD4767CAC09D41
-9C8DAB6EDF4FA1AA2CB285CA28E30972B3BFA4F8600DB9216487655F91CD091A
-DEAA34823397C3D1CAF14A0F016A4EB2A2238881A285C0A4D2850F1D942637B2
-A6BD6CF81D1A3A8B0E9ECE37710AE059A3DD5D5236726BF6EFF89C97B4E1C735
-DBCA03EAE44BFB56C90EC7472FA83DD86D63E9FF50ABBFE1FC07FAE9ED061B73
-6B15923CAB0A8F3DCB7C607594FAA48BC5D060259663B000B14B012FBB1407D2
-626F8CAF1E097ED3B0D6C7D927ACF3383909B4E85803546AD4388E63D83DF79C
-0C8ACD827D22A39B8E93BC17909BCC7F6684F7AFBB6561C95BCABD7CBBF0CDBB
-02C93EBC8CDC004674B88AD2DF1544043B9DCF51FD29A231D000205EA2D062C5
-117DCFA64C49ED7B297C41DCE94DD83B8BD28C640850479DC7D87F5BC5BAB130
-4A2A3707CD8A08D86A5A482F58A40B944CABB6692C489AB9A0FCD3225D134A52
-FB1C1B80C42A64F42AA0A780EF316A27F461DEBFFB5A33B9E83402C1177A0066
-9971FE6BFBB0E4A1D32739BC69ED830C63BE1C8DF78FAB37D82A34CA9C98715E
-C9EF417F7407A74B920CD71B37691A6DE7947B8035068C9D741C87D691A91097
-423B9AF5111851E0F5F7EF5EB6500F716F675B2742F2EA6D8BD044EBB1652792
-A5D763717EBFAB5B524EC2DC159E57ED0A3C18D7CC204D30B501A8E2443C451B
-D32376EF7964C5841425EE1BB5453F2915857F6C6F969AC2CFF51EB350F6A567
-2833D980AE73160B4DF681ACD32F15C64D2AD896CFBC876C4D08E99C2C44E132
-830B7DDD3AEA94344C90FAAFE4EA1A907343F08DB10F5257FEEDEC9A52D9F0BE
-B96317024F1EF27DAE0FDF09038ABB642A191E5D3A1ADE30948CF6B2AF833B04
-C141449022FC87792B47D8FA8476D9334CEAA98FDAA6D386CF2C329D94008863
-546D6870DF9DED5805C4580784171E5382B8FD3A6A04DBCD038C6CBE4E014AF8
-A9BF9531267B3BDFFE4C1D5280FAE6EC1D8BE45AAA1A6B900D9E5D25AD8DC6D5
-62DB0A223C909E2549B90B6E565CBF3CCB7DB2C4643FB506B43AB1FE090B09DC
-194006E6A7F742008CA8C6B01F8F382F5E5D44A5EE43CE11655A844D59A4E12B
-B2D2645ABC3209A73C9D6643CE6C2517CA5E032A202E50EE591D967A90BD20D0
-0186B595F9ED7F3737A55791A390CFB1A0B2D55C19FE04E24C584CC17204DFAB
-5A1EF4CE19B751DC7A867222A1A1B6024C37B8CB2EADB32B4CD4541AD8A789FE
-CEF1987B972042402C340F87D71B1425C4F243F48483F6C6BDDCF40C95DB0C0D
-BD28FB223279B4B2198222E535CCADD67FB7BDC49DAC65F113C28A4E5E4AAB24
-F31F5D5ABB9ED9F9C43590EB9AE572757A105A08E3C92CB5963A7C394678A072
-51CC8F317E8999B87951B0861C11AF617165CDCC6B085FCEE3D30386FB150704
-921F596935BEB40185C46E0BF6988C45EA04E5FD4498AF6D61BAEC15E51FD8D0
-3E7D76109BFE11393AE4F0A258A14DD17E19A61BBC9FFB955264A4CB9BB79C62
-54F6138B2B84595444AD38300F8FE57DE807F46BD7466B322F17AACC9DBDBD3D
-D41AA0394E5BBBF6E5C1AAC13B05810EDF8557CE10493645B6428D00C4E3C1AD
-E192C93C7477A280D33E8F0E0D44F967C414DDDC55B27711614AF630EA7A0ABA
-813E55313185CBEED9B09712CB10533692B95EC02E62F1AE522320D1990092C0
-32ED313F4CCEBA412F4C4363BCC5B05B6A22EC53D6DC9625E6A1B5F9718E0091
-557FEDE52D760F323E4EB6A770926C437BC8CD83A668477B3F330273DDCFF83D
-2EF231C7290C43A8D092DA2D47E0DB51CEDE14CF12C6C6B6F1F0B713465719DE
-E779705B06A4EB43F871A992F9B5DCF314C34C2785B967D4DC46654711E44823
-5E0EB645261AA411DD2CBCE6168CA437B780D2BAAE6CC670837830122F28C4A4
-93C3BA1E996FEB5613A0A92D97C7466FE9EB5405BA6D100B2E079B8856B845E7
-C8E06F9DB80DED33DF5DA02DCD8DB11D5DBAEFE7E9A45F83E570E8E1FA115DDA
-C1F7FB44C944710E77E669A65F6F0405792F4D9D0173864CDC589C6570328987
-E0D7C73A9D9AC181D54C9A98969A3014C073AE433B60D6CD0D17CB6DE11AB4B7
-52DB0735076E292480C39B3CC197C042AFE54E002DC4534785847750636D43AD
-78CD0A0FCB785E325DEF1164844638B9895BC2D85FC6469B27C975F7D56864B2
-9E97C82B980EDF08DA87593CA677764D465C109C897388DB6B94C5FC1192C048
-292E9B21A0277D7F03653C5B8BA4E1E38DBE96024D4BF4D2FAF8166F51723A35
-C40B3486C61C198D8A80B019DD02AECABE1FD5B2501C52D6EF48CD123A4A915E
-1BDB1C5F38652AF26C087AC40BAA9F88BD344DFBB54E33698169A158D4E185C7
-EA075083FBDA2F389FB174C653656B0F0F6969382E17A47F35E4BCEFDBFE79A0
-09730206320F0E35024FA3DCFDC27FCFCCA3C7235A655F35BE66F543C0E83435
-831AD26FF7533FC90534D5F87C4A8EC0BE9734C0F9CFEE094E4C0A525F17B9D4
-8EDCD1A74D9A477FA50B950D815E6D5D19DD3B5DCF15860DBD71958CE0FC1E3F
-485F58748DD5DDA7E0D1B4E843A5B3F33E3DA21772F13CE20DCF842877EF214A
-E5789A872B5EDD19FE55BE80B95CCAE7B8808BFE4076AC5FB0DDDA18F9736905
-08B9981C76822F26B7B99F9E16A2818D14AA73F646FA6C5C36F659E5D4C3FD28
-162EA957F4B325832CE190C51088DE0E960C6C4C572FA288F5B17E271FDF949C
-048402C9447FE6AAA64CB3659BFD1D7E6C4103905E9E9D7940D7363A8FF01F32
-90CC92BFD59CD8C4DCFEA85D9AA7C484F68DDE7E2191198A1B8E8A27C0F8D1B4
-57225243E747F6DBD26FE342038A24C5E1E64DB6A7CE71A5F0EE238CC6A4A4C8
-BFE0E82CA3C232EE8D2384DDD546807A7041970777A5361C4B81999410372B60
-69D97522962CBB2A07811D0382B3BC5C62C6E827C3BBD0D29F6F68FA4F3EEFFD
-642431FB624E652E7CFF5BC98D903D61F5CF8649FB553EF90E37887CC7E55A04
-D681C3CC9D7E4538B031E32E553DB782FC843EBFF7D002F3CCF3E07AD61896BD
-7F8CA47DFA46AF166C78F2B94F387F160B1B9F70A0FF6E6822FD676897F211B7
-873DAF36C8B181065E3D76BD6FF367E484E1B8234AE840DED0C342B70D979DB4
-9CBE5D67FD476D9E691294E449272159B80D668F1F736C43D28CAF46BA0E1CA6
-DF94BBFC9097306E15F7CDD9E19FEF9D270051DA1C9FC0DD781E561D11771B06
-3D10FE112B53A6DD12DA2AD1447DCAB78C2C5A9448A854418729422AC297536C
-FF69E81BFBC23C9039570FC9FDFD10C762FFB18A593C7D135375749EFCCEB23A
-54256277DC4A1E0452C1EDA586A80F66D75CB5E015771AF66D500161AA32719B
-5DB08207F7E69D9686C0B9087E250817F3F39A2750DC6DD773DBFA27872CF87E
-9A1D4B8BF11CECF270B09A32B3A6EC54CD461C564ECC48B790356192B0AC08BA
-EB1FB2F07AF56F3F08B0C23AFD65DA2AFF4A622434C19D1E662B496727F4AA8A
-00E46EBC49467B84577A78ED782BA27B7ED1DF4A02AF0E76B4F21F2B0986F549
-FE5F8149240B4224EBAF882BA76E128F3780D7B772D4CD5EB83690E95299A320
-9260A51EA5F9E85F25D251840AC7FAD5CC901D38F9EE55C75FC98018058B7709
-1CF96465578CEED5AFF75725BA8BDA5185647EF8D22CA3AD5BE1B04AF0D7AEDD
-E5EB04B2E84E48AF881DE23C6592355F62AAD449055ECF3F7E2EA8EB08C64DEE
-9999CCDCEE5284D22BD83B448DF2CF10F78B545D881F9AF3F81E2C392818D959
-70135E0E376572AFC72B94E5357510D0019FD3446F239F05F8B40D7ABE1627EF
-F5D222EF4AFA00C46C2749301A8E3DC60D448D6A78932878CFFF976D732FDA14
-E6C9A4FE37E4DF7D778221335F22E5A0A78E51673D44346E8ACDEACC2ABE3023
-2E1D4E80A3DC1A2207E92016E94EA4C7D835C89A287022CD8FE6CA1FCBEF23C8
-805836B635575855D38349D9FE662F96FEF86FF93B3207C4B6B3D029482D46CC
-7A0C37151F29E8D74F999E7AB60090768EB3938C9BB16C1C18984C83F8CD9A69
-C20CBF5F7B99264ECABC93DBFAE2DC3D99474967131D920D9314E7CFB3F096E1
-9188691A00872D663CC355760A9D39904B5575D067A7D4C9C2FE76DD4A028A31
-C2C59C8175A3D9001077D15A810D535481731B58ED474CAC7E3EC76087325BB4
-0E6871F90B0ADE99AD4C7BD3E74C92550627EE1993BC5E5FCB05AFF3F280EEA2
-4EFA1A06C64401AB2194CA242E47111B1D66278F6946034061FDC730A012CEB6
-0FFD54F3CBA7DE6303312F5551FF0D9EC381AA1E9A4EBFE4D7C132CF8CCF91B6
-10BC6D96BABBB29300F000C530CC48440D7E3D89CF9C13636C0679099F016324
-7CBF982042408A97871B9145BE29DC299F23259910A8C8BEE4450033C0E64B2A
-B420B3CF55AEA545F290AEC72FFA4C0404AAE427C261776A8CA416D38E934799
-0B9EEA2D0B76F48AE9590C87225AABD5E5B20520808BF371FD52013663A82C47
-850FDF4CAA3DB92BA04AEF661CD6B81D5181FBB682118E9FA5E1164AC86D3FDA
-5D89726A9CE83E0234801BA777746EAC0AF60FE3B30CB527478889ABDCC8526E
-5A6B116595F9ABE3E4911C17B6C1A49A9918D9B34FE984CF9DDF06EB4D00D97D
-C04191844E3D2DCCF972BF30D2D73A3EA410840FDB3BB42E5F56DFF122150C7E
-82E9A880C4FE746D5A69C0653B2D0A627A7F40A2766B6B0278FF6C7C29C084AC
-09D821EB1ABCE3E5128CC08C2B271FDF715A268DAB6098ABB4348104084B83CB
-62D49F4C84B9A18491E0C6A7BCB9319D58E3439DDDB1D9EBF5BB9A00A8E8FBC0
-EBAE7EEDB0884FE457383A41BD6890F1D89B2E097AEF5BE6E9D5FC0145C8CC77
-8A91587C6E69241021E712FD064A9717D5050872784F69BF65491159B60CF21E
-8428249D16FB8936217BAF22C858509CE9C9BD76885F9857076D06A05B80F3C7
-A98359601504BFCAF2D2F0AFB06495CFCAAB0F54645B00944F25D9B884FA23B1
-0709974B40B72A112B346632B13190FF3EB6AED7D83620C47452125ECB9D269D
-F9339EBB4C44EDD72E1C371C667CAEC4EE2DDD226A0BB14962713B535473B295
-AB1ABA8DA68F06427CCE44519E38460B719CF3020219D48D1375DF327BE9A71B
-756E06EE448ADF351A5F5BBBBE1ADB3334F9A8654C3F82CEB371A0D78B529CD4
-A5138C1712CD5019325F395D69338662BE8BB257665847753E24E579C7FDF836
-0BE78D092C6D6E955C07757B74D6E8E9FB004B20A2DB756FF6097610A1023E98
-611C846ACE1700F1C03EB8A6E710EC904CCB111CF2CB3B09F3F4B4E9998E12ED
-EA7A61706259C7FEAA2D90242C64D5CF97D27530C55DD688FD53F22A04F1D062
-2F7C936D9B93956BEDBEB95C14C676F29932994C56A0B97394AF9D4E21A53745
-C7D1693911306B054109094E5A113DABE7A2FB5F08A1C8573684517B0FC690FA
-2B43EEF9346F5E98DB82B45AE7857610B647E5086C4BAFA5C4FC32FB0FEE11CA
-AD5BA013CD988E5A5574074A0CC43FDBAC0435EF30328CFF19B726999ABB4CC8
-A0086C0EE2D64AF26DD727639D4390382B51BAF4508738F21B3DBB53911FA062
-F165E668633A2510E18362BE915583831ADEEBC25A75FE6C9945474CD4B16C98
-63F12E468A9DEA27CE8D795B32A5955EBC5AF5F4848C3489BD4050FA1CFFAB22
-8E177FA778BB388BFE05A7D85036F5E2DF6E4FB6041D9F82D98511F6950D049E
-2CC740A41D7233652255B19098D6F78A610227EFB5748098FDD2F9832BCAC375
-FFD5159860DDCA3E859D4A4274C0E21A0BC5EDD73EA5F638F649FB532584B461
-FDB97482DBE3D0FB1C6F0B223D9B388AA252FC85E24B775C24732D53062C3F87
-2BEF8AF1E65FF8B84E64E91EB57680E062DF4D95B7EB69DF49C5969EF4D401B1
-BFA9F0E3E05AC76BDEC93A2FCA2AF2E73ABBFDC3177A5108D423E527041E8CD4
-16784B4081DB354A4DF6CB23D231E402F545C000F1CFA977C5AEE4FEE287E263
-6E5F15EC9B4FFEFA59F8DF76E22BE6FD799CDFF99B9DE7CC5059566116714547
-8516F7F53FDFA4A030B01A0E9CBF4D41F118157506F8B19C8B35564AB4C0E669
-265AAEF7437D4B6CF5E6D88D65D66129E5A78F172DA51F447C80E3FFDF8AAAA3
-A548A15938C146562A110638BB100E6B39DC4588D14E936475A262AFF2962F50
-75750B6EB2B77C4FEFC8000129AA22B773ECADDB6F40C8E6EECDDEA8563EB616
-C897B52C81EAECB308BCF1AFB670FA567882EC577BA242B8C092B43C17D8F5B5
-C82AFA9AFAE3ACF378644C4BB28CD51958C87EAFD708E3558B00A7D624BBC5ED
-F88FDA5A6629E82B55F0B05032186A5672863D344D002BFC86C6E4E83F305E14
-829A8A6F19BAE34E3526DC3B0011049559F156BD08BEF383BD23B4AE1F160917
-5903A87A9054B3C4934C20A2A12B3EAA52682217A9B6E4B4279BC168E72B54A5
-40905DF94E30C3058EDF5CBD612CEBA426CEFBCBF76C364E8B42EB5D3128A76C
-30A6875B31208567170B50B1BB860ED4E84436946AF3E4E2CC594D28887F0DD6
-29E358E20B6D2BE494CDB18B408C3DE35675FA7E774FF08BC178CEBBA5CA1D76
-EB9423F28878EB308717C5B8973A1260DDDF73E01694C6D3D5812D0E9326B24B
-A5105D8A923730FE95123B949B3C235A59D919CDFE841EE97F62317B219EE4E9
-C20B861F99E62F18F8F48B875D9BC3FB30290D42FCBC716F77EF9D1564E7E186
-066FF691C92E429AB26C3F96BE1BC68127E9A746197A635B216D9B4F7DD660A2
-CA571A908587CA1BDB53A0B29FBAA2A97EF52C5DB34FF6073496EF7BC7E1A585
-F18DF5D1B2B92AD1679F9187774F5EA7A92770EE9902AFF1A210B288232E92C2
-FF38BC7D6DDA8E75917B48D448BBEE5F15E2FD512CB6A96956E110CEFBCA33FD
-C3F363595C34C30CDB6966014787E926DD2690D6AE6B0F0B945BE2C4419E6423
-B35AC87A168D515530FDE16F87FDE438A579E1C24E5746F3BC69DBBA6CE65343
-AD54198A9E74D5EC6009AE3DCE24D3CC9672E5FD0930D7D622CC0F093B5D9488
-B36086A5E563FD3ACEBB5573C2A07590FB12C50EB09F3413F968EAB2140FBB87
-43197132F839629909E73B8CF3DE13282022DFE7AA073E8764D92BD3F08CC22F
-8D3F55320CAA5904EAF87356D0AD6A0E23A662DAC8758CE7F2F4B791A9ED93E2
-50760BE1F270C5108570A5A0836BC3969DE378A7C6F82142C1F2A04DB7AB7268
-0E587B969B48E16A7EB4028D6F71AA8FDD8C0AB4189CA38EB4A321CA087B2B8F
-99785B86F0C49F5687ED9CF37C0DD01650C423992291A0FE8617D4A84042829A
-3F7E3155B330708ACF52B2C9FE86B4902743927E5D672852F3B333A05F4AC103
-F85B8A9974E1A3570FC3FF9258DEC0EE127737E1B88D5EC850ABC41E10CEBF5E
-DF83EC4F48B0D250FF65C228FE594A53A3F5FFA223B6829C0AE37F4AC5D4C015
-EF33A79677D24ED59BD19C952C5F6D223A12D59198B12EC7BCBEF553AFB697CE
-DBADBD1C6BDA46737D6F0789997A04E480A48076C30D942011FE8735D6669FAB
-A5220545F94234CEA4190A908964778F4B19C6C7E7856A7C20F57818A55301DD
-FC7F746BED448C81ECE1163CF687BF5C2ABAFE9EA027606FE41D844FAA205D32
-D461F99B8B9447C027D347255193003379199FC9D62DD7566552311A03F0BCE7
-93F86EA46E2B111F682425DEB1E34F227E410306725B89EE10A10996D0AAE0D7
-65896F910F97363B9464914C1627D6336BB8F09187F280096696F0E83F7067AC
-2BB763046B58C206B664D37CA9AFE9925055A00C997A12A28CABCE6E96D97F78
-2E030CCB2C728053ABC09F42
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2D432E1428FB6D5BDAF
+3F02C975AA4E0072BE5F8CC7D3D59BA3FD04709FC9E52189F55C7747056EDBF5
+F85CCBDB1DDE9F9163AC7158EE8DBFBE8D94A46510118ECE6A280C4872F448F2
+E6A6B36AE3224FA448DAF204D1C998D010C6BF52DDCC45831DF1EC22528B00C7
+70525CAC9F6BAD892E7D5C81295A2AEFA8A5E4B6BA2C4EF61FD3FECFA2A8551B
+DC84DAC597222341E762620D3D3C1A4AFF2F6D68C4813004318FDBBDE23AE224
+617F7BC1F3846943E915624D6BBFC555E2EDD013F190492F03CB64E5F2403723
+7A2D4652BFFAD1FAA1DBA4538F2C3E608367BF95E09B853A2BBF9930D9B3BE46
+0BFBEF05DA75DF3D8E11A09D472A9E45C626428A1A599C111ADDEC7A4E70407A
+014F792395A2A12303EF51698D487854EA15000AB08BCCA8B2E35A5018F5460C
+9B223315D7B838BFEB224E8D1DC9A0C1077DA31F5FCE0D9D499EB0507B90E9A0
+1F92FB5FBB8D40568C1E8B8CD6E1DD27CAE6E107AEAC5696CFEB19091B40FD77
+7A4B4F0F261702BFF5E2320C62EB5C6E9DDE142E9FC7DEAB99D90297AE0F15A7
+04C0E3B39FBC85CB6B92BDA7917698230B5374D9159807ED1D07947D95802693
+A856C84812ABD3EBA336B88CC8F37288CAB59790B0882A4ED6815FF6D7A1BB35
+5C7B7437D2ED76E806813478007886ED1009A1E73CCE210FFA69A20D6E05A713
+F6EFAB133D146B0EBD547CD29FFE7870973C1E71854C1C643BADC69974BE360A
+4CF84FAB098EA3DCD2DD8B2FAAD19429B0ACC7C312B03E6446F1C1D51E6AB45F
+72F11FFA078DF3196EA970B24B1BE607571795A2FDC2EE7194E9422C483799EE
+23E16A737951BB935EE2C2BF008B6190E0138D551E75C9E6D0EA48E64E9750C4
+BAAE32B894BE25D092CFAE894230430E43C585D0F06636C8D56BB80A4597A0AA
+547FBCF12821C20F0E62369E1A9CD2343B8A8647B2FBB1F4C86CAB1F7A14669B
+69DC857F9BC7538A864E523C2DF7C830315E0907CB17C8FB6E412A2A9E88317C
+0026A6A402B36BDC433015AEBAD775835E5ADB4EE75FD8CA06C199E000CEDF93
+00692F29C5394DEE45DFF2D42872B1370C8D4A14E144FF36163C849F9339AB97
+EA87BD445733162A34E609BA1E92DC92F9AC892E7A0B39AB0FFE517856491695
+56155FF0C2B231EF1314CD4A146EDB1CA9AF7DD546CACDE1E6B49BF0D4ACBC09
+55C85E2D38DF84E0B779642F7E9C26CE19EDBF328104B9E803D1B03F3FC24C4C
+9EF0D27C8E5AFA420A63981C000A0C1F0B3D3F853FF300EEC524C586376AF998
+DF4ED5AA16D8E298C159C2A3E33048D4EF192A11287F69B11BE24D49A033B334
+83CB8783383F92EFB9E3BE84CEF37796BA4211E534B0360970B9C57EA7CB54FB
+F582789A83113ADD2415B3F84AC4ECA15DC70878A32559198DAE67B083B0EE6D
+68A92511FA8FD6BA88A42769E3FBBBBDFDAD61F99A6C274B48CB044D16FD5953
+44F1503D8D1D6DBAC41C1246A71EBCEE5B1F0DCE3EE7E3A99792DD8FFBD94DD4
+3A5ED347A62D301B6739AD2BCCC7C57378C29FA5A83759E7AC6F1505DF6C0E16
+71587914F698608AD93ABEC43611DE709ABC3F1C0A1343CBED5F09DDB4FACE0A
+8BBA9DE5B85FE9B4365358DFE877BBFD9AF08BC60BAD7C41433BBDBA17EA9A7B
+92F76358612FE44F43A85588DAACCF7846ECF5C58B22F18120F895317609AFA1
+06E88CA1D73C4CD5098CF44093207C31F46977B6D22665AACAD5A169906640F6
+3DFFEB3937BD6CE1501C52783743F8F6110DF43ECF512D49A55379432CAB1C33
+7C38B7A38DDB91F0683A052378CBED8BDE4E6DC32FFF6D723A4D1469D32AEDA9
+FBF89B9604656DD0D44ADFAC39BA893808676E1E08444CE56F6CAFF3E93D8D41
+F164049193BA11AF94B43515BC79D6A538C00B08FB518EB67C27E73380A651DC
+4B244E8A2E4ED405EA5C7EEDDB09D44C458A883C839B98D9D6A2209516E0310C
+AD777536190ED06F47EB2ED61C53A2E0AD0CA4E4035324DE75F272B1CA6BC1FB
+B912807B7331D932DADA30F1975A1C9A8B55604EEE8A0CB514C6CAEECAF9C46B
+5D5563E8934B421EA1CCE3B96412D78DBEEABA59FC603CC6ECF65BDB5B66EAF9
+14B852CC04286EBEDD560713090BC417A10BB834944E007F45B61AD6E6150B9C
+10A6FBA56C1B45EA5F9A5379B1A0788513DD4100B82BD61D89E6841A26B362B1
+D4762EAF4FF3BEABD882700BE9832115405728C5292BE942F871661EB0E6B29D
+430CB271A090B6F5399184F21ED6728171B1783C982E61DB7C0BF90CBC1482CE
+C6982B4F0AA39076B64CCA5A71BE73CA65F2CB60B89AFACA957EF8E6429F2182
+CA36220F80EEC5D01AD7061DF45CC5109D9F0B7E2B6DB9D6C6326A45DC6C05D1
+E81B636A82592D99C7B7ADA0E958A0D7570BFF1830017A6241AD62C53D4CB36C
+583672FBA265142DCE545F4855CA3D9E528143AAC66EBC9527B76EE43B4F4E2B
+B209BD265D6AEF18D168CA7BA2CEC40DF86FF352029597A5A3B2941D467DF229
+50C788D4276C5B400F360AB596E35983262A215047C9714912B2E69CABC0DBDF
+BF6925E19EDF3A6638CF5794722C8B92C6DCF5853DF288B9DA52A2152F98227C
+FC04D3C318E7D942E9D33582A490888F0C1CC1A8C4474091B4956222DE467632
+33CF5DB7DA165B59A648AC6945687B0ADB83EF5B286CC469B2C9E4AE92ACAE8E
+86E4C62A092B8F6C05EB2ED346DAA7C573A03760ADB3CD55B6C794FF4463BAC4
+2F4A738F9C4237107C503A7EBF4F4BB4380DBB64F5F5C9B268111752FD2204CF
+F25085683D071FB4149A64426859D407936A3D1E2C627652C126D8F9264E2919
+960ACB9DD61BDF973492CDB1FD20EA81E06BECF5E164A8ABAC12926DE1CBC0FC
+6693737B4875F465B5623C899FE129B3A52A2BDF104F8B8429890AC870580C7D
+B078A9E26C322D1A8AC1C6B2BF340813D989EE8D054882B965905D33EC3F4278
+DC41BE055E0E5F73B5A1F45E9E69718F5E155B4EA30B28BD28C52C6C322F2E84
+674CE600D699CEE1D2CFB7212BD8168B45824890273A0AAE4757D112980DF2DC
+C3026300B4BBC9B081817AC7F4D48B309E66CC7455708C772A08EF6FAC829363
+E27AEBC3E7D0A91984C05935B16E102E81D6AAAC347E38EBA40125543263BCA6
+9C6F4AD6BF8C3A90279FCA4A99D9290C3B8E0DEBB4B2DF932F66FD47AAC3094B
+7582FF8265CFF8BBC7F79C8C74B1FF94B26F3817A39B5FFC6BB562BF6DBF9CEC
+31CC3BE4D7E431D41D55D96C4F020486F993781828E9E8850192F9F6BA350AAA
+5E292210B0EFA4061EC8BD6EE15E3FAA4AB2F54110D17D29BA32C0D28559FF32
+D164DCC98EAC78822D6D6AC6F4871D47290A11C83670374F072A9DC723096C89
+EA584D43BBB13584D9B8B1820C415DA2E0DCA1B50655E81B47B9AC8343DD8FAF
+95F4771ABF81361EBFA9259EE8901F31C21E95DD22FE04BDB77D23DA561FFCE5
+A7708647AAF65FBA2FD95E843D839E5734D4C08A215180C7244924E002A965D8
+AB29470A1B86065B4133A9A6EBA05EF1AC67DFB5ED8DD8C11450233D2624EFEF
+3E6D3DCA7E23ADF174BC83AF25A1D7529E52D39C27DA86A2DF4BE4F8A96361CE
+7025BC1954C75A765ABC95B4AFE0AF5474653E6808F85893BE6ECA1A37F8B666
+05A9E9FBAADB0DD86848D6FC48A1000FAB396F756513798E09D29ED6DBCC8466
+40181BB71C92CAAF8E240E16304DB9F4B0FB6880004A0F9AF6228E60646647D1
+669577DA709B4FDB8721B95B07B4599652A303FFCEBF858A41F08BF3B83EBD31
+74EFA947A8ABFC7467D6CC544B655A7BD4B6A4F5EA9BF11CFC9CDCE14FEEDEC5
+9116A3FEF962932F8B105BC4C51744916E8976815AC286B1E682D83091E9C533
+839223A68B9D977C41107F597E05C3D8C1C3E79542A990B0E8E22F34BBDD8E47
+B6C2CAF54B72E8F0E8A41DB343934FD2C33B6D77AF2E9061C4E76BF258CFD615
+30AEAECE9D04569D358541C346C922A01D017BCE85D4F083AA9B6939D85EEF29
+335D1BDCC9E6D5F7F58EC2BA2D8CE50CCB38AE6A2DE2F695B76831F8F591BEC4
+EC6391563D18E4169151F552B5E1601B1DDA6F93E5C8B5F4FE63F5E002AA3C15
+E0C8DE2C735EE00E9A2A01530FF37B7FEB0FB182A4E381CF1BBC80D743209814
+F99002980CEBCBE3E677005766CE1D0AF4DCC9F103499D1961771FFBF01B833F
+1701EF6EB1A381A287F73E519C01084241335905661B2E8B86B398C88F39BBC5
+09FACC1344E15CC7685708BCB3F43EAD4E24A84AA0687FCE0A2178D9BA84EBB9
+68E8A727DAF9A0B28A7CA3B119798603F9BBC6728C5A6B4BFC84C95DC4F36839
+C2649E364CEA39A4EDBBA4C0E27C61648D38CA46B64E8CE797CA3464C80214EE
+28A1E58B387AE0A663A39F04F57899ED62FB0E542EA108AC32490B4B2BC068F6
+2087BE9C9C3CBFDD80F2E632BC4C971A79A0A3C3A5607B997223A9F6373EE51F
+C58EBEE7756A391C91758A1F6567F532A5EB762A2927F57CF9F0E845E4F66B3D
+8100D1795B706FD32944CEF24A054650EC911A54A22F4F35E3034AC70F07C98B
+8DD43BE9F7D68C50D6449791F5331A189706D9CD18417348B9F296D8D01368E3
+2523FCC0EF33B998FE925B4CC7BE329B32D6AF791BFFACB60E4874412C8C8676
+34914A453A592C7614AEE5001DF3E5E8D9335A155C65174B940E1AE61ACBCBD8
+A41D7E1C6FC0680E094ECF65C60CE714E6EB2A1897D8A3F39FF58D64EF7E9A41
+4CD8E55BE32CE8CA29239A9BE3FD6B1DD5CA5A035AB1FE57CAFACB8A39B6A877
+C853BE6BAAEF5714982FBFA414EC128B61326B60D83076E690FDCBE3D2AD256B
+FA7A15B804402826684AAD933E94853CD0CDEA3CCA7DC833E486F431EC4764DB
+F3FB244DB99FA0CA2FA14DFA75A326385B3AF92AF8E4C6D437DC3DCC07FAF25B
+6C0F270333ED377B08E498BC3004C25C7A991DAC9A3E0D1FC43E2EB6996C7269
+7A864CEF35FE312DD8F87E37AC69490299CEF9B059EC7E7492D1D6E5640E0AC6
+35B97F7A629B6B7CDF3BF86D2B518EA807B03E4F79DEA59C84D98E4C94102EE3
+71A29649ED75F5ED02EFEED8064E2D54E8F9CA0C4284B987B81B7F41FD7DCAC4
+FB9C3ED70774F9FD09F3321CE1D0319C1129F5868DABBD183045984748C8A3E4
+53E085818729A1353B13C78E63E837DE483E9E2ABFDAD16534420BE4D7976D35
+F56B86EEB90F663E9778A6E0CD698E6324EC2D19901972B74EDAB8F4073E4F37
+89082F08735E8345BA167B2B76C77703C586CA5DAF41C0DD0E231184DECD8A9C
+DE8FD239B6CC636507A5BE6EE5283C06A1D8D59E98A31AA76F4D358DBC641DE2
+ECE3D9F2D262FE2E878E909A950A7642A3F59995519D541B96D459F24F12682A
+9AE61FC08CF436D9DF060DAAA90884A1281B370A2F824704B5347FEC65E14E7E
+3D212E29723427BBB12C1CB91B28CA47D6FA8259A875EDAE4B49C33B2F73938A
+784C1E7A7F21873CAD55A868A1451B070A3F259A983293289B131E07C903D7A6
+3CC66CEF8C4D2B6736282896A2683EEB944B67240CAC5FBD8A1392A875245A9E
+2611B511909A041846063E465473D41958104E92519C0F86706AD640FC6CEA10
+620C9718C4589D9D562D8810CF6F461B776D5A1B040F8272D43C029C2A695D2E
+86CF508C4AB11104E575E13C2EF56914E241279BE0558CD3D59D25BF13CE8212
+3D7AD1F25FA5A9155AA06306C7CD0F49E3498856318B0ADF279731E1769839EF
+98657EE73CF07B0585EECB67F5FF609E0E3DA1B78F6A8FBE2F2E0C051237AB4B
+1587DD72BBFD962E865EAE0CAF1A5C592F5019C7533BAF297C0F78F3287838D6
+CEBFC8B5969486A5134DA76B4961C8056E1EF1F2AD17F19D7998175D66B3149A
+2CF21CCABA281EA0345EF50C1EBE7004ED495C6D03963B639A66638A43C049C6
+DCD311B5F86EBC814BE42D432EEC87B861FCBA9C8729FA5AE87E20C5B30B8E5A
+BB41189A42B9853CA408BA01A559CAB722AAC3DA28E70AD79E1BBC8B6FCC937C
+180B5C2E20B03D3FBAC60C83F765CDCDB3146FE5C0B02911F6E120D63EDFB0B0
+86CCF83C2AB62922450206D3701588B54A8B232126BE120432E6BB2E25C50B13
+708D742A44E20176C54FF89F4589B10D5396C94625AEA1914AC168899FE7AE9A
+7D90DA67A5EF3DDA25CCBB18DBAC3AF4AB889528A381542185821B96CCFB4302
+987611DD5B5B8514FDD7F5148D1BAC9C34567F75EDAB317E0B8A7A76604A42F3
+1D46332C4791006DD1AB657308CDBBC7314592707EB163326E345C2C5EA05B33
+01FEA5B7A346E6B1B6EF58B692150C6116B149B6A26B493674337A9C1CB4F42B
+A7A80AC587F9BBD7A487F407EBBF9978840A01B5E7E772DF7EF28481E7AD14F2
+424816AAA958320A0E6F318C757A474F7B05AC0F570094372CDE877B479AE3F4
+90C257A2B3F443DE43D8A58594BE8D4B5C7E5E075ACFB1AFAD4C06415266E168
+FB38C1CA256287953EDAB1D40537A3633CB52FECF3D35BEB8C2C6CBEECB54BBA
+CD6E043EEF68A21D7639FAB8D1006B1119CF92350D9773502F7554B4B3036EA3
+D747596506FC674DC01ADEA9B45ADC43B9E6947235E9BA30FF462252038D91D1
+D908E9132A946FD03B86A08885AC44CEE72F0E27AA63A901F2DCCB86D87702D9
+A66F35F06D6640115B075B0260FB116E24E795E24DAE988CD48A95FFD3116E92
+63D02221D272531186E2AAB74496FB78A4064C9C9772608C49D46E40FE28088E
+B5109171E7AF69599BD8BC1186C196EB11FB4132F5C9FC1395220392E17B66E2
+32215E54E9483196341D6DC691FCCEFBD00DFF4C095FA8AB36A374BD5E1F5082
+730A698AAB7B57A5399196ABCF7B7963E2970CCAC5E9A5EC552CDBE1E2EE1968
+B81CF5BDDFF9D385C9C1FFD726A0C52A4CB0C8121E77AEA16157C1EDCD1AEFF5
+5607E8F5C44072DC54332B95AF28417E2D45B4685F270821EB6C455AC147F938
+50CC9F7F2006D933D0664AADBF5D7E3E6DAD57527AB59DDD13BCA392B059FAD2
+E7833AD00F62EB89CD7BECA9DD479F7CD7C981859EF43CBB1EC1681081B58A39
+2CEC9FEC039082771E1BF48968431F72817C8156D0D6B65DD33D472BCC49496D
+1F5FB1796892C6A45BCC65BECF41D8604B811824739647D87A7B28FDB3574478
+9807DA2557F411E0BA7479F31B9E3BBE6F3CAAA653883A9D2BEF2073F47F057A
+CFD20BE1371F17F5B6F0A9520F2EFCC3C04A24EC272C43E1F587ACDAFEAD7076
+6139D04FD9A50F67301D7765109C76D6270D2DECC94017A877EF386AC7F625C0
+ABCA9A6D15D71AF7A5889403DDB83EDE87EF5A69EEA97995CC1601160B296750
+32AD8D65A456F5471AD4536F1AF41A4D370203F897686CAE7C89577D3A843E90
+9C08CF3E3D489625256DA5E0984BF971E0D8D251AE5B09C17883CE07750051DF
+770B920AABB2E80A4944EF613891B4EC3F9E214339AEDFDD5DD15240933DC82C
+D878BCB743ACBB562A41BBD86191E1129718826681FD12981D4159C7432DC3D9
+AD4C6C478EEEA0A34030BDD0B9122E8AE5F0B473AC5A48346D56C2DE42815D19
+FE378D252960D3F56654B31C58CBBBE0D634FF6EB81295809AF12222C58345C0
+4595590B2DAEF5F3CCACE8AD4CE8585DF4099665B05B32FC49160ED307573D18
+6C4D88C07CCD1BD4A0179BDDE6524D8CC9A70318578646EE6F4DE040C56C90C3
+C5C5827A77DB584E95F55F083D07AF133B31DB611D1831D93180F66A13E86AAD
+573C57B42DA521764563F69E7D4E26057622C17A135716EBB2552F644065C733
+451295216950B589D09E00FE06779D50AA82A4653649B7CDCA11A1FF27AFA7FF
+189A798A6DD355CE23F77BF90DD88672ED1AE3C262A2071CD9E6E8710E44EA18
+8EAF3FC2FD7A203792FD5A925E03F5FDF5FC3C0D975724B9C0EB5891CFFFAAF7
+AC4180C714BFB1BC100B055AEC13D255FDD48CDE21EFBBE6A2A5CCC75DEAEB75
+CA1B5C649CF209DAF2ED786DC4D0E02F1AEFAA8A7B2B96971E35DE1AEB60A50B
+B4E5B18753CB1E6E18FD08BF00E01DB6497645F29D666701A930476B878C7843
+D729490D64FDFA946762B2F71AFD7E3CD2A7B155D6445774A471A84FD5CDEF48
+1419EBD5CA76742B84B005FD3D7F5D0A2024B166273ADA29E9891D2F00A8BD02
+C3370AB11216BE08A6980E49A2F385A84BB64B275A896E359C7C4463E4A0C65D
+B9018D6795DF5019EAF0494ABA7E4F6D9D4C7973C6F2FADC73060FE5F1C71BE3
+0DC7D9B88FC0EFBC9DC151F616D7D9590E90F149684940B27488ACD676FBFB4B
+EEE9903F3D6438DDA0E1E7584B6A7CB299F1AE1EE2DCD117AE588D37F773ED9F
+30578CB0F17114788427846A8FD3444D08E4240AB0440D93DB2CBF1F89994B0A
+232F91510518B3A5E691A9BE235392FFF25B9301868952A3712B54578F2F7C99
+0A33652361F7557FEF701AA6C58BF44830AECA7B70D7CB3A43F166C4766EB5BA
+76941F080A01535610D05C4EF71D21C2D0D335B0655904CB73E0110FEB59FA57
+746BEE9AFDAE267B1705CA776BE9A4BB6A4A29E421029F5671B7B189AC9D4B08
+7E9BB099B5CAD3BE79A3BA1D328FC990BDFDC5B37EAE5D77E62113EBA172DAEE
+53B21DBC3C8C1DFB14A8A4F7738A0B83F4BD86BB35CD048AC5C7882B5AF63354
+E659450E2CF733B8182BA6CDF05F421FFD9F591516A461625CFD4748E0A1C890
+97F95A50D6228678BE234F50981EB928B80A2E542544CC8567F1888DA9ADF4E6
+718549F33D19D149211F4EFFEFC80C81E4FFD0CD79FFC83FE1C28D676727C1AE
+B5197B8E21C95937AD04C84D619335C8134DD0080C0B40FFDD608199E6DE7BE2
+E03991AC2BA35B314CB60F5003D4F345CC2CDBF0C34420CB3FDC2879E0B76823
+B03ECD30B8BE42833C92AE93AF019841F7B4BF85CA15CFA0B1CCBB182D6B9666
+DA5308EB60EB5E43F66C00CC78928DD488AF24FF77433B88DAAEDFBE8862A5FC
+66F66CDD5713FB15188985BA34062F888F00B1A21ADEA87AAAF235A477E234E0
+33AE31A0D04E1AD436313B015EAE43D76F589FD4FC3BCDA8305D901E3104918A
+FCDBFBAE0E9A22FC3479C3E350E571D93F9691AAD85E484D3F76E65C21AF309C
+0858A4108769C021EEB91267F2F4D279AA57C8006B823A9D4D7AAFA788FE75E2
+85E0BC49D47196186D89CD2F38D704B0A470393767ADC34992CCDAFA9D4A4555
+332A79D1B3B0A3CF6DF6CCD95BEDBF920886BDE88C5509DB96C347C27CC55696
+BD00E0EFF2C5222830E7FC1685E4A1E53872F4DAA0299EDB0034672E2A162BAF
+0AFFBB1509D70715709D393A7B2F2D802B1E5006A9CAD8EC5A632349E0E54517
+F0122B76C5351599CAB0655FEEAD1158FA174112B0BAE4B6AC72102D21AFD41E
+563CE5393BCAA3C84EC7604FF766913910B8BF48923B58CC588213AAA9ACFF89
+55319B2DD16652D3F69FFD47B95DF54EB9CC2759E87468E54103CEBE79A50CFF
+4E4A6A5B6EFF4D774CDD176A70429DDDDF5F6A0C772216715004FA94162518F8
+DEE14A3BB74C7AAA5AF40EABEC110E50D39E49C100F13BD7259F2D38F51A02B2
+9BDF3E2D9A53725B3CC6BB22D76537A21E21FE489A80DA157A673F9EC345AC38
+66F22602E21DD28EB91C6067C7A9D66FDF2004C2B5207835A3EFA1CB50131CF3
+9F1784F3FA64AE03CD09DE7F49F2A5F994D17A439067508536C8AB589A5270EB
+FFD1171E420ECF7CE6510049D86F5D5E6A1D1A554C57101B2500CF736E2F25A7
+5F3DB2BAF1E92CC788E0CA65DE1BA77C9C6AEBB65699847E07C5E1D25EC74165
+D88043631CCF3A07AB883145EB92A5A1A258B940991CF094E6BEB51CB5796866
+0F9AAE0389D9B66CDB068CD10758E6FB302F7D1A420560FE7E4F0F78AD1B5C86
+A8F12C493B0BBB78802B082825D3CCBA8C0C64DF8D68B06E01868DA26C51F6A4
+DCF6165354F95AF1ACD164281DE5C3248D8FBFCECE8F23C5816F4CA1A0C130A6
+7D5025F75612A556EEA7CB381C50A9C2CC47A8528FBA647453BFB6595659C435
+A5FFE3F4C878C041ADE6918211E115E36CB91C12FFDAAD8280E4F5C0E86E6914
+6AAE95DA0AEBFEAD38B6C94ABCBDA25B3CA358170DF79F82A879DA0FEEE0E7E6
+D8FB55454DB92D1EE2D0CE1932BAE35CF22776BCB092183C7345694E3E272EBE
+7CDEEEDF773625EBF265549E12B48D04D9D97A659D89E21D333C1B0109B10434
+40A05BC8A1C642291C398C415C875B72C30334B9F4660D62604D9A223DB29ED5
+0DA516B1355DC99A6A21EEC2653504ACC313060C6B2009991AB4D49310569DA5
+46177F041056C425E03DF6B51C9E3E8D82976AF45370C2463A4A626BBDAE669B
+37671A0DDFECD1D7E2E0D65FF29E5AA0273872BBC38B2E6E72CA132568CFD12D
+55D65A53AC7D019A289E09DD7B4C16B806FA0B730093330F75747A64B3388C74
+AA007ABB5281ECF775F2FB21144FCAC16FAAE9C0AA3B89C5EB18DBCFCDE98ED4
+482E33CD2D3A21A7A7A6BD4A9236B5A0C43A594F8015A099BD39A7EF9D2443A8
+046E4EB280353B539AC460126016B055FF57CC523A518B183575339BBFF4D553
+9152868EE01103E98FB49E8305A25640F7EB2EDA1A3DBE2BFB60C76F346F185A
+446E90A1A6AB0F1DD929B71E5F1D2D66582D2AAFDF28E66A3368EF9C670B530E
+BBB88F0E6141F5A111CCAA55644AB17488420F1CD55CE290FE0D02EF617B9020
+62D5B3BCFFB103A10EF24724ED83B04C6B7BC8915936CB7D4DA48332A7F40118
+4F09722E203036AC85BCDA93FF36B7F1589F61A1E0FF2F4AE19DBA2BFA67306C
+1B7757618821EC1D9098E321BA1661BC925AA45F95925AC4DC1AEC11B303C935
+D80016CD29C4095C224CFB87A808E7BE42404FE660DE6DB4BAA0CAD7C4F6C673
+82EE82DF49D1C5116E9CC7956D0CBEC338DBB041875C8C14B0DB941F5A1F8911
+98CE9F83DA1356532231EF7BFCF7B0E686A8D28F4E921CBF2B3B022CB96FC8A9
+04AC60DFC4B6AD8C5A7A8D212D8B213FD9C0527F9576C96C61D494DA83CCBF52
+18FF44F6E6C85C5743D8EA3CCC79F1FF36189F7E8E2603B35C893C57C392CC48
+CF1CA67E407683BF9C0E775FEE0E95CE377064B49F0439C711CEBFBC70ED478E
+0E2BE3EB72D8CDB77DE7B2BAE99859B020287D4EF7C38D3E7926F92B97CD1142
+F3D697E12BCE4ED6E6B0521166F26BAC5244946B6926989C422620EDB1D46AB2
+1E0C430C9856DC2CADC8C441AF472062236F27F8E6E21E94F15633EF10AC3495
+B59E3AB83AB1ACB24E1A5C62B8E0E9CC8F38AFD47E7307BCFAFA794514B1BDBE
+52D9217476F9E4D1C55CC8D416C5AB6426F7676F18B0B0B4DFFA36A66DD1AA8F
+E01296442895ED090357865C5DBA9A36B9919B040032D6D62741979F1C72917C
+3297365B629F855A7799D767CE0A2AE9D1C71D4EBDD304879BC72D5673863355
+F60662AE2D30CCD0A6A9BFAA49F87CE9CF5A26F0F4892ACFA0FA7BD3EBC5159F
+91F32BB94B6009760C726CD9821F596879E177D1256E02B8E2C18E3395587FB2
+C52F373C6503819D4F71D6EA28305B46C9AFB1A51F0BAF2F22DE43AD779BE2E6
+3B527AA5CBDD01788C3A078562961FE0AF92EA11D70EBC46F5FF338B13A1D800
+0628016B5509AA74D73D0AB3FB750DA31C6718A90B486A2F8F60FAD0472B62F2
+D6E18B534801E5D768B4560331B7EBCD132396710523DD6C33E6A20990B1996B
+E94AF98CC5D8CD0DE2BDD3173C48BB0146C5D11BD9D62C1F9DAECBD466B84E88
+BF54916913B952CBC5A360AF39CEB5A5CF1C96E121B51E888BD0D72A75BECF37
+A0667E69E919E94FF3749B17F6490DE0506E492FD65EC2E68E885A4ED882B006
+B576FF42D7920A58F461899D443F0F733903B0DC32E68B05CC55279E613AEA29
+148C4F7AD0402F21B7049558256E93AD266861768F30D5DB964A6E890E830C81
+A4350372E0CC46A356D6208FF00A427B8137BB95C3D64577DE3AD2BEDF9EC625
+0B2EE6358484E616EF7829C82CEF5C69D9001DEA93EF573FEE6DE97C0F847C45
+59268108177E6545A3DB7798CE768B82B93348B56316DA86005E00C560B171E8
+2845DC79187FD5DD7B1376D02C5D9B0CA59955E01AD1C7D60C83A954AA3BAAB5
+747CBAE465AA0021EA26B717EE38CE2549FDA9B6905A742E09D7AD61A18FDB40
+FE8950738E64BDF8CE111144B9187366A4144468B4EC4673C04C40EF6D260335
+371C3D727AE71C42A43FEDA8431E7E169EAF5386717828DB6A6E898DD952E69C
+02FC4D4F47448AF587691EA3892729252AD885F3BBD2D0BDEEA72355F5A2C29E
+B1FD7FA0F6EB5061CC397A98D3C7B56B8E83E915E51402C9EE862FB11DEAC89C
+3886FAE4AD937D76D2964FB47DA7DFB8F671BAE54327A4DED7A49FA2892906B7
+BD76C52D4D7FC763175B3EDAC012257D22FD3CBF57521CEEF2C1C0CFD4822C0B
+C3A810E9DC10CEB60A27FA76934B8FF4C777D2D3774B4AF875C44E299B6FAA23
+A025383EF4159AFB5CFFA761F4611C6A03E1A88D80C743672A6DB457514A28D7
+4876DE74D635520606A6BC31ABC8A30B752E85610BD3D81A52FBB7016237BE80
+D433C19734729C8A1554DBD004B4C7734A7D9F615EA1A30DDDE9CD814AF2B76D
+087473795A1B32379A06878A824E9AAB2732C58F2841AEE04DCC3E0C4CC56360
+63BDDFAC2BE66B4870A43171241368167A93037B988025D564A047A6D50A6505
+EBFB2149F0B957B94A5611D896D93D599C423F78586B9406B9536B65A0444036
+4616563F287330FDA3B8451BCD713EA95CDA0DD5D13EB0B4E6E5A1C66C5FD797
+5123AB914483C900244278BBCD8E92FEE64CF3C94509A4F19074363CD77713F7
+C25438B400C03E74DEAA89B98C74E69CB22C7D33B2F1A972408DEFB1DCA22293
+CD08158B839DE26189A9352FA6A67B1787DEC947ACF9BE43AEFE9B453494E29F
+2B0949F221DE4C5D4D9536D8ACDE81E971BAC1DBEB859886E1C9D8EAB9CB9117
+48BEE11AB09475E4EA114D8D4BE59FFD537AA7EDE66B75ADC3C6F06B08C2C2C0
+35F5FA805596AAFF107525BD8A0A9D778336A3C93DD3ADB200C60A36B6D9161B
+157C14F83E972BECFF234068D0E919642F936DC260056466B5EA3C85B31AED7F
+71DC99CFF3B49990A411650F9C1DB203B262CA46FB8C980756777A4A8BCAAED3
+E70B53CFE7FBD50F6EB51CEBB80494E5EB173201F74E20945D8FA2AC2B24945C
+A0CB15CF4FFE0D1A55EC22FE883FE5E7A238EDD98810F4D2029CDB3E10EB340E
+17E5403CB130D4A32F6C6BBED6C9B7FA6F7B6027086A1A6A610EB9A7D230F660
+DAED80A1F25297FE06409E5283D722F2BFA5260290BDDB73CE9C4F76F673AED3
+BCE96CC9297C3CAFA5F99ABE792B93EF4583CAB5D9EC5D5CCB712BC47B34C8E5
+E3CB5D3A1E8A58FC4F33089B49B15AC133F27C808422998FA6CAAA294CB4C917
+B9CDB2DDF0004B8030389DC0C518922164C96B2005E60F4FD2DEC0ADE52077CD
+E268A7A6C63BADD18E562CE31F706C059C21A5F7F5FF9293574D7804D85E6DED
+10612B809C79C3F582201D1A89C8F471447520FB95FEB69D590CD426DBA7FCCD
+509CEBD7B9E7947ABFC08BCC1B015A6825AB1FBF2C88CC93446272C0AF61B18F
+C6276DF00CF02E3FD975C0D5C3BC98DD18D82E5C7CA6696B7B10A1ABDB92B793
+BD25F18040CF0404E48EEA87EF31E9CF4AD20F2B6D936FA11FBC82C3BCFB86C5
+9B0C97E87C8A5DA4C44AC5551F0B4F0EB15203E2D38EF169A780C25F10F4ED2F
+ACA7DE088D9A5C311A4B53969D2E7D4CB67AA3BE59B3E3E8FF22B60A9B3AE6A2
+6198650DBF58EB189F86E4E9EE30F27F90A9FCA323AC0E888444BC9F74B9701A
+5F720233F8F3173F6B180067B2F9E62643146615A3D9125F1A402F0EB5656A31
+1D2C709E7ACD1AF2A1F4107E09E0D9D7160E1649C488DE50C062A92252DF55C7
+26AE97D77E1333DCCCFD8728D025B26796B2B244C8B54B768CFB5645F1AC95AB
+1CFE40126A5BA55A5347918F67035EB1B29526335CF4266D25A5674F4D21CDC1
+BB64096D2C53E48B5EFA5F556343A79BF60132BB1ED1BFBF6136C7EAD2454585
+629B099848790D1FBF4783F708049BFB6A7AEC41026B68531034060FC9F06E92
+BAD21A358AD82CF2CAC1F157ECC5A336CDAD2AF534DC300136E550A55A8DC6C4
+A2CE205165DF24E138872A018365C997B17FB03C2E5802054419500134B3F901
+9513EB8465195C667F46A8B6AD5EA9E51B2FC3501BC6085121655EE71755E9BC
+CAD9EED6781825A9C9D04B6F298615DA8275A65774749509AB7797D0AAC57169
+21102FC8138F0B5D24DED788F062113E0FAB71D617D280F893570F344010AE19
+98B73B56C5EC2C64507E32FE981B35A47EDC4DE5D23AD15894BD2C6937DB99BF
+E4A9C5929590BB0D1BD5CF2253644822658DF7295946E2541B116EE8A2208489
+E9CB1D1D1EA90CD09DA7E630129BC1EFECE31C465BD787B73356A90A415BE41E
+EC353C2B592D0408E1DF2F68A75FF2AA16F2539F680C5D72A31A07412B5458A0
+E16C1D5E33B3EC50F956E6712CC48B06196495E7ABD1CB2AA2989182E8CCDB6C
+78095F1B400AEA75497B15E028312593CBF441EC656334F77C498D4BC3B9ACDA
+0713F53DCD7F8D0DC9F201CB38756302C82A0498ECC20396B9D215B51AF51A9E
+2EF9BEE33AE70974A26D6593C887E363C4656E2B7E9F686D09ED7AD3BE77207E
+387982118BA024365A0AB4D544D021A0FFC0138CA15F6317047CCD982D7976C4
+E1BBA0F647D38D3D2FC7EB4D79F6F8894FE56F1E1BAF64E3AFAA32AA5646EA4C
+06190A8E4C9C9F7C7C940BCDBF4F23F6101A22006D31D028BDD67620404621C8
+8676D6BAD5F7D593971C62359F306C8C0F4AC8AC5D0BC9E12D1A3D7056FD0D5B
+26145109681FB1A48204D506B5417506B71DA736F4645290AA945ACB40E022D0
+9AA3B123C2166927CFBA23AC760B4F5D6687C7E7F9D986C5BF04E0025ECD9EAA
+0E759E306F00188AF1AF057B7CF41BA8BCA34082E7C0B1878BBBA974E68AF573
+1B9D0C6D45E6B2B803951A842D663096309DE189ADE283BB8B33BCEF97F150F5
+1F411D1678FFD8E116EA23232E077F874421BAAC4D86610192B21E2ABF3A814A
+EAE64F8EC72039BA060EE790D53D65BEBDDF52532C14E6C98D3C2D0C16278C57
+2BFD26CBBD3ECEEF5E70732C089E2FC2B92121EE7940D288B14FAC010B9CFE81
+34F18637D2AC74962849E1F24733C585A906A56962BE8F0CEE17E75660B45BFB
+929DFFA22F9EAF354BE7A8C60AF2A53E63DC1A2E6716650CFDA57CEF95DD92B6
+E430505ED2BC54CA3F22C1C0EBED56FE11228DCA431AE137A9C17920A20F8607
+78E80F471FA91B2D1D1330903967C450316CD0F4603C208B56124C0C42CCFD22
+B689FD85FE00E5DE43AE055180C46F826670C719DAA392A7A8B85555908E366D
+4D15289B059811F8C8466CBDA0DBB97B41FE92A75A72C8B0088D657B4065DEDC
+BCBED2D271533BE54847257A26845A866A53D1882CEAD9434508BDFC295FD5CE
+AECE1560EEC4C8B3A0A96DE72E27AEB199E8625277596876FF4AE7A4B8C42EB0
+F47A655B36A7D814323639CCEB1B0F53FFB815F1EE6F03243FE2C93524FEB3F0
+CEEA56ADF11B0C4A444B2C9760D76A1E5E302F791BEFBE319C5F6BF107A7001E
+BF637C429ACDC102A540F4707E938AE8ED3AC98B02E3C78C0813A76B12C0F2E8
+CEA71726EA517C32B1EF27FA02E6BFC624ACB6698DAE7F4F74C55F24A1B5326C
+14833BE22C874D2FF29A961EFB5A02283E4CB5F6DB013A5E2CB264C1BA662652
+217D664A8A15C02F364F2A69500678FAFA8F0CE9DE0B5D197F7ED9CC6413ED3B
+3D8E390BD85C53F0494DA75B957B2668B569007A84A14CCB89430A75E5982217
+BF58CF952133E128FB19761D625A058504C45EEBB06756907F7352CC2466A665
+CCCFC28D78833B054F93E3A17205E445734AF34048510039A42AA379F32223AB
+C2B17A71F45B8F3F3A1C757F73A0E75DDE9A6EFBF739F5371CC1F33591F2A8B6
+52DE91735B44B03B55A9818340BF171193C66C0D88FEA1F4941978EF35762013
+73EB645ECA86EF4DE35FE1EB05C8FFAD8C256B920F8D84F77FC1BE8AC0130D41
+80C4841F76694E4E8D75339594170E15A428FCE989B5290F65FBA54EABF17DE8
+D06164EE387AEAB676BE7FB5CBA4A46E296AA3AAE276C3B40FB893D4E1A8AFE6
+ADBBBE05611588B93CF153D2F4A20F1CCFA5BC2EF854CE06D4F1C4234B4AD30E
+3577052D4802488792B206A21DEE75B12374AB58D7F8D0700BFCBAE1F3B97181
+AEDC88F14889BB24CEE8C90CD4A520C7FE167C2F42843A90FECB82208121EBDB
+ED5926B49E4CC60FB64774364C4BCFF785D841413430984474384496C67481EF
+AC1E0A3E1468B20E9DEE5ADA3963D7880405C4ECEEF8D52E8674FDE4B2D0B4DA
+53802D3ACE08A55B3D4591117D97054BFE7CA636CCB68E89CBE4CCD7B514617C
+735294A2ED326325B4A1B4BFF272B52A0CA05E5B55E0B9D0424BBBD798C207D4
+C6A7E172B79D7BC98350A0A0F2E8CDF633640030DE0E765C227DDF353473CB27
+44BA7D1AA59A1C6CAFC68094505151B121A1A3D505FD74FD14C8848C518F41A0
+8336C40CDF8FB54F027B62C68609C6B22C41700C67B83D88E2AA0844122F3662
+35437651579C56488B500B69095D26C5FFBD85BB82F58D86434D8629B3ABEA07
+AB6BCDFD9832F3870AB296BBF885148496F91582CFABE7F1CBE85D157FF2F877
+5F507AB148311BE2F3FACA9229DEC347D41607E9D6FA9BE4DCB98582D34DC40C
+56CE34554159AED5269D006B547540264F9CD003BEAA731E3EC530C27F649209
+E3ED77F76730FDFA2AB324CFC25C1C431C48DC1BC36D11DB55DC7408297837B4
+4A92C324FEE636696FC8B866EB956B33B9AD6D2570C88CCD9946C8192D1A7600
+A2321208DAE12D3B3CABA79E69F718D08400A3EE95ADDD846173CC288229A15B
+10CB1FB0A064975E98151193007988FB6F8249C8ACDFE477B242599C58165AED
+9447A1575EEBBBF74DA4A8EAD015AA1D3EBC6F1BCB31A411A45AAE573408D88F
+1EDD63E60FDE9635A348FC2347C1338CC591F2D94926CCCC3CB6DD6809194AF7
+EC14BD7B5966EB6568EC97B6A48C46168E5E720BC496555D98433FBDD8952147
+20356425A1844F70526DEFCDA65B3E0CFF414109
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMTT12
-%!PS-AdobeFont-1.1: CMTT12 1.0
-%%CreationDate: 1991 Aug 20 16:45:46
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMTT12 003.002
+%%Title: CMTT12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTT12 known{/CMTT12 findfont dup/UniqueID known{dup
+/UniqueID get 5000833 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMTT12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch true def
-end readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
/FontName /CMTT12 def
+/FontBBox {-1 -234 524 695 }readonly def
+/UniqueID 5000833 def
/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 45 /hyphen put
-dup 46 /period put
-dup 50 /two put
-dup 57 /nine put
-dup 97 /a put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 108 /l put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 121 /y put
-readonly def
-/FontBBox{-1 -234 524 695}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F0364CD5660FE13FF01BC20148F9C480BCD0E
-C81D5BFC66F04993DD73F0BE0AB13F53B1BA79FE5F618A4F672B16C06BE3251E
-3BCB599BFA0E6041FBD558475370D693A959259A2699BA6E97CF40435B8E8A4B
-426343E145DF14E59028D4E0941AB537E34024E6CDE0EA9AF8038A3260A0358D
-D5B1DB53582F0DAB7ADE29CF8DBA0992D5A94672DFF91573F38D9BFD1A57E161
-E52DA1B41433C82261E47F79997DF603935D2A187A95F7A25D148FB3C2B6AA32
-6B982C32C6B25867871ED7B38E150031A3DE568C8D3731A779EAAF09AC5CE6C5
-A129C4147E56882B8068DF37C97C761694F1316AF93E33FF7E0B2F1F252735CE
-0D9F7BCE136B06EE967ABE0C8DF24DCBBF99874702ED252B677F407CB39678CC
-85DDFC2F45C552BA967E4158165ED16FECC4E32AC4D3B3EB8046DCDD37C92FDF
-F1F3710BB8EF5CA358ABACA33C7E5ACAD6BF5DC58BDFC3CF09BA2A38291D45A4
-C15FF1916FE2EC47FDC80911EB9C61F5D355BEDFC9DB17588547763AC5F0B1CC
-12D2FFB32E0803D37E3281DA9CE36C5433655526ACFB3A301C56FAB09DF07B5D
-048B47687348DEB96F3F9C53CE56DDD312B93D3918CD92AF53FB9461864D11B8
-0138918D0B1270C54873C4012CDE6F886DB11BCEA04B023EBB43E0D0A06BE725
-741D08B9DB688731A6C9886C15A83C28DADCC81385EA239E045E8F3670CE03DB
-9EE77ED067036595C9F3B1854343BE3A12E486B6E5A2F8AC44FA5378D28DCCEE
-306B0E283AA444423F9A4FF38E2B56DCF67A39CEB2C643DAE86865517D5D0371
-CB8797208ADEC637330A3A57902C9A88EDB75A7C16FA9850075D9F19578EC666
-1353CC1FC512D59DFF847ACCD04A1C36D8C678E99A0CAF0B7AA7DE226F220BA1
-8145EC4F43D390DE65A99750CCB976DF6CF79A1ED03B3956CCDD036FAD8C4020
-94448A1969529E625126AA23205D65829F9C640419EAF13C08981E729EA1E006
-2D2261D21A5106397E0B252A1D5D4DC72D7686C6E5BD72EBCF3B88060429C02E
-9237474EF4021545C8B1473292C8B4F5A86ECF68495A50C9A33C60D49713451A
-B1B95CCA5B66E2092DB8C0AC8C92CEA275D9F50670D3DACBF601C53C2F737885
-BE986233D033729ED21CCB7B0E329AA1DEDF73E7BA502C1AF2A48DB1ACF054BD
-109AF4402BD380183CA9EF3C2CEBC041764A017D56C9C49492B58A34F80CC409
-A336E14BE6A5589582F1D68A72D55B2C16844A9B242A50D6BCAA864B700333DB
-DD3AA9667630F07EE742D2986D6C2C178B8C969AEB01FD69B65EBFF5EF8E1FD3
-9CE443DA33161F7ED5E48FB03F33E4C10F1D0FEC65D5D36BFA719E1B8DC734E8
-8E89F7D8E1BD3253CF3428854F178E4AEBF916D17E4668EDC79C472B92E447AE
-91D17352FBFC8DCCCDE0D49D3B5ACAA24D2B16AB81919CEDBFAD9B73CFE9F5BC
-E34D67E3676AD5186B21053CB5E467C46BBE1BEEBC0E628DB616678CC6D0EF60
-03A6E9CBB6B392BEB7FB8E8ACA451BBB2A0BD796CBEC995CDB5EA09508E3061F
-2419C06082708B23EAC1927ECA3D07B8B505DDEE7BEB40B54B1FDFF16FF266A4
-C0ECCED523450690021E5274A0483CA89DE0B328BF401FBF787CB92DAE99359E
-DD9139BC23E443CDAE380F9F4E0616D24A101791F0F856A0E02E25B15BAFF333
-4E7861E3092AE03C275D15169FD927CC6E86758846E22CE6F36EB1DE2D55619B
-83A8F89C58321AC26E1D35F306F38035100B104E782D2BB8F2A750847FE1A617
-1360BABFDAC4B0A1F9A9FD9700FC9F371BAD46E8D3A7DF7874C0B1FE2D565115
-E56E0302A9A0EF84BB3E9F35953BA85A215358BD85A8D72F47AE8752753D8B53
-164864475F2A54989762E03D16130040B091C55EEDE24821549C1F766545A987
-832D44CF9557AF60685C108D356C4EC4943379C4CBC0A0063D55513C4ADA97CA
-96A041ACFE92EAB64B8D91C686836C0E70F4F353B7C550B57D933C7BA7D2E874
-DE91390D49B49375D634768F955E9C37011895214079B0550D1A7B797CE74AAC
-FF11E00C50556E87E09E3D0C18F3C590CF8B6CE518CDC10C2CC674140095A3B7
-65E8768878E6B741C8F3C457DE96AD99EFCACD22E3ABB2377A63CF9B0F8C4D81
-3CA3187D0EA3FB76F9DB6209E6BD462CC8167E7EC0636D3BF45E7B0F7EC4AF9E
-65666B9D3D9ECF70EC8437B70F2E6DBCC68A96E10223B55C0E6C112F3CE81368
-4EE8AFAE613F6BFCA104FDF696FBAB3A2A2081E348A1681270C5D76BCE3B4034
-0292FDAA134C525A0EA3541BA1E2EDAAA35DBCAB607A80A7D022C1D239B334D2
-588EC7CD9C24026FC59F5A5001F839DD189D719BB982E7B77F59D5C49456E42E
-220009928AFB49F0F3B7AD46630B8E81A8E540F25EFA5B11847D508BCF47F03F
-EAE135ECF9A10ECB931E5AB3005FE675CB936FDBAC5143FCA1577CE12968CE0A
-72A8E09569130A10F74BC2834665B35810645E0F830625BD979B32BD75676F98
-AC1CB6E754BA9A133D603138617E374366160D94812AA0ECCF2F828FA8B2006C
-6BFF184E718A6D7BE45EE0B8C843468C6EDA5A3B1342C028B54D97862CDE4A9E
-E8EEF934AFD84F38924460D99E8445657EE19F573F8DBD247FB47A4E42A86C2F
-953E9192C2696619D0EAF84AEAAF001CC04AA3CEB12B7CF96608C4BDCAD93804
-22B74AF4A40DA3EA630EF90B8E3D9D4F87BE54BA13B5FD4711D27886DDADA67A
-71AFE803ECBE23C5D8BF8EE533751209119552772E69FA2B83BC44E8727E57F2
-013FC888C864ACC9F79F5DD28F8E9B5D943215918B092643BAC49D564CD5FCA5
-0F7DCF8C9F279CD792BCD323C7EB44AA0EF21AD0C3EA63188D07CDD69B34D44B
-8F607B7A4B4295FED3694B2BE859BF329435143B68BC052E67FF5852AC1ACE2B
-4015684091641CCFF6F6C7238833C8EC4C50F45E91D3A789D472CC4C3EB0AF0A
-A7AE19988473DA6944ABF286025D0B128F41900B839595203AB0B86F7BE2A9B7
-3142824A7608938BB6687EEE9489323586C1CCB9D39F6FCE4100EDFAEA894264
-D13197A4A79B5D148254628556D534490939D0969496EC1F27FBBCED177B650F
-FBF0B0351C20A112604860B9F89C6CFF8B5DCBD1513EBD4AA5EB688843DF5F94
-E2BD9EC54AA89286AD268EB121079494BBFE2226F3FF539852A093582A09AFD7
-8B0F4D956A73DCCB1FFEB9003E5A69C6A1637C19F0E6EC538DA5FFF5F13DC7D3
-9066C0543F524E73D48CDA40CC1BD8BA154113AB041AC525DD2E6F7BF6039409
-D969A9494879E92B80DA5523121286842DB13052C4B853DD724B9B6855825DB3
-DFF113FBAED2182C0FBEB6CF5C9BB0AF58793D2E005717D6CBB30710E24A620C
-ED2A2A5784D4281FAC189328F47B5B302429D2445E4EB15D3D6C32284CCF7547
-37398701611A81628EB7937BC14CD1F17221C81FB95AB7D1E7B0D140482635AB
-480DA51C8B63ED4E3F40E8CB4106D31766135420E4FBE859A0668FD9FD1DE7A6
-B922563A4CBC2FCFA0D688B5BFB47C179E3C98691A3F0ED762364AAE0A64CBF0
-13AA295EBC07B3D0DE1416A629AD7C1AF3098C4C1D6B89606905CCDD9FCE1CB0
-B7E72671FE36D3F74D68D409AA9EBF9B94EE8A8447EFA34F5068A424B643A842
-994DDBD21FA88295C0A1EA4C587A14C1AF270BFF70BB2BBD6629C760D9CCFA89
-571302ED016B36B4856D28BA7E8012025CC7F00137C6C17EA65C281AF321524F
-CCEB8FF657B973BDF7B74E8633D104862B94F69CC2908DD5EE46597433F64017
-81D360BF71255A11A33743AC639DC0A161FEAE40E28E72945AF4212B2599C711
-78D5F1E8AB9171F64BC0EE18CA4C2CFF1BDD126B580539D84920C05AD85F4E79
-EF3B47B81E0328E0731154E62EBAACB0B4B78966D003D8BC0E95A5E1500D8A65
-46C87619AB596C3A9B1E4049F2A53B4D613C1B0F7CCD43EAD5BDEFEEF0467AC3
-34205476FDC67B53755B44388033B315C0E0BCB7AEA007C11155B20D22AA2572
-EB7521E661549F53DA826FDB1C5F23EC646EF2B68EED20C0BCA23CD27E3A6A78
-56F4484F3E045C4BF77F9D6687CAA070EC0FEFE052EADBD6B27DBE5FA734529C
-D9FB9B9A9A880DD696588FD7E0301A606FE9E21580924E24FA589D738FB1B532
-12C3FEDBD58FB1C11C02B80DCBAB5EABA4CF22A152CB0D9E6911AB7318C7A8F9
-2BFFA6DE576CCCC886885610E32A693A23BD0FE5179C89FD0CBD09712866F45E
-C1D793D766AE275A3BBC2EABAA7F824D766F0D4035CE7CA8E968DA47189AE4A6
-05BE6390D5EDB1FA5EF23A1CEFCD8FE1D5B7465253500C08A00965345E1DD654
-C1B9A46CE494BE85F5BFB7ABF40FD9A85F429704C83DE82272E1834EEB3A5E55
-1BBA74D660EDCB87D5C2C182AB1EC98C1BBD8B45717475F5E04FA5E5E0DC77DD
-8A94D6456DB3D5F32AD8259BA4EB3CC51AFF89158FFDD895ADBDACB42CD19277
-15F370F82F4C188B2B974A3B381EFBBBDB58A711B70A15274C5B22F6DD7F00B4
-3D9E1130091858262966E389AA213044A056F1C4FCA042EF1FF065872F2EC57C
-B4F67CD982B9257D3F792CC4E185F7CF81A2BDC01742E530A1E9E96EFA1BD539
-F1623E9E73D5EEC5D2C8445D27956F4D307002EFAF3C9C83FD8C7684A1FA71C5
-D4113B6E048A18486CC3C1A05C56B37B1C688867A306193F55EEB01C845C92BC
-8821F5C3D66E1A3DF8753E30B8CA706172190948F7B42E9C3CAB6E62494972D0
-6B52332A1ADED17965484EF3454D1A44205C61183DACDFF072894CF4227669C5
-4CD15981875AF120A9F383154900459966A8F2D7FD7A43C16DA178621C0D384F
-243C883C7AD4356D6D1F94A77B032239003556406E7CD0F35567CAB62FF557E6
-8895E951F17283D7F75A8C88380B2163CA57D157F281F0A4BF1784C7A53BCD2A
-6AB1735861E1C038FC7405630D4FDF518ECCEB3611BB936E44DDE904C6FD5965
-3097626626B4C5D46463644EB0706177DC6D4ABB8FE9BE62D8C87911DD671BEB
-D09F1B5D9954A8C7F184AA2F1766726B237B558C9252A79A494A6CB46AFDE6F7
-2830052B5AAD88EBD52822E3B3C2C996AD188368D81D09B6AD7E87EB7D66D1B9
-141367065E5922A25E0DF08E9E3478C881F9277496703F813D6F1B1A1DE98790
-AC5E008CBE312AC9BCF7859B1E90DA2A28D77B55A331AEFC90350E937C16AC2C
-C44CE5D98668B3AEE7250051FAD989A05D4069534E49495AA8C72624EBE2BF83
-EA16061C0399096ABFB7BF1AE2429569D7BEB42A7792B97A5F21D372C62B9481
-430286E68890A8339A0A71CC827F3369CC9E30954375106ED9209B9E5143A2E7
-05DC5D4EF73D51C3095374EE8BD86B9B
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: CMR10
-%!PS-AdobeFont-1.1: CMR10 1.00B
-%%CreationDate: 1992 Feb 19 19:54:52
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR10) readonly def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT12.) readonly def
+/FullName (CMTT12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
-/isFixedPitch false def
+/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
end readonly def
-/FontName /CMR10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
-dup 11 /ff put
-dup 12 /fi put
-dup 13 /fl put
-dup 14 /ffi put
-dup 33 /exclam put
-dup 34 /quotedblright put
-dup 35 /numbersign put
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 42 /asterisk put
-dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
dup 57 /nine put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 61 /equal put
-dup 63 /question put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 74 /J put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 88 /X put
-dup 89 /Y put
-dup 90 /Z put
-dup 91 /bracketleft put
-dup 92 /quotedblleft put
-dup 93 /bracketright put
-dup 96 /quoteleft put
dup 97 /a put
-dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 103 /g put
dup 104 /h put
dup 105 /i put
-dup 106 /j put
-dup 107 /k put
dup 108 /l put
-dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
-dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
dup 121 /y put
-dup 122 /z put
-dup 123 /endash put
-dup 124 /emdash put
readonly def
-/FontBBox{-251 -250 1009 969}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
-87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
-D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
-92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
-295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
-409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
-4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
-2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
-0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
-B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
-24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
-43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
-D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
-5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
-96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
-7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
-0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
-B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
-AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
-97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
-FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
-20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
-0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD
-F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20
-3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122
-A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379
-5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA1566B96E221864A
-45A24ADAEC63F61C9FD18376D3984449A1F998C318A8FE36D0D5020E18A49625
-0F3BB603BA1F3E66FF412F6A32433FF8BD2968D79CE4273AD0E0CDDA5153C2BF
-F8A46A2244F9394A49D339F763F5A7411A3C29336B21CCB01723705AF589B078
-3763035411FE36AB5D744E81379106890688CB5BC41184548B7FEBA08DE7288E
-E6570FEA20C51FACE8E8F824BB61A4A038AB817C47B87391611B77928B2565A9
-3B27A573C05D36ED01D8F27CB2C793370FA9B90021B5696280A55F2CB6117B64
-293EAE0EA5A243F56FD007773CA35DF71B3D28643C25210CCE25F37A5095D6E5
-9CAFD99DD1DB0D7EAD454C13464DF6FF5DD42339797AE5AE467084550FC00139
-6EE818C6365007B2FD6E26285B832CFE6EA7E99665A224C9813C036CED262639
-3FB39C1F05FF8F31D2DEF37BB9B883334F51EA124581B786A3D5FE6424B19872
-AE7CB657C8D9528934B990B94FA4A6D61BC9D2CA9B4E95A22CBAA066043F44D1
-AF32F545B9E123536914A7FD7FE96F12039EC25128C810BFF546AABC609DF57F
-E19D511F324E32956177C4376D191C691B9F0B21FA84BAF3DCBBA536CD710A80
-1DCD4C83C02E69A140E1A4CFFA3B012398F21DDD96ED8060DB98EE133F430022
-41BA1DA473F1C99F0D6CDBD35188DAF712AC83E0EDE08EFC3CA2B4A21EE55692
-CF22799274A5CFAE84C89C937AEECF9CC71A328015B63C1730FA68A18871E174
-D035568A73346EBE4EBCAE410A4F2505370A0ECB487FB40FD823065AC56CE66A
-9D8440C5B3F74B855EDAECE69835137D4D76FC0FEBA53998F57EEF25C7E3D9A9
-21BFDBD66C84D8AF7D8A3B79FAA9DA2963FD47689E519FBB2B7793CE6DE04A5C
-203539BF94A5A700E65B5A5DD37B051EA4348BDC4CA39909ABDF8C4102A58FD6
-661206115F7EF6C29E12408BADB83AD40071F53B501C15601338467BED90B659
-2708D01CD77E109ABA63C19FE12606511639C5D9D5522C80692D1CA874E17B9C
-753AEEF13718DD36A008B2D39D618F4F766174423AE972CB619634766A5DA025
-F9682D9E2A3C752D0F6F18B0D58319FCA606BD6DBC4F83D19DCAC84A6165B460
-AC1A0057B12E2023F175E6A51FC12A4852043F6F2F2625ECFF6E866293531437
-1C060C9383278C81B8DF68BEED88C49F86B7617C5B938457D19FA336C616D2AB
-0A430B489EAE7998EAB74FC8C037550E12EF9AC540FD37473DB1A44B1747A4C7
-4687624D806FAC32A53BD65A333DA3732ADA2774D6621BB59BDAECA5637F1F41
-CD2AAEA8DB9774C2730DBDE3A2F9499C719A0E9D59FF37C4F4E6E54D5EC402C8
-6599488AE21DD119CA2BF54EDB306B26351D0CC4C82040835580087C60327110
-9F8A1277DDBBD25823AD30F0E960604BFF9CE454C5C841119F73535F3093FBD6
-8E47B1357BA56E3D906EC70D68E85465479539187B56EC67A64DE38FC444950E
-A82B014254689B676BD02A3068ED7ED5D4C9CA1839ACD730A1796A6FEE8905DC
-73D95625C5F6B4364B1507A313B56BDB2A1DBEBD436AD80F31439C84BD00248C
-F900452374CBDC6ECBC496178471EDA30464C1C4BF38936EC7E7767FF4637CD0
-34D3C202285C0B3ACA5515977C253F00DEDD878F6AD84BA9A1041553A3626EE9
-A5B4C881E77FF893293253F9507A3B8F955BF288562B67E2A99DF65D86D14B48
-DC7587B628505B75A6DFA4CC8DB2CFCAC62ECA302FF5FCAB51FCE19FD7BB7675
-D747A66872C49954B0C1547A8759E42FD7219E7D9C87F62451C47B13B46D9619
-D0CBCBF138ED5CB03C8793626FBF6B4ADEEC391FC7AB65269CD899FAFEC8A9D9
-DD838E4AC1249C33E3CD4539F09989D0407AD5A9A3C99BA7A24F62D428406A61
-862D66DAA7EDCF0D8EE84B4399BB7FD1E117F90046F53CB268327B3333C0D82E
-6BCBD0A6BBF76130D08527593DCADDF3B1D76A9154C5919562D5BA8767A899D4
-DF546740D7EE9908EAFD91CE8F707A74696ED0DE86F6BE6C1E7DF1534E1A645F
-D2315D77E06A87CF2093119D5CC415783F73F3561E7D336E3774570D50569DDB
-F5DC496B875A91F2A2074DB8A7E44F86698BE3701727D63F644FF0DF38ED505E
-ACB70239F0287885F27B6D1487A9CDF5817F92866613ACD932B6347F5857B242
-95C3C47EE9AA298763F9BA372E0215161696CCA5C5EC4CA9088AF24D18AE43BA
-1D0F9C25C23645D97AA5E9C05C59FD2E7B5CF123048FEF61080F6E16AB0D852A
-0A0F0DC41D08B6DF137200563D61539C3B5DFB979889AC756B8A42A81D422DA1
-9DB2215B060FDEDE2AD01D4AF60ECB81C94B66E1B8036B71CDDC8721E3D270FD
-CD92252E2F73EB2CFA581A0AB5B196EEF05E926E3A8C45936FB43F7E726350B6
-FF5C9D68CC477F4C4541E37210CC0DC917B9458699100283BBED7DE5634B08E1
-E8A1275815A358B4C0D3787313C850999DF7330A5165A70BB5B5104415A5F973
-3160B501075FC60DAF1C8C6DA3A674331DDE8854DE916DDD0491906F4EBB7F6A
-C56C4A9D6132320E2E021CFEA843F7C56203E943D3A9B12D8321EAABAE3580BD
-58D81B6C551BB86D2FB83A3E6B4924EE0D07E961E5235E7D473647322CC62C69
-EB8DDEA11AAED833A80339E58330BD4AC7BC67B692ABA6A34D4D2D7A1A279A45
-91974DF964E64592E3856B6D72B26D6E16241437159F3A09A5F30A4360083530
-C76CD71780CC61C31DDE51A144E6E656F62A579D808F5FA729F1A66382EABA98
-B6E376765D96FF4015BF46B3314B72C007A8DAE08A2E29F3461FA56B4BA6DBAF
-6AC06F4C94FE3F2D692913E13F99B6AFABF801C0119625C51F8015E35BA453E5
-8AD266F5BE4EA6E839C605AFCA7F11B673E51FF62A17D6BC824119A89599F86E
-04D3DF374382132A2F1FB1F9E307DB10AB21E627C4356DBEB97C0A6205AADC11
-22176F33DEA813908601A242263A845256234C6A3C9242AA2811F9E43BAB934A
-024BDEDA3CB1E7DBE07BD210EA3341582B6D2A1577185C01E6F38CBE50E63DC5
-0C27D22533C60F2FA74E15A9098F5B0AB07B31A098A88C9629F2BFE3E51379F4
-43E54F4AC11B6134C39EA3F16B0AD01160792AEE382FA08C171DE8FE8D78B8BF
-AF4B630DCC09B8C548ABF9AC0ECE250D4F18F481EFD5AF1F00B23DF090B57BC5
-7825A72FB1E529CAC192DC16ACD2D77E8FC158921B4E9073108E69D69E191B7E
-8E1840F83F758C840A0DA59252EA309DF1828E5C01FB9528AF8EED2A5DBCE0B9
-8CFAEED4BE7BB81293E49C382F8662548F7CB5579C809007E665A50BBDD51B2C
-E1756BA9E84AB65F970FE5E4282417D5006EF7786C02D0817D3841DF95E00C87
-CA35863F66C06860C9117A4E7E5008D45B70584AE3154BFDCA49006E9548C978
-D25EB10052885AEDD07F8A050E5A64C5BE3270EA594D79CCECC92996C2FFB2E5
-FA947080F1EF2335799A8DD8BFA215877BE32C2B5A633153F1F8EA8C93B8362B
-A3C7452B8D0AB8E6EDB16FEEBE51B64FCD0601F8F9FA99EF4241CEB58F829128
-F21AAD148D8D681F84E51F5A53F6C13E5CAFEABB18CCF22180C0B911A37624E2
-5FB908863CC80ED9C93B93AA72997D13FE0C71F0F38F274B638D461A44142142
-53CF8EA0F89FF54F775FBAF2540C02E895D0BD75B6F03DBB65124BB41F8743FB
-B67D53D6DF9A7D134CC7858F32872969147FCF1912C54FF72B609E1A10AE4F61
-7068CADBBC35946AAC508AD9F33FBFCAF695F68C279933D9CCA93229CD03282F
-5E5343EE96D7133C43AB880C39443F3AF6E04C4DA3CE7D929D128D1215700E45
-F297B6517A367B9ECBB65C342E19A3767946B9DD60876E832524575E0289C388
-FD13E3132A1D3DF3F36C77B642D24B0ED5D1565675D126D851A443ECF57B1806
-FB9F35F99CBEB2FB577BB977377D7A0078A6882D81E44E9EB7C3CD28D1F24090
-744B6CE1F5118F08F3E7F8F87D783C0FDB032942D78219CBC36C704AB9D62B8E
-D908D6D5490544EFA10B481C6DFC44650EE3B24C467C67587BB53B2F0BEC46A6
-CFE5F4DAE1BA4F2F53E8E99C10DD03F1A6B8D6D7345FCF2ADD777055BC911BD6
-78331DAC5E9D58A574BA42EB444E2E6D9E3971F8A0995E552D38BB18DBE605A6
-05598018EC62C0911BAFAA8BEF2AA3026B574A05C06C5B09EA81EA2D44E526B0
-AF905F7344DB4C8E665DE157572835EFBDCE23C08182BD6C88E754D33DFAFAB1
-D598596BF72D234C9B3CB4F863EB0C0D82C0CEE9BE01B07BAE14867B52B3EB88
-D13930435D24F524FC4DC2306980CCAA8EE2E162CF5244F02DF6F2AA2936C03A
-86394C9A41AA3B7FB94D21A8859FE976738E93D43DC70323E5601FA2B4493F41
-0A1C509CD367B5DB76E015B34B1F72F560405453276665A5BDACCE7A0692A0DE
-CC922A68F2D93E90AE381C4D1AF81E9B89875919FB8793BAC481F0CCF4E3C5E9
-1029CDA7061B66473784FBE92A10DE8CA6C84BD94D1E3A13D192C830EC5F9028
-E48426D99124CD83A8227580ABD894E9D77978311A635A827E12A72ECE2F32AD
-947DEA382F773C28E06DA5097CB8029B5B72F7288B42D1C916558ABBE10CDF74
-56C51DAAB215852BE0ED396764575A3AB5B4A89F702C444F6674DA9D73376AEA
-EC3198028161BA0390B6B2939E9875833ADA7A21ADF4E6D72D1C8DB3D26444EF
-543CF25E128835C6014E72268E92DFE53B8738257FC352007C17878F42AB21D7
-0A72AA2461CF6EEF556B006FF1804E883918881AA448BA38A4BD8555F5A67B19
-0FD667D74090CD79F1AEADF3B08E61747435090CFB7FEC2536E3DA126ABAE2C6
-35697ABA2F3D7934D1C933B9F125091F6BEE1A1EF576FB3EE511F739DD4697A1
-EE2218F6901623F9789B62E6189B86DDCC11CB4E8AEEB13707F4B20B6544C76D
-23ABA706ECEFFEFE9A66C39FA17B9716C7B87507AA5A4BF61A0A9E9784ECAC33
-77012994981273788B497760BE6287D590D5D0ADBB3BDAF1C5162243CA9090C3
-F64C2196D935515A4261EDE262CD9DD5B4AB530A2A513B96FAF5E2240C7328C8
-D60B475DE444CA05F9DF021B970A8FE30C6B4DD16087BBC61833CD4542E73672
-188CF60488746694A23EA1FE198FAE888EC3CA3C409FECABBF89436F560460A7
-D7FD3A803F77CAB7BAA903D7A3DA3390F757E8EDAEE43CAD1E46377EDF0C552C
-C47B240107E39EDB0945BBEC2F1660254F053EEED312DA47D844631826C3B56B
-42A18F68482E2012B460C152F413F9106B392BB0D255173E8E37EE818993A03D
-8CE853111C89C3E2F9125FCA3DC4C999656DA1C33991F57DEC5AD6926F45EF87
-E624B63EFC18893870E05250AC4C3091656874AECF48D4587E51BFBDB09B4126
-F9CF451C2F87FEB303E7BFCFB0610C332B05150E1FD9E4D73DB8F911190984F3
-C660D00B0710647439053139B8CCBA7507212CBDFDB6D5473410DFEFC59785EB
-4B81C585763401F95F364379D19CF541711332C1D3CA5EDDC643A9CD7434DF80
-3702AD35647D3A794BE2E25323EF239F56699CE11B08DA20AFC4410D06DBF8A6
-CB6174424312CF91448FFB95A718388CB9DE6EFF3176AE7412D8D760780B171E
-B928C6168089E79C54BFFEEC2EF6115D724B091FECB5C1A47132DC1EBA407839
-B644B4746C2DEDC0507DFB64D57AC07DB6F48E8592B126106825E7A791FB5EDD
-1C6A51E8F27ADF467BE79A4F20B0FF87C997A9BF6FA2DF429171210FCE2B232C
-EF4FDBE0EFA00ED1CF27FF4A812AA00C47321FC0D172C06CBD3A4BF81C45DDD7
-6D90F7662A5C561660CCBA192A28C49027AFFFFC8ECE256B10D6D6FA290600A2
-DD8E6117DBF228D7727BB76F6E40AE7C315AF30AA387FED52B29BD0625C94356
-6A3061FD454A3C20CCEB8D06F3B2D0A5145721472C42B8AB7D575EABB053F9B2
-44F31F10A2834C4C596836A9734EAF172FE123392687A3C966906795AE51B6CF
-DE5291637EC6CAA764978E6CED9504788B7127B1E064AF5F3A056C1801265374
-2D488C6483D21198BACB12FA032D053B3CA74FAB9AE98D47BA037E205D1B0D86
-BA0ADCB5E8CEE192F95DCEFCE8953A295408781171CEEA76762E668B3409C726
-56439A91DBAA042AD2983B7A42C823423860DE9139C89762FFDEA2A7B183CC91
-D1FC75B26823D7F770ED65D7E4BF5C5F110E4FA08028087779986CDC2D1CB8CE
-C9B6AC5C76FE7156B887CCD19D0D996ADC957F415B7A42A9D7F28CCC6ADD2CFC
-1A3279C4F5F38546E4A07E1DE7C3AC9F7E1F0A089A218866ACEB50FE58BF051D
-E5E9473B5B1DA2116AA4DB3B3C57F707881AAB3DA1B5A917FE2D08D7EECB213B
-571E8936FF4FBAFA5021000806E3D989E7D22EDC24738DED49ED93F99046DDA0
-A94FEB8C45D8EDB85F22BF00F229DBF3C5C095B85EFE6F536E1A5B53725BB0D9
-9BB1E4DD3C9C1F9CFCA20A9D6B03A1C6FB9B5AB40082A76604860F9C8B5BC0AC
-87CE2F6D3544DE509827CAAF913627CA366F811CE1E81328343E58E054F2A5AC
-05A87873FB2A82570E095A98C5595CA0D5D2B7E43572CDFF033A5BD16C888479
-DBB6727D400321F6ECF236F96B8F16700BEA3E5773D581C38847041ED7984A62
-520087C62EAD37D9D440A0785E17EC0B0A2F55F634CED006CD53F06E17F01ED9
-70170544C3C110A1CB4B6224D0F43CF6710336050AC67707C43D7551C2C084AA
-C4D944BCB7AF4E559484D1908213AD47F999AF24C23753942989D9EEDC9186FE
-817EB6664ED84E61A218A1CB7A9B16774DDEDB389F4712CD7A5BBDC50417F86C
-96BC5B09F9BBB26648BC514D3B69D44B7CD3335C57FA656991B7D3FD7F552A7C
-1423569715CEA9F4C32A296EA243E2B4E52430E7719FB737AF26696B2432F692
-A4139C642A6AC8ECCB04C51CCA80F22C69F38B4CF2C4F5FD76A3AF5921073D20
-0AC49A469997A2619CF3669D3709E47C665783D2F770CF9EDD8CF60F3F75BF2A
-C201879C490940785D0B3ABFD50D751A16E8944590DFA5080D2E910C257BF866
-D8A35C1C6F64F937FEAE266AE8276FA4E3B054CD3FB6E5A4C1AE9666D744560F
-AF055293BD19A92FFF045DD9000D6FBA24031C5641B91229AB1309FECCF11ABC
-21665145A6B0B0B8B7493DA3D46FEC8E8124F2A21C016AB3310E0B4CAE136BE9
-9E345A3A61753FFD19DF4B67CABFC2C504F6D387B5437F4A51A782895585458D
-EB2A933D34F076953DFD6A38BB06D42F7ED26F674833250B429B4A5FFB5D2D67
-AEF74107C3D05B94DD2E2193DF025E789F380CC7B93D7DA329F5CB7F23B2D6E7
-1D9A5E1C1B827EBDD7A2E5C93C06554FDAD091B20BEE28EC67BEF4B8210394C4
-BA691E15BE2B98116637DF1630E6B9246F35EB13F8674775EB2DF40754D5784C
-475EA36E2B31877F2EC16F3C5F002910D49B76CEFFEF175630109B50D14B0B63
-97E2AEB3155C0272D6C90F8C9D5A2A2C91A728F4FC123AA6199E84DE2F247C9F
-FAC1B10571E48EF12D85FD57B906BC17F6250A441F3A05BF6EAD8CF0F440578C
-CC049EB1A253625DDA18F20E2A237EFD90A660BE1A7BACAE8B84D2A041F2914D
-1F1B486E4D7638141C4961787D30A40C943486DE20E41F8113F9F76299776E0F
-CDAD2F0564AD6651B100F696C2ECCF0A564D8FF247619C37012AC1F2C7FC9C1C
-16077FA7A707FD58F018556C0F0C20CF73C382DEB386DB189DEB12E7EF5C92ED
-BF9210B526E9B5A487919077091900E2C7D931E89077CA0C878DE20E3DD498A7
-0D15FEC9DFC851B4B86B133A9F2EF63D7543C91803C30A885A2A54F4493572FD
-626FF72F25ED90E0066ACB6D15A1EEDCBBD560B45F94E3DCA516B4042BD427FD
-09FB77F5745FE41C040C2B8E30BC99865F7E67743C1187A359A6B4A1CD902D93
-CDB759DFC4D526915EB5AED75A645A4520C1F76B3B30811FB6B42FBAACEFF7C8
-6058E70F81CE6246AABABF42CB88B489088460EC57B2EB400C47A80E1B37B8AB
-8015C6A058E5FEF761DECB1C26D19495912A27B61C6FE53FA1FEFD9A19310C6B
-079FA431591EF5AE9A23CDC08ACFD982DA7E3D65061DE21DF9DD51C35D207848
-A2529226630A319F25CA99227A36FF3FDA9BF9ADD505B39DBA5BF3CFD99462DA
-EE8D74566BF11309B6CB94AE4EA8C86DB37702A279359BD4DF2A247440B9FC70
-D985CE292515DE8F6CFB7D60030B44CB66F811397C68D7A587EDE2EE6AD712D3
-6E9B5096A8772E8C512E79A4E71EFB70551AB481D59388272E250720EE93CAC5
-38D4DCB0B50942D1DF0699EEF8305C509B56808F9B9F60775B85C4A17B9FA504
-2E7B22DD6801FD372752212C04BBE54458E2CAD1D417F159E7E2ECAC0AD76242
-2EC63437804E2FBB466F6C6C6F8562343BF7A1848E44EBE4A24CC98937D435EE
-34196BF6ABA7B0A202CE761F5CE6A6114F0EF8EAB268760C9C2DFE8B22C34AA9
-6BCCA903500F29877A6822A9ED4EF80BD896ECFD6D449F8F833337B3D986E515
-547090365DAD1E1841D672F7A4604DE3E6C96F057AD96BED34A041258BC0B530
-0E49B36D287E756D4E68C92EF8C98F4ECE38521BAE9D2CA68EEBEDA3F24A14F7
-C0F1A88547FD9B18CFF354CA4F963FA737515319D285EB43B632D4545DCD6665
-A246C3251F52C8FB8074D97B05777D7B5A6E3E12F5C0445A81886D3C3FE28306
-A678308326F8B26BDA47440CF9521D69AA533AA0EA4A4CB8FCB11E1A07D85912
-07C4F16D93514FC8F14DC401BDC2B827025564331E3BBF00A6B2C22477C4A89A
-5E74C5BB2FC0751271A297021360C49117E6DE0F0A386CE0F0F52909F9767F84
-8B3863DA00C9B99A2E3855335938EFEDCE6DA54E0EA6690D68B9C30476E686E3
-FAC7145C09E48D09940F3F435A75B69142572F4FB69A5A2AA38E00C6B2203429
-5306635A47DDC99324617D06EDCF5B1ED25085537210088970EC7A59306489AB
-F8D5FF84817C18C972337A564693BDF1B95A06EEF8EAEBBC7D00ED0B23351C22
-D84337C757597A52C2EE483BD135ACFE2242F27F0127AE9076A225FF6007D841
-DD71C3940C8247DAC21393C47294627C871A94EAAAEAAC82CDC813463D6E4800
-D12058FD859C3AC8E48AEF7A13CE4504F11A483D115D86B812E971961020FD11
-3E3D376386675A5FE01A608E1C3C7AAAE82F7F95787FB4C3EEC4B6C709E768C7
-7192B67DA962CB11D99AD45512A44E1A5282BE71FC048FBEC68A664A1CDDEA66
-5495C294925AF22ADAA5800D32036D69EBE07FC80E778B75C866C465D6233EA5
-E9DA48D7A0A6F962C49922EC96CBE4FBCFD519C12AE511A42F94C7CEDED3C793
-56C27AE1EE810E30B06E12974ACC7C7E6419AEDA99430B6ED8001EA3AF4AFC0E
-F6113DBEF54436CF5D5DE58C13998305F9FC0D519A268BCFD05DBF5ABA0BCC5A
-EDB441A82B0D52CA511D2B350690386157F77B44876644800E764A5486D19081
-6F3B2496F5EDD8F91541EC0D1E2B88EA6FD42D8639AFED7256F75DDC53DC91D8
-F9FAD34D7ADF226E2FC2C8B95499201CD8F74406580E7A02355D67DC6701E2CC
-6B11C94DAFC8E59A80CE95EBC0648108A6F8C807618E13F2BE4943535727E538
-35477D1F39C82E97C3AF66F5921F4B9827078FF5897FDF9BE4B5AC0622FA2391
-206F7152718C70F409273176D9566E0DCD77E4A4CC12B7A6DF324A6A757B35E5
-8ACF36F2446D23ED8C53F1A1FCA5FC298EF15E70D77AF75D50B79453F1554F1D
-C282BBE6B58DC045280A86BF5E80426EF50BFF0A1BDB0C8ED186765C9E3C0E8C
-BECDE2AA1CAB89C06C724910407CE3B700C593E41C37AD707DEFCE1512CBED72
-E482DC57A09DA91756217BFDB572D7F324EE1F508BC340336BFE31584F2A82DE
-14398FE0200EDB3A4297364E061E6649D4EFFBE4640B0AE6122D25B7990F5D9C
-483154312B2A326BCCC3070109FEB658A684EC173E88EFA5117306889D5565CD
-9E5273D94D6B49A1E35671E27D01A2CB6DAE52790D9399811107E8CD7C3648AD
-820A74A1B3F6680FB2A1F7C6DE142E497D400304E18990EBFBC567F850C3F1EC
-1D716D6A24B2FC7CB3FA94492F4E7685C932D259F59834D66093E033A7124DC1
-F5ED963EA72AA19726B07472E07AF3AC25327926192D27662C360E5C7B00E4C6
-D913E89C8622172C4A14DF036488705C246F67156C3816C98CB62F3C1D86D099
-5CB6914BFACD5203B876F33741C033A24220A3DCDF12690ADDC72D31DBE945B2
-BB4C0B3F0A2C3B0F6B69684ECCE1EBBE3037CC70059DD6E3777DEEB2B83B8599
-1FFF8B1C0EC734912F2820F3A24C6DDA965B7F8A363B501F71F6EAFC84618FE8
-46BC589A416CB026E71BE97EF649FBA66C54482E3FA15F9B4E5ABD2F6B461029
-211B2428EB1873E373C9DEB3311EED7C0EB7A2338DDD4F4699AB8346CBA3CDEC
-EFFC028220E333F80BBE687052C035C1C0A568BF76F186DC0EC21E38B0583E09
-96C385F5C1492769E3C9A344F7329B0272E2F4B2FFFAD9B61DE95E4DDCF778FA
-66A8BF212AF3252D4147F8BC3F19D798176C47F7CA8C9A3E94D417298F505E29
-4D43171922FA7F8412E12879F41161E3D4A751680CC3354BF6153A4DD5717EC7
-FE9820B2111C877BEF12C7DC0E8038AEA629AA6C1DC2567EF272417CCF48FB93
-0A2022ACC4A9E98602C2C10F628C06352A434D63D456399A39E48A3DAE77184E
-65B813E48F9FC2ED1CBFC8E1E838BE189D6607D9FC6963080E7517D17419D018
-449E252154AD17377AACDB252FCC355F00BC387DF5B665988BCD6770767A1740
-9B1AD5C0A84A9C660691E2A5ADD222C55A2682C2CFDB39FC696202246ED7AF77
-585D76C6C1B3DEF521ED4B41B125F30A6C95C260379BE84CB7D7357F7F18086A
-B8076AAEC9F68AFC2668695A3604A9D96C294AE3137C27501941FF5B23F46519
-65BAA0787514C0C42BDDBEBCA583383B3377D3B620FE6F37F9338A06C2635A08
-B7CC7A8E3BEC5E77740DE66367FCB2BA68990F51066A7D4A2706DAC419F8CEEC
-C9E11089D23B2E65799697AD11F023D386257DEA0D29758319CD3DA33980BCB1
-9510514CEE074AB9829A889A9E2DC246A02D4E9B433B0EC9980877BB97FC4E93
-1E322BA201501E4993227D31BC1C5BE85B8316DA22B9BD45D3CE2FE9AA14CC47
-0B26FA0A901EC93F2957E2CE9F10DD6F9EF845016328E8AAC1F4EAC73E1A4484
-04E37068F4115E607361729AA474675C119F64EE21A38CBCA5966A6B5E5EB044
-8F8CBF8D2213B5953EBBA629AEC8E061DCDDE3B9D15581C759DBFC62C62CFC60
-62140F6B21E4311DACD25283B1BA8B0D9ECD0A097CD2FCB97084134B67E7E539
-EC0380B332B9E031FBBFDFBEFD95F5A47DE16F25D8DE7EA159AC00ED456F2C07
-5BD391B5A5E89ADC16E3802AA778A8075A346C2FD51EF4AD681F1B2EAA9324E1
-DE1D679E42D11BDC272B3312258E3A82DB42F8E4419A38A7361CF038786470F9
-BC1170A748535450217AF5C71D83241282531B845ACC3F7B2E6FD636A234B2B0
-CABBB780C740A9D743984DA3E591076BED22D92CF8AF04483DA96D215E7AC6DA
-8F813D1ABA3017F8C07E8F9D214D9C6235200E29E3E9C0C139D3E52F5536D521
-82ACF921BB489F721FB6F817FB20019804A2B9FD5276F51256040400D4C027E0
-45C5733BD21C79BBF5D10DDCF69B627C4C7C0426B624BCE0C20533900A419CFB
-23413EFDB1F538D46F9AAD15D274418774B1ED955CB2559FBFC6DCDF50D4C537
-5449E4098B069FB8FE21FDE02631D7BF0EF04DF7294D065BC00DB1E4ADBB4AD9
-7AFC5FEC13AEAE111A089F4081B167386B68A9E3074E433A66C1868F5D3EFA1E
-23BDE9ABFAF4E2E960B7F9C56F06093B76E67B53738E46020AFBC3E40F014F12
-327BB41136150B24D6962D56ED3E59CFE74F80FEF284378D59AB8CE97AB052DD
-017D9FF24EC7A8436E7CEE11FDEC9557CC21920645E8446C3F2908DE1E0662CF
-3F224DCC5F97A5F30CDABDA80DC3577DFF16A39CBD7AE72174528031B8EE393D
-261922CC6A540E7DE1F194FF0875066622D517C17DE1DD910B51B4E03B2D5271
-59CE99A289A31F1840A32D1572A5A60AA5A86784C94B35D031A9F7FD49F697AE
-B480746D738B70CEAD909B279445A5F20FD29FA9075BC0116B33BAFFAE518FFC
-749377B143879F46BB48FB564D51DFB7F5DBA6F3D112EEBE001C4A5A4E605097
-BE6EA585854CBF30F2842D69A8CFBA29154473BAB1980664649313E454AC5C58
-3547D619DBA2604A5FA0238772A33EC5CCBE2F069116D8B382FAE00F552921B4
-531314FA666CADF586AC294D40E7E681589B73BD1116EAD917FACF5713942C03
-7C69B88A086E1AD91D164DFF0C08BC7139491D36C0CC782DC150A6342D5A1CEA
-80C76D63B6C37CEA9961B871A7D270B66D0B05D0DB07DC6A6FAB46ABB3665CF1
-32BA793BC11B7F73E1EA8E1D26B1D6070544B687E704F1999FBAABA9326BBB88
-2D91322196BFF44298774529009DA9A33B9D14E712C607F0994B3AFBD9011415
-A723F061934EF2EE77CFC6396A9DA6BF18A0D298C7A6C68727EA2553CA39E13E
-98813DA1A114CEB833FE98491CCC354989981CAA876F9E78D6C750B02BF2BC1F
-4536CF7428C7FD5BE56D02AE49029BD2B8A96D7A0C6BF3B05610C28455360976
-9C8B306B9ECBE42B4808BB3A9D36E345F097596EB97DA5E22E51DBB5E910F9F7
-17A6E28FEF9B12E0D02A1E13C1FF687B0CE5622C815F35B2213A8E288A566823
-B90C23370988F78420AA4043E1864629FED224E8B58457CE0A49F58931D9FAEE
-713A8CE4C7852A0580FE62BEBDB20D12C704B503263E8D6EBD8F93C77D491FE1
-428D27671F1D72DDFCDD1A0837A765B1766530F94AFEE9B5C9DE46BDC6C9173F
-7E7B479C4220CD777559B35BCAF212459B68F4770825617AF932D714F28D113C
-B7D44904732A67C2D50EEFDB9EB329F43A0113BEEBCCE178E6E717DAC159D5CB
-BC96B4C50AE6D4DBA3D55158229F6D97A20AB1E45AAD87360072C18EB3F43244
-AFBEEB087F7A4987E5BC015AA048CFD2D83DB96AB6B5746DEFE533CE8481A8A8
-A19580300B2DFCBFC5E12CBA1E3BA649EB66FA725CFD02DF87B8EA185B6F4D6C
-205694C15CC26A6D11F318E0186D89FFF17932E5BC951C0458F80871919073F6
-4679128370AA852F9002026F494095F069D5000850910D8513A0B4E2713E9A49
-2DD5E7539E7FC1AB9D5B572E2BE096F90D8285E533B98EEB25A67642988EE3AF
-C8024AFFDEA924C390952BA44A84A94B36F37BACE8CA3719C4584D509CC0BAEA
-F438F87C639953E72DB2033522EDDA21D2B42C6BF884BA9EAC67246A4B8A73B9
-CF7F43BEFFEECDC7ADA4974F958026DE1AF7AA232D816424C1AACADEC195DCA3
-E7AE83E61A52175CE6858CDF6EFB880A7D224F0C13A21390825403A4681A074B
-04AE6AB5FB0C4A146951CEF5478B1B32E1D84640D11AF5D139101547E253AFD7
-B7B9DEB57D631C9C0E972B592277BB2FF5D95A136A7B0E0ED108A8FCD64F18CE
-630496FD8CB69AD6D80DF902FFC227A5BFDAE88B7C358FC4B3DC8098D5A61F6F
-CE4E594AAD556A396B7BB5209DA21553318B7B911F5F7BDAA4DE068C2CAA4B65
-6AB82C9F4397B0677766EFAB0BE5C749D78B8A6438AD7563052189FB60C7E8A0
-3335FF01CFC124FF7D73A9B0AA469D3A728D73001208ABF90D950271894F3D5D
-5ABB72BCC65D90459F59F72B67312ECA5B94337E884413C813C3E1081D6F4495
-EB8447C4CDD0568134FD4043DD9ABD8E2318192F9DA8BB39AC22F5DB70A0BDAE
-F60B85431F4935B728E16E1E331C0041E118C20A7627CDF2543732DB38E47369
-187FE077A35C8B94333588CEBABFF0E8E51492AF29454D6A6701339AB87784D5
-2F0FFDA934984AEBC73ECD964156794614D87E8CA8B13DB155273E792A2833B8
-17046BFD0F820F8B0DC1BBAC8301F7ECB07B8E9ED94921AE04C2DA26E6CFD353
-3AC372A77EBB312DCA7FC9B03860A21D3C8177A868AD3ADDBFE13B7343FE445D
-6E2D241BDF5B176B961722DC335F5BE9964ECD43FAF947D91AC4CB7262E8BFFA
-55F9579B5CD6919AFFD8C11F8204F38626C9CCF541DB9D8DA16149B911FC1234
-AAEC14F7D9153A22F8B2C844D3E8EA389E3338ABE56DCABB344A7B5C121E1E80
-BE38DE6F5EA457DB0558BE5C94238FB3C2150DA3825ECCF3A0F1E0D215323EE9
-429B2481A931CFFA96A383EE1B20CA02C4BD7CD2ED574E69F7D6CF1D408A171F
-AFFBBF57835635D1187C48D07FF5E1B25BB9BCAB7A3316B789655122629FF5A0
-560DB78C89D82C0772D8919B3E7748D4CD562B9EB6660C24A79982F0B03D78CD
-9B13C20175AAC320489D70CC4604694D39853D53402A79AD8951626C4B30F4D5
-C3D46486C72283698B1633FA187FB01659B9A0F368DEA848299A8C33DB0239AA
-F6A7472CBEDAED327E2D809C5F596A355A6E7F6D93AB7C3BC6E15C3578D99043
-956890A23B46A7DE5BE56CED401BBCBADBAF297652114CF00839F3FA7ABF2C9F
-CF02F28639ED6BF424CA843B40693E3ADB057826C6559F9D335E1FFD591170BB
-7E5B885C03F6FD05E0131DC6F1579F6FF27B8CE2A84ABAB2BB7AFBE6B6014997
-8B134A6D47FE953BCED1091822C7E35A132863547F07EDD1A60B4790655B7FB2
-C0C6D36EA3C8847EC0AC732E2C860784623D8BD2DA07D8882CDD68650D08F8F6
-E4908EB944E7DD2F120D894DC449A6453A8BCB960EDA326C577EE33CB0BBADA0
-3C3987F804745C1C1FA648B3ADA27E202F8FF522DD1C87BD05E5982731DA36DC
-CF10D8D5DD6BF090689B8C5F36E48A5AC2454EE187C691761AE58CB8CD264F74
-50776165C58DFFC960CFB68F0A50D39360FC7C2FC6DC1AB43B1CE79A04FA0B32
-FE09C04EED4B52E240C5D28314D6D049EC3FC10574740B4C1222E2F40DFE80EE
-96753C3552DC7877DC4AAE96D35838D3F0BB530EC99A3493780E6B824089E728
-311772C2526A6CE83DC95B10F38D7107C084E0EE38CB2755669F4A784EB2943E
-4785275DC68B2A4F21862510AF7BDEE0FB056B0448702C5E781C8D595B2C3215
-C7AAE06DBB6C779DCC0EF8A645D6B2BFB15BAA45B12813451B17ED0048AAD4F7
-396D61B47241E7E1E10B5204E612C114033557476E31B5B0BBC39A5303CAFF82
-8702B694820DD374CD9AEB875B4E2CE3761EF7C19FE108770F0071C99573137F
-1A19E167A2C0410D4CE779E3874487257D8572FCCD455214C4E20194D8C1411F
-E0A856901AF5E122EAA82D5B03626A1A3D9F25C3BC229A893B25067965187AB0
-1138B0897ED3B234E8AB8A1A3E03EAC6FD7E0096E0BB5F12F217454B728C4E2D
-029A441DA211A85CA97A1817253283F936979A2246E3DF44FD2B9FE2AAAEBC73
-C7EFECD7FB32ED53C9A25C1B8AC3DE43BAC81856783C502C95D8E25C4E550397
-0FCDBEB5CD911428C2D1386EB5E3665A024F2F7D331CAACA8A554F6D5C91F2EF
-69559615527E7CF74D8BB692D0CF814695F6156BB070D6A6694C42A829A95D19
-D4723C4222EEE0266BB0122F610EB6E375F3A762EC5B8D75FF9865B8863D7158
-A448FC70ABA1350AE45692F20EDB6CBBDA98AB3F586B02C52AAAA0E3926E79DC
-C752813C53BFA759D6103355F079D8EB278F2CB78A5AF17C14DC43203C72DD0A
-401A9F277E279174DC8DE113C5C57769AC0B4E899FDE66FF261885703073EA05
-6A96630CE170D13FFAAB84D8DF5B72F96D2690489671D66CA3D3F640846DF5B5
-08A340465805EAA2CB5CCBBBEC404450FD884F1079DD2B518046FF355D11BA67
-ECBC6DBC77F2B34645F8C72B56779B34FA15681E0A8B193E8B8EE5CEA8591C03
-6B1A2A9471B8265ECFFA8EA0039087E8D6EDCB96FCD8F428C81C7605BDD45DE4
-2EAF422807F36D656F8EE90810C990151DFDA77BE22224A2DF2A2BB555FD9133
-C66FCEDE73FD33330CB8FF978B8FFED25FCC5FAF9EA60E139F1740B5191E457E
-15CB57B84BB8913874E39BC9E56791AE6D34920FEEEC4F0ECBF3CF3B7CBDF443
-FCB2DB6D80DDF2497A62E26EA64BDDC148D8DDC9ED8537F749A2000EB4E62457
-22AABA75C3B7F6604482132950B73A8744A1FA31624F6E3CD08EDA651C0DF6FD
-74105F4BE188574FD4140B98932D0969DCD41855826290107F3E6C36D64A6B12
-4CD04EEF21D234D799C28CEFE03F1EB0C75C43F8C7C22477D0242A172E7EC2F1
-A02993D45852841B395F367EC77A24D592C20B4DE8986D9F92AD3B59DAA7FF87
-E991835823F2EA7A3D638C46A423BDEE7584DDB6B04098186FE196A65E330B34
-C6FB5F5F6D61DEE4A47D8E1A51957AE6C3F09F80A3E2B72F667E1E76D689A21D
-4FBEFC07751D50A639020F11019F467B067370B5EC9E60A289B5F364320A5923
-C234D2269F60EDC9809FA5D5869D30744EE1A35391DBCB3D9AA856F0F107AFA2
-DEC10C44043D812B2AC72EFE3EF1A88C8D2826176B857CADF5C11C5D81C7A46F
-BEB4CED58C954771E4C9C7B4E49CCA9EA94EEA1292812BDB0909B2B52C5A1449
-9B6A23F7DF81A565187AB4429E6FE38D5BF910304B2B6FA02E0D08BEFC6B9BE8
-A75A9E6F739FB3F64254138559A5A14CAC5495E3CAAA1DD81DB91317B66BD3D6
-A7A1833B39AFC931BD7563E2857E51203DA55E7626DEDE895B47E259C6EC964F
-11B396F78E065A02C3D3768FC7FAA74A715C18D38A63B8BD64D928DF273B280D
-CA06722DECE0BF58A69100C903478C2815A9EFF6CA2293332982D5DF18C14C2E
-912571C2442D965616B81F7ADAC4A0643D73B806D11703E0017B9C8D4490607A
-29B23D9F3F8ABE3D9276F0DD73D7B9356C1535E147EEA224207476879CFB99CF
-07DE8F6019AD6C35AE5C1154D573D491956BB3C3151B057BDF788B5907AF2A3B
-5E90CBBC343077224FE12DFF4D64520F253761CC08EA51F57C6D933CBD39B6B6
-038EA7600BA094B46470C07CCE4ACE79FC07974872AD65C8C2908775FDE40A0C
-FEDD45931D0A7FE3DE0722D8BB679F1A3F1E6612812C3FB0360575F38C9A603B
-6CCEA66783C1AEDFC4898196466FF0D01005906CDC28FB170C308306D023657A
-81B1EDE75B8343C0C5CF82811C44998ECF6CA249C3CCD2067B0BBF83D820E3EC
-A047A7451F6D9C5A63CE5426CADF329055FA71ACA99790903381472E4D54FC39
-4F150EC9C5F19C7D9924F90DB504605E6AD0123F65CE47CB0B2FB8683291017F
-337337EFFDE5A510E90421990AE3FBE02F47FB8DDB3FB3EAA9F062C801209A6B
-73AF3D0E6C3207D302081508DFE9635160873AB9DFD3CDE4CC1D2EF221E43BAA
-E1BB64E175BD5609CCAA1AE89EBD7332F4E4DA5BCEB34720D7CE8B3619917883
-0FFFECD917C74A6FC604F6CFF0D5BD609A444B16C1622677ED437DF68B1915D7
-B46AB9E6E35968D966E3361BA90B6694C8182CA81900D028C7825E4BCF1CBCBE
-362A6E6E404D0CD9AFDB6AF9408B816DC713E682EBD906D19165CBC58EFCD0EA
-C75A430384DF868BBF99C85AAF497D20C1C4C44BCA5F1F0189822C0E0DB22286
-C4DCFEFE23A2B4939DFBEA0D96E6B6E575147635FA1F31C44DDB74A482F69352
-C4B666FDB94BB8453DF3472BE66C31216ECC3F682DF022C4072C29BFE203384C
-8861F1B9C37715B1F63E6669915E657E645A15EACF749B4A20AF60A9A3DC6E68
-C6C24AE640EE24B53BD2958DC4CDFFEEBD555FA1FFF64DB57036F73C78E9CDCF
-4A7DA2F7EC0FBD5A9D2F3FDA22DD3A536106D5790399C255240BFFFF51685673
-9FCFDC620BDD2616E96362C10CEEBCD628A8A3A5EC32B50F6CF5BCC85EC2A2E2
-77BE93049403C5E01E15AF4BA546D85D2A501E3D37EBFA3BD91A50E4DDF68F06
-8133EF263F27C1C22F05AE00FFE199020E92865217CE8AC524775022071015B8
-D898989BA6624585813A21C3DD0DFC855DAA95B574E6A590CDF3953A5E64DF12
-887B09E24144AF02CA48C7DFEF5DD008C7BBBC91F3CC6950462722D7049A5CCE
-E2BFA459DD67244275C9599DD78E3CD11CAEAC3422D6216DDA27A94C563D5CC1
-834F9610B28A0041656B0FEC8983D72D5ED0C91FDA32D778F545FD996BE51FDF
-A548708D46A908CC0AA2809B45D8F84D50B3F7F7E6332E694B4162E9622D1937
-7E413BD3F00977D38B3A81CC172EB29BC830763D48A4DB5A4EB3FB79453B7512
-268ABA5FB487D6E426B86C1A9B49487F389D28A7FAC85FF65372CA0464559E44
-CC8E8EED91DFB425FBEF17B0626EC215A21F2B89BF644A661C3BAACF2990E97A
-9867179CD5FA82CA52F06DE8C62AF286C3C8374982F1B6E4576A5EB1FFAF7567
-81E4633E3CFC62FA2C043397F6899B1FF0083982526A4C1CBE3A2B52E44B368E
-640292F3119AED62E747808FB96A36F4660BF04C46BEDA931AE73A97C0AA247F
-05669132DD83E5E531D5B5854957D89C6C6EDF615F0A942F5EEFFA27A26B4DFC
-F305D32BD15726C85D2C95622172BF8FA12A4AEA7BBDAF4C381D2A656D6883EB
-0CC5BEFE088E28562EDD4C6DB3DCA58D1FE445BCFF25418C6C7B1C208C13B22F
-77170A385D5AB647DBFB569C261019845F6E96A024AC1BA9951C5F61964B3ACF
-66D2CB795C426288EB73B67FE1A1DA7DB94FA128FCCBB41E7B7DE16EC96BABE3
-FA63F1F3EB37258EF26378C38EF0054ACD3CA0AF85F29AABA37947A3A9A0DF05
-E9A35602687DD9F65740A36FD7434C9710E606F1E52DEF3D159F2348705CFA38
-A806322FE998CC0938DF33948027490BC1640604AC6B33D50D7246136DC1ADCA
-7C21338F2BCDC6700B7BA93E9AB565BD324A39872728DF7F2D2388BE9969E26D
-D3D06C2D0914976E63C40B87E2EE66F757B6D7E9038F77F70B3DE9160CC66AB6
-7EA6C9BED2B744699663597619C75F2725DBA99BD23C453831350FEEA2CE697E
-24CABAA4783B87AD4DA8CC4E7D8CE49AA3EC4C0D947BAC3FB7A29AFFA7D7E21F
-F76C48F4293A3EC09E90B95E79863AC6913BF9B8FFA3B64BE7450241892CED7F
-8408CE8B37EF182B9709B70DCC1C56D60FAECAC1823DECAB7834F25EF6F92FF8
-A88024018B012055673E1E1AE96856846424BE977D5E2391E681CF421F9E8C59
-426613FC9B11A1E74CA3307FB4E2C9F8A8FBA1365767FF8213F65AE16B1FA538
-E20131DFBEAD359A9B66E8E0580057D10DAAE6FAE824F062BC8A5B2E92E4F9EF
-7A66EC864B3E9035CFFABC5DC951B0A0EC28A17DF908DBEF74A4CAAB716CA651
-A3CC954BE3734BB41A5926F0AE2FA13B2301EFED79AD14B41B69A2266698C431
-A26D4D9061578487BAFAAC24EC62FA64E98DE73161D6598BF390FC861096FF22
-81EDC90EAE8F81DE832E4FD7E42A01F4E44D5AF8BF62593E7DD7DEFFC25D37C2
-F25CDC47F6D0A2368BC0F6A3AC86C7D011BD62C95CADEF30C5CCC0149BA380F7
-4714770E246601B2804240A8699DCE88BFBFB8173E9CAA917A2E883978F5EDC1
-144AFFBD1817AF97121DC66DF0F4A690620EF80E3ECDA7CA4F21E3A669AAC0AB
-84ED83EFB39CDEFC01C82A75ADF732487FAA5252308245A4CED3FB029BE8D629
-674C52201D8A7A6CCE4204D234EB11DFF592A0EFF39A1175F8946018D9A7B4E6
-AFE1310C534B419E1E22C40A015EEB1FA0F75672AB5D870DFC246939757548B5
-43C4DDE217C436C617EFFA273319E420A28697BDCF988CAFA5A7D1CB18AC74E9
-B3FC568DB49F97A341610377D6585C0444BD272D73C6D72CEEB601DC8F39458A
-03B98A948E89CE15E6596DED91329BC248D1B1DC5389DA9FA12F457A5AFDD389
-CFFB5B5E4F4102AA66601DEE2991DB182629921E8C32683BCD6AF216A2B14054
-F4F31CA989592B429A94662B37A969560CADD0BA02E63BE7C73BD813997C79E8
-684DE5F9BB7C18EC19EF5F3EFC11ADCCD56D454FFD2AFB914D89849ACC7A94BD
-E2B475B7BBE434E66F99F720D2C27118DC12C841509590A0963AEF4E38E57527
-313AABF75C7F557D14175EE0B4FC047F4897FD0406C3683FFA365EAEA8DDB6C4
-EC77C47B57D2A4C15F93C265899157DEEA790761F7EEAB88784D22DB7C2838E8
-8E3F1234E8676A524E74A1B84869FBA97038F6AF4A27D5526E74468050D8151B
-E46D6FAA8C04C4886AEFCAE0538A59C85A50952953F798E1ACBF036A32347856
-4A2995DF127236C87E0280F9B72C3468A5476D773E50AE89B531EFE8AC7B571C
-18CCEB07E49E705FC805B15752D12E2473FD582A8D06A23E1C8F1B87423ABEE8
-390FB806037CBAC52D7704CC7E386700C6CB5C9A1D46840AF2A628DEFA34CC7F
-7434B93444177D4929BBAC35B12EE4D01FB9981D821156822B47B7615BA83333
-611B1F6147EE47CFFE8D7F5FF04CBDEA17CA70B928D812B37828B78E72E69439
-A0308FAA9A4615B5641D9425011899FBC40DA6B5C84F03A253468F90BB926348
-FCB7CACA43499DCDE02DEB32F52E3AFDCBF49DEC1099C67DA32C8AD16D1DE524
-D6332E8F31BEC975A47E79AFA253994D0DF5B36EEE927BAFF88A4FA9996A7943
-576748159A0C4175331034AE8E44E5462B454A4F55D8B8735D3EE2EB3705D3D3
-0A287026BEE241994BDD413E35ABE8283A9E419233E316F8504FE5D531E12484
-94BA7F9D85749BF297FA174DB67DF9DD1128DBD9867F8AAF8E52B9CD2D3E4B41
-5E92C10191448BD281046223DCC1E91CB59A4204B3BEFBD60DA3C3888DFD11E0
-F99F6313F7EA4422190B5A0F516874DFF10CA5EDBC7EBF23A2DED06F9F16C7EB
-8148D6BE942AA2C1EFFB13C75C069390A683059C0D6ADBA9E27AE476B43BB341
-00EC4ACCD3006BE0B12C1EEBB4FA66646122A3D2552D8CBA8B0A96D090800CED
-22DCB22763B3256EEBCCF4BDAD836782710AB630002FE24E1DFC483068103EE7
-94F225EAD78DC3C445552581F877CDCB11AA8F380F6B31D7D465FFF7CF17547D
-98D495BBF383D8AE7C44ACE65CB15A09C94ED54D94093C194AA500C9433EA048
-157C21E34267C1676EF18B22F5BD4ED51DEBD2908CBA51F6D9DB4F0B6F86BABF
-131F1D2EE44A966FDA10CDA2C3AB36EA89B329E7D974C1CDD5BC0F413F1C22BC
-BF33ECA3A2B2D8A5353C68577729329FEBCC31E8E4DE19BEB9D8E0D16272C925
-F2E4F3B798A07F0C5599C8CAEED260743C0C7767FA57B505584B30C751A0A423
-5C68B353A6C8055E4E3D0DFE631F2D5CDDD1B6D3C122F361A093B08CB0667D99
-8CB6B76DB11087A64B1F4329DF39F599965C6F827E53DC5697CA9C852C97116B
-626AC8F5CEF457733D6EC4D3876ACEB1CFAF747DD866855CB12F8D2B6F70392D
-55DE07C6D07CC22114
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D05DA0555DF933BB0
+7B42D264831116C06C79335D519461E7B0E870A6715E3D74A08D1BCF86E3BCC3
+A43FC6BAD1C68BD9D4AFCC06D845FD1F1E70D7A47F0BBCAECE8396E04591E5E3
+4797F646AFEEB7DB548183F0B74C9BB6BA2AA04E7F5950EC8AE97C741D4B2C5C
+A8E7A8DF5A36A30B5A7592D95E1DBC63EF33C92FE459792CED29E2B8B6919251
+75EF62089BD7D44A6E1F9B62EC802FBE62B821DA1C3B2DDED45D27964AD29ED0
+9FB7868F3A8FEADA87A8E42D52C1EB7229D7C79B60BDA263F2BDB025AE14A507
+098FA274206BACFB4A0A7257D5998EE8F0FDCA79CB61DD1FC59DADD11E16BF02
+ECDFD706CDA1E72054D4EB55AF7BA9F19955886BC0BD6E0E3FE3769C94AF3581
+DFB2BCD67FE2892AF07E858A01280194D8DD7332B3D0A585C87FAB056C2EAA9B
+5AD48D1C9F00CEF8EF0D1408DBE1C03D04B231D7B8D5D998FE0CD7EE19828EF2
+F988EBF6DDBFEE00F04A4A1F4E1A55DED7EF3AACEAB5005F1962C724A017C914
+2936E2E0DF26A55ACD7DD836C6035CBF07981C1BCE3615064F0540A1034C69B4
+E3908E76EF8925D486DF0B4A8E1F02D8AA99585A7C31847AB9382F83880C1C21
+C496AB2DF8E7BD4643B28B704B5F6B53429D3EE940A79135F5BF0396E5B46F23
+42AF406C26D12BEA7A41F332AEB75DF43C15334CF4651A99F602036946B1B91D
+4BB0D2E51C20216D892C8173241AC8FD15A37C3CDD8AB4FB67D8565AFA61C068
+95E3D6E46D7C09BBD09428207D506AD43C693F3C3D787F6A5C39084AE45E81C9
+830900DB50DAD10A17E118FB5E9680B5194716A788FF7514A1167DD1A305FBE3
+FC1F39A39F5613D50934419B95A4A2FE1B6C18912CECB86726926F6B77B5C3AF
+F38F85F974A2D2145BE010EBB4A390B842BC222AD4A0B7FDD882668C04C51F19
+13FF91E7CFA0A0F4E99A1944B272E0291BBF3F9ADFCF3F625B87377AFEBD9F11
+6385726E908BAB7D1357504048C0F5B26251A1FA52F08BAE1D64B9FC32A684AE
+896F3DD0AAE9624050D4DFDA25E581FB2630E8840AC5322D38B92F3E77B55CE2
+91ACB8321BE53A2C7D274D63CF0C68AC833BAF4B22B26EFC197D4A893A5AE492
+660D995DA9294C16BED1113CBCC18AFCB5968175EE2FB374B1AA261F22CD75F6
+6E7295A254FEFC41A66EA6833A6A4EE0E75EF6B6FAF292DC5D2AFB61D5203DB5
+4BAEAABAF39E9F98B45F22F2E37F337A7BA412807A31B4A5A4E1627BAA964B77
+6AA397D368985045244ACE969799A9489CCA8FEFCF2EAF262ECE08BBD9573C79
+2785F1004C34F4D728E9E820B4133FD5F823B067F6686C82BCD35123E4831E38
+CDD5ADB098BC3F1B4162F45B11ED39CFB65DB1A10646D0B9FB5BBE475031B2AC
+9E0769CB063B82D1232E24CAA86D9D5DBB9737B1E69608106D34CFEE3FFB4213
+5DBFB88BF9012F430D56F7A83CD20ABB55BEB186856EDC1D1118887630FD2CDD
+295605F62988342850F206E4C6B10D9D1AA529269BBA8499591C32E89A4C9F01
+B6DD28F30D56D1DEF96B0C62E4D63C96567BF16CF28A8F6BE716E136C0C1B5F1
+3253BA34759A58AEF7DF0F2DECF50026C2CEF2A03D91784A86D5B644693D1631
+60E18B48814EAB101F267B951FB9B0ECF869998F74B32F2DC260F6A3594D4D40
+54CD8B9694B496FC2ADEE327B399B944DD6EDB171BB1D74A627C789DA1251EB8
+0A4A1A97E4BCB053DA203043FBC4654669E650006AF21D795FF574138FA0161F
+E51578F15283E429FBF126848DF5D4933A05F15B9DDCFA4F137C62276E0C05FF
+F12C6713D769E89A86D00394FCCB689C8B16D2FCDAB78BE21FFED0DDA6F05DBE
+868E5CA952A2CE751BF57BACDA232E60ECF92A684B2EF965C56952BD0E2B6A42
+735EB20115B0B663DF9105E3EFE332E6D4D2C12CC94B9C465F331E6BB4B508D2
+2DB3F31AFB87D6B6C401E002DF2ED150817DE7486B2E340D07735BBA143618F3
+26A291D1BE30986D79B36BFD02F91C64C28CE5383E883520B88A9691BE0ABC25
+C5916DABE0C508541B12DF0A1CFAB2DFB4B65A66FD3563D9048249820DD87A8A
+073965E6A10523D0D3A10238324D95E643351E6E97EF177690C93CA3CF1ADFED
+AF987030E338B6FF24DFC91802A365EA741EC67ED340398B44DFE84B1DD4E4E6
+4A2800AC9763F8CE7260BC02731FEAEE2BC011FDF83E19DE3442C5B1478E7EFD
+E5D4948BF78A6C24DA9DBC99D37D6D3ED8F180542B198791DE02AFE4687297A1
+854D6CE399448F49CC04BB5665885BE66F8212122BACDF47EAAD0A207857A8AB
+D60D35E7C2E6B92500AE93538A218C959C28084F437B3411533CA4B6BC34E625
+1222CF334221C20765536338C769FF0EFF70913294DEF69383BDEE2F861B909A
+A8FF67464D087596F999963250C23CF53C13EB32AD3A65064A0AC7D691BB0A6E
+93DF7E9D37C815C27309EBB69B9FA91BC443C26766690B01AC06A2DD74F722F9
+82EF0461991F9C487CFCE2E697B6974F7E3A1DCCF42389A260FBF0249011DF9B
+43B513827F760B98696F4C08C18EFA9D6A9603694855C2D9468EC963F18460EE
+AB8AC52728B72700B1259A739D524AFADCD305B3D8D9587755214C3AAF4C49F3
+1027FD7F80C82BB7EAA5792FE68D2C2A33485BC0B73749C9FEE1D5BAD8DD62C2
+F7157C7E1D3F9DD47D91DA30BBA66295F9D8E86D621DEE3E2456F05E30E6FF55
+2D7BF0BBBB9926AC413EE7E0BB8B56ECBFB62DE9D8A06501B6F49FCB298F2D9E
+AE2E20EF456382843CF66364DC3D9BFE0943673C513634266C51333D60660B07
+A7055604A576760484AC8A80CDEB92A578D1C5E222BE81C3E2E8BD932B20B39D
+FC07FE720C90DCB770CC8EC2173450E4E4B58DEC40C6892FDE30634367C7088C
+26ECF2781A83A018CEA9CF105942FFD8D5360FFCEE038F709B3D3C07B6ED79D3
+10241EDE2E4321F432023F51D39B9B3475D2FBAAF58CD7CBD01E67EC29BF3504
+8437D5A1AC5BA57AB795466DDDB969D6950813AF15A9FF4C440B48F540C9B579
+1AABE1DDB9EB1F9687349857729209FED753F456EFB0F21022C83EECD6A59F0E
+F8083CF9EDE0778C2DDA1CE71F85A57AB19EFAF11E5973D743D0316C597DE4C4
+47C8AC1C469E8F60FEAE988F1E4F68B97D8CD97DB38C0ADA5C42FE64A7771D31
+49A33EC157EF34656753C83B26E1BBFF01B909E68D07ACCC14B4D2DAF7C58C38
+CDE288B2E0193D3EDFEE5C70FAADDB0D7E7AEDA672134805ECDC08F328736BEF
+29656EE47C940BA5551C55226CE6B6124F02BADF3A9BC572C1C092AC696B5CA0
+217224E273893F5979185CB24C9B70DF5893DBC7EA27B8BB05929DA6DB751192
+F0AF3AFE1813A4AF41345FD3F245258032A460C7C8ADF1E5171684E09DA5E400
+68AF84145F49F0BCAC41B40D144FD6A49D62B4AAD9CB307104A528A9E044321C
+347DC1367E49AC41089FAF5AF64FEF66C79121CDED8D83344F08942CDE1DBE36
+BB074CB0AC2C8272C7B167958EFA9AD6910F0A36380BBE055CD56CC146A9C7CF
+C96D112468F641E5FF5F590390FA0951FE26E6C5FBD78438E6CF74A1F03A0307
+7E95F9447D626506C9F0E4257ECB47A27CA356B6DE284F9FBB5D1B45CC27065F
+8BD0DC8466E55BACB3C737A5C7EAF95E1B3B5A8E2B2644BA2DC31BD48B9008F5
+277E49258BC8904A17F6F0FD65270F69666F798E70C095CEB1F3FA061532A79F
+63AB6D13BF824651683D08171F058CA4F192CDF89610643EA48871BD77E6BD31
+DCE26D25A4040E3E0B108B5DA393DDE17C78E96F31A75AD65AA46585EC68ED1E
+B592751BC9713F7A76C00C860D5865FB29CEA3B50CA4DD6C54924DE15841AB05
+10B612DDD92E0C7194111DD7B15BFB3C8BCCE3AEB4A1C7766B09108300C05813
+E88E1D984660AAEE0A97B51478A990151D54DFA9591582D0C3FC9676F5C580A7
+E9A636484598E5B2B13C3F184AC8DAF1E405B707402DC769D7DAD1F4EEE2F309
+81744CFF3AA8B71B91737F8A88E258BFC22E89C145343F49FA26407FB996ACA5
+E8984B40F73B6204C523FFDB02DA74E62BC03F5EDBF6869BE1D797F725A043F6
+1950AAC50F26738FB29A23440FB520D07A6E6F2D365299EA664592BEBF74CDD6
+838EDA712585AD09180ADCB9C203C6D6279FCA07AF9AF9F0CAA6F9BC98F24358
+DE2EEBC1EF91748F841F5CB8F1B64BDE7F87D5DEC7DFDA6B86DC162CAA9DA3DD
+CD98C88B8A0C50C275585F58D47A9F594EC4D7FA019408692B19C3799784C139
+DBC878B6C9CEC8BD99DBAB2A972E20E27413D0605C6C4DCDD36D01760C6CC3B8
+82CA4D96D6145D6A7A0FAB66D1D0EBFE64CEEAC391A8056ED421875A21B1A6BC
+CACAD3E1796D1F3420343F6C278F2AA1513283739B6E22EF8251CB9E33DB1363
+7BF14230AB9222370CA1B6077DC125226E2E9CB99C96AF25A3A5C25871D190E4
+D03C3C0D5111DD0743A4D2EFF90C53608FD9B192E5F9141943919268175C26F5
+21BDC26C85613BE828CD248DD0400AE50BC728139DCD38F4428E14C5A27745F3
+2B6205022A2D0477F1ED47D68082B57AD0FA6E4B424C368D5D4612E4C095058D
+894C1D0B6C5329F0135F06AF73E5D944B8B4A01A658D9641882D3EC891BF7A13
+A3A5BE349914CED6E96ACD55CC2B65B625994D9A8A3A271F6537CACC373BCD38
+C6C66C216A9774F44F4551EB7DD811B9C96DE847AD2FBF40AF0D783AB2A3B762
+98AFCBCB578051848966994A28B7D1FF4716B5483BD0E9BFAAC29AEF5E5C5BE5
+DA29C680EF14BC74ABD27E28A0605EE904E1158F1BAF278E92C6BAF19B652DFC
+7CB35AC968FF65F089EBE130B80FB61A7713F09C92BBEA8C9FD0C9B797459CDC
+FFCB39EF798AEF9B0997ADD6CB4CB9A908E48303B89082C8C08F5FE8C4AF6D09
+DAE8D4818A938631BE0C7A2BAD08B6FCA8B795C2E7C90FCC307F68E1F0420934
+10D134A97C54A437E863493EE2B8777D0A41E5B6CBFDBF9FB28D04D893E621D0
+0991F03C36368FD97ABA2972B940337F0F28AB505E2C6B05C0A7AA8B0306002F
+0E0182DFF9D31CF3DF4690D6327933FDFB4E9E1B6D7E3441CAEEAFEC7C2EAB19
+A27C05E0340785890263E0D2E2A4ED18C3850CC97160F08DC794C0472A59BDD3
+2CD21C2F745A276D4ABE49918D84C55DA127697B950FE7BB9DA182748586206E
+96360E4660F68CFF793812141412F638266F4751D2E9DCFE554A9CB5A79F8743
+9B8B60A5D5555CE6445955B768A634676A1DB9213C2142AE4510616F2059D6B3
+9A062ABA10FDA02E6A4AD1ED45400D920890E0D58CDC784BCFC9892157FF000A
+62A8926AD321A2CB047494979DE67D2D795314465CF35E1AF40247483C36880D
+8F4AF96ADB16BC07A7CBA6F0A48B4739A6E74192A9BD3A417E9BE8C84917E2C3
+990D5209FBCFB030D56BD1C554853B6AAEAAB2815A9B75DA59164D1DEAC494D9
+76BB60D718D2D32026C173712F8161EA9268643918D6D49FC2AC3820438053A1
+4ABBADBC81D02EC6F27A430BB1F21754F54A00691312B1512BA5F24F4F5FDD80
+7817EA727AB1406ACF603301BC7A08C497CC796E019EAE966C06329DEDB59799
+D396EE7B50A8F0CF55E29497D39D16
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMSL10
-%!PS-AdobeFont-1.1: CMSL10 1.0
-%%CreationDate: 1991 Aug 20 16:40:20
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMSL10 003.002
+%%Title: CMSL10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSL10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSL10 known{/CMSL10 findfont dup/UniqueID known{dup
+/UniqueID get 5000798 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSL10 def
+/FontBBox {-62 -250 1123 750 }readonly def
+/UniqueID 5000798 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSL10.) readonly def
/FullName (CMSL10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -9.46 def
/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
end readonly def
-/FontName /CMSL10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 12 /fi put
dup 121 /y put
dup 122 /z put
readonly def
-/FontBBox{-62 -250 1123 750}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9429B9D40924DC059325D9D4CC0344F3F997A99E6CC0676735EBCD685AAC9142
-08DAFEC78BB41AFC2F1C219910BDF41D6279284EF600B69776CA15BC8A34347C
-30783C52AFA60FBE3E353E2AE354CF87B558776A22C776C7A0B5AB5CE1F941EF
-C2D9CAC37294BF407A671F10E4743BF842143F4F7DFEE643BA3BBD8BB9E3F24A
-BCCF7F0ADF8BA500620C81033EAE8C4EF2C1DEF13AC575F1B3BBB66F093D3B78
-5412B82B67FFA087AF57182B2230F9F2137180CA58A7D9B2C822FF04BE6CD01D
-43B2CA7058C7B953F6D9B5D6E91ECBAA5CDE1159B0E59C83DBAD96D6C8C8BAB1
-374EF652D10C0F3EE7104472C98DD3572AAF2D45A70BF7061447E21EE3C3BF23
-DF39C2D1B35B42CD5297BEBE6BC94F7C9DC6E61EC67E4F677256FED9064BD3E4
-B51A71B1D27CA4E5AA9E1D8080E6DAB5310711EEF87C40859FA935B19524AE83
-63B163FA8397BDFF443227FEDF7DB27DC35D89FB1C5E435DA0619A5C88AFC73B
-89A2DF5E767C5B536BC7167A840A0C32BD57A14DE69A7D0D819AC36FF32F908A
-5070F32983BB007437E3500799DF5E0AD3710A4C0000F0098D5BE99F2EB9C1C2
-C444FD9552D0DCA098A94B3BF176F511CEE13DB7EFFAED7C47B5ADCF8D4700F5
-7A5FD1B49560969BF5C44F3749370663A04776F749DDD7B50674D93254426C4B
-EFE264BEE7810EC93784B7C01A7F29EFD92547E13A2C7851A2E709FBD5B87850
-4A44F08F56A542DBE072D2FBC58D9E6468E1AB858DC35240E30D31C7AC13D6C5
-7D2BB634BEE96FA0E10F842B11A789F72A333DD6DDCB1BC23227EBC406E50B40
-30AF0C48E6359AB0C46898CDAF1118E46BFF8B00F54EACBC2AC262AB898C42B9
-2E080C10DE923C18A9F0E954B2CDD2A47766760B18BA76463A1B03BA5974D6C6
-B0B2A85803651BA403FDEC112BF35604F783099829C4D22A73654C00F407D36C
-0C61487BA5E72FDD8D41F6CBFBC4D3B4AE631D6E4328AADE2536692822D2D91B
-D5AA15530AB49F00D62A6FF719C22144227BB63A19D88D648CF92C5D40C3C8F6
-BE67CF57CE549C05C79488F8C49692F8AD8F2B4E0CB5E6EF25BBD6F6EB99DD62
-581FAD2AB1324A5998C5F510F9B94E625574153B1973219495C75C5AD324489D
-25B8BDD66182F7A2408446393A21B1700CEE16214E0800D9FDC7A49CD5491798
-EFC6DFAC756E3F4623B9EFE0C58CFE01CBCB54A212C39E84EFC05CF3419F6117
-F136A26001586493B441B825C0CDB1F264A55CBA443BCDAF8BD24C65C41BA504
-E8FF070C502998068714908443B79F864A5B18D5C3B97E0D7F3E9762FA2952F3
-6FE89E81AE05666444FEA875BC79194552C79A7E76777A385BC7CA1227854AF1
-189E05BA92036059F1DEEDCFD372F83F104252766EB583AA79C127254F190871
-79E42714428063ABF47575C79E74C7F6A8BE3EA25ECBF8762B380576FA012162
-15EE389236850B67235024FA77E0684B49C857E40A04F15B6E38334FFDBCB85D
-E58E2BF343ADC3DE9F93B2366CA9C6F6C6BAE8A895A9FDD3B28B39865B223182
-D14266AD9687F8C53A5DE67449A7467A30E28FE327CF8BB29E6E49844D55AFC7
-59E4D510CBB3036A54666CA55F59AF1ABA280C3B3718E756F1CCBD5DB5B4D29E
-CF666A95DD63DDDB4674825A1B1E0621929AFFA4A1C5E80E89B60C8ACF2233A7
-393EA28344EE66F6F1265945DAB95531D7743F951636DABA81D096A65B3479BF
-26E64F5B54CFB1D2A9C649482C997677E603B82659E8393F46CB71C30FDD5A01
-B12A9A18FAEEE68928FE51AD5401CA760ADC4349657E102C114ABAC0E396D9C8
-7EA1764B3C7DDAD73B4EEC0AB315517DF4CDD3593E2B4B69F371FD7AC5654C01
-382D06680FE0BA9663EEB766B229E25F9F23B367ED5432F8895EF03830942D88
-02F6B1F7CB27BEF68A56C444A4450E6CC210D921EB7FB070C8FE07B4FAD0E3E6
-11E3D69F98F63F701E21B612424671AC79C7B8E423BCACC61778A5829E2F9D5C
-4EF8E3D2EE3D98F3C284F01CD541C48F2496E144C73882378732F19EC4E02632
-9E043CEB548A1377A28FC609A6B55CFC81C7B5F5F6A3EA1A174C5A50D5BAC0B8
-EC8BA2D234D15E4310AB267A1856FA97F90CAADAD12C125ED65C9DA079132C70
-188BC79058C8A36653035A48E140B8B1AA35DD004CA12A72D02120FBB5CC9C01
-942B607049F9950EAD2F7445CA50A2A1D145E30FC73E86AEA55FB80B73BE75B9
-FB413AE5859BB5275075BDD2882FDC1E4D85058C574648392D6CD13449C2913F
-B0C8726A898D840AE68F7B444941A0727DACA168669A1826A566C8AB8A4E561E
-80A434F3003C627B64E75609B5F8CC05049571573FFF298767F035C7580143CB
-69C8DE4F52F6D6610588B27AFF794D50AFC6CBA0EE7928DB01FF2DAFDFBE0AF5
-BE068E92A8D29FDA8D2D0383D215292F567C6F4BA7E9BA0E7BE3469186770B02
-0B360986BBE0726A0BE8C121E92200B8C01CEDC24B6080913F17ACC0DDA342BB
-183F59487E45102DC42FCF492774595E1F2FB6A5AF2E71AE0976BFB1D558CD6A
-86AAC975962543E2CD977AB00F9AC742E8A70AA886B3511EA99BA61DBC15CDA7
-4F1E85F26FF72107766A18621FA01DF36A7706302AC43677D59520B607234784
-EA249126AB9CEA68B5F2EB82218047F783B49BB82EF2DE182C29CEA33AE841EA
-0A9826D206E65E00A98451325113C8563C24E7003225460C37018FBAF8253F16
-B7E5962DB5D31BD7AA758D9C0B74BEFD740FE04D12397B8C83DB55CC88D9DFDC
-4827B6492D4AE67FA402C5BCC7AD5F60C8C37E038092CB79EB5C7C195ED57B0E
-1788039EADFFD0FBBB3DC5BC4257F0056723700E47B40E818A4EB954A8C24DC7
-57B2255437B89F3B0BC34C2E0096C3A660FE483D332F2FDD78AE51B3562C731C
-D9B0AE2E0589C20E9071CB9DA9052A13F493E5D2FC7B3DA4F25E80DE9D917C59
-67DD803E72EDBA97BCB5360DAF0BE68D31FB4F5B70B621D3E07E00A95B813D7F
-5F39888738079370FB7EB5DF7DFAC38DD019997E368B83634D4B32F9C7DD6131
-E70FCB84A361977066A87C2F0FEEDBF8AFE021C2EDDCD7102E21062BCF4303D2
-E0858B762805DA107979EE84781B5D2EB9AE67E599431C2EDB1C834B397CD26D
-6365A249D3CA70929B443DE027DAB5BBD9E9DC6B073D8E8225F5C3BEE7B189DF
-14150F3B26324AB8D2487C6DC0A3B707B401DF7CB026DC95CEF9C2FC4B9B5ED3
-D72D98F1A49EBB5848D485B469306F31AB582CD9B2806399A4440A87D1EAD458
-24BB96332F6B01F8CED714EE8DE6FB0C36C0BE8C881AD9215B773F552ED344A4
-553384F842B0D796AB2FA18C80611271136731B98D35736FBEF23D6B109B9C9F
-19F0DA222B013365EE56D3018ABE530665BF403E76B94C1E514FEA27AE8B5A44
-55CA0BDCDB2838B9C7938A14F733B2000AA4C0C2E7CAFD86F2EC23F991549127
-BF197F900A0FA7A691E18F0CCB064C8E2B1258B48592896873A71E3F77430A59
-C077EAFCB47B2847F980EDF4BE7D42F7485DEF63DF43F1D8276CAC0DFD400BC5
-124DA4E28443DF89DA8E743222FFA045555705A2C9E8D0BC65BFC2AC49EC5D09
-5A5BF031F227D4C448A9945795513C2D69F83364C544C26111123950ECDAF20B
-981BEEADF7E43170A1977AFE3950163B0872723D1D3460027D2C847C3D6D629E
-E3274F212345918038E3118B5FF097DB6CDD30544BDC0A11C059BF15C3B712E7
-9E831FA7690FF4C10D2496BA6D3F217EAF61F4B7298867550C266DF821F5491B
-4CBBC911390447BEE7C30EAE8FD8EDAD09DB7977B62E3955F04D00848647E877
-EF771A4757C09DD2115F041CE322310AAD0C1F5FBEC8ABBCA81018531BFF7E3A
-A19995CFE9FEC5220A9F486143F77D1FC340687F69E2760479712E4FFDFFDC6C
-C7A9305272A81B9269533115648EF5B583A142F5C578CADDAD311ABD410FB75E
-72757BB937BC92BD09BB1D5E256B71BFC3D3E47FFC4767C0E66EDC934D9F01E9
-94F68B5DD56EE3A3D698C6D6C596ACBCDF8088F706DEF0A7648783D8D44EBE9F
-FCFDA50A3087D2CF00C4635C648751B7688A2578E5946E72181D92BB1565DD85
-CA7D809C32985B9BB591933E57BAC7C889EF6642108B1FFA550761E77E35A8A9
-4E2016980200048564D5A4CA17F7603C3AFBDA7CC5DA042AC047281DAC2118F5
-A5244F499C8EE13FEB0087D1F37B478388EF8E43AFC33CD06D66DEDBA387F298
-29B3239DD4AE2230D9FE4C2A36DB7E56B0FB33ECE4BA44579E254D39331CCE1D
-10004E96142DCA8A5651268193DE533B8BB98EB072C99B174885914E8C0D0AC3
-FA3F5206BDE0A45D52FBE1B20C95D055647B8F0ECA4709185B870D059468355D
-F7151D75A0B99C7EB7A2E663F56F92C74402B02372BDB58FDA1417F57311A33B
-65A5D7E7A98397698C612E99C62DA43FC5A3DDD3BD8732B1B7509605511FC965
-BB7FB9ABAB8196A595C7B9CA643C588BC5887C45C9316360410044A7CEB44025
-7A3119E38E97CE78809F0164ED1CA315A424C7F634CF0C5693DD0E392E69FDE5
-4B9E4CDC0C9F081108526A81AB3127B6E5919AA4F6756CA248E221BA3EC18A74
-D84BA73E076B69F32B39F09ADEAD334BB2C66BBF2752DB34656CE9092D94707A
-ABA67E48153776BBAF86FA2E9AC671EE9E1AA0873B0B25C5CE737EBC36872909
-12C57D83BF26A445E8B5699FBB2F0EB8E898CCAC414F3AB41BE96C964CDCF422
-051512D974D8BFD0774312A3009356DC7A36CDF7A4E785C398991AE5A6CC0F8A
-4AFAD63CA90202B4254C3E79FB7558BF2CA032C3094103AEE0B69118B05D9F7A
-C8642804A2A41F059C6D8AB6611E313B684939A37608A285FD8C23F9B450300D
-5CC9B500B37261CF16F23AA761A65C5925AF88521CB805A3BD5EF454024DCBAC
-64BD704EA0F455D49D5206746D1DD4662E46083CF3200842323F5683D7168942
-E65BA2D4DA0C082D5B04693E166B353D55EE55B7524E2D6C6D2A038788DF2E97
-2C279B04B25FBAE6AB0E1614ECD0EFD391AE5CACF709BFF7B54171A7BAC9C086
-8E92FC76789D55F60630E735079E20991B2D601C5BF7DA054AED37522C6C1395
-F9B2E37F15EEE0321A2A5278969712E76A944F539CB708F006926B582D7F682D
-30E21521BEC47724DC5A9AABDA94AE66B79A05B017DBA87F8F50F764CEFA37B7
-B5F113204E7495C3B59B3CAB0C3FE1165261F78391A4E4C7F30096095FFB6DEC
-352A1E75F834E6F18672666FD8BAA66C3D6088136E26B3D22C557568D14A4976
-37444BA1AA0143A9AF2C80E04C852999157289FD31B02B307B615F551A9A9FA4
-828860E130345CB35ECE3029ECE50CC9BF98AE2365DF70AA5C760A296039ABED
-D59ADB94C0F71038887C5C23B5BD9E6EC494E0F54647451D2F1E67ADEE9CE39E
-D28A5EF8488F94E9D3D13C788E8CFEE8221E1607B25B6C426ACE110A9471A158
-72352506183032EE559F33288F22E9D85BE1E8815ABB8FF33018597CB727AEB2
-995871A2717D0922A7FE8EF55E4F82A541794E3245ED7E4E9398697680F9DED8
-0B3AFF78885637FB309884E6693374E76543C9831CF968AD44319B9B96D1D88F
-54D910A68A3EF3A353D0CC1C3583A724115C3BE4774F66FF7C6F1C52205FD5BF
-4EF3F8670C28E1208D336131D313DA816BCA3CEC3DC52D672E6BF42748B2C20F
-071766EDD1569261465C1176813D3EA9220A8A4E41D2F3170DA7FEB9B60156A8
-CAD278B9FDCA1E8D91742BF591340F1610563BE5678A8C024F4290D4BE13B11D
-55FFC8B9623404845209E97F24A62EF1412CB517031AEF1B90D18B305A337C97
-D6FAB04012883D1B8D38CB3A407E451C301451930BA6A8D79414E58FA626C9DD
-14B9AE31D99AA5591A31F08CCDD34C3013F544A3FAB7E6B0EC2A8A420A436651
-33837EBDF638E5FCCF2BD47D27A8E75AC0BBA67913794F8856861933D605207A
-C613CA03ABF1894FB01C97BC88F4ACFFC93E832A9C1DC6496203C5B965EB0422
-C04955DEA7A6689821AAF0A489924EA07F80D2A511884B6A9F070BAA3F56DC4A
-733DBEF4796C0053B4A3D9ECD45EA1BC941D9E1C16E3D0854481083A26FEFBD5
-BB0DC639C03039ACC86A7345256ADAF7854F9EE4B9C0AAA5CF92897A9E3DF029
-92F379B7B73156BE37A246970883CDEED03E350ABCD91E5919FB6B317D65D3DD
-4D6B963C8DC138FE22EAAF18B88C5AE497342F40BBD6BB9CB8F3C88446ACB926
-1AD8E1FCB7BF4A492AE55B7FF9B784EAE8A822F794DE4039220ADECC5A058A0A
-2892E2933B25CF434BA39289DDD25B03F38923AE9C832DB2C690F1F055FE4BE9
-08E66AEEE8E9C13735BC28DDA341CD71B615C3ECA4960B92D478F8B351850713
-432695987E12B201599B70DE7E59C44451A0B693B0A4CBB63AE6FE42C8ECAEA3
-9F60D60EF5DD8CF6B158370EE35487F5CFB54639094689CCFA806233D837FFEB
-D9AA22F59FC5D11752BC8F933559AF0B87E5031A43B217A789963110428900BE
-674614D1BC07BE56B8278397B8ACAB495567D168FC3F6F3CB0E0D0620137FAF4
-71E2F836C4B7B4A57764E96752D432D76964FEFD9F7C2B987CCD0A4439C5DDB3
-F41772E63F283F5648909B1CFD74D59D6C79FBDBBA86A1CD40AAE0519E3EB48D
-1E873DFA91AC38C8E7AEFC6ECEE9E725C66F0E0191BC63C5B8F990297082DE04
-96F2A6462DAB2D37F93722025EFD41FA7F7E8C1BD348A4E75B39B4A8416E3BEE
-8C4D7A7E0A7590392B40C9DB1CF368C8B21122EA67F61EA311ACF68F229465F3
-599189F597A47AE5E9BD71EED32CB197B8E55C01B68840E365B9E27C9D37686B
-4EBAFF8C6EC48EAD141A43DF74FFF1E84EB3516AE564F6C4B7096A3934040E81
-A464BE8EA9EBED5DAF152DE842DB0FE60DBBDEFB08BDC91481E1D1528F2409FA
-08AB7494FBA23EB323B205C66F7D5E2B80AB17461414A0764AD31BB6B1450310
-48628486E8365215826CBD1394BDBB9FBAFBDBD829FE453569120736A0D1F42C
-90495591A800C8134589941A28ADCD06C9E5E081D2B0655F9B03ACBA305019CD
-E37401E8EAB0328A56CA37735549A0329F50B2D19506CD596182BC8BCEC4693A
-284FF66D68034C62514C6E9956E1980D65DD60D7E036BBD9629B3DE5A477F253
-EFF41297DE0D21785ACEEDA56FDB62214B974D974998246E6A52B069E21F1411
-690B6F1308815CD13A433ED8F063B6A7E9E2FBE556AF63EBA32657E769B09B98
-3153EACA3773C63A340F1810A976D0946F05088FA7B785FE7BEE0ACDFEC82F59
-A5123527C7CDA4468BDB2D5E26642EA897F59E3C849F07DDF9A81679DFC1EC51
-64EB34519DF9910D256F65917A1322E026F2383C794097A440E54C94DC71F1B9
-7DB369512B5F38E4C00E6067CE36B58797489B0E397D141C0C687C3A7B7AA622
-80896D39BD755BD8F3102777DA6170F07B8902174DA4C8C1BF1ABEC509B96BAF
-91F3C8AD8961DB8404907D602C515CFEA9E727291FF8AEA1FB8A5804D5E1EBDE
-68C29BABF382A5AC17608CFAF4E4481421A88BE423027EADCE6C6029B63D07D3
-8EC2815D88A5296A8416F6D92352104C44284377D3F26F2E5DAB747C017AAE15
-9E704EE80FE27568264D6C8F6FE713ED5599D60AF9E2E2390054CF9EF2F20CAE
-7AD35EE403E518A695A75EBB1EEC258CD01B7BA8DE747FAFDB0207D2C5E654B0
-028FAFE787C8AA137267508AA292C15FF1AFA7E902E1C27A3BA82D0AEEAE20CF
-02EB1B32517745B604DB88FB49948C50CCA6300AC22814C05629AFF55CE34C6B
-A2F8E13E4CF2BD90D97CE5C0E9C78931353205B23A41C7E73FA740F66D1C9D20
-C722160C7BED8C7EE8754AC8629182E0C76AF70073E2614A9E0B3302F11D7D19
-5A795A4A318BD6C0A762B004F2AED4850663471C10DD756902C53904DF0E2794
-2D329A8E8744E96F9D78071305A6A13A912187A7C7A8DA75888CE455880C2D0E
-F565AF10B59B9489D7665512CDA7E717FA4F820BC48066DC566284059F38B560
-9C94FD00197540B82667C5E8D86A82275A4B1D11CB28E0530B1347BEC54706E8
-977B58FB00A8840D909E0E9D2FA7B92ED690B78AC4974C543CDE65BDDE37165F
-E8AC9CC950070C1DD65453CCA27A292FFDAFAEB081A443A74CC8CB5395176CCA
-65CC0033CE7A628D33B5766AF50FC5A9DCF1DA43A0B9BD8A123A0F596FA212A1
-6DD44B29E203B03D6FC040579B7C7B68DC4B12B8488CDA75133F12CA9D095784
-1541AD9DBE080EA86B939B452F179E149B9B7BE9984F0AEA78E1DD0A4F7D4D51
-74B6372579196A4261823A4E62ACABB3056D216AA0C10B546F511C1BAD1D298D
-417617DFBD5C6AD164F72B6E199BD9AC7DA5FA002902738F32CA4DF7D6825EDA
-9B4698B5271D77AC0B7E03DBF20036E31DBBB3B239AF908C6233927A81E8F429
-5737C31D7203660E68D9962424D7F0DF4811C66809382CD133FF045CCCC0BAB1
-96EE7519EC91582F5B8B6817FD510918724F01084BB2DBAE94ED64718DE50A28
-62497B88E0F15A9EE44CF924235C37B72CBE9A346E3D8A83F6B22CC432F116C7
-D0E822254119B31FDFBC15BEC4B3F4407C4EC9A76978EFF2A6C454AE10A62A01
-DF14C05476E4107674ED1F35743E46E53166F2DBEB4A4A6EECE8FC21B1908D03
-1896C088135F68E34D2C3FE7B21290F53C31C038B605916E0F64E25718C56813
-590D3A0D1FB4C666DA273AE0C58C594C0B3E62C8A65EE92E5BE6BC3B65DDE1EB
-621496702FE78A22E66B58356B1B148F4EC4C7058BBE3F08D566D9CE7D0A053A
-E62D3E3A00CC5E195F60A13552DD51C7E8792D18F6F34E8C06EA06684D2281B9
-EDE27A504951A19D09F748F1EE97B632E80B735E41BDE266912A4FB59F14745E
-EB30B2C480A183AED6450F3F94CE6865568C9C5D8CDB92669AD943A93684F1F2
-C98F7C7A8FC0D6268EDE430E4A110D9319F89FE4A6776CF46D17A976BB9E3B4C
-4A9348F189BC6653C10A45582AC99AADAAB9EFC72722BAEB79026E4EEEF14373
-14DB7FE7A5ABBF3934D6DA4936D9CC3EB196C4AB43534EAE3FBA4EAD0BBDB95A
-02EEE47E9E97394AA7F1C0D2D262D6305A3BE50AF503B3DBFA5AF3346B584479
-1D8C57ACE0D91000A43B682195455F7F630553DA1302B4818A994E8F061E3735
-2155C42B836174C4F81A8CF82C58A8BBEA5007FB7F524DFE4CBCA3A826426C96
-136F1D8481834B10608B9F95BE0FE9A013175569255BA45C987B55EFFCE99DAA
-F255A1D5B60CE1C5550BC3FF80B77AEEA238BB071EF7E688B94A23F05164DEF3
-ED44410D9AE40F1A6722B59D9F5DFAFDB3DC7E5193197054F15FB77ABB62EF4C
-5783F3090C0030D632285F81299735949703735CD0E1F535750D316CFEF6996D
-0957EB49C5182D07CAF72C8D8D7B8C3FDE9256FD36BD2DB3FA25C5BDA4441C76
-11FB28447222C2F47AB0E3DCB3DAD6071CC213696BBDC96BECD64157062E741D
-1284C13E40D1D3AB214A28915A90CFD1DB7FD02AE3B63126FA815C9D54595821
-FA9622D072CA354FC61A525487579910FE4A836753BAA76B95DD0F7FF0892D8A
-3F6973AAB33A7ECA3B68A99DDDB80B8A4A11BFC372F80CBACC367E99C67EDC74
-639C54ED6CA1E3487C213D5F9CD719744446A4426FEECE5BFECD2D131AB766F8
-7035E91A1134CD00C935F21051220733C14604DD882A960346E7751948E5680B
-1FA8C33D7376CB898D0D39E24319EE83C6A298AA9129BD9DD1EF1C8BD30A8C1E
-5D5592B757FEA47D2F1FAEA523650C4B568BAA0A60A87560599F81A0F1C2FE28
-CDD87F0135E23E68332BF544F04D74193540261B67ED1E30B370DC5B02A017F4
-FCD8BEA2A685291286D4BB28D4755DE2D3CD949C4ADC0088D8EDC8F23CE0E7F9
-507DEAB1B78AE36399266EE3AE8E1F17FF718D43FDA571204E8C4DC1257A3AA2
-A07CB07B91BD864E6F48A86B48EF96C57F255671108F4A7591682DE6A0CD7E1D
-284C960D5A59B982C2F4F47C76C15E21CE0BD909C690AE462F8A57FA67F03C5F
-79CD9E918114367C95C645148A8C5FB642D90717730B019F2B4C89F1D09F701D
-A0EEFA0F509E22E10EC5588066CD19C9E3C4440B1624FA368B51F0BB18A11329
-933748C5A46F78BA27CFC4744DC3E481D31300381027A25C2D066A799A84071B
-EFEE68673FE7EC418633D506741AB3F192F749F162C11BAE1EADA7DDE810E14B
-7130E17CC7E13173D283F9B00B5BD4BCEB253C39B25D5B5E61E130E1BCF510B6
-031429BC917BD9E6AB4E0291BF22B6DFB97409C95985CDF2CC035E33305446D9
-440C7276F9921E2040E6FDC97D3D8391E191FB6397BF029875715955ACACFF8C
-CDCD28DFBE2C76469E8FC53B7C21761284FA59B4EFF23448846BD5D76551FB44
-3E52711F0BE0D1D5A0649BEEC9CE79FBE1379F18679AF18C6A39E3155383367F
-B9500CFBDEBB0DFBD789E69891AA9A17071C3891D5F37FA0D208C042F5222089
-6C1E7FA7C652E56CEA9F520023249D0A9417DDEE0CCCF9589B1459C09AE7DBE7
-BCFA6841FD60D53BABB0DAC7A0D34F703481CC6B21812230BEEA4CF6BE379E5F
-A2E7472A97407E340B4CD0A933936222EDF3F239E53542BB0450B7442657436E
-F9B6EA424AE5CC6608AECC864F1A4CB8A53BBCBDED146B2379F2C7D190FF4BF3
-F00D21CBE040EFF75C35B4D871E68D29FB6B35E9CD7A720B17B0D89AFE5922F3
-86D865E4BC48BB8C630034CA106B66ED45EF6C8D973501428494AC3E4241B2DE
-462C7EB9148CC4DF778A58A58A4534FC63D0DD1964873DF86DD854DC17B086B3
-1287F8CFFFD80657463D7C06A3D6BCDF249C0EDFC70E048BD243068300DB8AAC
-3C57A503BD4C263F6ED8661D67040A3A91782D9A1FB9FC4A1ACBD1E33EA87A68
-2578D68C3CE4CFEF906E122D3B76B72285CB3D0DE5C60ACC1FA3D90A94C44AB7
-D5140DFBCC0C6BFD572EEA526E90C885170AF9E0EBAB38368F0EF682BB277BF8
-6B38EFC0C2FB669B4AFE65881D5148450E40B5F69884FFB2F4EBBE46520D1B50
-E97AD4E7822F1BAE161AB5F23C25541F6AC883FE62CC7E82A67F09783CBA1DE7
-FB5015C5362A81402697A0B05443437E45AE4BCEB1FDFE52FAB8BB054B7E5F35
-5BD29857B7191B1DDC0C61EA92781B1E72E5AA14A8572B5B9C0B269F373187F2
-E617206395E7F1B2C5BB934E34E8ACA4A9BD00829E92C85EB9BCACF290FEE863
-E4AE35BDEB7BA67734904D29C6A7036551CA13E36FD66F53AC8C4AFEE3B8365B
-E33353933CF395624FD152F9C89753CF9B229AF6F54439FDB93CBC198A80C0FA
-4E14F6E8891F21C39C0CA650039B9694B1B706AC4D415D16040C7DEDBDE92062
-D96A1799FBC52B9A260E2F50940B62ABE66782EFA2B52BABD46B535F0E51B3C5
-344F39A0E5C3EEC57EF8D309C6151C49E40A4865F8042CA1F3B151768FA0858C
-05747665EAA42DA2E0D32FE90570C12D3694ADC1E6D616CE643AC674D64B9829
-7AC75473CDAE83B8ADAE03B5644E502F6A30F6EEC83E4E7C7CD0CF274458407E
-AA19CB2992A9AD1C740DC91C64D734A05F83C78E07F34651136A0C59146F8679
-EFF939254634CE5B524055EF6E512511AA524990463FCE80F92B339063A55BE9
-D723BE0DFF0E3F1E2A3F8A2C1D45FFCCA590CC429E9076DBB12C49BA3E15FFCB
-7685D536BB45834660410D6812CF2D98B7EA4DA2AFD43C8AFD11AD836CABBB61
-4206227E056E147D984B2F5BD3C64EF03D766F7B8D54B20ADC7268F772997A6A
-D9BB3385AC0C76BB47E1D844B386B3F4B5CA9184AA923093F0B35EA208F8227C
-91C432A2CB158E9DF3F700DA93891CB62F9DDFE34F03902C29695B055BDB88AF
-E8673BB1A6E5850E74FEEB69F0AC300D592EC10917DCB2459718F785F08D87AF
-3B518B4804375E005F6018198A04B7A1DF452E79190931EA844ADAA6C5EB28B4
-2D4E2CDD026C2660B4E8330293EED88AD05B7C43408B37FA67C1DCE55EB5026C
-9829D61BDA7762723D2F12E04648141904D524365838ED42C6BF470F4A84F7CF
-A9EDBEDA76E83D9111EAEF1AEADF3D6B4BC0656ECF83B1912AF4F50BAAB4855A
-922E1941BB5C1F55608EB6F980315626D6BB1AEB601344587E9F89EC01D42A66
-4D145749727E5557B8219DE14D067974BA9C101AB59D96CB935E3D3535FFA96E
-4712574DE4AE9D62F2A89EB608DF3471CA8AEF6BA326A5143E55192C076AA66D
-36C2C3DC3E6759AC52D1DFFF8C390F234221CBFA52EA5E8AC076616E70A3563F
-2AD444D7E5A63D9E8F141DFB6EE320D36F5AAC599D442CD972AA3902C9E44938
-285497AB7F387735386396DCD2DDB0C24285A5F13BFB0E822FD541AE3C2E9194
-8ED8DA31D539A8134E21D467A2577F096A6851C4C101C43F52CDFB085E62739B
-93261DD01216B48B0A3CA43FCD5EF298AFE02900503C9519AD656435B1654A1D
-46EEF1FB48B129811C8443CEAB01AF95B96B2317E5D2814B6EC158FB8B66D8F1
-63C074BCB0BC32479379C8EDF6D263910777C4FAEAE2
+D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
+5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
+8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
+EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
+02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
+46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
+4B60D020D325E4C2450F3BCF59223103D20DB6943DE1BA6FC8D4362C3CE32E0D
+DCE118A7394CB72B56624142B74A3863C1D054C7CB14F89CBAFF08A4162FC384
+7FEDA760DD8E09028C461D7C8C765390E13667DD233EA2E20063634941F668C0
+C14657504A30C0C298F341B0EC9D1247E084CC760B7D4F27874744CDC5D76814
+25E2367955EA15B0B5CD2C4A0B21F3653FCC70D32D6AC6E28FB470EB246D6ED5
+7872201EF784EE43930DC4801FC99043C93D789F5ED9A09946EC104C430B5581
+299CB76590919D5538B16837F966CF6B213D6E40238F55B4E0F715DBD2A8B8B8
+80A4B633D128EB01BB783569E827F83AF61665C0510C7EA8E6FC89A30B0BC0EB
+5A53E5E67EF62D8855F6606E421BD351916549C569C7368AAFB714E22A023584
+8B1D6B52FC6F635E44058690002C6BA02CEC21C54CC8875B408A8BB84F445894
+5D6B3E4841CA20AF852A660FE9C832F773691DC6F7197FF3DEAEE97418A5ED2F
+F2AE65300416227CD3BB03C29003C770CD7D2A7A2E4C1DCA193651C2CDDBF93B
+966938788694BFB562AB0010268955FC3555E5984CCAB0A9B7590C77C9BC713E
+A29E5BD7193A4E971D1752DDD0F0AA4648E7E87BBCE66A1E836C715C408B07A5
+9EB56BEFD4596706CF839BA4CFA90CAD4038C1E006B51913279A2C31FBEE5BD4
+A7D74F9103CE6124F5B439CB860987DF44FE17EF88EF1BF62C67060D25696BCD
+94ADF08F04E349CEBDF9D3389D870D94CC05E393B3F4362A13A6A672EE5E8F5A
+DFE7046AFE3EBAEA58FFEBA4A47BF61F92E2003756DA643CCF2C9DFCCAB62669
+E3C2A18D690B64D907F50BCA155A85E47C3A6954C6FF7ACA36D8DFCE777B7929
+5F5D5F787B9C247ABF13D6D7B4A8F06BA25CCB342F8A5071325CDA86AD71BA23
+8A9695C7D1D50D0AAC267AB7CDBA7AAF46A264B7B081B7E79AD937FEE4969FD5
+155A99E652461EFFB4BD010E5885631E2B2497D6B8C43CE77D7D47FE201DD46E
+4482FFDCE150A1183C22C004A0AF0E1F42AA6804E038E1DFC8B0A3CE26B52038
+44D2E7F759DA5C252489E5525963D68BC27C82247BEB18818C7D4CF0BC5CC97D
+8C701034B8DF798DD4CE36C3F8B1FD40B2DA14EA75583852875031AF8C909EE0
+04495FDCD04B05A5EFEBA56A8CAC1F57F1B8AB91FB25C81CD51EE69D6E0F52CC
+A0E12CF7E3187D67DF71A599FFD895FAA7BF80E2E6B96592BE77AE96905BAF0F
+F547355A36C443797DDA7C414AA606CF9153E03450B77D1BA4088D739DF55F07
+111B9E11AF37F45B6EDE6D7AC126E05886A57C83886DA87761BE600DEECD1344
+8A82BD652BE7ABFE6A0F50ED7C6F4EE12CDFD80CA7A5518692F267C51C3FE76C
+567BB8DDBE09A2AF901F79AD02B435287CB8057B3D5EE6655071F67B00438728
+C4C3EBD648BAF650993AFE5E2B29074A99ED0FB725D9B8CE8B0292B08A280214
+C3AF252BEEAD30C88F72E322FAC3E9D78A1038F5DFC41F7BF1AE3744A0677094
+51B77C2D630B67853FE5E975A395C06A4D4DA744040B272C2B88D8B7ED3A2C01
+66F503C9DFD3C7DDAC865900D2A4F2CDF517F449851DB1963468D0266D7A3E58
+9F6B2A1843E6444274F16A9930302DACD8D2BC4588765099A86BCCD8A31DF0E6
+2853114DFF2D19F812F19AE6C2E419D7AC1BC024D1195074FD0C6717BFB389A4
+4D5428E7BB2E4F9E9FDEDED7BDCBDD3460805AEA0B5F6460C2FDF19273CE5BA7
+5D3AAE0DB94C6AFA8339646191C23B0149E7CBF136FC4C844E025A38935DF256
+0A0A6466A45EE8B9B23B6A055856FB084F87C73BA28F1883E3B184CD813C72F9
+233B78CA4E125ABD26F29B92CD9DF39D6FDC2A217E2B6B45D9B0A4D536790A5D
+BC0903069565A442FA7466414D948AC432C6B75D8D0E1DBB217CA3DC38A52DEF
+62E9D5AE9E753956C13819D93148C7683BE4F71B80BC066D8C19FC807FB1C086
+B49215DCF56A91A42089F0D063B9981925691F7DDE3237403AC714F5CC3ACA88
+DB2F1DD205578C00472FD70C8BA4F752E3923ACF3164D442A6B639902ED060D0
+C5777BC20F9A3BDA60FA3BC986C38136FBD2E8F910E32EF36377C9CC187F4AFA
+CCEC423DB925B378522B748BDF12D523804CABA83CB5A7ED69FAB9AAB75EE8FC
+38D9866E3754C4E2F2B9AEFA804044D878DED0E114EA0E9682FCF38F6628E63D
+FE1C1B5615E54FAE8684566EDC4B616F76EEFD6207E0386F06D3BFFA26425F24
+303CC7C8A8D7021E7D09B202616988287838C3DBCE3179B4FB5C726E603A47F2
+8248CB508F327D1291CF3F08F7C88298DC2D0F778D24304EFCF6E074182BF5B1
+8E6551811FD6991971692108E289B61053D6DCBA2925B3903E8916EBD09D97A2
+C6D08E89DE4C0CDF7185E1E00DF456B249F0BFC686E04FDAAD2772DC2C39DD53
+9C23A41471267F53A87E5C2B8CBCDB66CE0B9844BC506428E6150B48D2FA6363
+4FDB2CEDFBAE0B7DBCE4D83E29B2955F8966272CB865EDB360C8A8C19EC62A29
+03066483E4083524A1E8D80FE3867BC1AA91753C26ACBE8489AB0E3330206212
+93E07ED473DBF457EB8489E66FB4B8ED8A9EA8911CF9308CFE3E6D6F36810EE8
+91CCB11BD548617B2C683C354452B9229E7C9E68828BBEC324420DF7C188CCE0
+FBB514547553A7E9B38AC265783891F42DA472388569C8E7594F7E8810895A27
+06E456902A8D9F65CA808F1FD475D011C4572F8A654BA01D67942226A663D179
+95149FFF41A9F55AE84EEB9A6A39C017D7E4FD6EFEEE7FF3CE847CDB064A4954
+9DCD273B810E0F259501BA4003A3EC1ABA6E13D24C0B57FF82D6DF077833B6A2
+7EA54801BA81DB961C261689C0887FAD83771E55D3D137AFBB21779397E11972
+6C6CA922F45AFA5C0526863A5AD8B9C0775CCBA17FFD37A44CED4710884DBC31
+5C9D3F5441595B86CF7CA2EEE42AE87896E9E60EBF5F35C2B7FDBF9A9CDAE262
+3F48396F0F741E9DDF1D4FEF75E68AFB020D06CC29B3A7B2ED819D1AABC12B91
+CA2A65F1AFDDA2F3FB322E0268DBBA024663E49EFF076455338FE31A16B04EC1
+797EAB0B49AFFB906A0690A1E8E2F5314773E1CCFFF43E6FB3875AC907F0C5D0
+DCB9BCC127014D472463560CA0CB1C2CE614D94177C7A52A5B089316689C8112
+CA57E35D716D956DBF9013B1E5B9626456B1433C8C15FA906458F957133B9E19
+8D46DC3AC015F7602538C2AE3927C6DDBACF38E59220C2F5AF36B68DE9117C51
+04CF7DF32B1AF55B87D1D8A5F4BCFEC66F63B32B6548DEDA3AAB06C5310E4757
+78AFF947DA22809B360FE535506A554DDDE5A6F2411246653710ECE5CD3185BE
+730520A766C47E1ED01890059882BE1432586864E1A86A7F586438C8DD35C00F
+021A741ED47E0F16DB6070ED0C50038632CA4AC2975578A8372A080CC0447C79
+CEABDF2BCD5E78564247B0F0025F556DA8FB62125227849EACFB724A4AE3EF57
+90C07A5B27D2E59425F56BF8AD84C5F5310FEB1BC73D536339FC2E6A5BE2DAFD
+97FC835E0D52F680F80ACA37DB498AACF152B9B44626CD89E3302C3EE1623EE0
+F998FA78305960AAB9F483F731F5F67A8C963C23DB8E48FB804EF8B86FAFE7F9
+4C09641915FA7E3930AC922682313408BC1607C76751CEEAFD660206A39CF394
+40ABE2A313AB7D5FD6444E219DC5C26734D322BA268D330AC17959A390D6C8E7
+3A155095BDD66516DAD5D65519A7FB871ECDA77061EFB21F359158B4470EF79B
+362C35C06B85C9A9505C8361939C6AC013F2CFE8EEF46FD8CB4452AAB3EF1FA7
+DC066557BADC2ADDDF7DDC2A0E1DD4A357E27A2073427EACF9B9035DA5272136
+7DF37E26D96ED4B2ACD60596E039BCB15E259C72FEB3344E3EEE3D4F17DF4233
+04C1416BCADE80BD483DD8C9AF979E1C7D50C4CF015870703F88B92C4FE46AB8
+DE6717B55C460C805B391B84333097E116F4A51F631FAFAB34CFC925BEE8B72B
+C9FD5F5A79D8F2295FBFAE649DC6AB47794AC7D73431FFE5BE992F2B5AC67049
+B5208251C0E442385A9FACF25E3A98D7F5D4C2A1ABDC600AABE84769CA83350F
+9B87F71CEAD3600E02FF9AC03C1B5C21C84F911511A0CF0111BAC7605EE31229
+3C526A79D943D92E1CC3C38ABE82D560CFD4172F318030852A5FCC0534B8B3FE
+D7365987C8B48A072907B26CDC2108130A33233E8E0BB5FDF14FB55098A10EA2
+B51AD9EFB119F82B08D256D396D3263FBD9DBF172D43A90ACD1A31F3E89E8571
+74BE98B9560E2CD661A2F93C69FEA3FF26B00772AE2C2C24B98D3D122EA2AA8A
+44652CCDF4EF4F01CA7D62A976E23E8A86291F43BFAF38FD9C325E70F9C36CB5
+A181DAD30156E98339E6A0498D3420B7BB3B4E651A9090D4A17604AE386273A8
+3D4AE8CC18345E6E19DF06BA848F203F74B161D6A8882991CBA7385F308696A1
+BEEB0130D938A764B98A2001A38489B1334025EA848CA44A116D64926D460D64
+01159E77EA7ED9ECE7BA77635BE564A4ED89315BDFF54ACE6AA1A26591D13CD4
+6D6425CA7933769B842192858D10998509396829263290A3A7CFEBBDA3EE6CDD
+DF1E492AECDFF7941B53573F01F623CA0A5ECC9D05A3D0954F7AE8CE94AC3B2A
+CD4E27519B2E16F033EB732AA024BBAF74626DB55DC74B1FDDB07FAE98B4AC5C
+683CFD8744F361838D343B657EBF52DEEE7AEA7565C5BEEFE455DDDBC4DCCA7D
+87D6D769C5ECCF14118A14A85A86865777C8E28F953160D5E82844AE54D541DF
+550D5F1519E183E0C42BE88F0458CE8087F2CD4B1B49A8E9E3D127C4A4CB74A6
+2E73BF4CC317781D03FF04BC36AC0E4AF99E2ACAD20F6F8029DE8A035DAB40DB
+17D237850BCDD05931FF4B0FE2D0B79EC5A88FE0236271CCB075BD194AA25AFB
+3FB93A5206F61A14602E4EB6F1C31C654527CE0C02D04314DF9AFD710D0EBB9E
+F8721B97F5FB18E27507E1F800B5509A58A1A8296C72B7B73F99B6CFE42E9C2F
+B63B3555475E562672645CD374BCDE937A9B05A157FB3E74C8297507253E957B
+1A9DC421946734CEFA3D5EE357DAC7E9DE17A5BDDEF6B2D2A740BC58128FC514
+61154664412BA1C05209EC992A77B7CA45AB7C0EEBF590A5B5652866008CDEF7
+124A3003AE6A7CF9DF3C72750CBD281358CD2FF25B162B78CBB971DB3477F8D2
+ECA3EE9CBC90323B2C236E375337EA0848CD7CB5781A2B0A42DE7E4D99DB2746
+0B26796CEE129D23C76794B7CE21C13C7D4A998B752C8CF43A4821B736EBE246
+D2A2BD7BA3351FBCD1B0A501EC1EAABE60D06DA2FE39BE1F0AD629769FDDC933
+F9D02F9686EC8C2D7455C26AF4DD3F6860B2289E3A30E1C254AD17D731CB73B2
+BF4DFE90CAEECE3ED0CD3FB4C8F4C7BE1C056AB4E9B95781A8968E3CC1010003
+75DFBC4AB9F6B27C5A9AD88D94441A8ADF09EB275E5F0E5E6F3BFEA0FA8C308A
+8593ABA0645ECA8FDC3F0E264B35D4B0DDB86B93CD8A047FC409E18196B501C3
+B003622999C47BAC04FD1ABD8AD359C977766E9643EF3BD6385306B08EE3E13E
+7DA5A06AE33D17A3D574C6390DB6E9429754B210F0C349C359559C7EAA2350BD
+F61D4D8A92B1AF697BC620FA0351E67E0D9F41A95A47EE0BF210C2C48691901F
+F905F65693DCB85BE412F097480F6A7266AE0A928729DA0F691CBFFF3B276EA7
+322BCD2206D96E3DAFDFB992CA8F2955F0E8B882729DFF840569D12E4DA1775E
+523AA734552AAB6F2F16B89B39F1A3FF0E07EA08D13E612F201716C67F327017
+6C041760DA30374434808273062C1FFA2C47B3FB578807BC26537F542040FF77
+66C995EF3E8B08B09FCD3EE89C30F157158A739606D2CEAA26694A4F1CEA6633
+B54933141CB85C60AB262E2D4E824A3B85C2BEF810DD774F296AB37D0BAE7182
+5648CD18556ACB124246A75474B232D712C2358908B5D9A76F82C626BFDE01A1
+093B8FA6AA0B32F2CDEF737B28BC0448FF816DDB5812131DA0DD5979D77C3838
+B978CC3F6778A4BFCE9A7087EFB19749285AE4C92B99A6649DA349A2E0889D72
+6D4FC664522F06C8C4D86D30BA43ED4E42211217D01636A4E17E2A132D26F394
+EC34EA12D84594AED9C6CDBBC0908860F39B240FA7D7B3003DB10322498691CF
+A294C0FC7ACC0BAD1EED3E9D60AAE3F7429695892D1A21CEBF062C6129B33966
+8B2EF6E932F9891DE6028B81C5E9B23278D35B7F0D83989BCBA25E20E9D503DE
+144DC485F09A4EFA1268AC5E4B551C5B2F1D51E9B9B9C0FEE585204F869D0BE0
+7287D7570A12940A47C1F51AC6134F03B415C30E147C49F89228855D093EE55F
+172711F37776E97A99CC4B36E2F10713E36FB279FD3FA5A0EB9F3938F42E2BB9
+254EB8F0C0F30391735019E02BFDA21D9813C6A22279B898EAF01AA892B14DC6
+5912B9275167AB46EBC420836CC1A5F38A4EB47C039A7BCA62BC3FCE4199FC71
+011DD6E5FFA0F3D7F04AC02AF91B9249B9F993AE346572329DA852115BEF8460
+B94690E790003586F473F37EAB5AC2922F5F663EE2C3C0C336A8DB71650631AC
+0A923A389AC911CB215EC2EC7D50CF8AEFD59EBFFA53A9F1FFB7E6215F17093E
+3975F186FE23BB5FA5474C11408FABD223E1E6F62035B5A5C1AEFD8899F00FFB
+E729C2D5FD551E80716CEA4E8281660286A802AAE8D5834F37F2EAC46297E57E
+993B09251DD7789D3467417E393B7DEABD06676B96241B0E43ED1A1A9FC3B12E
+0D34B2B0792B79AA648FE9450C3B209FB6D7D91F50C52A5DAB0BC81A8B698BD9
+18946EFF691912D7348D48FE68CD876FC6F71F81165D0C3272DA1A992308D9E0
+ED6D0A4DAD679AF495F62B78D462B463BD4A40931172290C615B3B3B6B47E45F
+CEBB85E0A6AB6832067CA6D403C239530D07F199788AA4DD52553836851C5228
+1072406F6D7323A334E7A7FCA588897C4FBA6D4F7DEB65525EFB74E539C988C3
+A685A98752F7198E77E456A545F0D23A1BEF81EF58B02D289CF980A3F17BEC8A
+6F83DD90C4A917EB0E5E2B444A608E2E9D2FF80620E16AC1D7775C0A10C1299B
+BEE0E1AB24C50647E5CA1DA65CFF3B2C295F0644CA7826E1DC6FADEA93D66A20
+DE852F20AD224D28DB900519EB1569837139C833F24B799F7EBE3FDC14235323
+1D0BCD4991C861F38DF413A5A5588B73AEC3BBFDB885CE17BB3E97B4E6A79761
+93EC8418C2BC4725CD61B5E30C07352F647C3FD50083878C13CFAC241DDCB082
+E53703D182068727F9EB6FACEC25F6D901D7309ED7370867E34E267519E22D62
+4FC7093448BD0D6B1C43D318A3E14C92032325C132AE0FF7ED707E1FA4A955FB
+F5224BE0045CB14ECC321D0F333FE24EEFCC504F7C756451D7693C3E6CA87526
+4912E1B6DB935BDE76FBFAFCA4ED473F1D2618812CFF25A6859C626A216603C1
+361BE3E071FCFEC2D4BF2FEBDE07DBD56A1BFF8303901168FA06488BA6B76F36
+95B0A90D7724E9ADB567C2ADC65CF3482CF47FD1D16F70AA19A97D0F9EFC611C
+AEA5E1ACCDA7FB2DF05E9480936281484BC329F0B771775E73F7FD72FE3F45F0
+50ADBD03932B38F37A8F0A66B2F739EA3AC8811C8F514E68C5643E4AFF485C81
+88475A523D7FCCA5C8809BD49846C77795A38DC6406082000236A4D2628B5932
+AB7916D44EC2210CB941B1455867E510E9D8A0B83CB645BCABDCDBFCD51A4E12
+60CFFEF0CCA548F654037D01CD631FC4E1F97B4F65DA9AE79D99F13A726E93DC
+BBB027B7D175FD17A704C4668F6F8428262959DACA9F8C687C923CFA053804C9
+9B2005FA7E0F07D81E52A9A37AD5CEBA8EA63929093ED0DAB9F7C99C82A50E6C
+6440387049A0C359218F5268C9A28F581783BB9D29E08772D7252FAFA6739687
+22570150178893C418531769CB3D96F799BF1C6415820F96B78BD1D5A73E157A
+ECB9F3F59C0D736946734773ADDDECB58F8095D33B8307A2820C26237318530F
+5D037E7D03324CDB27187DC701B3AE0F40089A78E3C138B84FE2165B6DA98E8A
+1B13FE03400517411ED880613336943D822F2E133A03DB0965EE09569655370A
+0BFF65D2BDBE1C8FB45642B3C13AB6EA56CCF855DEB471E057067E5B94A198A7
+0F173EFD98BFE6D74D11AB2D2D8EE96E469665677DE4178459609BFEE6575FDD
+28571116E4FAB5E3B202E767D231F0B6EE13EB09D71F76CA7852AC3E73EF7169
+887684202EDF950F83E70570F113198337694DA32E330AC8C7EE13CC372DABED
+76502F28409AA78A4DB6ABD954BFF51D752906522E91730DF5AAF80946C14E35
+CA616166530649F203758CFFFFF6E36567F580886A0BD372CEF82688EE1F8E81
+7B6A314DA372DDA6F713C77CF2E55DB1BC9B202ECC2EF40E497BA85B77948B1E
+228329A551C3CD346731FE4F871418C53BEC631DE84155E0F67BC8313B086890
+05D7719A466AD111D62A2638273A3BAF1E1DE8F65717EB20B66F1A3BBB18471E
+CB48290F6417D3E8CCB926C98FBECF3B88188011F7B61579FF45D61802CCF9C6
+49EC9C6D3B7B75BABF1E1F90DECA69ABC402D644BF0536CCEBBC7B2FFDF7065B
+3BAC8E60C684822B749A2A9C2E175916699C3D523EF0E0177C878D3DBA0B0D06
+9EEE1C6F10DEC3C2E000D5EE345A6D5560FD7394FA218CBC59AD96D7103CF93C
+DC0E83046A683CFBEEAE4BB0575335AAAF433B7456957EFA5E03C8ABED241456
+4C42B74538ADE15D8A5FC97C6DEAE0F8E9813D5C261CF0F34250418EDEA37E0F
+DA8AC07358F58AE05B770F5369D11AE68C2D6863442742E41938199E07D241CE
+FBFECD6EF2624B21F9D966F80471BF497FC46FE69A3E5A2324F36D0DF18EF41E
+A4BA8DAB1790DBD64A81AF8B00E181AE1D8582DD12240015E019598C6B9BB08C
+65EDA349C2B05B7113E85D422AF4BEF1863EF6173B103854C1C07C006485C046
+5878BDDEA192B02078A2336C1B5345ED217CFE84B857D19255E176EE7F16F4F8
+401403424786A52206A195BAEE2016AE283AB5E21E3A178A34EE16D49C5F8FA0
+4E1E886F3718356D289619711CFC3F4227A0AA6E874293E89D3D20EE22D08DA5
+69E1C107995E26FF8CFBA5842DB4F57E32C440A873E85215D6C8A55F6F673234
+0AD84F2F07926F7174EEC83EA716272052068C04A1552735F8DAC72C8A8DE931
+18631B534F7F97C35A0C225DBB1757F9C97E29A076AF2E804B8335CF545C7992
+414C1303BE077A6D61698C972DF41F4D143D2BE3CDD681DAD93E131993A580F0
+D255EED420E5446C0E4754D693C4BC5B346EB42C724EF134E55DCFD12CB40993
+16225C5154F58EAB3574A2C17095C418C9F2B95D62E5CE5586A2AD53C0CEF51B
+2FD6DB058D7B5AF24B5EF215E126C8730889816614D5EC22E2C24ACD3BA0A880
+57E463C93B871BA94B4DAD93B1530AE5BD279224BF54DE0159726F1A556E5CD1
+99D2C6D8142F484BFD9C62CC41CB76123951C8EDD5AC227A5EEAD3076353AB66
+552BBD5CD61109F87E4F0DEA203D951FB7B512A021E2BEBACA65C5B70B18CC1B
+C10458CA6C4323F26D19D5A68599D35C9313F1DCA4771DD11EBACD0F69E5CE6D
+D0CE0102D95D20977952F3F1E1659471002E287ECAFAC920809B33C4FEE32907
+0401B2814776774366ED91C357CF0E5F78F7F6852B7E4926CEB6FF9487C81305
+D296C249D9888F0200A9648578EBA0314B3862CA58546AD4CE360AA7568F71AD
+3548ECFCA241525881C1AB55906469E9B842D33267FF28826FBB7A9779690A6C
+23A63EC91D432A15993A8CDAC7CCFA13D1E941DC9207E6D161AF033F160807D5
+B7E7BB41F88EF1AA1D8B7C43979723DE32547FB6454777A2F907BF19F82F0B12
+319AA67CD51B9BD38498690AB5729D1AAB9777B35E27AAC0625B0E1F837D0ABA
+11B7667B24A2DE69A567EA1BC002F92A56BF66BB208F15CEFAD63327A6857895
+AB47428C581A336D8B0AD277117EDE3E2230665D3BCEF46030BD4EF25F313D7F
+6E83B6168350DBFC546F70AB357A05CF0D713F5D28636759D3BD1BFD76937B0E
+C051CDEAA46EAB43517F9423BD472E3A7B05FD00042175AB692F0AAF3D4334CF
+16D3CEDF92A336C50E67BEF661A56F7FE47C3D7F4B0F8D2A457939578BE1261B
+0A92D4092C6D3B9F62E10EB12C3F15AE3909FB9D6BD7A8017657A8B75628E4D2
+20EC36D9851CE9E5FC56F9AF5B374ECF951258310BB1EBD74A73187A32A39263
+BD191991C548AF83C94BDA8E642F4F465C4EC38978E9B6106310820DA8E31868
+990DBA6ECC71300C6F7409E174BA7BDF570F207124C476A6C2163B79264194CF
+1DA56EA8DAA93ED145F1B6F7550F556AA6C329D0866F31B60FECA92A713AB679
+D3486C5CAAB388331C1D5E012B3EAA67EB348FFF0F32BD4AA6A110F25315B3EC
+3A3A94E897E2290FF9B9E6736F3FF44F7DCD784B4BA4A3AD24C19F2CB4173090
+3FB52F6B963283FB5156BD7F83E38F2D138A9D95FB5E6CDC62368A4555FD4B7D
+C90D36661B87C4F15C4C24FB6AEFB2D64E0337765BD73138B62FAAE2060DAE9E
+240E602747B2F667605E46ADD9DF4316F0774FBAEFEBDDBED208FAF6AB213746
+BDDC39F1AE0472C3B6F4C5C4EACF32384504491AC0F14CDFFE29B7E9EC2B681C
+5804F551D4CB5F37BA6613B197877F6E28E4F064D65BCCC0B2D58F81D9F572E8
+5858C119BA1E7E0DAF1036971915F5CC0C7C0520F0014D52BFA6DA840FA81AF8
+B83B3A645E6BB35679018442A64A8CDAB3A51B46D0996AC7DB9FDB250087BB4E
+4F475BBFADD583FA8897D0EC63303E052954E3C6B2513BED9811C6C95B62FD8D
+BBA287B6144FF2BFF0823B9164C2864F50C506FC561CFA4AEB76B30F17732AAB
+A47A73C184003AAB952FC21C7D1D26919A041891DD81DA0D48354E3AFE2FCFC7
+A3D9E38564A9F740DD8E51996E04E9007BFA2F130478C2A0CA0CD80315DCCB5A
+66DD4AC0A49552567546E8A5B63477B0969FB1071D2C38D773C6D5B07B4762BB
+D70E9C1A52BCC194C7BD8757F1675A931179F1EEF210EAB9977027E9EB3B287E
+F1AD897A944E3E15B5D7BEADD7EF42FD7D598FFC170C17C8F1C03C59E812B2F6
+7CF6A8E5ED022A06BE40132F7219A16AB7505B9609B5C01CD9B669D08138F7DC
+94764BA1184B04C3F37F04B7465F20341511597DC4EA3C079FE1626530A8A954
+AD19CD96218EC4A053D2C7B4E6C8361A177FE5AC5F81A314DCA20918F792BF69
+C1C2F35FEDA91EA9B120BC2409635F404CEE1B743A4941DBDB3A9E874A4BD58F
+13DDA81882295F83F99814881E932C7EDEDC0F8764771E735922EAFF551AA6D7
+41C7929277F06CDC8BFF548E866EB1CF584ACAAFEA4E82FCCD633121EA1FEB1F
+515CB51AC4B3CDAD92162F475792D7BF68CC400F8DEA2259731E91017A3F4085
+52341B109998680690E8404470E779662C02909910CB0C6F3708F54EBE8EFAF3
+FFA3ABEC09EA5918BF8300E8B9ED080B65A8A33C1BC008B3FF24EC0A4AF560B8
+DBF0D1E51DE70FA7599A211DD491BE09C502576633B2653B41C84EAEFE6F2B7F
+1F5807846F2FC77B9663A0749785B79893F4517E450F8367FCCE2B33D9D0771C
+CFC4928DA3321240103249303F03344B315786C830E539F2897294951F2369A8
+6CEC15759F5679494EC350245782827DC852D3E802663668C40072611C48C330
+7DBF4E77B804D8DAA8A30199EB7DE0500F43125E69696679C26C7726F51E96C2
+D5B0EAE3237085E5378D9E59D68DB07B631313206D1D2A14A752E36FA4CCA6E7
+A1EED0C46DE193EFC86176BDD0E6D778C079C63B04FB8A290A731F3371A6420C
+051136842C0811D9044FCFC3F1362917AF8D84980AA16CB7C12BFEDBDD81542C
+4C44C48E617040114EEBA94ADCBF9978FBC32A92F58ABA94F5D45DA8DB83BB8E
+1AF64CFEF180C337206EC2D6C443A284EBFA9B800276FFB2338E609B70D9B214
+2C34A4378A9D51A8EFECCEDB741A8CA252CFFBB183DF511F9CAF84FA178A66C7
+A0F85CB796D3FCA295910569FE6DD5350DAFB8A29E706B940D8FAC429EE3EEEC
+D60C84EF94B55A98F7EEA601ED60A6EAD6838B8B1E71390BBAF7EC9954C8ED6C
+771C577BB994A5B20AEA8783E51D81FDBD9F4FBC95A2EB2B41F6F74FC08620FE
+798C6F7E62F67DA604FCC2D0CFB8FB4CD16D3EBCE861A188F7C56ACFEBD873B9
+AA9DFCCD721CE1A2093371E7F393D6A41C61BEFAAA1B44F61582D54A59B53FC5
+2A8E03C2FF315242DC2FC377BA6D282754785D1D62B77AF8260EE0B21BD46585
+4C903C0201675C8A568AC2D57ACD06F5B2E7E8FE43EA25BA3E54A71AC0100504
+1D0B00D0B635CABF441F77ADD4BF798CF21A848EC390B6C586EBDC9A7721A43A
+BDA2D515560F05AED967157405C6F86E4585908B58ADBFEBBCE0028273EDCBCD
+766FC031C2DC6F4954B2B2C368AF8B22A3BF01E8853C7691A7FCE69F60F29ADC
+076385BC6E49630660394B21DCAD2D2E3FDA54BA7E632EE4F40F6AE3B7E77972
+0A19D47BDD5C04BE943BD7AAE8353F42FB99696E955B440F04D5E2739B343C37
+28B26AAE56B4523EC48169957544AFD5FEF3C01FDD223EB258ED53F7F720A789
+C8A5064C0FD688A137009A72718B843F42585D0018BAB79B61E59F71C6A608F4
+A204E9B19A0A095612F38703E22BD344E97F173517363D0C0D806889AE330BA3
+5221BBD9FF787776C19C0025AB195B52E30044E4E8D95C425612A0A738AF961E
+13AE81AB48FDB8495C6EE20E205A4060031F387AB29965F8EB530E32F28C841B
+0ECB0738670B7D43349D3948D14CEF42B80551D61E30C1E704826DB2511514D9
+9DABB0ADDAB7560944DAB553727A20E9E95BE3C26548D44CCC6AEBDCD1241607
+A26870DEBBD277D0EC38FEB7CAEF179710D8894AF74F5652104F6DCB245BE58B
+CD828FE22A765E783A07B563C10FC7DD1A55D8E96A1DD077FC0C48F678B3062E
+C4094E2701919E38988BA1128345D5A87D70D5D076C75F24CE0328E2B3A476A5
+63EBA3925A29A39291E01879AEDC8BEBF1C75F91AA13EB1FB9D430B657708BA3
+1ACD60A6D5129ECED4DC454AC5BD12E0BC3CF7333E7DCDE498007700B80ABB98
+5A9B264821D60DAEC79756998A908DEB08C170B6B84FEE2E4FCADAC671FF4599
+C3045AAC5D94A749925A4F9107E5F1B0C7879D67746053AB44DC571EAFC0806F
+1C215E6F94A0EA12BE0E5C242AFB44294AE93D77D0870AD0B5F8E2293734BF4D
+87726D6158E2843ADE1F33C72DA30C2748650C4B1246D38CE0E95626576F5169
+422A7070FA869924D1F7F13DDE8EA27E37D64B070C1654D6A24A55D4C15E4621
+04DD47838ECF1D0431D3E358E0CA2A4ABFEAE1B3C1DF495F3C8FF30D207B3156
+32DD0C36695B45F5B588848A44F06F477F4C8E22014B67F29FCC7D1E4754BC4C
+26C1B604621B10F44F18CC701A43372BFD4F151CA14E74DD5EEA6CA605AE4140
+126E945D0CBDD378EEEB201581FB296EB813640E4F5DBB7DDFC1792594C1C138
+D98F90FFCEB34DC6DA48D6F20D1DF291C4D737D3D8B57FA14746B19DBD2DCDDB
+C7827B5B870DB5AA7D03B116F7E48FD6AEADE76A41953D475732F5AE300A420B
+472186009A7CD400BAF84F15E4D23BD10659DC6DF6EEE2E19FAF569308F48C3D
+5A972EB5ADDC9D6B2F22723EEAC3B29856D577745027CE6EB93C9EA7F1CA4CE9
+4964D9F40E4977BA7ECF3F05D89F95254F93290DDA6C2640C439B5B5A961421A
+CBEA98B7E9196F51A4CE2AAA4C53926540B146210D7C28F547D0CA76A6A9A538
+E87B67378CBA82C4646D3F25001423281782B7CBA6EC9A654B11B540F1705B14
+1F6B0BAF37347E5F996D31BC666A18AC9F4BDE94AB6DEBA834EC6DE736AE8F96
+62904C0B2F63E9650F6F0A1B8088CC63A049DE53C1A6C5894A0F38E5DDC61F7C
+D9060433F948B8857F55B4F4FE2BB50C7DCDC39CDFDF979C06C9D2AC7604087A
+2085640B99E553B7DEE6EAA89220423BBE98B0808E98E4667D28E4228357CD33
+BDD616E763C14D0AA7F6F2FDAB9FE8AECDA0AC76B455C7B1F4B2F767FD343E6D
+8E299C523BD1ED21AC8987F608F2B817E92398E504627B1F115B15915E5E2ACD
+750EBFD14FE704362BBA2C2DE08AC2DAC1CCCA0EDBF16E4CA3E5F9F90FE32586
+7438F78AF43D9B2367582FA0F335790C3D409B8D026AC9BD79930823FE782EA8
+9FC71DF2736DA48039339DA78A0C0C1318984556CA8B1C0DC37626A028819986
+C257827DA3D31617F29BB3F56419A6182E75AC81DE882767244663BDED861418
+8CC626781EC6B8B29ABB9D447A3080D3690A26581EC60A5AE72FEFA9207194A9
+1DA14E7B8EA8A5BD3127EB759CE87D9EFBF938EBD2D812785847289E82193726
+CE21E9BAA38C2FBFED7B55F8812BBAF3A27E2B576A0EF23107A4B365DB015F23
+3C40DA90975020AF9DF791F3DAC4836DC8BA55EDC8F4D07893A655926A51E14C
+F4FF46B92F3AEBDF74CAE6D6209D24DE3BE6108A2215CDF4F5501BA661DAC49D
+500B70D05F42D3E3713042E26D8ED94E461BA824B4E24BEAB80A61E8141C9378
+8BBA66E42DDB645971C7C4A1D2DAD15F0C3B742AFC49DF59079B2940BB76244F
+48CE69C3884C53514BA8776C11400EF16A04ECA89D07E16AA5B873AC4A4D0239
+80315133AF8F4707E65AC93667FC4E3EBFDD64D9F236EE7BBF436A78B4AD4701
+91CBE57D1ABD407A52FB6DBAE7295759B2235C945E0D76BF303119AD4214A1F2
+2EABE01046D3970B9E8FB5D1648789257C71311333B1C0BAEE6314C193A3A3B0
+DC61A0076446786FC2DA782B2DAB9FED6ED4DA3774A0E5D0DF7DD11F5D4E6554
+A25ECB3D458A5C01A0358F0F2D64567BC8B211636B0A0C5AA9B7E63580E574B0
+FC5577745BE3C804D6E9099192A49DD1B82D4A992D235FD587C1D157D239E129
+27A405DAC4BB78ECB9EDCD6287A46E7E7D4B2060D07F7CAABC856772CF0F1DDF
+52A354991DCA944CF83F0CFC8CAF49C91888E6B9CF45DE0F5CB5EFAE1AB132F8
+9E5C832543804ABEA51D5ABDC0DF9C1F9F804C58B53E01AF57C6EF924897E562
+2D4409F91A2A34430D1358224998FD55D97A383585649E5598912C13CCCB05A9
+78E816284DBEDFFDDA744299BC407CAA0C3A0F476A706728358ECC37C617CAE6
+74375EF1804B3BA0B89609E150FD5FE4E3ECA622645F5B66590D7078867BFC3C
+03EEDA7BE08F347CE4E157DF8088B5062A5B389E7CFDDA7D864ED2E5544ECD50
+1A9B5908BB56F8C1EDBD4B446008AC1B958EB855E553B393F51AA9E17D5F9005
+6AE238AEFACE6C6E3B9FD41B17ADBC30040270F59FC460764686457B492B2F5A
+860983C0A7AE167D02B363108DCD83CE85E59F3A046E437336DA3194C790FB1D
+3777B004AD7CF15E75718C108F426736F2282395D2F9EA2DAC8668AECCFC9C8D
+26E1F58031C8C07F412536D882A235BE813882B9F5039D312DB6EF5345611214
+8909E2147BF47D6B1415B1FB0BD51A2506AFE3B910F9E2FEE7DD382B7844EBBB
+9C6104F70544D9420FAA7ACDE1D92360A92D3E8F03296915D76D17CC52C49C9E
+EDE8B367AAEC1E583A4FB6B10EC3B5D8253A472B58C3C8A6ACD21C60984BD9C4
+584A7EE102DB911D46E4DD9E2FE7DD6155B9F77E6605B49BB2709DC584B86236
+1333C250AF2647BB2D32079DD40822CAA991D498C6DC81A546459981EB30AD5A
+F204BD594CDDA4BA95B17F80364F91D5BED26A7DBE9558D083DE23165283E922
+9A748FB0613A739622D9CB0F0C8731BAFEF290AF5C3B9D4760C9BC349E9C1491
+A79BC10B26D10DBDF4CD6051C89040301629B6BDB6957D248F610038006113B6
+087FAEDC982FBF60EA67439CE7CE60AA3EFFA199B2151E195BB46E3331E04F0B
+6F7B3DD992C8F419BE0C7B3F157B2C83992F11E39EC42BC9A53502FF5581C375
+208055482F4DF3A1B002D13DD823D5FB3D478F54CC72127995150B6E9D9899A7
+BDBD50AA1847EA01081E14CB1981368E919E4E8A241B6F280235EFA2468F9071
+5EF08D42951B090C18D07ACFA265550B4438258956D49673D7538B292C2D48AA
+59118DE26D1A1F383A89ECD38A8C4AF69A5091F38A447F7E1359B968362CFA19
+3C45BCA7B3FD4E9648878B236334EBB190F68D233B23E5021D746D866EF2FF81
+BB195E3C66DB4DAA481DE2C34ECDC63569ADD9B6DC5235E0CEB83E4AA2D4475E
+8ECE3DF9047EB3D9EA7E3E042A804B81DAFE54650897D3930180F396D3D5862E
+460E27E4AB503D646A69C39E9FB1FDDB89989195B4A1D898EDC57BF3A9C69C9E
+19B9303F93CDF76D280FD812A96B08EEAAC52FF9002899819621D3B25EB2E243
+8C71A0E670C5B00877A58FCCC58B2D89CAE02EE0549C40D2BE0CA8751D85A665
+65A7BC785EFEFFE291BC1A5826FC924B73AE758EEA2B10A23570DDF7C0C19C3F
+D9C3B0BC02E724F003998EACC0A80E50212AB2AA4A492E4283DC2E9810A53923
+AA538B0207C057625276510E62AA36716F6A9AAED730510973F4EB1CBDBED5D3
+B3944693E0B9D18A1449622F2F635F83C4A1FB26F94ECD83963AA43275B3A5C0
+DEB9FA39BAB2A2C2E05B1BD3DC7FC2C71C60F2585CD585446043D1306BED1577
+1C6792DB7229EED85597FCF81E6ACB698E3CE6540AAD7C432AC5E884A621CDE0
+347049F12254E1A7E650C538922C518B33D3E784AD8965BA57DF27D4AA00EDDB
+8A91C7337FDA0B96942034CAE0653561CEADB805A4E54DDF5C67F51761F57678
+06B0CACD5FFD38723F4C87B0E7DF35AF7F827B1BFD863490C63DCCA5B4319BF6
+3AA22B050724AB2C6AD131E2C750B21A36FD0823A65C39FBF7E1429560C99F24
+C613FD1710005E079EF2CA617616A20C8302A6DF50B0D5781218838A744E8069
+DCAFD29B40F5210E1B1AF911EEDD48560DE59B8D6DC805A5A5B6CAE936057623
+8B90DF52EEAB9340F8A3BCE9488C97E8F963F2CBBFB3F191F53223B2927C7AD8
+3E6681D8E6FBF134DF9FC0309D4BC8E94F7B5F91A7826183808A3962111B77E3
+459B2110F16FF892A3935B47B843EFB3DEC0E904A1DC0E9F475991162F3E7B92
+E1A91A444DB538B1B91448AA87130EAB5180E71276C60EAB7E85D328403C63C7
+CDC44379271C741836F1E06137D2D20974D40E770A2CCA8E020D764FAA9134F7
+990741D452F57256407544F593C0DC14685B33E821077F5C5B082D72206D129D
+651F11C4E8BFB374A92A81F3A08F84B0BBE6B14648C9B051CD242DEF89E08354
+3536AF73310FE41FBFAD8BAA250838091AE39F49F44257E1285B8AEA4C6B0AC9
+93DC39EADA0508225A8D0FC784DABE81DA7DC7AA2B72C7BEB958C168E066B785
+1E213FAF00FC9FD157B919F9CFF751661808234E3F46D8BF904DA07D494A7764
+E8F8E0598883C2C7872154791098DCBC73457104548C211C96944506DF87AA20
+2B04083D4C59F30177EA7F7BDD42D146ADE2050A48F8577C793A5693D11A2258
+BB34CDE16A94B5B647D1D4404B68BF09D5BED80A8F430CF0A83A6F9D98F66EA2
+14ABC164E0E50E1A2B0AA68AA900C69E9A612E2D32701F7B8D824536AAB9DE1B
+70170BD068677ADB0965075D6A11A3C5990F8557633E4DA291F83A27251DFEC6
+EE81EE816EC886E4D416F82DF7432EE0A4C96FAA53A48FC99E7B93748B7B8754
+31E3C18891C70C1B629FEDBFE153E7EC1F2BDC38838F129431E41DB6941F90AE
+FA303CF81FFE98FB3A429EB1C6F5AAECA075226A90561E3FF13E893AC8C55876
+3DF93FE5545237C9AF8D151C0F743A2385BC948C5B8D7FDE62444253CB214538
+2CADDD5FC8B8D7C6FF89A79AB41ADD60D2D4749B0849B83E7112B2761412C208
+E6BE3816FEBAA5BF2951AA629D5B7A1C06B24D3406202972E379592524C5A7AA
+1AF52FCBE04E87C506ADCB07CBA7F01A1C93A33F9440C0F8AA123D9D54584735
+9558542A57A6AAE3AB42C5845C07C569F7AF655B0842118AF99803BCC8CB6604
+C55185D7FDC411AEFED6D502FD4507D3DF7CFE5248336595EEDB679A00EE5066
+429D76F5B116EAF221F76DDB32043CEA61440E06DED85CF34CF2BB3B056312AD
+C7A3C839E0B79EB750C2D48137DFD6DC41302D5A8BAA05E207B51D5628F22991
+D9DFF40219DD021064EB0B89757F6DC0F2E78753B6F77F853A78EA46D4DB2147
+6CD272F36A67EC1A6E1CEE8C90CD907FCEDB4C7ADCAE785442F6223CD142A9DA
+846CECC34442BCF3575372C757DF5B290E89BCF9798C2553547A4752D245E589
+023AF2087C35CF98F2E32D25A225C2E4CEB399C444F0BAA2502B32A3FD72B29A
+9D7476AB0894FD2C79ED3EF3124E0105517A043030306172DC5156B176980EF5
+AC5D64E77846921BE293B417B51DA3758A8C058A38D2173D25BA0E96A3A59E1E
+3567C0AFEEF10FD7B454EF69DA0A2AA5046F6A50B9E35DD20E29FF160B8CBA61
+7DB222CA24EC881E042777B448D196D37F10A1AC57CE808E9E792FC5500E8902
+023C2D296C5703AB15C60A157FF16BB2FF233C157A6DBD2F81AEBC423988BD98
+010A65BACFBE239EE2A000822B9B12E4AB18112C7C5F1BD2F74EAB1DF37A6F71
+6864FFEBBAED8C77AABFDD364CA1919DA740E64D13099876126198E2AC26F861
+EFEDAC9188AA09A1C32A80E136A01A4E84B2F646FF71910084310AA64AA5279F
+4A6F6B997D012CDDD10821638CB1A0A402A69DD8A430E6998013FE561692D13A
+69F37640A3C2C74C994326C6915AAD5CD905208DBF2E1D20757DFDA5DA95F49E
+67F2A793A2F4962A2E6D817E31B01BFA77858EF8753A28FFAE9C3A0547C112E2
+EEC422C24A684662A55B94D14C72DFAC3C9D1F8706F71D3A9C29B4C3A0A747A7
+0F8186181F74284CB3855DD6F8BDBAD41978648934BA5B7ED4C2762A845E8DD1
+2C836C5A56179DFE64A2D93E939CA304A940D53009EDC848BA8C1B093E18CC40
+2B6DCE2296BE631C36DCD419CC8839BCC129EB0352F7A2CDDC3C7339C929AD97
+D8063F83B1272E57C9D7EE87B2432F6FEA6DFA2AC38AE05A3217938C17FCC242
+942BE27AC5A4FE3B8448953727F64AE3A729F73DA0247FEED2EAB6254C7E4F69
+D962F6628E4AD2FB0A878FA7C6CE2087A3B906D9138378111DFF165813873C2B
+745DB1E650789037D6CA7606F25A08E099EE3CF2F9C264A2916F421EB3D4A573
+541C00AD377ADC4C95E35F649692CEF4E31B158D92FCBB6027287CCFCC24D220
+85564B6D6664BF210FA892EE9ECFDE0262701BC0C528D6566838BD6A085105AE
+153F508DCBC63DFFED7727B78C5361961ADA9A5D393308C37DCF78D67CC4765A
+C6C03A65619D56B219E6667DB3BC19F7523A28D37E46B3663F05ADE5B97DFC12
+D8CE400C088C7ED57C2B377B9768B50CE1E576A2D2DF2CEAFA0041C6B88081ED
+F9115B979365048FDB8836EDE4220EC2E304CF8AAD502B4A04922F21233BC44A
+A00CD553A5A72542E79D02549DB73EDB1950B204D944430FA67E83410DF4841F
+C1C47543C44B8A386A04FACDE6F40C581A8FEEB1BEB81FC057FEA7D82BD086E1
+CE3E55B0DF2602F6358B59DEA5052DFD34FACF9F646D4DED4FFD95E260961D9A
+1B9D934A312A3EFF9E93534A6EEB1B888C7C506A592E99F3F1E13231068D3852
+3E917DEA094D61BA095E090DE98FEF9C7CE86EB556A108F4EBFD968EEE413E42
+ABE20E3E433C9671E4B63986D1243740D27BC85B0FE5A4C29B539301573DBE95
+D9BBA48E4F0803397379C3D78D04E15CF29C628DC3546D69E60F34184AFCCCD5
+5853D9F663B9738D44950488C14F2EACD06879ED074B0A8FD200703763F5B537
+B783F5717BE4BC36BDD1CFD45F660C4B928D847C7486CAB9E500A92A9209D2C6
+627DCE54CD2A584A907074C1B7FA240310B1A9017EC7317C094C21785DAD437F
+1FD5996731321405A61B559B9C876E2183DD6A492DF92AD436EB986BEFD995A7
+8B556CC95A111DF0497F878F9AF1E95232464927F185BBAE5560AD796C642169
+85D7F50143A34A7F8D181C844E78D0184678B1EA2B602317977ECE0719F5C055
+0EDCD29661F2CF00C9418FBD13BB4D0B6B051DD9E902E81FBAAADF4A68F55867
+8F88D07AE368769E93BB70E884A8A21B72D35C219E91B3892EC6A67E093C5DF1
+DA133CAD9AA61244780373E23A5C077ADE6D764FBE9F2DB78B9E8200D8E7E882
+8D67248318812B7E10D09F85E6BACF99FF0689B59CB28E7AB01268AA15EAAED4
+190C1990CCDA8F16920B20D401A1407907C2858956E02AEBCFEFB2009A75BE46
+5762660788356EF7542ECDBB73B8A5765E5BADFEAAAB48108C0E457BE439B74A
+13E8787392CC7A41134B8074D1280610C3F947AE3BF998101F9C5DCC4679EA0E
+D72902E2745491395FDF69B4F90CAE00340B1311001F2032A1B04608E5BBE8DE
+102283BA9A8B96B4A39F8FE52798CABFBCB0349D19447311E930457644C149ED
+77D3ED166CE2205CECA497326A64B07DF3874CE23F07E697969FF19B084AC5CE
+7CA9913F2C7C92787FD22074D959B64CA2D24DD4436E9CED27B93DB576C7FAB1
+335A69BD65236A0567FB8BFE51B3EBC8CDA293E15D85512CE9C93F33783B74DB
+6FA314374C530DB3EA06EF96F1265CCC0476B94D5B0D194BFB79285866149BF5
+0A2F1AB8E1057297A954E5B7BF7A7D978F876DE375AAE460883B531B80BFA84C
+BB6E874C79D09E64246EF4A3C3DB99EE2B50FE469C06EB4ED1A0AE5210171D8A
+6AA102FD688866A2A667DF52392CB4F12EFBAD6A308E80D9FFC59F196F895E66
+862D2438AEB709D6B9B0D8EA3EC61948993CFBD42946EAF24B811A32FD632236
+57E20F7A5921E600D06FBD595DAAAFB2D381A097E3CF71E01855DD0C37C530A3
+32FD0E4E0157A0BE7FDB5FCBE952290A93A24E026AA073F07991F936B2DC4F35
+C1FDAE5B20C74687A9A16CAFC330ED44EB768598D1C28A628F03C067A2E24322
+2126B2F695F1A7406BE1845D6D45BAA423A7B74F26FFA4EA28E32E8F708ADF80
+C00C00E8FEF9FB1946FD125B2A3C861F6B3D233ED6AD485D1D3CA010AB6081F8
+E0B97FF4892AF53475906C75C90F84631D2C58B94C9950BB273C560BBD2E0868
+0D8B6F95C3D6453DA54C6199E47059A1931C29BDE0954B522B44D5C3FA7AE0D8
+0AD2460AE5820A64F1E23F68975C6814757C76EC96A2B36B9E680176B0E6916C
+368963EF798591BCA06D138E020D22AC565DC219A09C9BA2EEB3F950E368B26F
+
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMSS10
-%!PS-AdobeFont-1.1: CMSS10 1.0
-%%CreationDate: 1991 Aug 20 17:33:34
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMSS10 003.002
+%%Title: CMSS10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSS10 known{/CMSS10 findfont dup/UniqueID known{dup
+/UniqueID get 5000803 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSS10 def
+/FontBBox {-61 -250 999 759 }readonly def
+/UniqueID 5000803 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS10.) readonly def
/FullName (CMSS10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
end readonly def
-/FontName /CMSS10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 40 /parenleft put
dup 41 /parenright put
readonly def
-/FontBBox{-61 -250 999 759}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5CF7158F1163BDCEEA888D07B439DBD4E8B4C9
-D198C03874B5E6F8FBF4922065A92BC3E66D05DE53971CB1424510E892442858
-D69CE1F76E4DA76C87C763A4B2FE36321E54B1328C9155B8ED6361855A151723
-3386AEA3D042B8D89C8C0E9A33E5DF3B466F7BB8C2C8A4ED4CDAFF55FC6D3EE6
-0AF2CEBFC1AC3A6E6692F8BB81F82D86BAE85016AD62FCB05467082C2E5AD348
-44D1439C2B59F65590E57CA0DE481A7A34E79931B1513C4C30156170409A4BB8
-46D412D1DAF88AD30722F12DBCA1CCC6B4BCC28D06B0D29149DDEC520C8FBA13
-6B82E2E1790F00B216282FF122EF0D47B70A1B29514DDF7C0435ED238C14BDF5
-6DA243117FBEF7398F97EB95597707ED63C6797EBA1B46EA19ABB1DABDA171B3
-16CD500F5D64CBFBE4F9CBC3E66A34427D3C4D0C432710289381F9BFD91B4FF4
-1E3A896C3EEA2F3105C218877D6C0C6B763760FA364D00065E1CAE9DCB5676ED
-286A9ED0D1C946DCA6A2A670EE0936FB4706CC62E234CFEED34AA615C48D2872
-A087F30990C85E64BA68F3D5C117123467DB411C9F2D6F6858CC70C1E352C477
-713097321B4C4FD4C5CDE305415F998E7245908EEDE6E056A736EA77BD8C639C
-3A79FFD0B74B3D28F0494A115F2841CF8A8827AB5608F96FD8998A5F40FB3DFE
-3AA0C7696DE4E1D18DC0D6E84B943175FC38FFC42A9C0CBB13A908978C98BFE5
-034F88480F32B9DEB2FD228FF6CB0B89B045AB02020C82E3F5716DC640613185
-9F597CE262729BC52132F43922B9E28BB71A30AC8709634561B22D13C4FAFE0A
-12C4451969226B220038AD8DDA990A4E2CAD53DBEAB698898BBD3046234EB4EA
-901287E71CB41296C431383AB85F18882F65BE36923F6C0FD6FADAC5B42FDB68
-64C06E047434FA7A659EF7F3D1AA8E547939FBF9C2ED7AC829F03CA59AFFBFA5
-A7AD2E0FC7BBE619961AE1785D09444B333993199FFED007382B54DDAEBE21E0
-1E75E0AB6D309DBE53BC7BB9F95D342F51798574D70B95021FA40163A86BE6C9
-342536A5730837C522D5314B1289D9B7E4EDD108BE7F35A20AB2A16608F6F007
-6DDD702A5A9BA1325CE2C1CD020DF677872135CF04F4E4F1E9AA6B494E2BC22F
-107C331A7E80718B030A1103804D144802E3B03EF7CB083BCCDEAC7B43F1B4F5
-C1BF6016741B741CF7E12B4BF95221A72CC9F4657264771AA69C73DA1DA29102
-65D01A0E61F3024E672AFCCBE13CD0B7F54AE1418B72E357A0BABB4D03073B1D
-F4EB54F899AD4A41A9F94DC200880A0DB99D67235A2451B25F710C29A882865B
-A922E56E9FC16756014FA5CBDB1C32750BD6835A70EB715CEA19A8872041905E
-8C660BACDCA26C8247D6B3C10FA5DC240E433E479AC6AFCF57CF96697FF46BE6
-44748E
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C4488BB4EB864B48
+63941B9739638D2E6F3CC778582B46AEB4E466D89D1C211225274356A4BC90F3
+274C6AA56E200249B7D0949A3FD4185DCB3E5286910EFD7CA72D5D8E8052C96F
+388D12094B87D3705CE64459558CF024667C0FE96CBB32B0BC9E51037D7BD62B
+E4B05FF99384E71D78441A79B0B1DBA1CAE02434A9FAE46596FB86B873B1670D
+AE0BAF516445A0DDC127F8FF3ADA0B10EC30A9CC1F7E9248828B5E8AB46C3FE4
+154B80A54128A08777F5F9B8C519C7E3B632B3476F007FA156E9F39FBE57638B
+4214CD2BA79BA9DDA0F4C073AED814ABCCC2F7906C57A872C00E67FF03AC1200
+29DAB92376422FA21C67CA98BCEB8C431CA2D3EDDC16972F84BF6DB2F705BAB5
+CAB39C82D139FB1304B9E7BF1F6FF447596081D5690B1519E468D6BE49C329C5
+C9C809023EDEB9DCE4A6D52A8049E0CC134E8B41BFC6558CFCAD3D9D2773EA16
+131567AE6231B3235869767A1E7C1FA6C8D6FC1B276CBB1CAD14D376188C9682
+302836A9290E587D4225EB8BB1DBA2C4580A81FACFDA197174FE948CE757C575
+F23070FD84DE121955D7D9307BF986C5E739FFFB6CB76822C341FBD9FC2E3378
+AC9332B40C07D5B8745D74E30F1D719EAFAEDBF5FBC40D0546F69A66072D8A49
+28D2CC2E76B9B1EFD191E0BC7510C2C8761BD92EFCFDAC263342A01398A56D18
+121A591FF5CD4AD8B25699A7897E60BA940336BC17B9EC9F97C2464D031F958A
+A3548D0C97C50C580B6EEFD0FE8330EE2BB0D2E7FD1DAE33448953544A4B1C5D
+8EB57798D0ED4B22909FEA78ECDBC4D8A124DA05B9999242D68681017285A0C7
+69041C1F79442279FBE328733EA0A6694D68BA89739FDB9297BE0CF1808C07F7
+BBF6F1538DFE084EC8C0EC24D883F6CC08A51DFEA23EE920F44BA55FFF58E960
+C7BEE551FCD2D5814DE7E3F835608073C2CB80EC57100CFD484C837881674E92
+B217F4D11165427DACCC29C129005874C05CDE5FBB2D912368EA2B98C45AEDD8
+8A0D2493F60EF36809C8C6EBBC7856F6656E8D398BCB29DAACD4F7D4300A0B01
+161CEF51195D2C58DDFBCAFC1C03F49304ADF02789889826F1E20BCC14827565
+F2A45CA57DCC61B52E33638A0C6C5A59B145E82B82571DF1806EC40FC0E8634E
+A34A791B1325571E19F3AC2EF6FE68A14B0ABEF7EBE0EDA3942E85E5AE967A14
+0C5AEBFF2A36DCA8866700CB7082D2ABE470864C44AEE1F6D180D511304C8674
+D02FAB12A7079ABF96E1CA3CDF9D75532123E87663B1D524265AEF63EB5C2169
+B67A651A101E1C7EDB008D3DB06DB1FC1A81B41B291D6C4A58FB57989FFCA434
+DA84B3914D1D80B17AA3A55A70BBC06C49DD5F7DDD03FEB0055088558FA192A5
+261477899857CF598DB740E82D035E84CF17B33048CFED2DCBEBC2B75CCAEBEA
+B6C5AA1C6978FBB36ED98D9047028360ED430A0AA69AC85A8F83825EA649E1B2
+64B260197B06A24A1DD969CEEEE136FB046D713D0630B246BD41CA285F076038
+F7F8431913BB9A3E70311844D4C22AA446E3CA217A9DFD75A898997130269B29
+AD4AB7D9662856E677FB2DAED7078639CF31C6E6637C74DE2B5D0ACB88BD61F3
+CE3C5D56D3D4B3EC1ACB33EACBE05E53A133EBFE93CE6A0CBC8F24BDC5B31BBF
+5B3E55D6B40B1CED389076014667E28BBBD60145A06BDECEE8011A2C6F06D091
+73767A8045CEF2A110B614149FEE783A2351FB2938A9F73CA406538EAD82ACC5
+A3DFD3DE00221E1B4EA977AF8C89661357FF7D2F1FCEAD6CFC9D6AD81F95100D
+EA1F328249AD84AE849220E6593D45015B4D7C9527F3063E9F6DB6E572092A1F
+1F460696227D5F0FA5A5484B1F0D8B4A35066451663BE448D924DBBFD388B6D6
+D7CFC87C9E75B7CF79A4C9207E29E0BAAAD7FDF529B860F7731EA978E335334C
+13CB2F0A4250F5957B44CAA0674AE8356F586A24FD137103973B9A1FC31090C7
+C84DC5D380404BCDF3FE20C6F74FFDD8BD1DE845E99DC6FE09931F003834ECC8
+08C5D962070B6C44F901A787CCEF048A2C584A2285506B4D4E82B1BF130E2220
+B6C8B3240A4CBBCE16AD3676B23A50B75F82CD88D1B8F21D30A12716426112B3
+23DFDE5A348DC9DCCCE5BB5DB5433A5AC125DE1229FFAAE0D8319B2929986EEA
+56A93BA1FBDBE617F30852A3DC8C712DF674169C6D656F75E252187A085B2788
+2467CC4DB08D48EE6A98C61BC55E6EFB1938FAA718802B7587B94C8F1477E9BB
+DCF6E02B5E67FE3AD9D87C321CD9BC0CCD36B9C4BC601E6BD552EAB8E1C940CE
+3A22F3C2501C3C939CB4F17CE97566F0A04602D2A22A05CECDF4A49CAFD6332D
+5870E1F31AAA5F86867F71610CDB83E473B9D20BA00D8986D7148E0EED03865D
+9622864B52B09D12E0C5FCDD023D29D5AB1CACFA92B6FC14FC84E95F407861D5
+2BEE3301AF399FD7ED04DFDE6679A345A282E7FC08D47E3FC8969D3B00ACD7B7
+F8769647D6D4F4106340EF739583374D023C2702C48FAC1B643B5897D2D7DBCB
+73257712A0FDEEEB98A021D218CDDEBBA34687E23C4828D7F96D1ADDFAED7EA5
+B279322E6D55FB486AD8F3A8E7B2C67915564FE56F0C9277A06B29C47FB7D007
+11AFDDB3FC1B173B4E449CC6B198041CCA0624D81B4840FE5B63BE72157AC6E7
+03E5E95D2E2CE2E40BCE8044A8F2AA45F855484A891B9F0F8F70188AC66A8DEE
+F4D656CBE216E6D9AC33BA8DD0685D480833E1226784469A221D9FA3CA600AC7
+5574B5226649A9C48CCB43339942FC9010F86BAA2D181AEB487A92A96BF2EDF1
+60F3B93FDFF4137A25A8AEC5ADF8613019CDB103DC4367EF3D8AEB4FED0E6BF7
+622AE0CD3CAA0321D26CA4280CFB60D08D9560AB8AA5698231171B881BE9A27F
+BDCF3162134126212C523738D221AA05E31CEE73D9D40F73C450B6AE2C1E70D5
+C37162BDF55943069923A290A6C720042566E55A21CD81C460818883AB016C16
+8FCCD1255A66977DC1C110261D7642199D466DD3D2493A2D47694F842241C474
+1752B00DA03E69CD16A8A14BEB8A431A315D19A39BA978E46EB1189089FEF647
+F9DBB58AAE6B3FBD475E4DCAD241A051DD100ABE81D40ADF18A4C50F53BF749F
+D6F7C8E02A5665B4AD18DDAE79096DD447F8BD32C68F9F97F05E0071D9E9AFEE
+257B96D48ABD9920418E17C8F027E9E975E4A08DFB1988E7104CBBC1CAF356EA
+7750AA7110BE116AF1BA69A94776E4356573B38472A8A1292C63701543B0F315
+611A0E0595B30424A1137478BA6F990AC7C3AB4DB69E75C222B617F373C521D4
+246E954E9857AF59D1E6C36412B643733CF5E1C90389EF0E5E0DA55D3AD12E97
+E7630C315F72A03CAF22E0ACE3AAAFC1D496CF4E5ABC49C2DD5E264BE7EB2698
+AFF36089B5DD2C53DB1C1FCFBE1E89D41A95DDD278CEB29DC85FD1DB8B83CAB1
+EB37C531E9BB8466ED6B8B60258D3C355626CDA43A32834DC89DFB11E5FC6D68
+0F78CFA871113DB81A1690250A6F842ADA15734CB6DF7C6ACED6D8D586BC4E1A
+94EF3052FB0F8B9454390B882CBB6E135AF1F9C777AC362C2A758C3A98117120
+73C6E2FAFB580716D4B2889A4331CC658AAE996245685B973D9C184541385680
+AEC2956107DAB00230FB39BE98D3CA898D917E5F2088F26CBA4F8B5B115B6443
+8753331233B10852702FC26D9DD4C990C13CE4D0DCEA23D62A826A4B4FD16070
+5F3638C0A50A3373A33FCAA6F3644975AFD0560EE5F2D1CDF08820373468E4FE
+6679A229D6955CFDF7ACAA92A87E6D8571AD18CF59F84F88A674B2946FF20A28
+B9798EAA22442415EB46B9498DDC0F4BA6ADD347AB43E9293CAABEAE80127378
+129D5DC69F6DFFBDAFA5D65580239E8EDF6833D0DE6DF75F0FD090A83CE0974B
+AC947BABBD1B1C7194DDAEA37B0CAB477ABF9433FCE0243C8D308409427D1DCB
+8EE4FC36C7E5CEE104904B520B3F6E677A5B92F694BDBC2C799991667E0EC14C
+B95EAE7DE1854BF4542F05B4AF401CF67FC3E46EA5A0DC362F3CF177B1796DA6
+753AA803E724D1721DDD1BCB0C12CE0859E172D2A370C3697286F80D9E138AFD
+A0EE016805F847BD30D11D8B891E54C77AB51A7CABF76BB14B06153C7F811FE4
+93FC4B7CF161051A458EDF767DF94F487DB939A2740B4242BFEE234F75084DDE
+207E84533004B933D43C712F0C71DA4A00FFD6D721EBC93AFDC4200E3B8DE433
+3ED3E1DB799BAA27548ADC853AFF5D9D6BD92D644E3CF394789C99D9DC054A26
+7770AF5DC5BD6563929AE11BE341F036584DD573D3F43D9D975201EF77BEEF80
+D1EEDD1D4AD5D4D4DAF6D5B9D4C1736CB111D6FC74C236779C0ADA430323A825
+09EA8D0CB1772220AF28B93098BDB36913159208D1B2D7ED45808BF7B686419C
+5C0E3DAB5BC9830FDF3B494D624EE8068BF6F5212BD69EF466B9A213047BD105
+B848F056DC544A8CE66C546B1A4DCB4BA29CF0EB4DCD9C2452F22172AFF33B29
+E97E12D8F0D312B03BD9E5377BF0C81D884F1E79DB66E8144F106DFD2579AD26
+C693C5B68F3AC46BF0D6281032D4D4BAEB2243151AB1AC0BDA2ACDDD4D590C90
+F29B335DF8F57DC593DCC081FB56924028E3161AC4865B49D1B0F63F5EE866D9
+7A71171C09B09A44B0E32F03494D9EA63F3C89F5E772BE25A6557F119299E989
+99BA041694ED805AA4F3BBDF00D88171C9D43A9085A287A36A1F0F9386F2A98A
+96815CA51F06E1CDF20B757983C5FDF4003F5438232159F325C6335B734FD982
+1423BA77D0EFD044381AFBD0704E3DE95D23A70E2428E9AA355A9A8A25C6C74B
+48488C14DEC93A766E112D74C83576ED355F17A809E8D3F9C65C4E3E14EF484F
+4658DFB57597E2A4461D8044E95844391C1275D63F282B37888C842A5151937A
+45007547263D70195ACC018A373D498B88C5A028BC66ED96A343EEE74D61EEB3
+D9472B6A549CEB8699F4B35154A0E2ED22867E4F9E4A76311EB2C9F9078FBA81
+838EA49C2966BA64C165434DA3093206B70186BE80600B891D9979F730FDC794
+5DD6D8B2090CC67A634B719F441092A10C447A86ADB78DAE45823ECED5FCEADA
+ECA52E363D913D9EFC0ED98A5A1F823DDA3350EE27F09C14E4C7298CC0FB6200
+DEBC640C68C82D70AFB7A7BA668F1D7948686206884736CD03D9F6E6CF9702BF
+E3C932CEF3CE07FBBFCEC0476EA6E8D5D4C5C6450C8FB236B89BB82D51886240
+5BA7462F50A88F69228DCBDF26B7250E90B3DF8E94ACA1CADD9EFB5C73EF9DD5
+46052314D445CC92512BA231F79A09A2F0D91976B160B8C9BA055DA4AAC1300D
+491193EC66A6DE12BE01EEEDBC3A2291DA1F27AB76596A236B75E19FC5F1FB6A
+DA1AD835CA08B6CD03B97B4CA1BFCBDD2500BB09F1A1B0438E4A759370EFA318
+F062BA9F3D352572CE232E6FBADDAA5363807D0DC5320B807FE5485C8CB09B6B
+0BED9F5B1300FF370252DEBAC9DB25CE2EC494E8EEA45FC6604B3C104E81B287
+EDD49F3D7430EC9176A16B4FCEC5DF68DCC11ADF90BD5337E2E4B59BEFAC8298
+E5ED2C7FC5928635420FB1955251932713236DCE28012C86F63D12AF1DB634D0
+0B8CB8992B8723548177BD6822A808FF221A9E38B0DCCBC1F3430A9BAEDA89CD
+ACEBBDD8CCA5E17F1CC37E35A01E058BAAAB6BE7124314DA19962BADB74EE73D
+8FB13FF6AFB6FFF97926CA045B62B98BAA753AB0FC78B881D3FAFF9EE2FE918C
+8EDBEF87637F1530E3E13AC090FF81F4136E08D5F3734327E643CDF621278741
+A17AEBC56E21217888A6C8B5ED4269731910E7E25693CFBDD4EB4A32698F2447
+4C45D73E810B627D8719E4E34D8FF378F9B68BFB149AC67B3B1E55F20D097FC1
+AF74D46F5A3923C63DFEBFCA210F6B257F5FF3F2AC34CE41C15C9977634E473C
+2235295C05C3DF6B3009C7854BF11CC87471CBE085793AF9C5D05C5479B9E780
+14A5A6F3F6DDE5A18243DA15732CCF26ADE40C566DBC3C62B71D46DE87A12C6A
+647CAC923254E2E74AF882DBD5C9E108A9160393C5CD12566AF7C824EFEAC56E
+6F05B92C73A76824C5ED1735BCBAC61B98D509250C854CF1500C212F574D18D6
+4426B8510FE9785B814A70E75C9234D42483E736D0689D3561E8EE5650F33A36
+D50127589401D267BA6442E8616E2CDB1F6691D3FC4A2A377E5E154972E890DD
+60CB463E9EA9A6EA61087DF452FA5646F69BE879337EAA0F5DA4438FF0365627
+4E3B16851C2F08E976FDA27AF451CCEFED00376FC3D6E0C160F0BC19544DE289
+BECEEF9A067FD71D54DA3A4F73F06E2F522BA07551296214DDA47B1BBB1212E0
+1100ACB5F65FD30C655A3402C83058F8ECFE48FA60B6A3DC86C4996414130194
+6676EC7F37454023AB53E9D9EE60249ABF6953E76DCE3123DD268BBD492412BE
+65D7C3E5A5E483C381182A8F19B506F0AF6DCD55532B89852D1D96021B22E9DF
+D9D072BD7DD4450577E658B433A84F92752B260AFA2EC4A118747CBFE36AB7D7
+6D5DD96A119AA1BDD0FDCBC3AFDAE5FF72713EB46759A06CD09B5CFABCDAB0E9
+85599506AC07AA525978AB157496163AAB387F079EC9FA1F9E91B9C2FBCDC9EC
+7027D77016760539AC03F1C1DB242D28D6EE946C42DD2262D82ED48C3A839853
+BA977046F0EF373AFF884AC3112D2FB319421C3165DFA5710BFB9AB9595A10F4
+9D05704B9E22137CF27F4B2DA9CEF6D8801D5F792969B2E58FB539B8038DF440
+6DE20C0313A7BCD16F279290AD6859B0E657CC3041C7928CAE35B9D3A681F2A3
+2D40F8EDAF1127E754276556C95E1282514B6EB6E43FF4F0FAFF28C715E3F39A
+374415B62C1F5F8E31E006D6ABC736057910A3729AC60360CEE1B2C8D9F77336
+39CAC45329A372205FD551B9E9EA5082411207473D9D90E76136AA70180172E6
+AF6EF3EF6B38B1906B904BE9BD5251EF067738840C28877659B649C6C4CA328F
+1BEF8A9CEC2CB062702F58CC0B8D2D097FBC278F9FD894E10ACE1DEC4530CBF8
+E4E467B6DB9C596DF0C3D43E6AD70F30B733EEE692C2EBD68756D0C16E1F00B6
+AD011B5DA073A769B53C2DA2E7C9B7ADC6F551BF4DF4C39C66443692C3DC62CD
+B1E094013F364D04BE2FBFCD1C7B2836180E9022E0434421FFA4317A50096684
+CF0B8740EF680F27F4A84AAF2AA92C64883BAF57BDC60C6467A8D4E09E6316FF
+9BE73053045E5F3586DA3BD1298DC15D751913FB1E72EF80047F6B33591B97D3
+DFAD34EB224D64EF60F5B4ACC6EB42E1BE0CB2812FF2F3C264AD2E44F5EBA441
+670CA0A60E73176ACDC4E42E74F8F489C73481EB5D46A61FDA1C0FF9F8844DBD
+99CECAFE2A72833E4522981FA13713AAFAF8F121E60FAA6F379B2C8874CFF23B
+8FECE70654E5855E525A403700A96CF7F8111BF2B58386E29640D82F1DD86900
+E0E203F3ED554209CBDA2A61A5641D4B39D98C5C43D4575648D06BB82B6C4D4A
+F043EC61B17C208CE8B4F43A7BCBBE588A3D13A183D79A47404223037FCFA4F1
+DD237344E589F161BB9BBF3FAD2E28749350DB9A74C09E894BBCA85B82E704E2
+99788B24642A7D0F0FD96601CF1AE4819EBECAB89824A0DC1C03BA4B546ED36E
+DABC8D49CFAA53D2A9A5DD6B3431E364C99ED0323513476CDCEE49BC413E50BF
+51EB93563DC03B62F84C5F96ED713F288D109C79179AEC41424822772032035A
+40E84014F5BF40948F05E8562C9CA9DDD71F89021BE238E74781A92D64E5F9E5
+AD6C0D954C6686C714BF189E78EE47F1530CDB8376E52631A1A26E3021FAB977
+DBF01167266AD68A779C0180E034A90CB77B86747395BE885E484BE4028B4093
+8BE191D58D0BF85308C72E6384292A2E1CD06130A091F8AF9DC6C3E12B1E4BA2
+BB2C37AB4AAFC0CCC7964C06B9EC1C7E3BDCB6BA265288D9C8625EBA35BD2A49
+BC50472D7AE262237FF1EA8D9DEA3C0DBCF7C3B2DF5AFB1F31E46B48E096517A
+0CEDD60F43DDB684BC6E4C3F6F3D70BD58AAB5052936EC4ED7140EDE795223D0
+4E3B95161D16B0402EB45FE97ADAFA0433FCAF55E22BD7E4AD2030D9DC86F55A
+8D7EA00901EB1351EE8A0F1BFE75CE46DA4165D78043F8F0741D4D9DE0CCA00E
+5F7D89A849AD0F0CEBBCB948613028CFC39617FE9184753372C375A9896F5F1C
+7E24255FD49D2109CFF9ADD9A118CA47CF58975A9CD3A960A8A08A078B98A50E
+4DE619C8B2D3E15938C879D785539445AC468AABD6A6576AF0E8ED368A9350EC
+717B7D3BB55AF58941B47FF639CA2946028CDDFDB84FF0060D330DCDEDF13BE1
+FB1F743317C15C7A9F34408F5FF7CD9745217D9B809DACDDF7DAF9D821C06B37
+25738F0D20F4A86A079EDF71583A9640173B3EC529B98899601F0EBDFE45BEF0
+
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMTT10
-%!PS-AdobeFont-1.1: CMTT10 1.00B
-%%CreationDate: 1992 Apr 26 10:42:42
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMTT10 003.002
+%%Title: CMTT10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup
+/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMTT10 def
+/FontBBox {-4 -233 537 696 }readonly def
+/UniqueID 5000832 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT10.) readonly def
/FullName (CMTT10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
end readonly def
-/FontName /CMTT10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 23 /ring put
dup 126 /asciitilde put
dup 127 /dieresis put
readonly def
-/FontBBox{-4 -235 731 800}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19
-38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF
-D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204
-EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727
-A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593
-F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714
-4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA
-6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E
-A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B
-E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F
-1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438
-452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF
-8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369
-5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA
-DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9
-BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19
-741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79
-E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712
-E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7
-D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE5056B58A9D6BB1DF8
-769A7F75476761E687A8C04FFC7C023F4A610B105CB4E2144C82181C70A2A97C
-96E46DDB637486F5A5AE16B8B27E8909626114A5A14782944D1C0CAF1B916827
-18E0762E3B88C957946E58BF74F9EB39B3EE15BBE771CC058A5CAE1327243C3D
-00DA2631E3E83586547677F96327E8F49B3AD578C0D9FB003045884C89A31725
-65C32B1D1632368D09A1FC23FE4C1AD48F8140573BFEA443EDECEA28FDF10B96
-EE1FB793597F4E2CC092E2DF9B35F469A8B51ED4C842FFB59319762915DAD84F
-33F73A5A139DBA47B733D58786C3F6CBF1A6FFA490B18E3D314D0F81829CF252
-3414D6FD6F3D5BF5D3A4E30F8CB52414FF143F96C38F225495EA262713DA7EC6
-AE644B331C25AA451691FD4FC6453F990B95A3B7EC5F4CC17A1C2FE905D2F36E
-9A954D8AFDBAC7A28A8E6FAAB4F5F8A48ABC1E34F3EF0A58F330AE36366F37E5
-48C6DE0FFDAFF0F4C3DA957C130A3936C4504264CD1D9AA781169DC6ECAF6EDF
-4E2E45E5E8E54EF7FA1C42AF3E670E0FEF9C85E3365633ED40BE32D1492269FE
-EAC9B2EBB288AB51CE23DED80B13306AB96360FEBF829410D65C4406EB08F5F6
-670457E00E1DB0091BFD9EEC400EBA065CC7E904BC8BAE1E39432CCD10B22C17
-391E8D53D5D294B48A4CC84E1471F7A62DE9A66C31B9C89E4E39EFBC4A51E35F
-493DA12600759173358D8661650BAD0959D2F95FA6D2DE2B2343FEA2BD752B10
-43BB9F869A604A2C1267EEE7235A1B584732DAF21371D4E2B8C3DC0072C46553
-8EE9BEAB540BBE0ABF89A902EF916FB1477C796F575593472B8E25DB85D5D7E0
-19DD2DEB414DFD0EC0884A884E0FE0BB79CE6C646E44A917BC1498D39F6D2ACF
-89225E8DF1ACF4EA1F71550220B035B6AF47EE962104493CDF9DDDFFE6FEFCDC
-0E7D527A023A317C122A6F4FC597D325BAF4404BDDCEADEFAE714A0A6FDBB0B2
-3808EA4BAC252A603B4B98D6969C3E5A27CF3F037DFD723460B816789074F2D6
-23721D38E3F5C55055A36CC105BCAE93B82CCA448EEE9EBC7129676CFFD08955
-45E908778DBD3D4A764EF76A128CDB6043B9E685058910F2EFA60EEA24CAFCCF
-B5D27894D0FAF70427018E44444432DA217576D9871ECC3D6004C0EC5F43B32C
-9F1F08C2A9D21EA336CDB7BB4A5A437D2230E8B709068CE066960AC2C49A0F46
-46788F984A5F6458A44EF166FF986A7D063C27C6A2A2ED9156A7EE4B34B024B2
-778D7FE70460423FDD889886319E84BD5203D8DCE42B54DDBE7CA207B2B331CD
-0C7DA5B2D0462B9C428DEC4DA9AC80F21ABF25BA97A93D3F2BC428BB4708AD27
-81926594A4119F4E482790F67E37A2305CD35D821BA8DED6E76756AB42F41E53
-30E7D96E58A9C8CD0413201E14AFC50EF52F87A36D22C4590FB6EEA9DE03A06B
-B3B9CE2F312121C6D5DC0653C96FDA7F93F8C88CA69F468FBF029299CEDD6FAC
-5938D32C45F216BA707C93024DFF0C0C54EA753C09F79C46043E8A6D8B6A2558
-1BB3D38D9CBBB7633E7513532C7A8B2DD6BB6933E1F7B5F88485309F88582B8D
-0FE83BF9C846786636B00A4C6DC92FF6FFD3382E230A033D4C8A3CFCDDCC725F
-40632A66CA5A0EE73FABC80EB23BE44CC4496B6D4600013A767C89EBAAC29C4C
-469CBE1ED529DBA8032E8BEEAD379133F4C1A4DB34AD0602FC4278BE9DD1B4BF
-4FD05E0DB2AB659A953192CFFDE0C61980AE4C9CAD97CA33D9329DA73C748AB2
-DF59081ABC4F41358EB3C78AA2679617B223CFC0E0208D2C0DCCCA5FFFEE7C05
-CCDF79F43CBCC4D0DA203C2AF51B5407D07316C8FB7AA49CE57283AA76206461
-7107C54AAEE825B3DD4AA96EF621A2D8D74369862CD3BD09C8B2F15976E6CB77
-637DFC15B13FD3C5DE0E365067492E44D24B98A58A14DC6FCB9D81C861AF1761
-F175304B25B1EAF3E1BAC49C2C8E5BB08F47CB9AE447952A6E467987EEB21EA8
-05D336BE0F60ADD3FA1422152456A4DBCB82F76D67DF167EB24F53B0362371C0
-4FA2254BC05924B1974A9C35C687214A9A8C9F0631F889212B10BE3EF9E6626D
-A6F9433520CAF11AF8A92A72B0DDB3235928635FDD84C966016EF1DBB48E5128
-4609F90B563AD6A4F0A4C90064AF3B79A02C597C8A714C318E3DAAAA188DC210
-D10C6B973A7C9E6995C530694CD30676D6D49A5585B59B780163E1205BB67696
-8BE110CB0598CDDC51CF1CD99A4A64FB15F904D43F883E720BF0A3100A91487A
-5457549018BD7DB4EBC8E53C543866144BB7E4F4D9403445DF7B9783B17F05E6
-22795D137FA3FD749E97256A555BEB391675E5D07AB4EDCD46DFFC6ED4FB8D6D
-DD8AAEBAFD2A8F66FD487CC39B85EC446FC82B634515F89E231B8810C1ED00F1
-3F81AC5CE6B36917AF46FAC2F7C6183C48EC3F1A5253DE5A3B091B8FCF03F2E9
-8461E6206AE3A809EC8B34715C9D2D15C83D54BFC7837E443BFE5B85FAA9365B
-0FA0B2629656369B226EAF89FA7612A97A3D3BB48B4045CC7FA5FEB1B97A1D1C
-0F3E4A3A6F63F0FA3B7A55B525D5FB480D92081283C33E802F87C639AC4DD469
-94F86AC8B01EA3B8437C3A66DE31E2EFC930967F3AFB983B4CBB12672FBC41F3
-C04020F66D7847339FD10685B859F5FC0A317ABA2B9D2A322D6C7AC3B44DB449
-E37CC18605F7D8E7A47EEED5E43283958CF3987C22F29F49925CF324E9FEE21E
-FFF783DD57C0CC0ADCBA34B16D9D640D2D8CFDE98178247922446262006CFB91
-72425329E91B3194D5C364AEE73C071FA73AE79E097E2F36EE42EBDC894C82DB
-99DA0F4D38F9ABF56EFA06A574E75F49DCAF478F5095C34725B577AC936A99EC
-E8586B46FBDB118E4E8EA6EC427120E34F31BDA887A7A9BE84A42B5071E89C00
-1CF7DACB95EA4B12BF3E4E74C6B8632A5B05271588C04AC716D7D53A3F22176A
-89C780167D1E395FEDB7FA3F320F3C725309DD96B8AC453827627A3BCA36F550
-AF12EF426F696F7EAAB7441EF576F3EECA5065CE54585B1F928C4366FCFB39B0
-8A26BF570D90950DE77D62951B5FA635EA4C474C96A3E02F2FC6A82334FC5E5E
-E0E8CE5A7FD855A83045D53F63598EDBE8FB12BF2B4756F926AF21A69F9742CA
-2A4D31C5C82AD742CC6E84B7894E96DDDCFCE252C4CF01ABBC4961239AE69E6B
-9CFB2C66A1C336A5E6E99626ACBF0092831CA748254ED1BAC31883ACF7794F16
-860EA61BB3E7CFBDC68CB0CC21C1D23189EF251CDF2EF3900376F45BA7EA815F
-ED8235EB2ECA7F60BC35DD4C54153DB987C0A00BDE993E56D2474D06F998D431
-E92FEEAB1848D8E12C7AE197ECC9DECC89E0F5B29455A59C3C2BB67EC207E6A4
-19EE67307C710308665E56369ADFD9D28F858AB1356C82C1D85BA24C70FFF139
-146F93DFC545FF204A77CE7C15513F786B5F0819FFECBDABE103DA156675B27C
-48EBA9BD3D60F6B7F86DD2FD6BF32BCD75932D40379D75E0D4DEFB33D96A2607
-DFE57DF2F8B187685CD003F242C97DBA3026222D8D1101FB198A6EB5CBA03B16
-72F308201CED928A4CE46909B73D0BA7103A2C40A00D2A958575F953FE66D6E8
-F93832B922EBA8B26798B23932CA67D264FDD54E16A853F5F5643E9E82618C24
-4AD08B7B7D0C2B38990AC228FCC12890D20628BA24B44BA974BF584C865C6062
-C8E89BDC224D0D4ACDD3D68C9AB628A8AD1EBD43A7472D9243597185D4914A1B
-875032A0C828AD874F2F5D9795F31C98DD44A9DA68CFA2EF9E69363F0C5ECE8B
-C15480228CC416E4DD4AC40C2333B2F2E468CF04D58AE511ADA9F46222A2B68A
-37BCA2348586094A66EE4440B6B3301CA9C46563DB03F5FE36F0954FC81E2238
-67D2379EB97A1189A435B2D0E8823BB05C627D8142CF90E0ECD8D8E026BBE8ED
-1DC380E81225EF44C2483308B0E19640B72D5096A42680A6A0E550D095677F76
-1A09CB173307DDA591CA84D65CCA9397FA7FF74760BC20651EB35FE90813B2DB
-37D75A15AC56DF67750E7BB7BAC493266B6C2932E86BA407BE86D0731D66BB86
-630779CFC2E021ABFC6B2A101CF419849CBAD036151E5223F164244B2E7F78E0
-ABFB0107C2CD5A7BEBC1E06E74836A8C1461725DAB9383E508559235FD7D081D
-879E29E0296F4A2C4ED061D360E53DE27C78CC142578AF4F45BDBA5A15912ED6
-B6B26E522791BF36E9A9B91E0C8205FDFF62210228396DA50E6B1273D167FCE6
-D750B61D532EF6A59BE698B92CCC3229F0B9215B4300AB8AD95CC0ACFEACCAF1
-D4F9FC8F90D6E8D9FA2B8A8C2BAE7BEE1C93A4F160D397F4129CECD96331F3D5
-68F691DCB840B45B118E420C1A378FFF14198703C021C9A3DA10E1FEEBD74B49
-6FA10A7324325A4DD7564C9A63DEEA0EE1A7A64432D89AE8E36CE0694076A733
-FBCF849A3924EF174AB63623369E4FE53C7846EF2300E38173F3D7A8C42E7B33
-54D280A916BFDFE94896AE6DB4B05DF783613B9924635DDD3937196D0EDA7D30
-06E007CA14CCA4701DE89F30A3637C3C296762C814257D0043E82BF196AEC92E
-87B2BC45E4AFF73689B5B4CDE887B6DA6B38C385110379895FEA4547A7C6FDFB
-88950F547EF5CF638145CCF88514461110C87A1955912167630591BEE8321F27
-188D1B35E246CB05C11F366CAF668E071ACE72D3ADB42572882518FC20A80AE6
-C8DA60BD614F1841030968281F2FEFED639729D1D10C60CF6FC66241C6418B31
-0FF5666D6B89F5165C4B575DE6FE6615ACD9942C6F126AC0C179C2D7363C7D39
-8BF85824A7DA149B6F7467EE6C7C99432A11DFF7315D9963E3AD202B604BB93A
-B955ADE7FA1C4E709EEBFD25CF2205ED3D45C56B843E83FA7A1C44E73AE6933E
-048EBC341E3D9007163E99F0078E15851FB63F87AB9CB083CE2BC9DA4610802A
-077CDE49D801F017095BBBC52C5C829C63E6E96E73CD6D74AC21116BFA1CD9D6
-8E971EF0139B30AE4E70B622CE9FF7E886BFD8FCD5DF5C6B8D539FDC5F055E18
-167FE0BC00CBEE23D559E1CC0C36FE7BAB0318A665D5E0A2393D2BC9235FB29D
-588AFE3A3174CA20CA2B78A9E5A6F37703A5F7FC3E0AC6E70205020C6ED53DA4
-DC7FAC5176CA4E2304D27D25472877940F4EEEA3376D4FEF76F4C8A16B8F23FF
-4146C736470C6EF10E905D8EB2E3735B05E7760EDF96AF9DB4516238EF129758
-9693A70AF9DAFB479E9B76490FCC0EB5DCAE4B9BD2627E5C9EEE2D27F7513274
-8387FCA829FB443E410B8522A03D4CD1907787D3F3D28430DB3CF6073269E336
-404909C7DBEDDEA4E36BE1B5EE3FCB545E0567F34D6B9FA4A5F44B94F89DA1FE
-E64E3012F6BB81D88F6960D96F1C4D732CA4FC6AFED77A79EFC2A62363316F0F
-EB94106ADC51BB332B1B287F9FD8DA71F86D36AC03DA8B572AD6A519DF050AC5
-7F8B07A5498CD8907713A7DED63BCE3ED4A1433B0EB4F1514C44EACB2D84C6C7
-F2F7DBDEDAE6AA114CD7BFA6C678469168D320B1A5E5F12AC4020A5B7715CE80
-F557C4D88B5BD36AE164D9AF9DB2B2D9670470ABDB7CA15FF735249BE4121ECB
-921D17D784559C9177248E31BC87A3C48B4CAF1FB1C6B4FDF288E221DF36C2C0
-7F5A2470697722ACD33751A73E49915BE3A21708D0CBC1A250DA06BE44052F0E
-6862771B42D1404C5A9CCFE638C028B211282264CEC3A4C9F539C201139E9E21
-32F2F3ABF2374B3D7949C97D1B57748E3742CA077B926A84404B5B0C39ED838E
-BB361385694E0B7BF97FA50E7246E4D7E6570C69B7E6099B6B06E56B2311EF97
-A99103CCD087478FC429B3114A39F937676125786DDC42E54810E35651709F46
-0A97749A09DBED1EFE6638B9224AB103A67FE53046DB40E78005F84787D9AD2E
-B6CAB5BC5C84D370AF41D7B3A1B06C8C9B154E2E3ED1D5E929A052EE75F21C4A
-EC904ABC0EA93F87DEC10BF057BAD2E565B02B560CDC55F89E2C3ACFF474BE85
-2FAD5EB9F288C7F44408633D08DBC7496836BCC79DE77D297E917A41ABC351A0
-71A44FA46E06F2CE8B9E8F9DB9682958617524E93DCDC89E406F83EA47A94E8F
-E52FCAAD6E3729D2FBD94CFEB2C8ADACBC8688DD8F049C541006BEC2EE408F48
-0F4062760B7022EB7CE3AF667DC16BA2260BE04B5C7CDD3C69299DDC3F2BC853
-56788E5637ED9540647DE4748E6D61FC54BE197809209DD6A3F472AA3271F91D
-C09D8C64EE42B72BC1845145657E9D3C41A3C06B03F5C5D094274AD688990871
-9DEC6555169250C15A0690D461D35F7E962E44CC6BB88F29766FEA1B0C2DF59A
-7E793F38FA14BECA1DEB33C917006D2112D13A6D9E7BFD7A059CB5960680DD25
-3919BAB349A5DB979B9E58A6527676A08E654C2DEF87CD44803D8F7CFB89BBBD
-E4DF715D9C0AD589515A4955789E2F9E0F0B741510B272138AC0E88FC8A26AAD
-F622D37B2B3C1B9AD4FCE9DC1FCAE999C8B3FE78DC0663AD8D0B7357917E6E58
-3BDB824FCCC09A3A870D13CE823CE3D9D701C903EE00B9E29BBB90F7E521D7E4
-E9D56698EFB7787FE47AD5F7C7FAA107C042D46C11411710B59A3D63AD0A3911
-6C3B99857F55C2BBFC0C5888000CF19C58E6B5A93E0E39FE9B4FC9F80BADD8FC
-6494209F8CB56A9A5E23C201BAF91A045A6196E58D3257FC9281F96970B1D7B7
-9D2E181E408353BD2395513AB5A43464D9E687E7B755267B5ADD5D8F1274AA8A
-8A2C050F1251365241EC5A4537C497742A6D740218ACB6BCEEB65D9F800AA19F
-0CAD86CF2BC586F5CF07BB3686E5B4575F96ABD47DED0C084510894F7C24781A
-1957029AD2AD97519B7ACAE24895B95F76EE922239E0316F988A5996E3B4FF76
-BF60D81781B18894FF93A11EBD10D1373D41BC92004A1B9900A37CAFDD4DF543
-93EF87313FF2429BB4C7872E589AD856C45B0164C07D0CA89794F964A3A11FB9
-56034CCA30AE6984C8AA2D5F582C56BB290709223BD193D77E2F58D7D2C77553
-08D36EC1B358E0BAED507686EE355C375C2059AA89FE1DE788BE916DE4F6DCBF
-87DFAE4FE7670A48438163E4036CA82D90BC5ED55B9F6352B1F825670B331324
-1CC94F4D2E804BF30F6B53C2F9668C797B677281EFB31751C6CD24D2FF35B6E4
-5A63C4929499EA9C438C89EC8A69760D173A2AC63464A9C96EC9FC5C1A908A34
-F60ECF28E37DAB9D1EFC7F04B362BF1261754B8E8964303B101F2B3D2516F2F3
-677A83F9335243CDF091E681B6F9332C33CC1575D1B6DF0E5164E123915406F3
-C5C198EAB46CB19135FB350D9BFC913CECB646B607CCEA5F6705A2F3518E5177
-4A0DE296791A918338373432A23CE30558B3531674D6C80E1CD3E91F22BADAF3
-9E607FEFF9A62962FD7820110C2F9B57847BE7D5423DFF6E4EB491540E843664
-B6D26F3F5C86E4ECA2709B496889EE9CA84F08D9D58736E290094EBE0AD1D1EE
-1AB15586A241918AF634C7BBA4E69086BC523F3ABD00347CC37FD61DDDB94263
-89CC3E3D5E0A92C50B633C30FD446BF824B71A1C5F1287AECCEDB4A76E19A12B
-A4703BEC33CA0F0FAF543131AAE5EE5DFC62F043DBAB28AF6B560052D12E59F9
-6DA5A7FD570CC5C03249BEAC3F38A16B5F8BD31A3588E9C4E90F751B8F5FCF86
-54351B3E883E2C4230F00A68141563564E3A93ED8512D1BF8AA250C453379704
-709069A73E10DE42FD6B4863567027B4B3B0A531D593F070046F307636F6ABD8
-1EE2CB549BF9DCDA801D67302110C70151343D5ECBF27956BE844937FD2165FD
-91B2B47937230C39B054DBA086B9217B132D3C155AF2B31AEF8014F8D70E4034
-3FA97DE401F7A651D78DE51ED0BD29FD79AFBBF73827D9AACC4E9591BC4AF5F3
-F38B32923D9288B6247FF2D40329B623856F540BE99C0FB26F983239393B0523
-FA2738DCE926BDE82F3F0656036F51D45B1490BA5F599EB432FEAE04691BA326
-74558B998480293F26845717B284365B1AA2B895EDA9C46F238F1A621F061282
-931EC77693E03AD9DF7D8EFD123488665796F8594F0359ABEF5F6A042C430787
-1A2AA87486B1837C44C561A971BCB136C316C2FCD28D5A7B22DC8BC91A101798
-1F5ABC1562B2BFE962CCA50D275742F4B1E1EC2789DF21948C9B7AD567361814
-89659F8330AA7DDD30166353EB30A5F90AFD0F57A6FE6DBD3FD29C227DDDDEFB
-242AB7E5FE0E6B18A0A1C5BDF34B132C61F357785BE5A0F3BBB6988143A3CB89
-3540E0DB51CEB3068E098352102617C17A7AE9E72641B23860D5CB6C65D85B83
-E4A4C6BC47B509F7562DAEC8D4172345B24CE356502C213957753D9A3EDB2B77
-84E39FA189A90E9A65BB9131FC22C185DEBEAAC6A87A754927C28C6C2C3C78AD
-4E8AA7F95A1AF810C7C64CF5DCF59B27C02D206437812FB55063D40BF4FA3CCD
-013561BE542CD70E3E8D8D56FEA3AD43C0DE02E99CDEE4FA5087CF3ADEA6DB80
-33315076948F9D28286EF1C2E41DB835A0E494111540AD56564D0EDFB1A4DC0B
-3BD15D4A6107F8B039D37777CE6012030FF496A39BA401243A9590CEDEA200F9
-4A88339DE3E3FFEBD0130A895AB76E10B2A41FF99375272D7D576C666B054E65
-11882D5D4FF66C72274E32AD21AD7746027A232C277141C1BB076C05A289FB68
-0ADD33A4344C63AE90B0DE698795DC941DAB787276BF19416D12B24339A216AB
-DFADF1D4BB64128BC40394E142A812F40AC5F073556DE7EE199ACFE2DB53205E
-D64154BAC4CB401CA1A1C589146A6EDC4337390DADBABBCD3A8790AB9DA3B339
-BA89054C0C52EA86899210FABF873F5B6F10808237354C271FC612AF5BB39066
-AD9B5C0866D9D50379DF4A260D882A56862E5984CD2FFCA2953A84538EDECF54
-348B0DB9EEFA8F9548F487631174AD5866D7B2AB4622C372616733FE7346AF9F
-E557F895C798ED59B700EE0C65D1996760D331ED3DDBAF0F53B9E10F63D0BE41
-517C0FFA58C20FE5B10C4BA9D1BC082CDD991CF13B6C6D0ABC5AD4CA3F55C966
-E4B14F176DB97F28A6EE72B72167FBFAB631B4E3DF34AEDBDC48DCC9173B0702
-DE877053893792F6CAB43648292AAD3C5FE2785E7AFC1FA1CAC89D9AA26A3F06
-37CADE97826F8BA63C3C390A94AA6AE5D0BF4E52D8384A290D64C552A4011981
-8CF2B50C604BF2B780AE28A8AA5851F29FF44D124A1D64A7B5BD7A4C603A80DF
-8EC03EBE26083353064F6B2BEF9477FDA6343FCD29FB9E8070760CB84BE5142F
-3E8BBFBDF0268DD4B3037126CB8D5176C38B588D31B63094389650FA866D57D4
-49CE8193727BC70DD253CB19EB65348DE5BC33304898946301ABB1F96177ED57
-5C2447456BB7DC2F5B8BBDB830DBB44886C795E484F76853D91E3920B8D3E9E9
-027F12E6322B0E41EE72E3F728AD90E2B9E41098002EC62B6095EE8AA8BDFC57
-995E603A2E67786D752CD9F302FE342F8A02CA462DF39D585C3D73CC7CBAD1B3
-C286822D265524D62D58E311FB845166460C83B656CD4B4E31743983DB6FFE38
-5A07AA89685B20FCCAAE86255D44EB8B1B3D3E922A1FB574B5C8BDDCE5CDDEB2
-D8BBE0C7EAC54540A40F254C2A90A507BF8B59725F5E36FC40261DF34D29243C
-3BC9C65CE7E6D50E19E3C3421D2B5D84BE2D7CB1864843941528145A3A6E1F67
-94ABB555D73CA6C45EE6C891AE96BF224D9FB3C9B0B47B21A699DC2A1B8DF8CB
-DC7252FDA006C8FDD6F641948BA5B2D5F6FA454F2C4ECDEF1660ED33D1488797
-6B2B8400928777E6B795E40CC17DCDD90220A507E72DCA1D893090916211D3F9
-57B15C66E0DA69845BDE295346413C30CB1222EE4C1C6536C14040BD426788B2
-D0B8F366BBBCD119D8736E26C11B9280122F6A1A06A33B133FD78A35186D10C9
-7D3C2A18853AF7237690410448393FC1993915FA421C57BEF15422EAE58C84B9
-4A03DCE4CB05208B0025879304F98B2E645036EA0E2A50703750503C414FD481
-59ED89612409F61EE3E8794BF6120D19F66B876A7FF4ECFAE639ADBE17B2F1D4
-5C4DA9258D707555836375F170B01A451EEAD81B9434041BC67D84673AD592F6
-10740E221C48DE4166F13DE74F98E7F0A9825985AEC57C51BB8A58ABBD1DD2D8
-2D31D9BC4EC992950E15C4F6909D58F8128DFC279E971FF27E07F4E7EED809E7
-58C8253E4BDFA87F1086739D57A8D57DEC9ADC72C1FDCC1C5ADCA391C6AA1551
-39EE932FD41A775C6BC80C5B47B9642446CE137A7D8E85492C229217AA90FE15
-4F1CF1DB8894711BE82AC278EAC0E970C624C3EFE0F974E5203651C4487D0953
-B7ED764FC803CE2220EED53A54769B046ED35DCB0A3BA31EA49FB26B67C606BA
-912E7CFE29DF3A9E63DB2CAC989AE8BF9E24F61F09408D6C0EC279C3E502575B
-34885F4182B1E48587A0F28BD9C37200B29EA57E0B2EF81D1703815867087127
-244340E2C0AC28E1377247EE3424FDDBE111010A2084D243F5A6DDA37A983D29
-3B6798690DFED6AE09ECC39D9C0EAAD55B1DECE5554D510E52B01271DB4E1421
-BC767765C125A9CAE24418945C52D60D9C7AF61C3E2AED45798D4618351E3E4A
-E0291C63829D55A28828B99444D49F70953B19535C069816076B29468C1719C8
-FDAE1D38710D0EB2D2E965F75DE15431563FC843DB9FC5462367B1C15DB0A27A
-79CF8D863F42496C03D7014725A3C14233BC2D800776A46858A5E3A026DFB90F
-2EC843F94E1FD3FFAC8642E800ECC8C5866FF777EE010A4DA9EA2FDDF00DD0A3
-D323FEBFD7FD089716FD44A66B5A7C92837D3C6963699F0007792999B361B007
-73CD354739BA61FF60307CCCD2D20829C545E1C46336BDF2E321621BBDA8CC6C
-4DA1B6359039D0B367172C2D6F03A09E4A0C6CB22D876882AD800B8F2EB42A80
-FF637E0BA29B3DE49EBDFFE6B4B20E2FD0AB55042ACFCE5BFC7EEE08693FEA17
-B161F226DB515948EFB62327F3D3319276790754B87945A92D1C6ECE7426CDD5
-98F5182A9221373C64EBA95A09783A1E6986817F7C1B2A450A49F6C83C74721F
-EF428DC7FFFEDFF46DE550FE5D5F224F04C39B22C5EBD956F3DA47C07E206270
-5804F42211C513B100118A81A9B69D709B7F23173640B4E0002C7A37783ABC5F
-8DF3CEAB740CF1F46C0751435CB6478CF952AA66DAD3A89FB2C20CD382A9621F
-7FAA723891A1C7BDE39DEB1AF05D49D85B730B0CD9A8EA73AE53D0CFC48638E2
-C58E11633573A602399031779688887D418403E8813CF28006C655488B58E51E
-3FE78702416106FA78F8F4510CA2EDD76678D0738B4B90087AE541EE0F9D9B92
-E0246483A64CB9E98555505F8154CE165CC5C1C5C53DBD4167A41B4E8BEF64D6
-C02E8EA6F04BF247B7A4DDD7F15753A20955307A2A0DF8EF9F7259FB17BA4072
-9BEBAA3B17300F127401FCB79A9EBF5745ECE0D928A77B6C981A4A679060B0BE
-F2D2A6905CA4A90C37B7A91B8D24A052967B334CE50BA0A2217BFC64831E6EAD
-EEDB56CDB42D87A3DB4282DCA71AF6AE97E05E60AEE094792ACA1B36B92170D0
-D109086F0A022749590A98392761F56D14A2FE06D1C3F24A9971EA5E965C6E4F
-8736880AD9EFF0F62B6A90D8D531D1EFD0524D273EAC1EF5EFB640BB3D985968
-D22B870106950796612D485EFC2501703997480E5E4CB7FD4A10790B67CCEB22
-F662C109923CC09B078CF5AB0EBC60C3F546CDC799D95516FFFDD9C1DF6EDB03
-7C04D72C9050C7AAF14A86A10E839D7B2AE7BFEABBFD387858CBAC05FC72188A
-805BDB5AFE3568EC326DA47083F41870F2EB62A934DCE65CEABDAF3D56F606AA
-562E9953C3EC0E8D507A5045AE33743AF01007A5E4FC1B8E75181B5F35043BBC
-F5EE392857E54D02910A8A6696A7E69B296498212232CDDBF408DE302986E937
-FBE4A0BCEC1B45C50A5F5954A42F03A06EFEBB8950990154B7A12BCDAE5A7E79
-815163E57E40775EF8C5070283906D6AA694740965D14784E3C6191C38A6790F
-E506F098DF89D3E5BA88DBD521AA030D63CB714F63BC22BD8939253033BCB71E
-67F5ED3B8489F7674AC747CB8751456C5DBCC90A62A541A2C64E423EB8F9874D
-D1ADC64E79246DAC95CF4F4AC54B1520E56746F304F7237CF548564B9F19AF21
-2575849200F71BDECF8458F1B704DA3022AEE342E1B58F5AC762583771E50603
-02951198C2F13CBD9D5C9D712B65892B904F21AB2D12817F37A1EA094BD5228E
-433A8B834FCB549A4AC827E3A354FBA436A8F9CD5C549308CD6C8511A4874069
-C24250400DA5B4AF622585B192E215B522C24CBCC903BB5C6AF81823CBD021FC
-D77A63DF63272264C0881A9CDF5C06863659E153B9B32C661C8E2C5518A1F0DB
-F6703929E7A3F5F59489502D4A684BE823C3CD4C248E8FFAE9EB39709D0EF868
-4EFC680E48EC87D258FD1BACD98049F7E2785AA8C632EB8529AEDB213CA3AEB8
-F440E53A51D19D13FC0780F57A958F858EC97B3EB29119007C82137C429735A3
-AD3C87C1F957B557AB80E2FC0B55F744B333FC1E49DD5B69DA98BF4118C8CF84
-A4FA4EF636F797CA1258DB55C60864A09AA75E90C5672944E282552A3800AD7A
-12A2990CEA5E60255C4D57F469F6C79FF6C7D902935AC62D9E078A2F786A926A
-2063FACE68DAC7E39503C708E42097D1556B4B3F9C07CB81D2FA93D498E307C5
-E83BEEE06B38A344CC332338E4E566C0BAE2A271E628ABDF8F0DFE2E4F2B3295
-D13933C0DD6D045E9757FE536020F5D529D1A018D34561BCE245D9BF37B249D9
-1455C7CDCB757EC8BD8B422D1E72A30CC2C3ABDF933E42B8B5C8608B4B66E45C
-5F697CC7B6A540B83D74B5A3E2DB05F1696B2BFFEFB1C9DED89FF7B23B423D4E
-BAF347483B1DB41E73B91665C5F236DC6D723C52E685CDDB87A89153EB875BA9
-3013CCA734D0F953BB286F15CD350F0806E6693175024D6ED4716D7530D2CC61
-4F18A7C8316BA9CEA2FA4370829DAD71ED13A7C64FD1D3EB614CAB3BCF49034C
-54A748AB40CCC5F9C8EF1E7C674BB8D16C2CD98541621E921FAED15AFDF61844
-8A4DE6F69E2E5A829B0B0E4652EDE1B39D5666700A6089131DBDAFBDC0216308
-AE9477B3387EBA373A1D6922DCED787E9B387205990C0AD14F8987FF7F943E88
-717046574563B81FDEC527D71E27A6930D9C7A80A731E87F625BF2FDEB3DC8C2
-E4DABB309894441E2A9042F5BD0F873F110A2C4C3B6B656E4E32B4B50DEE998F
-6A483A284FE3CE1E9568B3BFB5C594DAE1F6D8388DD57F7B997EC0283500634B
-D8AB357DCA4BEF3EE15F90B5ECF129671C248ECE8AD54F0925D01B91BF2A6BE9
-4DAA29A24FED710E98DB260E960347F4655118DEAF07444B6B357487FF4B1128
-390DB70513704DA8AEB05270F8ADE1AF7864D3AD3CC5A6B998F8FE342D96C385
-635E4D9D603B6CCEEED9B4564A96C34AFDCAABA0C5B89AD2A97E7576EB895DA5
-E3E2C11B376C8A938D9F4C8D4B417CFD93F33467E9A0D8D5C9645A985A75FFBC
-99F55E7F918D4F9EBC0D86DD42DC3ACDC785C4345DB9D41B04DDBDD99251EF9C
-1B5EFECE31F81AEC5479E7CDA0CE66F6849EBDE2D5020B6724EF1F4E86A34328
-A099BC8D3AC972A7227816D67847520572A897BE0F8C40A8E1BE23248A938BA6
-E7E693062D0E3B08207C73D0DDF0B1D80D7D1B023375E68FD7DB8C430CE24643
-589D7437AC26D90D302E327A352CB3700F360DC788720BE66BA728774242B8F2
-5D09C3FA31BF50B20AACD292A73A00E71466BAAFC5D62A3308656BC000F63539
-69D8716585B3B53044C9AFDC867BD2A84CF27C1CAEFC22E9DBCF85646D31D133
-53A2E024E9B476FF1517BC724706F13656BFF89D8E2FEC269F8AC0E861FAA906
-16D346483CC734D5A60FC0908AEFCA959AD94B0D95578214C363ECC752A88855
-CC4122C827F07C9AF43E8D3767C744A5FE425D83029CD3A1F9692B9DBEE359C0
-76AD3E9BEFEFBABB48C8E28FCF3005113F33CF35B47DBC7529AC0F1C6DE49D09
-6CCB2E31B50345EEA24555F6B3DD8E0C8FBB4089DE5B922406EC4511820DFE06
-85200EE1E4171461844FC866C9E8CE869F99D1647179A4C0E2F930DB66DAFB25
-5868DBE7B7D4A8DC6000100B1D51787524BE58438D5EFBA81C21A189EB2D512B
-601196068714204EEACF95D1059B88B1275B8584BC28A462DF8BCC41AEF514C0
-41309C9485B15F5BB34057A5963F0C4F3CEAA7B9AB4B254C81439D3AF79123E0
-F43126E76C8A547E751432ABF428D6E9649E5D2BD08DD18F75FBACFBE4CA3679
-4FC557345493EA705E3AD9158820801AF324EF0F5F31AEA85086978595BD7DED
-00074686999C025380634D66DA0AD60CB71A7535F065E8D60B1B266BCC303966
-1898A1232BA1F41C5FA6F12C82DB90C01059EBA861F5DA515019D8F39589D20E
-C6D20B1E018AE32C0A05A7C3F2210BD1FDA9E235B6C8BF690DB53624824B7787
-593610563CB1BE4005DDAF12BBC662F0ED166456BB68C541B8725B3D24A1BE4D
-A4241215771CC5175204B3E246558713A8BE62C8E9DED5D0EF82330FCA43B07D
-38E5265389B47EEBBC4A54EF3578E8B27C61604D6D23E32C061D586C230D5543
-BBD863585E6B7EDF6AD9204D7BACCA0FDDC35B8F7315C9FBF3B72E764E9A5DE6
-DB7D999AB273C37BC6E3AFFB126C6D0B72DE2439D224879AA4B94D61A43DDFA8
-76A9164BF74FFB8CCAF7BC1AAB2742F8C88E03E46135C0E743904B30E2666F4C
-33E5201D39BFABF299BC1714FD5F019FDC26C87B4C36D6082183D510E41F9DF5
-A85151153D2C08AA6B2A07FB04AF1DF373B543F33C37D04A522BA6CC3918C9D2
-D794DC60366D622700C73712A3D18C9BEAC3DBFAB04039CC3F7FFF3AA33C63D4
-B97686F209782809B8B691107EFDAC1A50ECBA2DC0C57C5EE625A0FFFC6E587D
-B8D83AEB8910266DBD4F8AD6AFB3A79BB2DE6EE8026992F2BA4E1FAB49409E13
-59C074095706474855803781875F6DF1BFECCCED1AAB006DC49BB307616AF322
-6039748F8E9183078AD912154DDE6B6656AAE47A6E667EF2043F200779AE3B43
-8CA13FCD07E34929647B421503AF311DE50D29E3B419C90E2B7EB4533B592C51
-F029F3E02304FF4AC70B6798586BC422D49C6BACA5A1BB979B89B8985D83214A
-2914EEA06C6DEC0F3B8875F6075403028199979A7501626708263453A8377E4E
-8EC049FBD087E375E3034A2D224D507D1AF80D88B57DBCF3E172CD420C6B5F08
-BDB576F29BD7619FD83618E4CF7A8EF06DD99C2653DF7883D308BEF9FFD29114
-7FE92E461B5EE7B198B1CCC23A18407DCA12B2EF2D9A77C7548F59F8E8B4EB89
-6BA07BF76AEBAC8A10D4C7EEE5C41B1E431D6CBCF186EDAF170F26ED80F06C56
-9889AB624E9FD5D9FD8EEEE73FD5654FFC0BDD9A0056191ACC0C6768638E569A
-C555019CE11C670EA6815679235EDD06510B9EC6B64C8CA4471ACF893AA895F3
-812C0D7EE3817F0AE3865C7394F534881BC67664319EBF4CE1CAC61CCBB065EE
-84FBC8D2962FDB6E4EC96BF4893C6441F87C0E7DF11A16DE9682CE21220951B3
-56D3CCF5EFEAB2CA605879323C49D3FEF5CCF78192EA321AA8F6B9A4C6372083
-3433944F5C45D7D81B74BFBBC715CF4B88D92FCD27341F88348FB6124B472F31
-D4A29E3A45ED4F95F86CBCF36FAB540040EC6E1E43FFC406C09DDA8105ED5F0A
-A09778F7371B591C386C3B3B366C404B8F06AF75FEC0A1788B2A87EF4C4F97D8
-9F18F9F813329832E849A77CE449CA5822712E6A8E6BE012FA6022C65106643E
-3A9453CE70344AA71AAC485AEF6363F55DB6B0F84BD8B8C1A322A5240B604E5D
-63F850AD5E9E4E34C9B403C3F37C6C725BA23D0B84829288BFDC8C237079C009
-E8B4965B30A14E381C4413C38DCAEB433E4267BDCD435A8150B4C6F02578DCC0
-09538046A1E22CCE81ED17FA7692D2D801735638B9A45ACFC00E097B7A25323F
-CCA89361DEEBABB082E01685212EBA99B0EA448F04E2AB80DE3E2AF93340EAD2
-F01B12095AA1A27B6104ECC6F37AD8A7BBBF107C29D66ED684CEF63174DE287A
-DDE42E48BC75F75CB60E42C07C100309B5E175A668B968F4F610E7B1A1303EE2
-422E3A07D1CE7E6F6B178C9637384267F5E2036C5E931823F03E893E67CD6841
-5930E0A3C95068FB600B00A24B7795CB87458CF9A3273F4D9F109A7ED6E8E7EB
-F96062A5B917C07FAAE3F23C1C959F58CF0DE0A13DEA29BFC7C90A9CCDE3D863
-E1F33AB6D2B0E4F0542F998BBA6CA65017A501557E3490635C6047991BEB7FAB
-0BB7B21708DF55D4D72C6297534B5233DD995F4C139FE32BEA7B35FAA4C58EFD
-6D0E5AB5B63406AED8B0DBC45EB3319FD0FF48BEA8AEDAF6AC9B2040B11DFE46
-B8E2020BFA7DAAAA3E88219A5D708FA2E468E58BDDE1D5C34A86B3207C8797B9
-22F3BBCE7A04AD47A5818E9D0E5D4208B69B399A2FC46D530D1F0B6E5A02D369
-58AA32F3EB78BD731BFBFC629E1C66780F5BDE5A7AA9B3A0E8B8B4D9903049A7
-3086701B5B8CC30C5FECDC10EE651649AFD6EA38352FD24A86BE537D3EEA4F78
-DF1D7418152EE6BE44773B1E8D40722DBAE967018FBAC0D0924B978F5F0EF78B
-0667351921F6B5C69E95ED3024AD6F7EA51456C0B0C6A507D5283A0C658E7794
-115F4790CCE777B12C342A8D9FD424733AB87F6CD508EDCCEE7315FB2E35EB79
-F5EFAC06821ACC757075B8F35DDE83B67DE3829FDC8D85EC7EBBCB40C919CF14
-34841482FFAE2152EC762F03B85D2CBC989338248866FBDDA72520A4A290C73B
-F325FDEA401E11AD0D6FF97B3C43FC734DCEBB822EDC7FB3FEFDC1DF266C2808
-D59319BE47F906CFC42B0195425BEF65523A67AFEBE1023105379600358DF8EB
-167B4D18985D7693A4A9D65362EA87AA15952E1A07C6EDF801540F51DB9ED625
-9BAF06F1C86D3501B02FDFE58182648A606E117AB9B3A76F9172D35E49955634
-61F39042A5C7833149728EDF03DEAFA96A0EF488A50326EC3B3D66EAE9AC7B40
-1DE6E4D22B1FC2B2A1221AC31C4B7AC5E5DF5F4B08125F6833DBDAE183402A06
-808EB11C4163EFFDEF76E60120FC6258A43FCC7AEF261F1D5D3716062643DE36
-1C6B9059AA254C0B371E02B0D682DD0930195322873A4FF8451283B694B90F6B
-5CB0C285DB88C29ED5ABB798F8ACD99F31C4DC38EC1A915BFBAF302FF8D0B9E9
-4CA98E78F6418E5082CF09115B0670E8907031AE9D56D3626D1D851731D32216
-35656561E3FA730A8FDEA875055D68131C036071694F237EA99B8D0BFED1F740
-903C9A87FAB501B475A1513761E50B92E1858577EDE8FDCB519B2C25A5CD8EA1
-B9A7BDCDB100235EA911B4B611422DA4F5F546099B0CA06349AF74C497908053
-C0E16A196AD451DBE3BFA1C00408288BAB7F90A07D91E70D619647FE91534F40
-89DD83A126878281E9C0735B86AC49C2B998D2CCD6C1538BA72EE028195B5768
-4C3FB0378BF7277FA2E5F8320D5F125D1DED74BDB940E87E6626A207D368894D
-D4F9CA9C5999C671670175D2FBEB3AF02A052FE64C56BE8AF131E77A9BE4CCD4
-95DA08DC7382AB34654A5B8D4BC0CC795B17A15E8338EF32E073692CE7B8EE8C
-4B99E8C071BCC02AE52E77F929A8A3ACF7DB34871AFB4F5415400FE3B70239E0
-37B13043C93B94C566B13845D601B04D3715FB78FFBA8A37A7FE55BB6156CB93
-246BBEE8CE5827F441BAC607618FF9EDA6E33A8A3BE2C212941B637712144242
-8EDD10ADA0CDAE27B7184F4146A81B71D33228A74EABF6F50DF87652D3B3DAF5
-1E56C7203A4FED366321CC356BE9762C24D89320F3F505876C61F6DAD664B387
-BC33221F235BE6A85958B4DFDA82240C20D5A63331C3C0FB7749E14E9100D516
-CF2CFF63C3D18D2FB522EF3FD51BECECCD678A22E71ECC8C543D01B2A6B4F526
-254EF9E6ED575100C8882A19D3600C7B9CA3997509102159D06E4968A6C586F7
-C9FFE27A5157EF0B5A8B53F5BD0731AFCF46744D919B303E46C0090E55D2010B
-91424E9B5E691734773FC5158DC5E67D09B2E1C9F702730F6C94CF06D7E97834
-1E5905CE5A61255B9F6886E5EBE4D4C0B213A22364440B2613AC4E9E35D6BD7E
-BD96FEE8E15C45A650E9327BD3540DC329E841133F081438674E04E1B4FB06CF
-F8A654960A1C4836F7C9C72988637230F0CCC6029E84CE6A76C7247ABDB0C735
-963D94977C209B9DE09C1E9EED4B64579FF0AF2DC57C4146F25E93AC906F06A0
-C0A3B0063F4A5B5B96181E3CFEFD724018F25FB3ECEBC73DEB61DB15236C229F
-9527E48E136CEEADA2822C02030BA795A466351E5E45AF71956673F7D5D35D27
-5AF7EF45352A3D0BA52E5599C30C54D5232BD9985FC581DC99FA6D6EA33116BF
-12388D3A5271F165825B08B8575ECA7AB3332FC8150697EB7F389D3021B36E69
-A37AE45229B600A6F1D0CA04D0FC950D5884E2ACB39332B24111D0F4B9D11DCA
-C043645EF6CA812282608E991D4BEBDAAF63B85C046CFD0F2636D7EC2F56E429
-774E01E08D5B5A1002E75200B12A72D39B592CD5738DC47165F2B920FC2C6886
-BCD87569A396C864AE173A5BBF2726F7F4C6D506B23B8F20DC20314F40F1DF6C
-4704765C8EA0BC21898E0CA8D908D0913EDEDBA892FAFF7A40A1B4A25DF02D1F
-707DC35B2B46B7985D49891C41634F86153FD3ADA0758F627712BA940568191D
-A64EE0F93BBD4DA10F6EC71E44BE92D46B31B937AF71FA3B50E644B30C25F9DC
-C11EC4D286F0977A15E615BF2E72BEE4EECB76529BAD81FD420A4A0278A6142F
-CC8FC27BBCF3726A41E13EC9F64A67B21390489B4834BEE73E77EA35BEDB069A
-C1D791CD9476D8484F10DCCA690045F1577F8859EDD19A7B5FC5A2B2E78F47A0
-86F292FDA42D783D10467A4DEA7767A351BBCFA5792555A4557030757B695D36
-EED918EEC3772F132EAD28D998DDC99A7FCAC8854AD90A38B7A25A9270BF0EB8
-70E452CB4026CC7C163A6DA5B5AAECD950C4593748542FD80FCB3E5A6253D0E0
-18F692617E694539A25FDA688BF874EE4FB708054902567019A1F5C4DECFC561
-10753B00A81004164A0DA0D124C58ECC52367BE5995082431B80AB76D2ED130D
-04704AA8C25E92DBBA9552466ADC3B2DB8CA68B9C88EF017B09D48ED8DC37F52
-A9C14C40EFDDFC0F725EF574B575E75D260A7926EABD120D8FC69512186BC598
-13720A3D4502BAE525DA499582D59A67485573432B179E595381C13DDC012A39
-AC702B68AA3A0C10BC3EC93B8598246BEEB279FAD0DED97341EF3C4563539B19
-FD9C37DDDC01466C97DEB627783E12F82878579AB6ED8CD1E019633A07D9736F
-41B43A22EB3FEFC329BA87316AC8722CD1BBBB32DB2A1C6A579B2DF85208F67A
-41BFD2E0ED61336B1045EFC237E22DD1B6921537254A0A364681322D5AC4CABA
-4E353AE59FFB06CC5C0F91DDD5CE97CA192647C93311486F986A8BB8C75AF6BE
-4C2490EC3B518FC3D903E18637C71A5075D535D81C59A8CCC6FBAB9692E64470
-AA868734B5EAF12C1399AAE7E48399516CE20D9CA2BCF3FE9BA0C99C6EADDAB6
-06FB7C4164E1F801C22A350CE187171E9C62C55A50A11FB48FDA15BB68D98261
-3D849E7D288CA8B341FF9DEF3F581221E998AD58FE7923DCADAAB6C9C26983B4
-D6D833011B19C32B0C53735CF223D13ECC2F8BE42EFC6621918728B868D0C854
-3BAD843A701FE1E791CF3A44DC467A08263CBD04F26A07BB3F508AE0423C46E0
-12D19C569038C49B2DEE45F486EC52493824728C14B39918EEBD47C5397CB821
-D634E4F4338F33B0F04BE30B2E221D1063D2256023297257FA1CDDC103F9FEB6
-E8905C0FCDA28F0C6EF10C107C3B84607706F5945ACFCE13BAE0BE17279D41E2
-AB4CD65C880C8A15F6A0E431E6F104A90E091A4265DDC746929E7871642786C4
-690233D7B26B40E9A39D4369A9331B8812C3414B155312BCF45831E47BFA8F6E
-B90AAB07B11CE98E6FEFB004D85A7718974E920946E51A10BDD246CF79C83A2D
-44FFECFB76C1351951B80F6FC8D2A106BF0D8A12FC27E81D51444B95E40541A3
-88CF04B9905851C5FD2598640CB0E8D8E9CE4EC244D788517F6E62D39231E3F3
-2DBB2137788AB2AE9F97E56981708E61F49C561F679CD5DB030DB3CA2C042907
-E18CCE15FBB0029FC98B122EAD5751C8C71F0D63B05F2111BC5755EEDC61B44F
-14556F5E5486AE348886126EA7D666F4F5B1639BB00B6FB4B5D1AE78A8BE8976
-C551AADB26C734DAFD7B93D69936FAF0D0C504D34B62F618F7250749F7780CA8
-ABE7178066509E26112076B813D49F77320D3E0CB7174231BE6D0B8BEF004F62
-D1ED971C9596B263640CF03530FB6AB8F47DC04A588DE1064D7C1179168BC8AA
-A5E4FCAA0ED0AE38DD0A1CA92A522BC97066B7A64A40C69A6DB09F840D10AEEF
-4ECE16253C85F258058E03962F9B61A3E3C9F59350734A2DC1B4DAF3AD1C34F9
-C42818E94BFCB228FB6B41B92F1F9E52B36DE3F7272AB1559A18C937CB76F650
-5ED72AC284008BFEBF601BFFBB2D1689CAAB81F98403ABC04B4A6FD3B5956C9B
-15BF02E470D9C7BFCBE04DC00E75DF902314350EB8BE7BC6F21F0B6B2811EDB5
-76E409CFC70412EE0C1F16611A82F89F6882921057C3D6764300C96DC0A0EAED
-A1DB30C6E7439BC705A346EA1CA3B52459F4775AF3EE9A00CCD580ED27C1E2A1
-4BF77C036D466F48F5F40EA39FBBB548354DBBD4D059D3C3CF2B1E9FAD1113F2
-5255C3AC319C87E770332C0428B8ED1A10D00D5F5D1CD110C2765867F610BBE3
-382AE901CFCC3F907D31D6594F50B6AE926F4064D4DEC6B0791EF0266B99E881
-1F3C7056850A97893D2A00DD677EDF9BA3E12F977A1239E44FE5FACDEE92BEDD
-A495DE8041554B6391A2808E9CB2FECB553FE7BF35CB659BBBE6B37918C862EC
-446BA6A5F7A9B01F7554BA12B050C86B9220DFBB9008012AAFB56CDEB172E27C
-6D5CF3C835E45D9B1B8C3C044090310880ADC36B2C056447B034C1D8AEF332AF
-64B348C56A9A820AA3CB4D78AD5F423EC7E9F2844D7914FFEEDDF38F790E9518
-9D1704CEFF9CDF736457D64FCCC8E0F7F9E1A4A321F36A554F3AC749CE6EE742
-6D209C6CF009131C868C9887550F52115D0756DCA26E21B2399AE37F4FB20ECC
-A35388ABC07CA8B6B60E3CAEB64E7FC1E054AE495CA80DBA6E97C999B3BDCEF8
-282AC2433C5800B44799F055732ADD4BB6E5869BAFB3194217DD5DBCC864EBBE
-3915FA3D4058BDDFA143F880671E3B5A9E9E3C0035686E6FC05250F08D2E26C6
-91C95F62C3DE637A34A50A483F52FCF0BC54DC4400EB29721C337DFECB9085B4
-354499A740AD101F63C6B129644D9328CA80295654983797F3EE6F5439679EA9
-B320D777819CC341A2B24CEF879730413E13B6D067D5B0D3098032508ABDDAD5
-20D39762408DCEACCD2C0E01628E3F8EEEE05A02D46D34F5FEBB18076DDAD189
-DBDA369ED83F26DC39323E72D091DF89868137B668F7C04E3929F892C134E6EC
-A1DD4B4F02CDDE4BEC28158D8AFE6D7BB80FC3926375CB6FF2F91B4B2ED211D1
-165F57F05945B09C3A1DF23709BF809328B73C523416941F4DE20FC7B729193A
-9774952BF00685E8E3264A9E6AECB785EDBD595900F4DC79FEDDDBA09E62B326
-21242DB9201FA07FB6243FC522B67A44342CF64520206F3499D3C6516FD3A7C4
-002160C36860A55F023D68618861A071E3EB7DEC409583A2E935DF2CA41D29B1
-B99C395AFBF964627351D9D0B1F6D7441D2E95C5A2DFCE5194C3143CF55BB96F
-4B25A30DD9322494D4CCB796F57811E956F515FC373846842DC50313D5A89FA3
-58F69DFAEDDFBBF71D0A990ACDEED7580478DBAF4B3413C9
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3
+7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260
+6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89
+14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0
+0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397
+3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4
+BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F
+D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0
+FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB
+556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F
+8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E
+F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB
+B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673
+125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787
+A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77
+4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC
+56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178
+E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F
+15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385
+2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9
+05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390
+6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD
+04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728
+C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4
+70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA
+4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A
+A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473
+62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364
+240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D
+69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2
+ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84
+121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4
+0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB
+D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A
+0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157
+D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C
+550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844
+CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A
+9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4
+FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F
+7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06
+E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6
+50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A
+2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05
+9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2
+44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE
+49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9
+385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091
+8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011
+6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C
+EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0
+E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB
+C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE
+484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29
+4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0
+0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C
+6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F
+5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C
+1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3
+909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8
+BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506
+CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0
+2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0
+CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08
+EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811
+0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6
+9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A
+D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4
+21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0
+7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F
+52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A
+FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD
+AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7
+F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429
+067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E
+E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431
+C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937
+5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B
+0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD
+CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC
+2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD
+E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714
+56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957
+F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F
+E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F
+0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D
+67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046
+EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7
+CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8
+9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5
+9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0
+C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861
+327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203
+F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC
+60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD
+A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4
+B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5
+0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F
+1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1
+DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D
+55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C
+7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E
+75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5
+E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149
+8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E
+F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB
+8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F
+D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914
+54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0
+49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9
+CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0
+34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276
+1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA
+6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A
+DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4
+E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD
+4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD
+2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC
+ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934
+3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE
+97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C
+FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570
+A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF
+639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4
+D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615
+E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2
+1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E
+A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3
+F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780
+5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5
+4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50
+664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844
+4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8
+35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04
+1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6
+01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A
+5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82
+2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0
+DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C
+BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507
+39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1
+C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665
+99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481
+7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE
+D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8
+6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184
+5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38
+6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B
+F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81
+E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9
+39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81
+7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5
+ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77
+6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882
+2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230
+1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41
+06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE
+5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A
+288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E
+7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F
+759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF
+E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E
+03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A
+6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859
+314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266
+74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D
+906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36
+673B8DE32322BBE861AE251226B4385AB28702831270DBD25D666FBB0AD7B96E
+A44E891EA1EAF0F87013AFC982E33D67A28E96E0C9CB99B9E4192536830D9901
+931A8CAFA41289633B20BA3BD7AA3414B6DA8D57CCF2FBE39920CC06361F075B
+CC40335DB9A0071CFF77F6B7BB47F3100DBDC9C4A58C2B81EC99E8E966AF3390
+E3FBCC28BA1D79961C8A1584266454DF772FBA99664D74D4A89FC82FFEDFCFE1
+4C9E4A04291E803D142E37E7ACA66AB279378F2F192FFB2B5BBAD18B95F03136
+2CB594A3D6D3F8576C48A02ADFAB59DE70F6F9122341899250A4C0BA2455AAD2
+32EC8EA5F0EF3E73AD840B521DA32596763287AE83488053602966F43ACD3100
+E1A3C31B8B7E3B49380BBF585341E76AF26C08CCE51C107F52B7D55F1F67C3E9
+EE9050B2C092B117D17BFEADDA171ECC29F77AC21FD440651CB59D767B7E3F1B
+DF2D2514B0D6B96FAFBEBA1DF9F693D459C15D453A7B73FB58F5B01F990E67F3
+606364EEC3E8884BAB4FEEB449E94C749BD813E1970A0B4E19ECE69A17424DDC
+D560B19D89D9F437A48BDDED690D96080BC8A4AB8CFFE1809DF7903F6841259A
+0E06E6873997A3490967DCFBB99FFA480FF4A37E5F35F75835683515AF6CD0E7
+31942B25D5FA8C7D662EC1E8FF7110BFC9D5E041A936CE88E6C0D4A101A31AA3
+9401299DC7E6C208468A829AFC3CF055B93D3513CF897C9C50690DB088FC05D4
+EC0864484241A8D61FAFCC82147166453F6912DBBB6749038713189ECFF6D152
+2E13CB1053239405F4C3A7C781714AB955DA07C374F20A13306756497B4207C6
+D317C200E1D5F3D7CEF056523BF6C6F7CF9E671AF980B24F2CE894D6189EA606
+1A7598D9BFE9546EE62B15D7CF28599A4D077CC95B2CC574257E303376D45A47
+AB50384DCF50115A0B155C17DDD676314B6B0873B40A8BB53400B855E1749059
+2F7DA00AA18D16A6C5C5BC7C0DFE5B95FCE8EFF318AFBA650A385A4763F10456
+C6FA92367F539DA8B70B8929D482A7196C71DFFA3BE5DCFE21A1D5251D270D0D
+2D0BA80AA626815555A1051370EF46D3B9CF477C350F0AD2A7A2AF0E8161858D
+80EC5D4F7CD4F1D95F162F498C0F2A29C34AE6255BC7107D287BABA42D75FB25
+E85096FCF307DD51872A7EBDDEB74BB9E50D9A56CF1001E6E0F01E5BC22E802F
+CD4F6B8F0B66584031E824A869249E949A6FB9C28018093BC0C3405741CAD56D
+F6F5251539FB5894E7A37529E88B56EAEA8773A2437E7EFEF4E0B08F0136D9E3
+858C8E8D7E1FD0425A75F06112A2AEE10E47046A506B86BDC5881213A168829A
+B56885F3EA84FA4F810F4EFBAAF7E6E654EC271DFFC7A1246653E07AAD4C708F
+F95780EE7829E9FB73928BBB094140FCD3B5DB37880CE777FB55EE206A6A1133
+D8151A008605BFEAD8BA3714816F5B51BD62E983189A201016F2D7502E91FD74
+3D7BD4816A4760DA16D3D24BCB671AAA41BB3263A76B065F20475A6FC038504F
+0873050F420D81EA812A676A31138546BB8DA5833395126989E7584401412028
+0421685F3196FCD99D18CE42EE5A34FC2A47BBB48FBD79364F45DD9EA4EBE53C
+53959F1DC3E904D77ED44B4224D03325A2494B23F4737B8E9BD3096E0B528CC1
+21CED13B3708F25802F753B3F7C5C179C2DAC9F65E7C2ED1A7ED75698C2F689F
+B744551122AD08152B62BE214E5F44B8BBBDDCFAC0CBA59804EF5550D697344F
+7F22BB0B70B8DA22B25DEEC55CB2C119DE916B29DEF07497D6E68338BF279235
+C2E01EC09098FA46B57981087E3035DCE5BAA396FF13CC82CF8F8F5D241B9502
+918147FD2A9A76537EF1B4FADE88315DE6EEBCAC80D3D1A30A994758E242256C
+05462514A701F84EA2793ADF8E90199B843B62E930B23A5C2F73A1F6DF7F83CE
+66019C24DD75C7A4F03841BF1A7A672DB68E6BA04023292EC6B31AB12BFFD6AB
+76F93D15080FAF8FB0733322C45724BF40246A18A8D9A1C38B140648A64F1AD3
+418BEBE8CFD2532014496E345961E5F9F515BA24676205422B2C98E6B2E528F9
+898D2FD9981262929F1CA20C08F098023FAA4DEF308BF2A5B68658C91B59C58B
+51B357D8DA67A6F56EC07545AB05384A3BE2C3D281C920C87ADF20DCCFC64CC2
+503AE09A63224D6E9A5A869916E8FFE5E2E5D5471B7A2E074D65177E7DB809F0
+599250FFE4AF749501D3C552753211F538C91912BFF71C9A4B3C2FD96A231179
+6C498D8F1691DFA03B54C87F811D875943A84DBBC24C149AA585A7B72000C7B2
+DAFF915B4A1F43201E020DA3D30F70A3AB287EF40C2188DC6CE7C3F1CC174434
+317EBA8D9FCCCCDB9F3270976F69FE6CF8BACC6F3C051EE024BF3DF527BBDD81
+A7EAA080503F95176B199878DFC2807B3CE00CC0D1622E05333B0C62A0B04396
+940A7CBED059EBB8BCCACC8D0360FFE9121CB95CD9518EAA9CCF3132CBF9A73F
+FBFA3696F9FCFBACE0E0F8F734FFEDFAA35DB22ADE1210214EF4A4A81694E5C1
+EA3D87451131443ACFC538898FB0199FA0E1CFF80D7F96623A14EF467C870B15
+9500A0C40E931222AC23981C5499CD2F1A1464E0935A4E999E43E01B753C2A48
+0BC21F9903195EA842B5BDAC63FF7D4278CC2724157D8289B065498AFFCE71BA
+1E0D5D38871E0DB2EB7BA006F1E34B5B4DD7481D365662F6447C26EB1F6E59BB
+0C283436F8D8BF9E22ED780D0B3D27715BCEF167FC64669C421889066A22AB05
+7C7C2FEAEA5A8D3E4AA152E533621C30DCDA4FFEC7BEE08AFA1CCFE0390F05E4
+64F6342C26B210ECF8E97444753F21C6F9AF57326C331F091A85796A02DACB06
+5910D1EDD3679BA54219EB68F0DDFC433D1F9AECDCEAF2FD4C6F7EA8624C034C
+3419E5C0983AEA0CD7ECC32054CF2E7908B68A4A83F1390445F0D1C1549FBE61
+4D4BFA8B7DAAFAC97F1CA2FA34A8ED5352DE317D2897764E5F1BEE3FCB03B9A0
+E4BBBC57990524C05FEF8BF68D616665403816C5D149D433A065951D199E3965
+8C59E1203EBA3B15A3C5D6BB3AB0BFCDFF1823F3A928005EC7BAD76E2F5F0FEF
+A354E35D7B4DFDDB0C0FCBEB6D169900450C5423815820A6A2C9C88CDEE11C2C
+1F06B8BEDF7D8AA93DA93D5DD000B3F8FE3FF0191A1BB93DB3BD805147CD6462
+23EF5D66F1C47EBE301889D54248CAAE2E4D74A5BD55DE020C1F974C18A995CA
+6B09BA4354AFF850A67481D34635359C762F449033DB94B2B18D9A2E50D90F2D
+A5B327E9FEE21E8BE08DB10302D948C5F9239C25FBE0C76E91EBA1B05B5043BE
+DF77B840B2BE0A033C94E464DAC055D267FD3421534ACF12DEDD4BFBA0B10DEB
+09D558E46DEB8590A3D15A7909F011205BB511AEED350F45EB766CCACD4B8258
+FF92AC3F3DF8B1E11584570C06E54E7126C3703E8C37930CEE662B209DB93C54
+E614EFC7C4E3892661F605AFC28000D8A0EB810C9CC36147EA1CBF14E81BF98A
+30B01C3277EA886AA1AE2D7ADD69F3EC231B8F5F0BCE9B255D18B359DDFD48ED
+DE1590A2A0877E06AFB7A1B2AF92C7620C2BA0F28D7FAF65E8C3BB63C0BB94D9
+48268FF0159E1D6FA71F8A4F040FBBA9821D4323AC6DD4B28FA8A6E4571E7C45
+5D5620234155E3B02F049847881947ECEB20681CE93E6928298BA408921FFAFA
+06403215A33E829F9A92019D0AD14F620B90A67F27C813E9D0778ACA9B98B085
+C0FD8CA2B5BFF816F894ADD19D9D6D5D6AAE9C67CAAE00C3ED2A00D24C70C17A
+D6929338FB8DBE43FB9F0895C2C3E880958F6F069F744DBA66B7EDE932FFDBDC
+2CDFB6224D3BB7D31681D7FF79DB611EC88CFAB24D73123E1BF11562A70E0EB7
+0E04AE62FFD20D8832B07843EA8C353D89181D89CF7458F6522D3894DBF2AB13
+AC3FC5ADF08E6AD9EFDFA148FE7978E8AEBBFBE43B2AAB77BFAB98E1038EBDE0
+2048DB8BC645E27ABAC882A696EF19171074364ECE14658270DB7A2F2DCF94A0
+786484F4995108C33F02EC766E11A02A47B7930D7FD3EAE15965BF493BB199D5
+EC646292C2EEFAE3C4F5FD505AFF32AF0E6206CC0DAD26044035C19EBDBF603B
+375AC04CE0D4B30707E724246BC4DDE799AB85167522C80750CBD1E2BCE00279
+47418C0C8DD77A1F4B5F6D3319245D3DAEA58ADD3BFC5725C8284B986D37B30F
+92808C842474B49FC5C093A8277108AB025697688998D4B86807BEA23C90FB0F
+56D3FF2F82B5BC807081397BBC34DFE8146CDF55EF9B1B335ABE3A5EBFD14BFA
+D40756621200E48334AFFCAEE67FC9995546692F748F9137E81AC0139621D1C6
+4E1004789B54303E267E94350108EED94B3C11A91373D231399F3944B6985AEB
+5826719005424750A4C8EF242BAC8D8068675960A2E88D827296938139D92F93
+011D987D2F39744A5F2D9D44434D5D241FD3677E133346490590B998DC688269
+545A945DA7FCB8D72620A7DAFF7F6745B5446A4F8EC5B3BA42CA5E0E38FC2D4F
+EEA2B9A16D007955BB67AE6F4815588EA487C6600709D80754D61F435FC0E168
+CA4575BC0818F0AA22CD768C1EF7E99D09AA0D7A911CFAE6CE505FFAC2E135BF
+22B3D999949E382000533AFE2BD16EA0D6E1DB31CC6A1900A6F8BFE0278EB815
+32C422C506DDB0678569467478BCB8524DFCC300274343AA136EA61A2FCA2D75
+17A2565F77612604DE10520E69469E8470C6BC1BF6C7D2C21486645902553622
+2FD757EFC5185193D37F209D9E6A30DE381234861C492A3B3DD036155A12535F
+D157665D4F759E1E4292BED9586DF24D1EAFF7190F6474A38A60ECEFCF2D1072
+26606E7D07C0A5B096CCDE11E5DBBF8EA86E2CF87F9F8ACC096D50A65F5F7632
+A9CA22AFDBD9CCCC09D1611B4453CA1D07109CB856E52200D8A1DE9EB6B4E42F
+1B702F849EA95CBE1BD2B99E719F4473F9D3692BC3421D5529C92A49EB11DBE7
+1172E38731AA4E58DDDCE7365749081CA45F3DE6F00C2F4156538D3418A962E0
+805EC3A9EA1029724883B4183AEFF504AE8B8E05F883FFB373DCE7964BD2F3CF
+1E6B1697BA91C46C15074806765F345D4F13EC0B261A04C8C4410D44C2CD7471
+F8C59E0769A9B33DD9FA1C3788AC2C26F924D47909593C0445542372DE5A3AA7
+3641E93A26DE69989E5AB499AE7CEA454FC8CD95CBF55EC1549AF3EB8C2CC894
+C2B3AF6D92EF7F104D2739CEC9BA719E98AC59738A820167CBB9CC95AB6DCACD
+FEBBF71EFE3C0C2E730BABF50107E8323E5E9EEE604454D0CF4DBD9BDB570BB1
+6925CD3B0AFD8AC8BE2C16A53E8564DB7F7E24CD071CA099A9BC9D70995BE5C3
+0F50A9A9B86B9EF856978462F39D79AC95EEA265D785117287DA5283A1CDD365
+74BC98457D12CCB4275ADA08E89BC2676E0921A0EE929AEFC5F55B15809DE59A
+54F3B575C4696DD1A1E2D3AED0C0AF45206C072EF4701514E536BD2D917762E3
+468EAAAEE4E9E9C00EEFFCEEF9074092A63DB44AD43F39DE62B981455C084ADF
+D3E962A50A60641C662DAA9D990C03D511176EED88C6F05835ABA6530302AA07
+186B9DB7BB60C14C34263F50BD16C3ED12F2276658851ABA9987359ADC418F07
+FC089E7A550D3451E118B25AACAE9352A95D3EDE14E3D36D1409C17C32890633
+47EEDE4360D5F3C9512E8495DF77A1B8765CE41C4398985DAE1039173F1510E2
+471E6DB3AFA1BF4B117EEE734670209B16D962CC206B8169F7EB79132CF5E9F1
+B34E8385C6511D14C4F2BDB7F89C531EC9C9BDF1C79000D07BA1C88BB44E8637
+811A0722EAB6211F2E2CE0AD3B6414FE294999A2C09A9C7086359F757F752515
+C8670C6D77F9068CDD41B59FD92A078C33316CCD26988EC778CCE8028B6F40A9
+214B22B3D55AE12568D832E99F8939CDE8DEE0EEBA5DDD0905AC4A3F0B24F183
+E352045735DF7524189E9DBE6016185152451067352F2DD3313068F91FD56DA5
+1172B4DC53DA424884BA177E41EF87F815FD0E6C50BF6C9DE297062E1B96A229
+E006C1CB188FA1FDDD62DE2292C28378B60912A0E8269979883F3CB4A3BDF5B6
+E78355A26B85184DEEFA5802AF27D26657896A516FA7FEEC526555008A005D1C
+2394EB75A65DC7212859ADDD430010F3F52B2F5BE510703376AEC18CAA12E3B2
+70CB952E78ABAF4F719218765E9DEBF0D2664ECEEF354F5CACE7ED8EB8F2E45B
+A47EDF333BCF7C8E2C5909BF76F1E422C8439CFE2B3D4BA1C58AA2295A00659B
+F8FF83014835D314B21C6D6544A103F8699977074AF8D6223BC29D62C0AE3F78
+4811A45AAE1DE54CBCEAEFADD35B863EC20619CA95CD8F97EA20F0F7964CFFC1
+CBD8B2E25907DE064266A3BE459871531AF21449169F2C24B722DF7C56BE64B4
+E44C13BC0269554E1858791AF7E0EBC065C01820D73A40FE7A984049CEF8590C
+1E04F0F4FAADEDDCD7BD42896D22BE077DBCAAC6ECDFD393E2FBE3A9AC3E2805
+8B791052C5E11D3D059F79860600F5AA861D10D45299AD5BD0E5DEE23895D063
+5B9E89DF266EE5B3B813D7A153FCBB5372077F71B61EDFACE59957AAA37C2AED
+2F263EBC36150B9311BECBB803B5264EE85B28A3C3516942EABAD1DEDF7377B6
+607A01D85E1950B7C532015A4E2C625CB23F3E84554C5B398F7C6757545B9966
+8582135343BDAB1F0E2B56072B5397A991640D1D41ACB5A2FBBFA931429A0331
+D25DED37CAF038F3CB6BCFAE504781B1C4330DD3353A220069F33D557A993233
+EA7C5C70B9865840C94E3E9D80909DBC3BC092E94223BB632FFB6C0FC8A04738
+94162581AD9426154C0F75EBF93B3432E9ED4EE3C9AFFC818DC24AD6788EF240
+1696FEAB768EE0C8B90AB1504CE2160141AB7B14165AB0B17651ED2207075519
+8CCB5A7705E6FCF6F4B1E5A81E3653D411DABFCD71C9C7C24DE18D5135A822A3
+3EB2BCC782990D9988F7904C271D8DD552AA020389E2BD5DAA55E9100011BE1B
+5280E65DA84EADF37C84D143DEDCFBDB5D923CB932038D1DDB707EDB3AC993E4
+B27AD67EB6AA24271C5AFA920BC56B1BA52E72F3449CBC116D5C2B2412E40F5A
+9CF4D95F4CB7142D952F5308AE2317C0546B5D83FA072FF4BD9971FFF5D07D93
+09B61C80A7048295A277ADE18A481B8EDEBC9FE9123F2B5F5FDE9AD564B3BEB1
+D401DF0A4223168BD4983A3093FAE85FC71633AF39ED0035FA7FA6DD8B3F0B01
+0AB2FA80642CA7D161AC8F034E7F43F8578D14332E567C6AF8552B08466D1A3B
+E396F1C26B376461F8891BA7311B3A8C7C1B531277B6AE44C6E4000F66CEFEF1
+D757503CAC46FFAC5C11EB9E6C2B3B3B04C71BBCE7291EECD7FD6F88B51E5F80
+EACD1AD2F0590BBDBFF880B14BCF9C6127C9433495AF98604FBA6DE0CBAAEC28
+71D28103937B528FF14185E31A95E217D5710DC46A12E104F59EDB8D1CBBDD7D
+7EE10215DCC9D932F270788C2EA129B8BF20720B68991C2BCD36F8122379D419
+F5878FE9BCA022E0D9420BA2FF44DE9D52E49E483624057CD643A37FBABBF1E2
+65316A11B032D705D8AEDE6660FDED82C2C0D160D2E702456DAB9843A4AF6C5A
+03E7F45BF12415C1BD43F0D40AAD52653371113C6086D3E98D9E3DD455C7D035
+F2FDE20FEBCC1F64100C79A8EC44513086BF226B30C146CFF080FFBC03D7DC58
+7E854185B6419D7EE06E6E71EDAA69247CE568F2318E70295A0EDB542AB4A9C6
+7F42358C75233FBA6208152636F6A1A8F00D5AF67B46626997E63BF7CCC16E3A
+F6DD658AE3D661341626DE980675B55AD464B279C1F1511C8016380AF37AC4B2
+42E9E7AE16D3127E3B3D605C53A4124631CF40448AFA7BEB812B7ADD76F56A6C
+41843F4D47D4E89C50B78FAC6A62D732BD4A94C8BAEB6103E1957FC585E6D964
+117AAB80D937B97879769FFA1571D4A6DC71B95EEA768905FDDE5A808ABFBB1C
+09AEA5766CCE8D15FFC42AC0EED42EFD101383B7AC032910061268D3CD91C683
+BC44AD404C6828826AB8CD0A1C1179DCA1185CF77148F5B9C5983F8DDD2A7DA8
+584F71FD350CB7A63316DF4B617608F0530092C08DE828578C09345BD6DFA194
+CFFEA68D4273E330E07B8BF869071963E5A576DB7F6EF7C49DE6FBAB0F58E86E
+7705FE6E0E8A51DE95FF5AC86DBD3D8BB860B480810D686E9E75F1DAE7F77D8F
+AB6B57CA0DC9437A5805BD9C7A072E3F0FBE58DBFBA9DBCBE3205FAFFC41E3F9
+4A0234D36FF51BACC49EB86269B6BC53B04822FCAA4D3EB5D1CA61B1EE797CD3
+3358AD54AC3B1E68BEC879F5C7815B7ECE2B2A63BCAC4DE9487C049393860197
+DA0955577D5255972F520046522AC6327406F1754905736DA0C27EAC0A589F15
+55130A31A1F079A1B9994DFD496DAE934AAE1C8B84C4E5D1710080B5802C10E1
+801BAA9D681588746520A5DF58C223BC6BF3B16B12B8B69B48D067CF8AE9FA22
+9D2A7E385580F3CA7BC226A58B7B2FF212A4004EFD9964F6CEE5DA231D3838D0
+D7F44A53F2868096938C6685DF58FF27D5678945AFFE17DEFA827E176DCB9832
+3CF765E04BE85EC6C3328A05BCF514170A75413542E93104D1EB266C32293D24
+C9675971FFCBF9AB6B4758E0CB978CEDDB047C97F30FF2E5DFEE15E3018E3326
+05939CCF06526C1713F0BE900E2D2D46EFB014A4950D580A57CEEE7E8816ECFF
+87A9E4EA8431525432089390F26369EBBF81A4E681D15EACB45B58C594069460
+8ADEA4FAE4A328D7928C98C0C55A7F900C2AC7BDEF8F056AAF501F23D904C9E4
+33571CB063B1C692C2C2DC456DDEC6CA3643EA32CC4221CA07D718A5866BCF85
+D79AC2BDBD924DB916605A703845608F4B48AAADCFFB6B2B782756AD5DD12758
+980E9769BBEF31FD920AFEF8CB7B7AAFFA88B754B6189ADBDCD85671A38CB450
+5CF2F14B16EED6AAC1636E9B1CF4F6C5209AFEC0523C2FAECDE866D3A10EE6AD
+924D206A96D86AE8D7460D261B57C5218A35A407D4EA54C984CDAEDA86706DAB
+ED4DAEAAAB397A8A1CE1370D1246B2AC10C496074C89EF77DDA423B407C36D37
+9D0A599096F1B9D9C15B0D2E3DDCE86CBB9DFDCE6561853EFC55C990F1127587
+79A3A5B3EC40E404E1428AF9828BC6A82D458288CFA478A752960FC6FABC4A98
+410F7F77961FACE338E99781CF36E26B742E8949045CCF81DFF1A2BC76BFA93C
+99A7769223F2A6719B66AA3E4CF715045B232E13E6C4CBF1808E6199D4546E64
+FC3112A8E57BA48331CDFB3D92EFAAED9D9609207033E1B0DF5B497722005056
+E9BEEDB5F7A0980B79566A41BE197712480718BC1E639A06DE3D69A2C2922726
+A33D9712DEE015B5C5A11942D2A0ECB2C1A478343647B6C9161E281A3AF7C820
+5EEC3946E0CD3C59C1FD51D427FB0C5500E693E9F4DAE803386BEACC3228335B
+7D6A105E0832757F72F07AB980B08192593F94D6A12F51C7F4FA30A405DC8192
+7E452A9E6355CC84A59AE3EDD84305209D6562C9C45BF5467D6149E39340D401
+175B55343DCED9F4C7745C16CD5A725F88E89546B4861CA4BEFFFB9F052FBD82
+F145F8DC8F0A8428D80BE166DFA1A840BC19CD5D64875AEE599D2467498FB2BC
+241558BE9317E203A9B5B36849F5D65F0C4ED41460C27367C59D288044213EC1
+139761F93EC83C2B770F4A90C41E6AA0655B52778754F24115D58ECD6F6C5BD3
+343075F34F63C258166258F2386AD9FE107EF03595D8723322F485DD1EE664AB
+FBAF81CD45465CF79B20B837711C6BADEC795FCB6116FD195CB358104E2A90D9
+5CDBB322894012245C2647539FCBCF7EAB426B25F2B837A5DF9DF8752DE0AD8B
+289B1FCBEAB47AFD9B7B4CC9AC01FB362DFB0A667C896FD9FE55D59168299231
+B50D2F6F5315DA05D4669EFA1F9363C65A41BD1CB16EF3A24075A217815CBFD0
+17CEE28E02ECF037EA93BE00D183DAC05B108BD9854A414CE433F80FD6EBE6AD
+FD3DE8222680F4EDC0DF30D5CADAF2628D16D8B8950EB12FE6770D712BC8EAB2
+A525E0E57DF946296F350BA595D373E5870A3F9FC291BFFAAD1BED02951DB38B
+A8FE7E5F4803FDFB1A8BEBDD194FA492DEBDCC1DDC04E0DA1A029C000245ABF0
+62DF6A4202D28A235DEF31B7D3ABAA8FD87A0406717618E4B9D45C4B36012F5B
+30005BE6B2DA2FD7A705093E07728529115A9C35235CC31E494CCE40663E4C1F
+700C3739AA0E964DFF2A04A5C7051F78D787CC41B473BBB4137176F3CBDC60E6
+B0926C51B2242EB7473018D90E6339C25695FEA03B1ACF08EEEFD7CD0068C474
+95710EC4203744C86A1FE55FAF83432755A75031393FA25DA043819634B77B50
+44A321ACFAA9C815865211B44E4ECFA94CF284483531855DF4319A542682EFCF
+01038347E839F5CEDB69698ABECAA12B9DE53D94A26042E991DC1B534732E060
+38867BD5154967F2B43228D7F6D6D5C36909FCBA70ABBE22237E105C9D58DDC4
+3038647AA54919733E1E60853024D15F82CB77E9A0E37AF521B46426FA150487
+ABEF7A8AAD1EF0024155B87B6525E6035889396F926CF2FCBBDF461A786CBA02
+D7FC7D68A3248E06AD5A6107E3F36FCC61FB05FF367E4C748B3EEFD810D7281D
+25F1D023228EB24BD7353D343C83C867CDDC63E9785959F2147D039675990859
+11926F07D965701325EA444BF7B72BC20547AC8D830B7EEA3876141BADF0F2B2
+8C790A91D4D76B14AD2A174D4E135603E44906E744917BAC4D67D768764BF637
+2F25BCE87D82F1660D5B6BB5EA7E0AEF6EC6E25C632AD942EEAF5BA7B1801CC5
+C288FD2689A4650B5EE2FD38EDF302C21790651191E3314B71F39F8DABDEC89B
+83138D837640CB8E92826847A5FFFCA8FB078B1D6821442EE3A915F80D252631
+3A5E5F87B1DCB25CC2CF23FB005966DFD4B052C57ABD34B28B0FD145077E676C
+D40BCE8F8B131E47D69FA1D66F67732E771D3FB432D886A12EF6F1FC32FA5651
+7EA7542867B4C869546D618E47E434066EC92FB66B32641EEC6FF5D7EA020163
+C15DFF6749A7554D5F4CB6D7C371FB062FE72AF2D4B8536E655944E36BDCFE1C
+C157145E798F7841594F8E69F6E4C3615B41CDD63BC893871427FEE5B36B27DE
+C07DEC4095C95FCB1EC0F3E2AEA770C4DDD15EE084E5D6C72A04CC7E64091872
+E5AB221038C292D8BBED43A51C162F7CC1B2A94DB988D074E5D648351B8C0904
+A7DDCCE8C1AF49A1F366E1C0630A900C440F126435A371D32EB82A149EEDA719
+F5385DFE6FB5631FF728C13A554D7D13056DE1732536476EFEEDACFD474F163A
+91492FCCFBBD76966A6EEBA853EB038F8F44896CAD23CC7A8CA995B6D3AA9239
+2AEA2CFCF1EF40DE2FF5A0DD1A30C5CEA9D36432E4B33B2F3A3B810BCA327A8F
+EC2AC31F7B9AC7E75B10C1EA3017314160E4658F9E4CF48A336759640529884C
+4822214363F80C010979BB30E2A140EA10085ECE1CF79435D001070691F82E95
+39B817B28CC8CC17810586277C350D759E7988A941C8F0D2C02C94130264D0DA
+17839B084D3784DE3353FD38E625024B9659D844F8487524AA0B075728D9FB27
+4FB84C74183BF16A3BD032C40D35175349CA83A6883706D1300FD048D364A107
+4C85666F90E2D0BC3E5F67F5791E818447620906B54B4B643DBF70BE738C2ECF
+551BD3399C601A51329ABB2049D17F7BAFAB8F1716CC926EA1D9BD4268B0D8F6
+5B65CBC18773BD69E33F6A56B03DB15D92F624E489BFAC64EAB9A1AF3E12AF15
+F476CCB74917E533E5E651FE4C3C03C9918181356AA848F44CCC317216B6F631
+AD3A2BB79846F8ABBF41054CBAF7B7D60A77A7926656615DDDFFD05D33237B13
+D41142B1B1868B311D34CECE7D9CB385FCCF53810192808971E1DB26CC726A44
+448487E2DDF75A3788F466084B1EE85D175618B58DFBB0356524601B3EAEB1BD
+5C17314F699227D8E715B2509EF58080C92A484C9B0C348E4BB1FFF2D4A63D37
+06BAE3ADD22E146C4C982FBB3718E255900E89373856258D1D15BB4AB6FDAD76
+1206A26EC64DEAB14616E1DDAAA0C35FCF645BC8CF6D43CF37594046D6FDC4EE
+013B9A7F87B6E0F3E7D4A1D519B55C78F97227A90CB6B2E0622523E6383C11F2
+3DF0C3EBC2B3050CD5601BC70DAD8C9D1645B13BEA28717AED0F735251B19FBA
+354F4942FC392796FE3AC61E86B799AAB88AF8BFDEC2D0F2FB33247B44728413
+C32ABD4434E082D4D5208742F7E118D14B93C558FD5D7B9DB139B1934820A9FE
+36DF20DBB3562E4ADE813E4CCA42ED4640906FCBB0BFF805363D67379F96F29D
+DB016615F755BFB3EC72EC9AFB0730F89EE1E689EF8A2E93E4EBE17FAB80413A
+BFA9077C2BA7201A54620432B266A48DBA3943B93559C425793C5E31A87AE388
+2D9B6FDC8E857E89D9D55700832AF52705D6778B346C824C721688D9FD1C2447
+C7E482A74B84AE8E94FD190A61700ADEE1B42634436C760136D1A7201CBBB54A
+5029AED4C835E51C16BD91613CBD5F572B19D2517CB81962659766C113CFAB13
+0D1E833E494B7529C44B2CB8538C2622A644472965EB9E255EDCA4E05D1DFB6E
+3E5386A16DABF482ACDD477142C98B1C01C298A7ABD4DAFE17E7CC86555EE5E7
+257CEBC99194792994C21A715D9AC1E3588069A2DBFA53FD6DFAC9D59C102FEE
+E0FB74EE5BB4281C37A8136B104AD2401CC54D7E24B6A2857ED0C76351C306E2
+871BA435316B41FA232F715AE000356B2AADEA026150AC0AE64701CA915D0680
+0355038414D046504DBDC31C6B24EAF8A0AC8D25CDA86C6B941C3BD8B5A3ED17
+7A0F8F41364D9C8E8A7E042A095775F05BC68C69968B7CA3731330BBB572AC0F
+872ADE9355FB680BB2B398C37A23AE537F3689CAA65AE93274F68C8AE069005F
+E9D3A65792E3464BC86E93339ADE13548515B38287D6270F29A6376900A6A07F
+9CC256279332A3865AEF2A81E2305C6F5C5355B0877F5706952E1662C211CB1F
+EBC943181CE9C10ED1024D2B249E610E652CF61960ADECCBCB3E835FC7FD831B
+0557DF85DF3ED518101D580FE15E73C1914A387349CE7BAC7CD90301B85F8FB4
+D362778FA165BB75851F3370BE9DD52C3348F05D3D793E6308C171B789464A53
+F368DB8DA0ECB104AF5132595B9DBA02FE1423EEAB2EBA8ACB9D94092D00DFAA
+3916B0CEF2A3A2F69AB05972EB7C9431FC7D83B5F452B8E710CD843327B1F3B9
+630E541DE95461569FDF6BB0499696B2BE924B4DD0CA9B520D5638FE6F226A62
+8F42356CDE37CF201681F8977FCCE7A02EEC604CAFF999B3F49F54C6B4C311F0
+BD783FFECC9441A7CB7C4EBC140ADCA6D380C5070F17774B4437437777825CE5
+A662906870FEA3F236C7462C608A5FB862CC7332E8E2AC3F68AC92B09C145FB6
+5A4920511E560ECA9A9C1258C47FE0FD41603BA992E07505FB3F086C249C4F9A
+043C355389E2FBEDDFA9860630600FA37F9F8B221A2F5798AB8E19485E321D8E
+98BB85C32EA70FC9072EF257923BCC4F0A843095DB6316E45AA1EA40143DA092
+8D07EE206CFAC9D4F1977F6C9B42B8B98CF57830A889A6B69B4C771B075FFC5E
+7744A6EFF91827D96B280EA1726F483264BBF15FDF39AD40DE82B8F5F78590B1
+DDAF23BF2E3F8AC6F14F0C361E876C6278C0CCA5671112B78B81C86953B9F96A
+FA9298F903AF99F8FEC6EAB9A630FE866EF9E5A5B6064827BCD339228F261205
+19A7E90FFD636C67C07AC907E5126455D899B1C447FA0B43C80B2709381D3D31
+032AC8A1BB774A49D00FA63B43A2C9FB1E2A91DB24D99A31468BD794AACEE3B3
+E4ECC70620A1F350B6F79EFB3876C6642768009CDF141E8830CE0D880C9E75FE
+BF7D71815C0141EBB61F166587A50FE2D3686AF3BE8D0412AF28517D24EEA308
+7E874C20F029C5DC26F757CBB6ED216963D030F368CA98E885449D6A642C946C
+D3CB8C285635FCACE572E6BB2EAF5189ADE3FBE6C0712C696454D691F83D1A14
+584D349F7F0B8AC2D62D1AAF92AE3EA4FB1E37D8EF2BE9583259F7DA71DF104E
+8A79C4BB89CAC631360E013D4FDE92A9C48AB6C2AA6EAB102346D6E188105589
+37C0C5BC264407917AC241C7CB133BA42A97DAD1DFA7379F48EAFA3158A746BF
+F7C6F6B918F05727A870A62F8CD4DE561D133C0F8AD050C0A0AB556171581A98
+7ED824AA9F54C095F4FFEEB4FB9CACD24D01B48EF8FEFCB7708C196F65143859
+DBE07D85B79127F3C2A92E586EED74C925F4859A3A5E4DF7B5C698D1CBEE5596
+8E2681AF696C3EF6F977C56A45F6E43F226C1AC5EEB46DD3ED2A8F8BE248B595
+BBDC768AF6750E2DED2362F3478B814BFBB058F9E99E0A15A4142DB4271A0DF5
+AF4829F76E9B029B1AD93D124D40855D25F45176E6BEDF8C4374DC2C31B6752C
+992FBC9D079C9C14C6B80476CD5CF16E9A86A52C3286F980B1CA8A7EC29D51D0
+0D88BDDD193A5CBDD2E280804CB206A692A4F3D527C3427BAFF281EE62960BA0
+A5791298F5A375E187DBB731B33312CB17A19D8B9A8AE706319AF6DC10A5EFC4
+EB060FAE7CDCE435E0896F5BD17146A8C4F0F2E6536C9B65B35171D031C08B89
+385F2ECADE863C9736F40BE190B07815E4EB18CB747EA774AC03E5239071AC7A
+DA88BC90AA17A70F5EC12BFE5314497ED0BA04DF95F8AF6EB37E17162396763F
+1E0CC98288D22C7CD8DD6BF752784FC559E43F7148B64495B2CFA4A9A25D1DFC
+F1BC7D81A0315E10E4EFDCA9DF81BD1596A16673F451FD3E1FE72F9E22D9DB94
+6E309647BC743809308F063443C026D2C5FE8A5E8AEB124593D4D13612B095D5
+1BE7CBA6E4B685D2E4C86D7E46A04C5A21EDDFF0811432FF63DB08E22CE0B844
+D76249CA8AA17751CE5ACC4038F7244B70176FDEA1ABBD75913A7B665F212538
+B62457C0800115C7D64AADF2CF4EC849D19A38EFCDE1C8992EA7133C6CCAE7FB
+303F5CE52D0D56AEC825ABAE6748AC440E2340B583576120C686AD5DD9F2B23D
+BD9E0028C874931CA8A18FE342041825178DE46557C284C25028E351B77353C0
+457A874B109DEBFCAB83F651835EEFF02062CE445394954EA980E0993D0951E0
+E6F5D65EF52304DABB3E05FE794E923F5CC8330D5759702DC307E740C603BA14
+A49BD2584C1D48AC9FB8410A3DE29A0D915A3AA8C4414E5116A4D87A11FF6F0D
+BF921A20FE4FF099D176243BBE21643E493DBB55B009AB07EAB4D5F313F18C81
+A81DF3D86D0FE37C25ABC6DA454E0B7937A76907C66E180D64A19FE9CD484C9F
+D10AC43354C32D2D994B6D290EA2BF356D3A513365E435739BD99B4EB6119C2D
+58867718726B6BE72B508B8E4E8E73B965EABF93B645336658790F8070D16376
+5D11703B25E92D9A2B397BA3BB247B82331018706021184F21D6998067719178
+E5F70A164F7988E4860C4C8235DA5F8C161186ED711C3D6D6CCB98202377C25C
+79A5DD50963D84D1BB1D0DF5A6A481A536A43B663CD228A51230BB0C82F1FDD9
+1E4707E92A18103E6EAF494ECC5BEA06C4CBB01BE6ABCB4A05A956CB01122F53
+6B3DDA81A7188A9ED32F40F8A96D940E250DEB53FC68320E92F1F8D0533AF5E1
+82316309C8BA6318DFD495A327EDFBCE40A6B69F6DDBC12525F659EFFBB0B074
+C83330F582969EB12E26599DDE8957436DB66B3BD7C31A4CDAD9FBF5A6ECC931
+B2E0288B317D3F9444511A9B397F005CF08ADF4A666373A24EDDCAF77B3AD3C7
+AECAD71A0D25C95408CEB67598F209DBA513F136F923274637215F33E815BC8F
+6873B2F11385693E6B75BFC0D5247AD71E976AC7080CF0675D7C8BA46522EB0C
+246C9618EB83D2E89F1D281BD70694664E7780478769F0ED609ED0205A871148
+18573803C6F329DF9203C5118DEBED7260EAECFB34B318FC682FAFFC2EB73C68
+B7076B79BB77BFA9BBC3C5C6D6CED7B742823638B03B5CE592ED7AD5785E7FCE
+E1B1A53C44B727AF545A3B705F05086AA026EF362C83519C97A3BB1D17A064CD
+F1AEDDE051C5A2967B831CF9CF67180482BBEC2618F30FCBAF601974A73E6D2D
+78992007EB290A1ABB7DF060CEF8AABB1AF8988472ED54B2117457B6E62C5CD7
+ED5EAFE34656D5C5192EA9951CF5DEFC4A588E875BB0547F625F2270B48DA743
+8029168FB23FB9DA3F3AF1EF929D6962E088B597B7C08579B8AC1082D2F6D1F4
+F96EC320EB4976BCFB543AFDE6E5583272CC6DEE6B0D1FB7DC0D130862F7FC43
+6096D026F978C6C1CD3D1959584455FCA7617F8A9B4407A088057A17BC4B75ED
+CC4C5AE1527E56B07F562013A18738F79789CBAFE51F4DEADA603CC2AF5ADC9F
+7B54723D7C98A140EA148E094C420B0ABCA4619288E89DE96C5BBB5A34E399ED
+697E65FB2C504D803A88E4E86DF95059823F346548CAF55BB8743776A7CE42D8
+08F85490709EEC3F5C5BC39A3E031EF328D14702BC0A2541DCE25C0CFF917094
+11CD634BF389CD821BBF034AA1A3EA8EA1C45795337D8A456AF50771BEA8EDC4
+CEA20986E4851A69B1F1808EF29ED350795660744B2C0D151D669D6DEA532455
+8805B39E95A1E49244FE453DE323FB544993759B9C38822B7C824F5597710F44
+B704E608A487BB0401E622978FA99852A8140ED60C69C83F0F7878C79AFCDE3B
+F5ADF8D214812C7C8762F472CD2E0E3152EB830D419D8D83D7AAC5FAD2E8FE4B
+C43AFC8DE795D8BF9F71DC6F67385953DB5BA059D86385AF642B2D90BDA5C8BF
+48B474D7F7FF66A381BA5FD6E40B25882ECF39DF799010EB624E1054BA35F3FD
+3E8B812E50BAEBB47C105D42B43ACFAFDBE1D8DC8C2BA65154D4B94B9177C19A
+F8EF005D6082BCAD3153A67183A10FB7CE4CC76AEEDEDE4F2E53E74D6C161742
+5D8A10F2F289DB16FC47F77D5C713362C78FC49649327BD559129A2529B626E4
+85F42740BB98A904F41A556F434FE957D37BF206B8470B499A95CCB71A3CD42F
+DD008B68F8AE5976B332062947303FE5661234DB06E8BD12D101D08D88EFBCBE
+60B4A84DE3A9ED21FADA2024DC8EA6F9F24CECFD668B329CB9E695D2DCD5E572
+C215CC9BFB2043F6F9F25BED111FA07F5145777CB2DD4DE80A9AB105139EA371
+A3B6A6A3F817237B81905134EE73DD9F1FC52497D24744222126B2F695F1A75D
+262A7CD1A26522E073E921AFF81DDFEE1C0CB41E08E84E7F5FED899626393DA4
+1EE363E2FDD2A85E76B8FD689B2C4E57F54B71669BBE6721A7CF1889C91851D7
+57C594ACF58358A4D42AE87D428BE4F034599EC42480BC8223B359DA5A345F7A
+66A747F70FFF40745AE87693492DFB6306BDCE227099D9AA51C85A1067A0618A
+42809EEC851940402E2CC440A9C64EF20562C683EECD7D3A1CDC2216EE59CA62
+29A827E8E7F1D22960EEE1B6E0502CD5BEE61FC7BB9C3D7A6812058EA794B143
+9D1D3D09D27EA8C105592388EB4B1DEB08CD9C7C585672DD33B279CC310304A7
+E84A29727E5CFF25F3219180229DFEA4CF5511FF747C8F0F2969A7C1185CA714
+3F25DAFC50C77696CC2F32E4273EF2068F024ECCA2DE2CEF701573FFDB1F669B
+2319AB9F52D1C5090317480A909A96638004CAEC6B864C08612C61B0572126A2
+4DF761B712FD53BA19DB118E593D19461B687369D0471C090EFCDEBDDD5166A8
+05763723ED29B233454997D98F08AE708797C26AD5549E38EA2342EA0391FB0B
+5B3C0B29B9EBB7D4166899B622E559DC67D159EA16A4A604E0155E8F5D62519F
+75F2BD4331BC9A3BD9F6276EB1D9220598595617803C584145348E77138AF16F
+25E2FDBC97B33B53389F5B8557B95C9DA50FBA2B8E2A756685440D0972BB83FE
+A79CB534581ABDDF5049272162209AAF675BA2CBC96CC61716B3002DA4C68E2B
+67E068C9B58E85A65DE1818716374CD1CCDB67B57B752B1035E71EA9DA1C554D
+9C3B566C256578637C57752D70D84A5B272374C17C0BF46370E457C01737BDD0
+B91D008E8FCFEF7370A5EBD02579260802D53E4AA4FD1BEB04A9C4874A84B028
+43B9B33FCFED3705E7BBEA98A9394F759AA368C9B53181535F76F170ACBD3FE0
+AB037CA8CD287C4E0CB0ABC1B43FD321487B77B40CDD8151FCA447C4387096B8
+D184A7BB97A26C78883CC0DDACB1131673A3A4DC4C217501EB5523C71A87ADF4
+90FB9701AA4AE62E2DC3DCAE5A25191AFB1DF6D994762E9918C422754358ED6E
+73260766DD2FBF3D35AFC0AD9721EFDF63685DB66BA74773AB0CBCDEED28D5C8
+957C94C8DC5D5CB6C353E03B1276A9475EE8C91DE56146358E0675F60F9DED28
+F2F240E0FEB1042157DD16989E84493F32B1C13B46AA7B5E527291C8A2727998
+4424E50821DE9AB75CC6D94D34D248756129C633F74E3E4A019C27F31BB31ACF
+A01D832116A6C6223369A53524A71BD287CFB7211FDCFF2537F947DF2DF477F0
+2FED9557981C541D83D47527C7E74D82A6119FDB4C009B8CACB05197D3B15A96
+4EF7CDEC40E45BD4C0EA2F09DE2B1B5497B1637DD4D3655C4AE2994FC66DCD1F
+A2D2F8B2BD229F4495E022E6928304C9AE70D4CBC57983FAFC88F6845826E4FE
+CB91D512650933959CC2F7A199B9FBCFAD7E791C43765A96E36411173F87127E
+1CE1323F6BB9D39CE8089D7F60B626E43DF6CBEF48C7E485B5EFBAF5E574E15F
+8C36711D72424272916558D3CC8A4E8E62F613E1D73416B7A55313533A694479
+1C51C664603817BFE35CD9AEF0773FABE2CDBAB488218E932DB1F0F0E45B99A6
+C416AB21D34B54EEFA99341DA7FFC9A6304ED115A8369850626FA8DEBBF7F784
+B6474825D1B0E06B514F943E390D7075BC48E8D71E64C75EB3757DF920B2F4B9
+7B6F72D4C55CA83E4703E7AC40D844992BB5AB0CF50F2B3357BE86C03890F276
+1E09F4B136C91297905EA7C5052554732A5A604D2FD6A5D779F5C6ACFE77252E
+87FC2C45475DA3F6E4BBED4B3161FC69C52DA7C9C37963F3288EF700A7AEB7CF
+61D7574083C2515C33353FE678A67BAA0A3F74C091EE8B92F9A43123B0DD223A
+CECD94682321479BAE6080967CCB94F097E30A34CEEEC0382DCF0306EBFA9F24
+F900525B15C328DFB860B00A0846FD2AFB9122443B065467AF4E7994E55AD8D9
+2A4B56EC6396DEB2764EA0EB3E2425B241B8649449C999AA8EBF2E2E3A703E8B
+B1D34920A7E65C37AC47664C8D43F5B1731658F651E53B904478797836F125E2
+ACC0D87B285E33B09EF5F9895189036846CD865E1A710ECF83E86F0CF21540FA
+E1CF625EA322411583051F7658116CE0CE590D9FB9FD0E99D166022484E9411C
+C9F1460EB3661424814F2BCF083ED92535CA5D6DE077EC484EF9BB9B233DDAD4
+030F36568A7E1F04C2628AAE60624AB40535E42003807BFE6E03FD05DE3F46F2
+5D9C7F0A65C48F50048A57BCD19BCC0DB3092C7E9543BC3AB39FC05FA6C1915C
+C94EE4E038B67255AB0423934184D2E5B4DBA46A60873B0CA28A477E6985A0D1
+86E68DE8FDA1935BE86BFCFF0C8E70F72C5D9B081B43D9919E5142E64E1A25C1
+56D516FC2D71A3001E6B51DC1B44B5731161D1EC2AE428CFAEEDD1014134722C
+387D3265112FB877C5350398E5991C691926BF50DD43AEF365BC919DA9040BB3
+F23D6109A0AE8D54F8AA05C7EF03ECC4BBD70D4E84E6206EF0E6D8D9A479C2C1
+AB2E76628D00782B51C913CBAD9491293B740BD9C783AB2D57CBCC2630DEF420
+DDE33319703C0A552ACFAB124CCC658AEFE4CD8D65B165D4985547312493FC72
+46A1399426160F09FC23A43424D60364B8F54AA91B8C506C015DC640335575C6
+9A9E34A64B6680ED96D8EC705B93B5827373F78AA0FE060DFCC88D07D441422C
+3C17A9ABA7AABC662850A5C9E041A1BD9C5734CFE3263E73A0A1A1D8888B85B1
+B1908CDE3D5C8FB13B72224D8B7624DB972857BDFE9BAE66E3BB9CDBFEBC7EDA
+2640EE60442AC2B4E47E03D67BD4636ED9BB38353DCEE5729BEDCB9DE2392A24
+7A3FAB9F7C70C45B5D04A8BEDAB45827C11A1FB416C14649D71D2641A9540F18
+42E2D11E71B79F3945A32B795693BBB1773039849E4E4C2D2021ED9831AB2188
+C8B67337700302960D43234A95CD6AFD46A46C15963F9C52930CB04DD9FF44BD
+4277ED76A2007D8D2266593E1F1941B27C653B68530290387AC77E772ED95F62
+117423F9F89ECED40EECFF3FDAAC3D1FEA9F394DA20D88F80A6309BEEEDFD18B
+E5033C936AF63FCE0E0EE1F565AD98921B4B55F2B4BBCB4AF4DD1DEACE7B0C8B
+5660311BDA624ABABB47914DF3EDE3300E03579A7BCF98BE81DA2ED2EA6BBF45
+190C02C71A01ACFD23359D7A2841228FB675E997A3B0181911339B4CCF18F75A
+F44FE92B274D9DF83381AC5C51C82B75D7C1C59EFCBAA250233E6147B9F848FE
+DAFA0C43DEF0020219D48D74707A3F7C978835ADF8FA0E10D49FC69A15F77666
+43BBEFF26083132548E44F893D838D0AFDEEB879E44AB0D6A81BEAF29A7935B8
+AD8E36C6F7AD3C0DDB4A40FCEFFA9AC76B3B3C55D742726A2119FAC63203ABB6
+82545DC656F9BDC44C4FB1F764DB5609F75678B8D590BA9186ECA59C1C117F07
+730D54733BF28CE1E4ABC9D2569A111BABBBEDB83B5073E787B7D668329B0147
+C373C41B9BA4837D3E1BF6671CA51D52C320A023A37C1C002302C7B1EB1AF1E7
+52A7C429F77C264308AAA80C24EF069E20CFB20E4A1D9F8552092188F002697B
+AE7ADBDF9E8BF81A57D53AC8A6BB39AFF5AAAE3C8BE13ACAE64A7CFED0E8439A
+21547BCE0DB8EA472727DE427BF44E3FDADB48B397B1D4C09C66C33BF255C245
+2BE82DA5E161A395652B910E6FEC15ECD9205B627BC2E4B4FED8BA2D8C5D00A1
+4BCC2708A3A34F80BB80E61EF96772DA3909CD5F65A25E2AC0C60EE82F0346D4
+EB083D41F91B60B9FD42401B985D200F0EAB8877D7953372AF79AC64ABF3D84D
+877ED1357503A2733679FA240A47679796500067E65955ACA17ADAB510DA6978
+643F68FD0022379F19A8DCFC1D2A7959FA560F67E2AC6BD4DCF9D5B17C0424A5
+6D8153611511C5D9012403410D108D1E5704BDE56F6380B1B2040A3C1A90EF47
+E37C6D914394FA7C59F6F380F4D03590A54BCC0A94072C439F55F5328211A862
+53A1AD655374E6A6F6AA14D3CE7F1839E043A26EA4F0C74D31756D54E4527965
+4C337A76B8C2EE59814DD7FB40B87CF298BB2DD1D50D7074B8840283858F5008
+ADF9D03849B9CE01F84CCFF837EDF51B2B51E2AC57F52D218A63E28B9FB4EB1B
+0FAB2CCD53B039AE2A3BA27F727853259C46EE84C463AB084EE0A32214A1BC27
+C08891EAF337BC4EF1C0FC37FCFA74F4CFF43290A71F1BCE1A75AA85A0C74C8B
+AA467DD52B82450028508251B958CD210462003C9C1937BFAAEDC7285E8F9721
+EB7055EABD746E5D3291E2FC8FF716DA6B74A46C221D1AAABB7C161F77B559CF
+B9A9B1398CD8E3351C13D9EB868A4DF4C83F8D23CD35F5E4BC419589BA51121A
+3423CCCFBC06620147F221FFB1492EE21F4D482CDF2E17F397E7FEE310D7246D
+447CE2E603618C1A49395297440065859622D572129E596E3EE397592729584D
+A000B702E67911613012FBEAABA687FBE7E98ECFB74C7DBF5830016776E017FF
+3B46B98CD8A9202CBAB0997DD39068962B2365F373487D4A4E6375EE30AF164C
+4B9092B42020C064BE394E67191D96820F9EE8A9D3ED5F15A4D325F6ED540750
+7B67BF0BDE699FF2547894934FA8A86B97FBAA4EEF44D8922D38201D63B1CE6E
+7D8001386D73A7D5B78E5E0B0447C332036068D3A4DAB454C1F1441755B0578A
+10FDDEFD41954701DB17D05B9F0C38C43BE283201B76DAC78DA9C9712563E26F
+98158B5D099A59A2F962AF90E333950F992DE3866331955C0B842CB42B5FBE9F
+376D214ED9B044ED239548566073136005411CCFCCF6A55FE5406FF7E5902B11
+118C0F9E987D5EE6C5E0E03590E8C04F33A17D256F97F47E2C4184456454ACC6
+6E952F6A207416C8714758AB4A0C4886A54676A9ABC729BE68EE0050C35DC7E9
+B1A6F8904530C8ABB7FADA44DEF2FE5E6EFFB4D618708F2B5382D83C5A690690
+894A38FA0214F0ADB22C605526A9649A3FA05EF8E1CD967F5E4A87AAE649ACAD
+1B658D2ED4CF7A0EEAD1AFB3CF6EC84476A3B8C2A3FA21109331DE38A783F1B3
+46007EC251CECC547F5368677FA7D81A683DFACF19C1169CE9204E50486083AC
+CE313976A51662D122B0AA2A9A2C1C8505063CD0E83A085889FE8F296B99DB2C
+AE37F61634CBC805C0416AA3F7514083FE0047A074EE09B6360EA2E935035C35
+883C62B94F6B7B2729CCCEDFAE81ADECE7A7C866FB483235C454388A478F43CF
+3B77CF64ED13729493A614EDB495EE61B7EEC379FB8B2820C5A6AE1A4C82B01A
+E051C870BA148E8F9AEB5EA629F4553D99863685A485AEC80F45361E1C380821
+7C54658F8B8BF39F997969AFE958F9ED2E56302000002C7D01F300A71A217DED
+E294D659C82A49A09FEB4E12003ED61FBE2EF08681F6C6080FFB56D7B7C83BBE
+212AA3499D763938DE89BD7634D97E85C1B318F729D5CB18AEFF8D946709EFD0
+477EAA4CCA923E306B83DD4178F369047E864AB73467D276F00872EDBD9C02EC
+BC7453C8EFD4CF055BBA38175A229D5909B26A690EAC602B27BB1AC4E772C886
+E02FAD29D835E89B4757417535C3A4C62553EC5A57445D66F386F77E03A3A77D
+FE6596DF0329743D6963992E9D399E77E385271017A2EEF1AB60E600C05D9042
+393ADBB92E1EC0287BA44D7E670373CDAEF7B0188F62185D3FAD54A0F315C593
+58E4E59EA3F6A95A9F9DC242AD7215A14A23C6FA716D3A4671762F55A35D0D12
+E25517C211A9C6E10CD4BED71BDE9BACDB1FAB83FB5982847A9467E247156952
+6F72F52B33F4EC6A0BE9D30A89F80B542B771F467A9C501CCD579977D630CFB6
+49BC1B1C2A9874D587521D7EB505D7D83296EE1381184C3BF3119611D2DECD85
+6C87D76E3E288C8C0E671672E70BF204AD73AE363E72B6D28D708C09D82522B0
+CAF9C20C967E0E241469B579C6C75753568ABC1458F17DDFCD44AA9D33790082
+F3D61342D8549EE262FBCBFB95A5AE95A96E427FDC62B6695D9A66F67AE5E8B8
+0FCBD5A3E8EBD106D48116DCEE7DF527E14A92BC20D69937E562453A67479647
+D76D50C0B0368C15DCD28297CAB96A85AE52301961160D630114BD109BDF3DE0
+5E62C2348279C7B7A2361FA009E3924DCB4F0681393A9A888FE082982776DFC2
+EAC7BE1AF3F867A41452ACC3AFE91F9FE06B3B945AC7458E6214EBADF5D938C8
+57F23C6D7A097BCF6F950496B3B7E4DF228F1ACB269D3DCF6BDD45050CBFA5B8
+661A170CFAE61702B88BC14EAA79F0A48C5B07CA4D34E4320F35AF48A217AEB3
+D22FAA3459E5986DA53546871AF30C935385D637C737A97A430E553827435CA3
+6E98E43303A12A8C3A0FD71EE99EDABFDB1CAFF5FB7E4C7BE538CAAE519391BA
+AE1E86CE9F05B204801EFF9C11A22DC58E08D760EC3A011B2B5E5CD7CEF4D87C
+8A694DF423C9756D176BF964728A10B87B315E1ED5E95B118F5F1ED0286F370F
+F6E10C92FC11118D964053D11F9D386617EE3D22E8E2BC411438497A6838C0A1
+DC7DD080F8AD47984ABA95E93E3F4052CE52554A6865CBEA77E54001206A9467
+365FB98055E788211A2E30794D7E70A3DE7842F4
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMBX12
-%!PS-AdobeFont-1.1: CMBX12 1.0
-%%CreationDate: 1991 Aug 20 16:34:54
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMBX12 003.002
+%%Title: CMBX12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup
+/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMBX12 def
+/FontBBox {-53 -251 1139 750 }readonly def
+/UniqueID 5000769 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX12.) readonly def
/FullName (CMBX12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Bold) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
end readonly def
-/FontName /CMBX12 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 12 /fi put
dup 121 /y put
dup 122 /z put
readonly def
-/FontBBox{-53 -251 1139 750}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
-B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
-AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
-7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
-20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
-B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
-68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
-D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
-26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
-F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
-77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
-BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
-C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
-30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
-148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
-E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D
-E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
-337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598
-0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
-472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
-A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
-30F5D8CADBB3C1E3238EB07CFA0721C8370278CF356E3C0928DCB2FF192C55FD
-32A12B22535E518EED14BD541187436BE7A4BBA4B7AE83DFD043D5E332B6230D
-7ED3C4DFA4ADEF53E2EDB4E7A81933F3D283B228572E03197E402CC609FBD0C5
-35D0847A11866EE335A4DE822D635ECD9A93F570E44B0C1A7095B55948645CDC
-60223365F28F6722FF4286711B9B82030D3E8D27197C4EA8A9AEE96A85C810E2
-285943B16D382014423567AAFFEC1352BD2528BA782A91B3507FC1C2FF4D1427
-1991C3BA380CFEAB225AC64319056726CFCB9F5B9A2CB301A54E83D60B73CFDD
-DE5C3E6C953FD7BFC588A7EB1A697F97968059303478994EDD1E8FB4BC9E611D
-AD154557B4F64BB315051F72AC52C9C9C874098E609F8E21CDB7A53F9C0250B6
-A52D91F430821F2640AD52475CC03356BA0DC8AB33317F57805A8A3060D0BF1D
-00FB88E5AC560B97DE6543EB4209DDF713770B96DCB421677D80C18F26FB2F3F
-AF8214688B0837A2D75FC30215F146A7705F19644F503254C063BD2C6B8011AD
-CC5EC760FDB4DE49D7977136C5C52C39607C99DEA36483EC81B84AC43FA741CE
-1588B84D618B3B8A85A9A181BD376504BF97DA22F85AF3712BA4DAF9AE888383
-0AFD785AD5FF362FDFB7E4634F90F05888C09BF22096E2E6BAD82DFEAFFEDA69
-FD410B0547607664027309271703BC5AC1C2AE0CF81D12D51260D71791DB2ACF
-7953F524DC1D8FE6400AB0A202F27BF4DAD70FB45221AA1BA1B75E65DB57C6C4
-8294345620E935F65E674D96A9E03215E2F8C3EA3C613DECBDB03E7933985D4D
-2C3A1FD2849CAD2759C5BA12448427A3B5379607E092C2D1408FA85B50F2C17D
-CA4AE57ACED1BFD7CA0BEFA739DD287060B0C465306E7823EC1DCC4458E95F88
-0F5C234D7D6AC3834705EFB6A97391D05519BC6DD793C5F505EAB387A2EBDC70
-7AD4608D8CBAF92641F02DEC095E13EAC05609EB292BDA6181063A4BA0470F28
-7EE7DD13BE6204DDB71439142B2650A9C25CC59F6E9047B320A623E69D38D3D2
-D8525E5A7EB256C8C56731EB17C819151118FA4DD309BDC2A23DA03F3CF3DF2F
-EA7E5263EB4E9F1CCDBC3859CAEDC8F8AA3DCF8C9771C5B3D1A972F2CFADE48F
-400BDC235FFFD1BE0AC7B70A8BB534653BC0BF620A5F076CA49D58AB295D8ADB
-61F9A9539002ADB454497A0425FEB21C85376C79CEC495E784B5D33E6D1929FD
-8C18EBA31803656CAF7EF3510139345B775074B736461EF106BA5E7061BE46EB
-0E0138FFBC26018B4C8987600661367C95D7F4308068885D46E808B67FA874B4
-C6565F725A9FDFBB6F6EAFFDED566B0037C4718C87226813EDF9BFC5D52DA7E6
-784839ECE642AA483DE318C3E62EAA6486A7B1F3C6FA6E1941B7B8728496FD6E
-713C2101A5BA74EEF2A87058247BDBB8118F6BC90191565907A67B4015D3CE69
-2D5CAAEF03D97DFD18E4244D8E64B757334F57545A636398DDA3ACEA39DDE44B
-BE7197F61BE2BA63034A58F1C7A1276A007A5B0E3C2FFFE04F3AFA221D337273
-2CAA055FBB377F02B99D4C9B8671A2EF80402C2B35CDC63E106525463738D5E3
-6E03AE050CE5615F01E984A32A43C5DF31A065D10C3AAABBEDD89C37409E1A21
-8E454817CF35263E3DAB0A962E9B5523C73D6DB4FA87DD75B5F9B2355E868CE6
-E2C0D67F78C1B20EA9D94D29DD1D0E9E86BDFBADD6861D5FF59FA8C2FE48E326
-C1DB24BAEFE3A07D3160D94F43CA7CF102FC547323D02FCEB03E811EB0E6740C
-9E1C5CB845E98379FB0FE22275D004D4DA7D3BEBCB65DD3798F55C6ADACDFE74
-BA80489E2B7B72203C0C60E67C9E4641C35940FBDB8293FEB74F2FE3F7E9B0B4
-B262523A231C02056E79351CFB588FE853239FECC939FBFB048C076A94ABBA89
-804EABCA9DA1CA335512E7FDDF79DFB83B46B6B58778E02437F461802F6C1149
-65CD5074EEFBCD2A47E32C918A0A69AB06E7298ADF1FBE8350AB7E4EC9C99FC4
-82997D968420480D461CD953E32B087466AA41250E216D4E7E050C406E687ADE
-30D671E0C9C1BAE8677CD9EE726795BEE70C52C1CB3495AA8B6BC9BDA1A93D78
-24DD0CFBF2597E6D4A7FBBF8148B6E3C8A287949294AD6A4CC18AC476469434B
-A33710A602EE386472CEEC6DDE115E72C06C2BCA6D39608FEE873EBE25F3267C
-6BC5E893DD1BD942384EB6BF33201CA202A28C3FCE4893153D77305F118EA9A3
-EA7E5B68DED09D320CF809A13E07EAD2DC01EE2A94875C7BAC7804B57379F98D
-AB6218FF571D149E39BCD685D708B117FBAEE4C3AB49A0D6B2E1DA5949D8CF59
-D5F95739345DCF026F694E331439CE61C787C285A7E0C5A34918F2B6969E4B52
-08AD9A27CB5AB6985EE5DE82A811B3D7553A707052342FCE58BE426C726A4075
-EA6D663A442F871FE32248E4D4F9E06E89420DC6C6C1D063FD3758739FFB46D9
-22C2DFA68F679A7132CD835CD38AD25300E83B981A9AB8BAD0E2C4A1960C7A46
-56708C9EFADF3731708C13F2C9056A3BCB2118872349F06F25ACD2A3DC889598
-2077FEB3A06A06800C8ED000F56A82BD073347E434D517B0F87FCFFE1361430C
-DEDBA293C660527F0813DF894B7661B5345A1AA27AC95B4DF6C8CABBC1724764
-CA6DDF1547EFB8CF84F349681FED8D666E120520C4B7D6DE50A5D20630821CDD
-D821D9AEBFC38DA2989E7AEA822FE0929D6DF06787D280516A97671FB4C968C7
-D6E78D0FCA042D3AADF6AEA0B26A0EE20CB5B4073360BD6FE1F913E43F65D309
-A4794732FB47C1B11E8E40FBF73121219FD2CBF4666BEA01941F395EA768192B
-2DDB9126550D6313B16C3D681B19D80F5A1B79E16AEE4594623BD1CDBD56F933
-A7B756D8358D6A19E06440D9ABF9BE3C8D8178E720E9251812754E30018F4DA4
-413ECBB17B76F5BF57A1AAC9F4232115F7A17FAA390C7241AC16E2681249DC67
-B56F992477849BB16672958752AE26F17B691D99AA07DCB5ED924339038B5400
-3A9E59CBA4CC8D7851E130EB0E6598EF1AA02DF71564299DDA622A4E61F15267
-83E9E36A165A57FF8FB3D61299CB56F318104E4C77C743E82829D432ADC11C90
-F2F4D8B45241DC95F8C46F320A5A8AF01430D6669EA99BEFBB97C75E06850112
-7E88350FB6B616E4CB2AB584DFDA7E86FA9BDFB8FE3C938DCB3169A488DBA29B
-58136DF8D6B8F1B7EAD48BC3944F0757D37CB8A0CAD66D035FA355BE2631F7A5
-FACB13DB97C560CE15CDF49856524D5BACF9E5445A2B24AF3ABB2ED577B700AB
-48814397FBC7D9DDE35AAE8FBF9E494725C90F5E73879B19A112A901674A14F5
-AA43EBC61C9C83CED10D18F3B187B7F7A8D3E13C4AD12C530E761A6786E08ABB
-46545676C97C2692DB1BBE86F84FA593931A1A82FE98CFAC886EBE154DED7B75
-737B03A95660C97D7AE54D19696BF4C10150B0BF65CB58975EB0C9A6EF5F0114
-1263F02F5D5D644048F8B2E9EA7DA27261077C2782E8F3E8614215A455381F04
-EEF4F5AE6E8BC684154BF9B8A76504BA2B6B3276C817ACCCEC919429A89D1F27
-4C575821F5969465255EB21B64B965F904DDF602CB4501BC79F2C329F7866505
-B446470591C295122F2C39496736E4FC889D91C031BE95D12857B5BDEC836AD1
-FA7EB8436DCB5E873BADFF8B6B8C0146E60D0CA830057B9D731FB27BF31B0398
-1BD0895896963013C7FFD633D0C3B425FBE4D9510848E3747AD5A0804321005F
-FA5C2A72F4932040280C22E7FBE15A11A6AC2EBA8D4B38DEE581FA912A9E5F9D
-2C041DD13B6E8B9A8411B01D3E8C8884600239E16AD35991D36C0144A0480391
-FF3A9E10CF1DC56A9B3AFB48BE5FBFB4D136B339C9F6BB5408291913019C2838
-380B7313EE325F034DD074A7F74E3F21DB10C7C059B5367B4CD199BB69C1BB2D
-F33258E544EEC09EE43241D7F4BD8DD4A2D68C919A23C4D4A8C783F7E9903C2E
-0BE5D4BA64BE0621ABED53238423433FE096BAD4DABEAEC068653FA72B1840A9
-20928C50DC9D7E41E47B804D0146BD91A2FF56E2FD5856D0FC6F6899FD493C6A
-49C80DB7EDDC1489D59B1B41D7E597A747DF141CE8392B1D7B1BF4601B5991AD
-67E068CAF2DB187A339F6BC3ADBF27024A09FDF25D5CCDADD7B05DCD801ED00B
-044669D6DD3EE80700386344D96275CCD621EA3A39031F1CD78AF3B32A175A0E
-7D9D83AA8AF8373A66D7B4F8E06E86C1C669FC9ECF2F6D45C5B72DEF384657DE
-6E82EA09A2AD998588F94681D4CA62108D42FF708BF814059C5C5EBB4615FAC4
-4AB718AB6A528E752F25574829333974B08869602B5DF61F704E3F6BF1540997
-C515134EF7A5F39B5566B6BEADCFC0C8A0DD70EE0AAEAF59D6D9DAD8CA683505
-8ED1655A005634447AE9459912A2217BC042CF8380C74D2EDD52AB2630D63C4C
-0E5961BC7806F9588E9EF22F0C32F48F68D401C686D21B8986C6EA9D886B955E
-643D0C107A6E5940E79F4AE63563B33CFF51C46B936A874006143646874E7E7C
-9FB57424751F03D09DE8B73EE44EE35A1AB96FEC93632E095898FB057553EEA8
-AA79106C5C0D6682A4CDC2B182529EDAFD1F4A64B97956026BA6D9C4ACFC230C
-8B36B47FC9A78318B1CE370B75E3150F774B20827251CC2E2E748EBCF2D481CB
-A7247B41E8BD742B36BA7D3A2D1FCEF620F7781E712D05900B7A841B63F0D992
-75E10A8A6D686D9AB28A49D39726F262D81963C47C65D1E1AE23D1951E1BEF0B
-51E1EAFF5C67D7208FCAF18978D5E24E91F123FCE1A7C2E5770CB4BA7E90EF12
-4C41BFB572862C590F63B223EFA9CDE450ECE1075188AA4C582C021D8F3B42FD
-1CBE679304CBFB9F154411B4B7B5F061652FFE09040DD5DEAE12B45DCF4AF830
-1D516D6DD177CA467BC83239324B84F84CC52A574F30C3EFC4BAA573C8C15845
-68DFEDE6D1A1072DE055BD480DEDBC6B7B11771BB530B1FA0C669C268FB72124
-D54B0CA70812F5282EABBF4CC5783483589A25729C46D5D944216B1B4800B141
-3A8C860106DB3440C7242075415A61DCC65AA816E00428AB6FA9681A61A590AF
-995E3D5B4C1F6E12B79C8EDAE42A7C12CDB1400AAACCA84302D54ED14DAB0512
-09A4E89C635D2348907020C1CBC33FFA0053CC5907E9B417D972B98B7C6CB425
-C4B6A59ACB6B3CCF163049A78BA173E6B8AD1BB9FE92A5969D2A6F476FA16671
-5B102819182F0311F1BA5E70C72A2F026EE920AD2763DD383692FB904E1BED76
-B6E7A9D66BE62A9368821125DFC62E47A1672EC938E039CCFA8E33E18C15C6B8
-8E17E2AA173EBD213516EE495878B258C56877F8EBF87A569A24DD7EA033C5B0
-DFD27A970DA5449B65119A80077A96E5299B9CA1BFC5613AEA27E3BAFAF186A2
-BB60AA9E327B58F156E9CA4597D24B08F6C0F507EF11EA40CDB94D3D4AF9F43B
-A071C6F8ADBE8FD8A3AE6B1671933DE62A3F5E6BF231151A81EF18AC97DE96C4
-8E32CB9E9306EC46349A2CB4831E6C73F92D5DED37C11F8071A455E62BE5F3C7
-83A50AB50CE8E059646D6D2AD7A19CEC068EAE426C54155F2BD4CD4F7A64F98C
-507B110D9F70F91F3965E8F34118CC80CB69814E1ECB04D9860AF1A802FFCDE3
-FD774106CD23708CD0C66FC6270F8A6DBC030DF56950403742A357BBBAA330E4
-D1AFFE86977994FF2C4DBAAB525125AF97A8FEFBF7B7F1C797DBCDE9CB6502E0
-7CDC72D9DB78D365A73B84E525D886E2D496A686F59E4B3D92AF2B05A595AF5D
-BE0BE6DF2B309AF4F74EB1545404877CACC9C4982F88C35933C706DD48B1A5F1
-3E757F47189AFD3C782BAEC4B388C88F713DB2190C4D10898D5795CAADD8434F
-4835223DA5A77E486588087EAE585A4B811F06B8839052A9549F28D164DDC2B5
-868C1FDDC7CF489D294E4AE8CFB092CED0D17CAB1A91874958654D5D105BF4CC
-4DC04518496C0E5DEBC0A73DBC432D4C24CA6621335480912184DE2FB932C6BE
-2DF98EC1B2A4B80550C20D8DDA2943C7919AB0DE71E90AAB108CD07F8663B877
-84702161543D5F22C595E35AC00BE643AF3B8CDFE8B7AE4F61DECBD1E350A6A1
-4CDE583C9671E5AC09FD6ABDDB158FFA8BA2D26C522ED13161324D64996F8E05
-E5ABF5794F8ADDB9D710BB43621D6AA507D1E3A0D5C8B3F85E1BD02CB90CDB79
-552B54755CED2D6737A8A49429ACD3BE85D9A02DEDB3112996220A40C6183B9E
-CECC5BE181C5BC92247ED0C2EECCCF2EE9BF326F790C0C24B6B8BF6DDE01E74D
-D339246B0FB9AEA975A09D30F3C10B868B7C268AA1AE6303160D7C478E9CADCA
-E0561E87B19D47C07DEA9F0C46CDEDC5675BA9CDA1110CDE63B79FECB8B46FCB
-E28D8AE5E8278220918EE3396A64B24A1BA57391B1C5E297BF9B114685EE4A2C
-5EDF289B04C3E2255F57AAFE2422711F7543637C23017033158BE209D239C3F9
-45D37E7518F4D7D5AF7734C9693029984C538B6FE7762EB9F2EFA4F86FFC70CF
-E907E35BC9A4140802C463EB88043CB4E30FFEFE92C1FC4AFC8D84334619817B
-F27DC4CAE5EF3AA1C9585058788175C5D6410E77A8E36FCC92C259AFA68FDD04
-D8F72A01A388BBC304BE72D488515E1C6E733569582D34DCF1DD714F8DB0766F
-52F0D4993D0819920B055907A83CF459EE40207150627D9EEF13B122F26E9E5B
-4381734E120FC76B9FDCC1FC23A838EFD494A63EDE318CF30CE54ECED88EE055
-B7812B748AC2A718D2F096B77370245720B55C38F8BBC8125F77E2FD1A3FDD5C
-52E4B8BECB993CFBA028701516C1A5B8513EEF17F28E9B2AC49496C08E26709F
-C4A3823C725A12DC5278AAA680072C170BB5947844A57666072A3C5B29812FC3
-5964C6C6906FE1C421A19188B2FA9D631EF6A2BD53A7BC512FCF35E045378169
-50D375FD79176C4A7F73C0E1F8CC7E0BF389023836624798BCD3DBCBAF6DCE9E
-0C694ABE170731C2A980E75E24E7F12F48C7C35CEB28646C396801F9413930BF
-92342047F4570106FD3A7A7E6232C28AFBE05658835CD6FAD412E460E5257131
-A32534458BEE8FCDCE3F13A2D88CC68E5EF08F16AFB3190E55C094110EBA1832
-8CDE8F57C0F7DD3A4BD2E604F237F41B33835CDF1F35199C06C40445D07B585D
-9949FD9C0BFE8E05ECA9D7E3954AFD7D1E3640A636BF29282FFE88B28AF3EEEE
-63A25AFC1F57504F945F6159781DE9CD20247AD2EADF73846F6BF2AB2B46F6EE
-454E0D6DBC3F9410AD9437F699F7D5B542AC47AC37871521DE6F4A2E1C23A0BF
-419446E5A42B7A185C0CF6D8A0316D8E8468ACC131F7B39EDDB47E8B30C4C84E
-14BE78A42961A19E15048F6764BD49220640DF03E264861F6101E2EBCBA58189
-82084DE37D4776DA1C21192A5D18C0755606A20EDE6C58B825777BAAB2C5A28B
-6ECCCE725D5DB80EE72E5B6F6CF81DD2AF0757AE1FEBF6240B4BE4041A11D584
-829146716931376E9A6BAD97AA8151D1FAC010513A3D80DF8FBFA67885B3B0B5
-935D7789491F2E7735C1F94B3C8C6FB97282C8E5814C7AEA16F3C1859B833891
-9C8EE08432606D8A7E59466A40AEE0D51DC7830B53ECC1F714ACD06619BA5D61
-728216ED9DF6F2FF027607153CC93AC046DD826DBD2D8AB87DB903CD88D3D588
-4CEF8C31A18B0A07F936F15E325DC6966EFA7E82C7E261C8DC29F1EF84CD54AB
-8E0960DAF6CDDE5108D845E0D8BE87BD1E86E7C88A698DF5A4B76FD5F97CAF7A
-DC437B332525A0C3C4E4B14C3EAC8271C3195096C1293D23156B5C8C70CC3301
-70A745B4FB5905A3AFBA8933036180489D4A7FF1B31E8CC2EFC691CA017EC3E3
-26AB3269777D1C0319FB1CB5B89DBE1D4653B686A93356B1DB4C6206112507D0
-9B2F405DC5E09E000F8813E97B801480C8714965E56BFE531DC65BBD27B25BE8
-0AA315029709CCE49EDA5C46AB3FAC982219912F22FE027B653D905EB6091059
-7582371D7800864FDD082ADE5F7E4C90EF1C3E029D684F193F5D88D57AE3DE9F
-2D6D900211404B677B200793D45837239644F1C18E0C8F622E167E89DCBE6E97
-E9696A6B6598E2B1A053974D47797A02E8E6E434CF5850BDD47BD92BF3BA0EE9
-5EE0049E635F0C25E9926E19013D6D40537D3C65FEDF835F398A4E3BB903C7D2
-8F19039FA4AF056F6ED9B3FFF727C4EBB3231C1A6393C3E10433BC1EB42E9B94
-701B114560A12C174A8E94CA9A1570D13A3DDE76979D93EA7FCA518719B9186C
-AA01FA2ED051349B7227A8CFE07493C45E9888643638D873739A443925F8E09D
-E6E10DABD9405ECD216773B4036DBE6A15A0514EC278FBF483D03CCEAB345212
-135516E3AA29AD67A99BEB67312108AA94A4C42FA7B1C7DA1B9739EE1659B7F5
-807E13120280EA2DCBB2983DAB7E794EA2ADF9F12161F5B7D13DF8D0CD3130DE
-C0B4AE2B750A45C26CEEDDA08EA59AA2C6905199EEDAB740A0A712F5C15061C4
-DF84EB8639028A7F7AD29F1FAA73A1D8249876FC48C8145A3FAF43091F2C8C79
-C9C5B78F11684124DF972906DEF550C2898FD2055A1CBB7822639D45CBE0CBDF
-04268378B72349EB8B2BB59E7D842C84F6FF3C9E519110BA0FCE56DE8E256EDC
-D8C2EE962EB5232149E0D67C03C04C2EC74C8F58411057F71F94A28E9A17714B
-12569BB0F72CF6AA91D794FC16FED49144EA2F4F461502421A9FA311C3349C99
-6D7A5AD20741C0B6754BC3AAFB381F1C43AF786F514FB39782A61F081E58C000
-18858015A19B754082B4923019CD7DC276B42CA4F18C66ED314E14264347380C
-60FEC1E035C517CD4AE94C185CA5950901D88FEBF728C3ACCAF12C0D48B62E53
-F5A6E903C535BE5F42A6457F56701B299DC490A7C5AAC46217E9F21E94AF79D4
-236EBE819318653E11786B2CA223F2B701A3A8B84DD5015F9A86543DC417429A
-4649213CF234507B6904769221DC7FFE5835FA7583B39AEF6FE4296199BC7AFF
-CD323E2853A95AD604882E57462A3E44CD67915351A5C56E0B81A345847C23AA
-73CB4CA41417C4643095C9796A71A69D777EA3222245CE4F697CCFCD711DA328
-175778396FD7500F16EB5372ABA3833C3B758179E7C95ABE86903C75FC379CE6
-78AA73FF5C5BB9DB90BC4D24FF7EF2B27725EA8523AE7470BD2CD4E6B41A5ED2
-E38935EDDF72C1A18955660282DEB92C297BE051469A22CF1D93385CA458ED5A
-551FF29D4F9F44FDBA400A6C89B98901284F2B9DF463D0D3D297F5FB75D2B556
-E6FA1A4B631CE4156824C2709C392B3ED1DC303DD46BBA55EA6F882921F7029E
-1BDE958AB61AA78645A18500C6144C687E7DE100081B1BDF9BA371CC1A330E1D
-56C3F3B825993BD4B7FAF3B302F469F5794BC244BB2AC8D4EE9B715496434220
-9E42BB0DB2A2BA940EA6F894DBDD2DF28D54C0CE02DEE9B8839212091D27A5C5
-9E72EB34E3A33C4B2E34FB469738FD8371CC0055BAA748ABF623E04D99CE9239
-5BDB1834CEE82C9859C13DFEF876DA84710B20AF397694B3BF7FC161F02CDA29
-08E8DB5FC6A5BC6C70A7062AF48C2590FB14ECAF7F70C523769D62F9D81548A5
-C2F65F09E73ABC354F1FBA32EDB7FF8514B27DF59FE758EAFC2BAB094E6E0249
-0B7F277ABB661D380A1E2B2FD1E0B239071F37EE54C836BFE9E07074A64966B8
-EAE97C982C93614FFB953787635D4A30AB336F73F5B9DB09779A04D8AB330270
-5A635CAB68C53AEDA5A234E29F700851F1FA5C5CE946D36ECBA75B6AB49D29DE
-11C0672A02771AE60C2C6BC7A2DDF899395DB89507377FCC2E4F72E41C4A9C6C
-C60E4EF330C0AE9B4C10077D2011056F17CD94C8D2F9BFEC24B186789FAFDCDF
-F074C6B4F8AF22669B968081FED386B9E52BCE6651568525AD13C78CE834F2F2
-45905F65E985FF7BE01139BD55FF49929337D63833C3C9F21C846395FB5B397A
-48539905FEBC25C30203A57E16EE06E18174D22BE0D1F7E58C11DF5B5363FF36
-FE654E44198B0375809A3818494F1252F54D510376D149C9E35656CCF79C6B6B
-99B3F22B085BAF7C008EB7581F25E5C7ACD1250CEAB36FF2B1B90EF8D71AD2EF
-09596D22127C6A575495C80A5A9FB45F3F3D874F5018C596C94E37B86FB1B88D
-3CB8A405C4CD74AD8A19B8B341C27D070A8800B2E363DC7F51315832D0A2FE11
-A2AB4046ED00A83848189B608D7E94F6B374EADA2754C197F7F3391C9FBB219C
-868512E8D2B06AFAFB25EF306C508A99CA35884D232C658E0B26CF2A19C9606D
-10C4C23E5C77E309ED4579322F9AAC4B787E29B8C6061EF8D4754D0A6107C75E
-015B304F934F424E6900DF382A2F6161A0528D4358A9034242C05BFC22DAAC10
-3D67CD84EECE70724B15B02BD29D5884E327E536BD2D091F1B6E20056FE65993
-54DFCC6AB35930EF4B42C46F6BDEC863B9685F6A65F6369171271EE9DC86FA97
-573AC8566DA2F94FA08CC3482B1663EF1D105E293A25EEC72D5ABC2E9E48EB5F
-F485C3A41BB22EA09F9619079F2FC3DB05CB063A910FC7BBA9D92203549272A5
-C4B68D94BD0F6BA05FE9006787EC267AFF0FA38B509328425D958F264CB735D6
-C50FC7129586359B6298A48FB539223A01D4BCC1D16BBE98D98104549D5E143D
-BEE5CD7F054019A6C4E65A3236FB59E14C5B05FC339D37DB2063BE2C474E8D6B
-7C0B591FA635D85BE8D28E924500478D29CC987311FC67C33D05AA6A69F51982
-2F519A92E04B0CB593522A5F9BC18CCEE2EFE65137C78F457CD7AA1E60795A7C
-80FD85399563F7774C152DDBCD340EE41E69C19605CD6DD80E3323D0DDDC5CE3
-B868D56448E0D7139CE407DA2F90F69F3370F59BA80FD6E5291CCCF4102A89FA
-FB0E7CD9C3A3D7A29390C38F724C61E71FB9CF70894EC5C021F7653EE67B01F0
-52F20B1283D9BE9207FEA9551281C85C5AF196B9F16ADFE6C37AC05538F22960
-48778EE4E62D33DD26FA472157CE2D19F518E19C6424CC01F71EC1DEED767046
-1EDB51BED5D563647C3662DAD109B77799B36DFDB3FBD2D6DE00A6D5698DBD7C
-C6E70FADABCB3EFD3E08A2429CED1D72B8D8174F90EACF64141676F2CF791CA1
-06EA7000A3069A213EAA9892675FF1F9478D40CE3E9E4E90852EA7E269808F8F
-8BEBF97C2BBF00274E90F925C76C272396D83DED508A877B8C235471A70502C9
-DEFFA11C1B69B489271FA81CA0D3475BFE44620F24CF41D3B5A35AE457A40744
-FCDC3FDD2BFFB6AC6CD320B23DC4DC232EEBB7BA24A8473191C9897D4CDF91FA
-11FAAEBA89A40BE93E14FF3C6741BEC15D6C414DB145EA733BBCE90927758658
-F09C277CE1B6541526403764D8B34577F01646E2F41CCA59EA79E65DB9DF1D61
-C19F1B724778731374CE9994BD4A167D2BC4B39ACEBADE88C0D749DAC57C6751
-3092B7F3580A96641569964F7E6F805580F48289DDB96E5FE17CE6506273F469
-61A34EE1182C39C8E657C6EFA9E0E635A9363D1A476AFDD81FAEB4C9DF9F2BFE
-E58CC036B87ECFA54519A4BFF7B9436CFE2AA946C2BCFE96534B88D7F3DB5635
-155C700BC7B26F605C0958F2748A63774C115B6D88620FA4C4C1FB873BA1DA1F
-BEADF682C3AAFE90F8A93B7E67DC8C5F014E3F4EEF9CE51D28B541EF4C9ADC31
-59190746E58C20AC4662528933C03C4D74B9BD053478C77A7A9E00972164FD65
-BDE2788D5FB3B1783D4725C4FC835294B685ABE17EAB07EDE07BD72DC17BBE75
-4736CDFE2C4C7217E425696BBBC1F981DE682149E894D76F46287ED26F637858
-297C86F9805ABB612E4E1BACBF8FAC2155AB9D24696DD799D54721B486F94172
-0CF10C2540B7F62214A69B9D4FC87D25531E44E829EC14862AAC83B1CBC2B6AA
-3E0059416D9F017DBED79855A15536E019A37C4D4DA7112E17E64DE362924B28
-92B911D3E0E19B3DADF8185C840CFB6701C066B9B800638AA002E380F00A5FFB
-DC567D412E86BEE99B1EFA5B41D2B2BBB4FD655A9BD873AF512BABD722E02221
-0FA7296988647CC4BE09DBD06CD4434A2E92CDBC89C048A12E9E0B1E945A0C32
-5DF4DC7CCB12FDF6367D626C64C4A511BB0DD3943094B56CF9F47EEC6974AC85
-CCEA5E4EDB5E5C805737A11C0F6593E8A82543DD779494727553D4A2BD49FF41
-A94D9B8EED83DEDB50235B9A717534B8B151FCEE2A71CBB718F3E95E1DBEFC44
-A791F55221EC78C000DCDEE10E37AF91741B845137B952689FAD1E5E867C2449
-6F6937D2AFA85063938E04F5D6C25FEE69526B168839074F3E5625239B02B8D6
-3628A0C882889C89BA1288B877F8B7A509285B49B5390E7C2E1CE144BE8E1564
-BC16C320C3E4DA32D0035180C0DCD8A7428624A4C9952B5F49EC7AFCFF015BAB
-3A49D6C1D30590E3B08AF7F53D195DBAE33022C1BADC8D12DBFE3EDD316E151B
-C1DDD7A96E2A79BD62417F1D0B20188A806454367E20E85BCB5D7D641645276E
-0DB085F151F1D4C5D3E3FBBC4E1810806017FB7F04E365F301B106B1BC44F64D
-3022FFD51677D7FDE025B5B16471A913300FAE9A4E961EFEF460CB153F69B8FA
-4ED7A3D907CF8D711B347F8C9C7D19268A334CAEE220685176D6C121C1283971
-EBEF748D5B8C193F72B540B1D7E3BA420080E6F3F4016FFC14A06D73DFFEEC3D
-5E5D67A45311F19574C7937A028423FA5E8C931BF4B35E3041FF84900539832A
-1DC94AA48DBB268BDA06B8FEB1808006E0AD6D223DE59B20D5722877DA78D156
-AF5053FBE4879C86FAEEEAF18436A45AAF5B0CCD74A2300B219A04C9413B01F6
-2ABE6C1651AD7AB3C94A8EA6EDD19147C6AEF2341E83CAB2390B0F43362FBFE7
-DE0E4A650246F2195932C45DE176DC5EDEF03C63ED7F16B22B3526A64EE58515
-55D7AEF2C645E9746FDC7EF2E2E85462F3788B1586BB656577C622C769D0B84F
-A90E91713ACFF32765CBB1BB833CBB8A29FDB93A55490596A450B8A04CE59C2C
-6559A047406CDBEB1E57C5950E21348D35CF65C0CB79A95016CA9DAFDB4C7AA8
-5209E14EF42F2C048939AED3A68842E5FF5FFE1917A3533F5434F4E12B7CB2A7
-8A904CDA6C1C5FE22E13063ED50C4387ACA9414E235F3D705A5C12DFFCA70247
-61E37782DACC3FB50B9CB25732F76676060C3F905D198D603271D87522AF91E8
-DD6B66D2D91708DE4DD729C198D17A1CB9678EBB602BBFE7410EE33881D3D1D6
-66395D5D0F7D45EC43D0AD906AD1A95C6310017CE2A2FBB557C3370B1455A6A8
-78C44991AF4957EF1477DF5DB47D8A1A077BBC09E19D7ACCBDD87B15DBA90CEE
-10711E5D277384F41EB186AEC1E67286275544EF6E34E1635837B2FD94935FC2
-24D53ABDD0E5F0D43D14DB3C930F441202006C1EC62B785E693790C204DF5C8A
-65ABE605D4977D2C3DC4188C41DBE3C95D5296DAD084296F45B7F62A556C987B
-4D105743165B165BD4FF325D361B1CF4438E6D365D5C8E89D8F1C230C53289FD
-238BEBA0CB9FC63E4C7210D6E1D2D1D1F2070DB3D0C28F5A69471D03A3F20B15
-F58F38BDDBF7E8C2BB9E2C3318610A9B11753A77F567AC96C8D0D596FF7CFD4C
-7476F5ACDA8E5708B557A6864A19C2BA00F23D2B8D53517623332BF11F507F19
-48CFFA1232E61E86ACB0D094DB28883CCCB984C5FC163661C50F0AE71501DED3
-8939BF491302A37A99AA88EA39445650E06D366EC09EFB4CA806CFC6A4339DA7
-D4484D757DFFEFA0F22995BC8BCFF0DA1C7ED7DB21190DBFF2209F2F
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE
+0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D
+2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608
+1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C
+42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557
+FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE
+78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18
+22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE
+A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811
+4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065
+4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7
+95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D
+9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC
+5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF
+9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3
+CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511
+BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65
+9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68
+EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A
+D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE
+2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE
+947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B
+0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6
+4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C
+BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2
+F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4
+6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514
+D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415
+F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8
+481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24
+FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D
+419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6
+7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B
+70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988
+2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE
+0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC
+9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A
+C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D
+1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2
+A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969
+21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530
+7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198
+17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60
+30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F
+3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257
+96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3
+B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950
+1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B
+57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE
+B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC
+8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91
+8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59
+B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E
+BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC
+21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91
+D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4
+FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F
+A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4
+A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082
+A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA
+DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38
+7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F
+07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9
+BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E
+8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89
+E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C
+B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5
+45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67
+2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5
+5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF
+A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28
+5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975
+E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01
+5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94
+6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30
+8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB
+BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6
+9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB
+B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B
+B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E
+8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD
+595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E
+FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15
+13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A
+FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3
+DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB
+313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248
+C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89
+F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD
+DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844
+8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753
+E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197
+A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3
+C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20
+417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43
+19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4
+9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85
+12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83
+3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1
+A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68
+90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94
+3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5
+B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B
+82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550
+1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94
+AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D
+9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985
+2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5
+99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A
+31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414
+3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86
+F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5
+70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E
+5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891
+84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978
+BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047
+8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7
+5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7
+9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B
+F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E
+94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE
+0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC
+E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4
+7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581
+596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442
+F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E
+7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1
+1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785
+AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE
+4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F
+744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D
+67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA
+054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA
+6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B
+8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE
+CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39
+EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4
+C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76
+57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5
+5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F
+C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1
+CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2
+848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C
+B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB
+77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28
+87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58
+3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8
+409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7
+A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B
+72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D
+99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD
+8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB
+E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C
+82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3
+C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0
+EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634
+23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A
+59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F
+C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0
+1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C
+403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90
+1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893
+75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E
+0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35
+82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25
+C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8
+A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC
+9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06
+0693AFFEF215D00BFCAD02E45496D7C8F5E99EB9096FC4300D038C1AFD31EC4C
+5ACA6B72C1BE7204E37A4CBBCB1EC26AB87F2FF82DE20601025169A5FBD2D060
+62B5B2DBC288C79C33B596832AA18D730AD572C6EDFABCBD36DEA87C0F323C3D
+6E537AD3B43C6F3A905597570A8C6B0B4A5E08C08EAFF9731E745F2BA8ED0C0E
+1ADF7821CFCD4E38F3F4C243CAD31D9F8FC68B9043740852B4CCBDD37BF728E5
+648215961FA82A0C847ADCC5187331D0863A4573BE520C02CAE14AED4F06B3F1
+FB4A318AB54CD86DEC824707B29F858FD726A167F2333855C0575EAF4EBEA0B6
+754B1775F967140641FC06F82B191244186FF347A351FBD8FA62E8C978B21F6A
+E124929876488AFA97FAD1A68A0C3496BCA768F4AF8016D7A65BBA3AAFD7F5FE
+E75FE714FFF3D54D09C9747ACA01CEFD260985C6E87477C9C7843343C7E9E3F4
+0537D461EF019E046DB8B5BA258462B2FAEA1826B3410BA3333480CFE0DECE61
+CE2731FDDF7FCF2AEF7CC2B1EE7095F480B3B27D78FA90FBE923D372C680C87B
+7F0E702B8FECBE0CBCB087ADD6D28549FE707FCB616448B0D94CBDC404915943
+66539B177D5940370C2035D0FEBB3A3C666ADCEB45F5B15DEA729BF86BBCC309
+0294FF267657EEA805DD28DF5DA82241FC95A5ED23F466D40B3976AD8CBB021D
+9950FA021888B11F2C204B83A1EB775861E461EBACBDA13B5EEB2C8AC7C9FC85
+7B5A8E1ECA63FC9A5E7099F4C47F023A821F576C0CD812779E096930533C4747
+84480AEECB3A063AEDD590D1A7904857EFA1750FC94099CFE322A2BD05F82F8D
+84DA445278AF4400E307F8CCCAA6F7FE20C4DB21601696CC93D890E85B4CE3C6
+CE29755A0227F43975DDC437C1A2B32A4EFE82B042D179DEC94135B5D77D1794
+1B8E137E49EABFA9A0D89B5F74E959AC5CC0EACC8C3A76598BE380EF03B99508
+CE4854E32152526F7A74454DC4E5FE9457253B3D35C6255A75990E5076D33058
+10BAA02E95459D0ED1F5F14812A6502055F9E2F9EA296088FA9BE833FDE01D41
+B805DB7B489C1B5858E042DAEDCDD9934034FEFCCB667137A76761CBA239B974
+E4139680B90D74411A3315291CD4AA572DE051A8D8637A6C6EB1790ED1C18269
+C54CF4D180DC2A1C4A6C7E85D47A3DFD7C7396FA24FDCAA290903515A2C790A6
+A6A6D5666CDD409EC22F9513413EF3D0B6332D17CB00CF92C6107E7B10C4BD43
+07ECFBF6476451C0A7477C2208675979973EE153DA4DF767F922D7F1EE2371E8
+B462ACE1F467CB6E0D7062BB3FF725CBE0BB6F9B480AEF67C21347E652D8766E
+75400D06BB92C6DEBE8B528037F36FAE89EBCFD233AA2BFC78D3A9E97BB87F0F
+A85E4B02A3B1B4DDE2F4D49D0B0D5D8D81D701C4DC44025F1C429CC8722F7296
+EC60CFAAE34AF3F7CA43A0349EA214027D2DFF37B269FAFD4CBC0BA9A7F7F47E
+D43A4948E3321FABA92755E49F9270F847A4AFDAE1046F3DD0A7CD7D6FF09207
+447C8D10C00AB64D884DD35D9505DDD65CCA95CEDF642484FE43670B8A412F69
+AEA17273246D0921BFEE41440E36581874A11764F51F321EAFF261A07607B69E
+B7FE485E0812989CE395DF99BC402D506C993CD7570C5941F83318E765F48D7A
+8ABA88BA9DFEC7C7DE59D2FC87F14B1ADD7D84E7F4BDB2DAA97A3E13CCFB950D
+F5FD1CFDF3F4F38703D8FC9919A92DA6F3E347B2DF6B5A2AFEDC247E7D52D477
+F3DA6603B3F2690A4BEFB80AB10F49021F214016BD3633B00C3C32DD3BED3AD1
+F73D47E812E48D0BC459CAD92D86B45ECB73C65974731061B8CD68C9C2FB9CBD
+2BA4CCACE47A318B1013A8B09845D11C97792430E186E85279C9DBC66D3EEC26
+4496226C52776468D605D073E021874C67D7B7FF043738FB60E3D11725EB0E3E
+1D8DF4D2DB1FE06401DA11DAC2CFF9B14C51A93D219754C1471E34E9BA2F0F55
+4D80AD5961F4F666B1138F3085D3A6375DD9A93E5529A68D35008D9AF936DC4A
+95A222B0C7769DD9E0F81B1C4AADA9F1C86145221A595261164F5EE414EDB23C
+15F4934845B9A325E636DD20E5332262C12D829DC6B0FB243D1A59BDF26F3D72
+0027EA9331F8481D720FF83EA3270A2B73317FFCEABF5EFA417BD760A4DAB68C
+B37FA65788112D30E15BB7BCF67170B6E3572700829AAB17A6FD9A983C0BC1C5
+380CA71026747D42BA2246F319CFE86C15C5681AA10E956B8D754681195347B0
+5A219364E573861A6A172E824DBF47755AE949712C2D17DC7BC82BCCFAA46C08
+C44B0D57163075A731A5E011E6FF0B5A349A3A2B5654690AD4D7C5A5AA258F94
+F57B827410599908274DA1E10D074FA029A046B9D2E9D6F42C77184A357C3345
+6CA9D8720A1B375F9971D0D7B971C41F7A5A5A075A0F8D1348A591CAD05AEE1A
+BD8BF88AEEAB5B888DB61769FB2F42F895350FA84F8C29D568D099AE2F39FDAF
+DACA7B98AFF61C068FCF709A046A88D078028CAF7772E202516C80FB9CEA774C
+5415E38325055593E3552DF0DFC6942EF48F3C790A82373F32C5A75FE28E5360
+568140BFD85CC23F6DA702161C6CF638019FA597D62EAAD2796AB9B7C2B50372
+BE22B6B1F4298469DBD03B44BC75382C97269C36565F65E661ABF242EBD4C45B
+E1F20E1BF6719FD95DECD2C0446CFD4BAF45221B5AB30F13803907A75E58D115
+3BCB954B207C6A8CAEC08C7945AF6B2096EAD3FB79CB8A324CFA281EE361D919
+8DF3AB95FA6C71254FF7F241EB85D25F4C5DD61419344E8389F7E56A7A181B52
+D73D83655895D32131528CFB0BCD262A7CEE94D89F65120DE019F1BA864B9A81
+FB382B44478A33346AC29BAF5AA39F1C97489DFFCEBE25B08306AEC5589ADAB1
+F62F2DE691A2CAEB788A8F6F380149DA47EF699A6883EA92F8A69CD77862B62F
+51F822B1FF92F3E15F813CE784003F433274FAAB52C74D8445E3676FD281A35A
+36BB951BD6A89B0257902B62B36CCA5AEB06B24982B670CC2AFEF7AE267E45E1
+80728D0AB76B2E304E9DCCFC6D7F7EA4C925CEB15C479A646ABBDD0F114088F3
+0BA826065931236EA0E4FA2A6A4DBDCB25A71658C42D90A8AF677CAC818C5BA9
+5AA9B403D0E605F5C5733C2AC6E737AF90E0E2E527A8CB7CBCA52B271116FD33
+E7EDF5232799609B9E0B31B6AE176EAE487FBC7C00D28B188981747291DFEB7F
+963508B0EFB745C13447C0A9ED76F5F232360BFAF57674D38328DA418481B151
+9F3DD88A0F7388A189118BE46F9680408DA20ECA91FDA4C3735A259460D8F4AE
+3960BAF3AF57200C18C7046A4D51472DDA3AC7EA6D98234C679A1CA1929C583E
+2772969CFB8CE0DF56ED5DCAB4667E46069A10436FCF884174DCFC640C6F216A
+E831D2745E7A53E776573FF447CEDF3F3488B31AF9CC2947D1918AE1A49391EE
+67919CB22A592CB156EB699A91CCD7697C69A3F7E0C051E9E79AB4542E5C78CC
+BAD054BA39CEE3501C725F80B82B3CC10F5687EB5FAA094A96B4A64C279C592C
+0B68FEF1B74C2D535A0A6A48E025E1BB2AC164D09D0993660E07C7DA9E377390
+5644F8AE81B067E1F9619AD3D389E936F33971A04F513F77535FE28A0895BD8C
+775B35C487242F5C766B86E54CCA7A00D0AB8A4076C01C6D6D8EDE9BBCC13AC1
+9E8FCFA63AFB2EBCB3439A0603C4E833EDE834A0F37116C29E9FF4BA384C78F4
+A5B068D56AA0F007B821938E6629D9F220CE46D9726D7E128BF19727BE03A08B
+D9183551586212EE842AF546AB78693C632A0EEC638018F0602CC5657D64FB22
+A479426ADC7E96F0762755C85DBC0A56A62217593D22F26227B867F3E8DA66C2
+1C78C9D143D3C2C5E188BA44D7FBD0284DE8529FBB093BF46405DF94A315C9FC
+DCE4255545DB9BB9B29EAF802A40DCA0FF941A3B0964AD0F332D71050461D097
+E4FBF07CA55FCDB09EA3FCCCC952C910B4664D1458D869D784983A958815744D
+E6E00312A07AD0C16FDB887FDE26FD1456F4EA5948078263D2B6975A6499E0E0
+FEB5FC1CDFB06639D96EEB78A1FF3A301B6D51D58874020EC0F95B24815555A1
+051370EF74641EC15909A971631B1396A2FA8A17E27C3AE239E67FE5906BA89B
+6C98CF8BEBDCF639E512658C21A25336C1F7422F400A368DB84764374EEE38BC
+B64D67D1909CA1C3DD8C3AE017B16CBD359CF80C770551D7EE3BE702C308A5C8
+B41A7B242756D0BB0690B4ADF78C7E1240BB094D4502D613613BCA435A9FEA90
+758B7ACD271749113BE18719EDA45A3716D60F490C8240C086E9F85DE01624B3
+2CDA488FD94F5B22B39A078FC8F9BCA3AD604EBAC27079A51EFB6E3DB55ED79E
+559986FFEB4027B38BCC4A8C0CD1CD8387D9CD6EBB50D62D91FD78EB019CE40E
+F098660726313DADAA94A321CDCF0948610B96C42B1C72AB411ECAD2C80C3E52
+7AB02D428F1EC63C4853331DB0294A30E4C8E2409E52FA92E19076736AE00C7B
+6BC678FB061BB63EBC3CF991AAF3211EBBE87C9035453F9F747152AB5DDC1D54
+9E4CE479CA971344097D4F64F73C16B4785BFEBA4460F1F936B628A6CD666371
+8F996C6D1DF08E8B90085D7A34B7D495E9BAABAA6350952BE2CC7C4FF64C0832
+9B497B4B12D175559252D0B21A366EAA757231799E58EB3763D0DD7C72FFCA23
+ACE900166FE5587A702DC4C31A0B6B5689629AD2C84A2E2554BABEA3DF0EF3A0
+1F3226658FBFB45D6E43C7292CD34FFCEC771E237E8BCD929483F3E5C509DE70
+27D807FE61C5E8613CDFDD1B347F7577FD3B5AD80B219022EDE889ADCFB5D8EF
+77A861F64C9FB4E235B22B94D4ADD10DC6E0DAD1029F305DF311738D9B474D81
+B6FC06E4231098B855CCBA6FB772D37383F5EA893262801084CA194CFC1D5EF7
+A7959089CF12EE01A9F6CC7AC214B2DD47098B86B30E3E6AD74F542300F22877
+EC2C11606CD9A05A12BF994240B19475BC0CD756DD8C56B8E334E69C67DD6BD5
+9947E3E97776A54EB34E7D9A585EA81483AC4EBEF03332350A081C5DBEEFC025
+022921A596059EDA9CA994EF736683D0EFF8A030C6D6B0BA5D8741CB59742E3C
+3F384933C83A46376531E03A186C3BF43C2C8D89FE46D16E36943CE174562084
+B8249938A20519D404D0A68EB7867D857F6070B4C3191D8A4E83AA65DF7F77FF
+21F43308A95B96E57624CD26CA3527D441A9C54304C90F0B446F4B53089C7BB3
+10040F1C2810A7937EEB7DB071E7408321B963A04AA538F28F97773AF0E555AA
+4A9CDB23FA830C8A01F3A93A52B53DDB3BCFDC5F8D635B9D20C97BD7366E1C53
+F700857067883FD64050234FEFC8B5A5B13212093D5A917CA6D0EDF3B2A9064B
+4AC1E015799D4EAB9C6F88E211FC866E3C0B161019FF8330F54E46B12BE6C80A
+19EFB76881983799FC5A8C8088753B60A5EF889F94C116974245462EA603D7FC
+251557D3AA41833AC285BE05714555B7169758ACC423D8A005C187ED0C4BE734
+8C87496D807CE3BFB4B3B8BFCC16DBF4A8F7A51662D9D2A5E0A0FC6601057534
+C3AE7DB13BC69B1B3F4B3A71BA666B62A892FE3C1A07F05EC9C71F301B1D3A43
+65064801A08666BEB83FE1CE2BEAA4644E84CBC9F95BEFA70762D031DB549998
+08832378CF2FCCBB3FC14D067B6101238919A59B9B166A2F765EA1BBF8A3F159
+CCD1109E8A8FE1E6946592B60197CC9E7A0AD30AA69E5F4EF2B1E5CDCC89B81A
+9AC0330FB41E2B112C7C2DC61CD354C81110D421C7CE102511BFC657D1A98BB7
+0FA3AD456EC6F2F0FA9F80DBBE86C411CBA65F4E9CC03FA1E85525B93C9B2F1A
+144CF76176B3459426AC7353E8264CC9F11A72E6CA8FE6F204791C6BF533458B
+C83A0190CAE9ECAF145270F23518FBFA74B2535B2412CA91E2C65A96713BC415
+CF0B6E0CB5F95FE4C6607D1AE10D9DC4BBC0C0488EB7415364017760E56BF509
+DD73E7A3F6863F43DDBE6B74A2D901F42E06A67DE18861C3FA96187537F11621
+2240FB4332492460B2C591FA4E04161555BF1AFD51DF5888B69A3CF065B1565A
+AB722954FFE2F6E7EB721A17A8EF9999E5B1DB1383EFA51620ECE6FCCF770151
+F9BD37BB861BC092743B7726D3CAE5BC7213A45109E06018B23279D1022D7492
+55161CF27186196A9AA0CC1BCCCD723B3CA84124179CB9901857E2B29470F660
+6C01803020530CDF966B26A22388DE99F067CF06C59836DBD65AB1974769FD97
+957DE2E7347ED30026FA8BC964A6034420344EC5B0ED3976EC26A8FCFF06887B
+35E76BE479EF0277AF72B0C5D9371ED4D841782B1D0A9CB19B1ED2D641E76290
+00E431E835A00CB7BF1B538419523602775386751629ABFDAA35074625902267
+984F31FF2ADE1402FCCA5B342BA0DF073CA0662AFAAC34C900628A809480C46E
+96C65F2335764CD08DFEBBF214E1B4FB51F36ECBE5B0DA259EF7D6EFC5A791D9
+B858932C71646B13FF292616BE323CE0E2F7BECFC9671174F00464E3828649EB
+815582FCAE24626771E408819563D6264E55E96A06F5A681733DAE65FD334FC7
+1524E40C0ACB118FE53F0EDE5ABCE1E9A16ADDFD40F5D056277A1C7CB572DC52
+A156B96B4D0FE31799734B2878E510D436FB42FD0B8102130055AD8013A74139
+41BBB86E69165675E39CBD758F30145C64C6C505BA723FAD0AC2F4382A4E22C9
+C708002A48755FA89B58BA1DA6C9128E0DBB525501E6A9F5F61D17E0FE7BBAF8
+93092283BD1BA56AD47F96BD5F82D306DEBDA3798D5981E6CABF3F31C43A09BA
+1F6473BDE663978E0A875D11BCE09518010F13BF369D888A09777C1AF8FC2B8B
+9373E275C83E58D5DC4B7C2B25AC8F74C70C389002B8C68B828FEF55FDE1C0D0
+23C357C8BC0869C6143AF1FAACC3CB2F9816469D246CF093BDE5F801C3E23DE5
+04E80F9742AFCBE9CD87473F87F5269B57BF30069234B6AAD65FF0ADDFFAB8FD
+26397086AACB23F48B64D3312AFB9189859C5E390E09F16AEF3C920DDA8AB775
+2F33BA250999B8EDE7FC9499E95487034EF862D4B30A58A2A4C14D793E0C65EF
+C85CC0CCC95052C85BEC2037E4CFADD8DD15C1DC64C509687EE5D784416A1EC8
+D7BF87F0C36879819ED091C1770FBF280EED78AF2F0E27AAF2A4BEBE4287957E
+FD91CF417B218758F11D15991CDFFF3913B47E2234405896DF9F2B04D7A2FFDC
+FDD5C54BF5E436BC5576E85550722043E5EB63054E89ADB58BCFD5715C08B402
+2181FF59DA8EBF548ACBEFAF5EFBB75E5FFA51A69CA35171B2E287E7A04B2BB5
+B86050A520E4F310F05C99E798138199FD6497EEE82946B4614FE27DF7C2075D
+3C8B6EB10FD64BE96B44DBB56F73BC298DD298691F918611B38A33685288736A
+6637326F76F5F5EE94A2C9F19C68AD2BA1EA4DCAE581FABC19FDC82EE1DF4759
+D57E7E9ECC754AB298E74FD22476D7C40B65B5CB721412E0694A76E46C5EB9E3
+7F1EE356B47CD401CB23D5A7E0790A9FDCEBB19936AB7896B62EF9BEB5C997DF
+742A415D10A19B7093E571A574B57013E10B104826A8C89AACC6C55BC779AD36
+B6EE1E680ED85E05A989E956A6E2E9182C898A2538674F10DA3AC9BDF16B82D0
+AAB643F7BD0F2BDD8E5F067FCA06C8B95EC3E8400BDED69C2F1FC9B6DACFC987
+B6D02FB6B9CCD923E494E9E6044C40AAA33E77FAD944FF6C138AF2C8ABB70D9C
+E620ADE581123A52847ECC7BDD4FFBC0C631FC7D1B1216D2AC46267D7ACF1454
+DA6881278D929469039A99D5C0CF33BF8A348958CB44C0BAB5A9460AB90BB98C
+42865860B6BE850993BDA9C670E65E8E999B21BD562014AA513B5AF829486DB3
+7383CBD737CCE2D9B5B5AD8D6115279E3AB79CEDC9D68CEA7E9466DF4515A279
+20973EE5AEA9CD41AEA8BAD4BF90107AF2D258109BCC929B11DA1661F8DE3AA1
+27326DDC46110910E43F62982F121178B6B94E9091946175B03A083CBAA08576
+654DF6EBD56C387C44AF558F2AADE7B9B3E5D65F3FF24787E7F30B5E2E7C9342
+A1C1404545C3C85A3674CD91D9065F07AE10B1A052366878248B469AAEE7192E
+7301B89134E4575747433721163C7260591EC322BE320E27F4EE8DB91DFD3BDE
+27B39653CFA79F4FA7D4F9A19CD42DA912120B8FDEA3D9869DCE1938F23D5AD6
+7EC003D17C6876F8478EB080412CB834BEA6BDEDB156F9F7472F9122125EF02D
+03AE0323D6B770C8C13F9CB3CF8AD2D16FC632E67FEA982BAF9E495F73F81BED
+2D54664CB318F7BCD68D167D1B449568FA79E5557A3D1937EBBF85BFD7FBE823
+578A7E2086194BF038B5966C9A54CB40FFC4624BD50AE7A4017EF04AE3440557
+436E80A7BD082B91E2F38B70A81959CE562C7A172FBF48B9C9B9BFDD9F49FEEA
+807AED037446E957E2EC84550195376ECAF70CC00747290BC59972D2B9215CC0
+F7E0C6D51095BE91D2C9E3F8FBAAD8D2B2403719059912F534DCA373AF471F8C
+497AD1595F0B97D96D997D3A9E83A41146130282B88AB373EF89B4A65FEA5E5C
+F420B4D447CFD111AFA6796F3F2AC457ED9F401F1A6A4B117ED2410874283004
+F1E2ADEB1BFB80E6F0A01A5D0051E7CCF587351A0F3247035BACCBF59FADD793
+4DBCF7B17341C893EF552F3D9E77E77972E6487F83272091582F5CCFAF61DF33
+D10732F3E8EF57D3646897A6EDC6F13A4C274EE5CD4D53E5EA2E73E38316FC98
+E7D174D0EDB255E3A2790ABFAB43C6D829C90365CCF449E8C2F2073E23B3F4AD
+27FEDD570ACA8827EBC18B46BEA193B5DD15A4C0E7895AD0F552A35DD8D86701
+1C494F0463AB82C276A164C820D634D6C9A39D94139355C79F2B0538218D6DB5
+5F3AB6B99C30825D6AA153162B4E84E1B14FEBC5A64C3D7C94AAD10FC5235133
+39AD7F5B1966FA5F0A05A63901CCF48DDF26D07540FE151C117E725288734F80
+C4C67D865F183E118DC5599CE682AA60375DDDB67EB6BB574470CE44CE350442
+1F56B949C660047CB3956397D7739E8520EBCC01EFE70F3540D8C83566EDC1B0
+8BBEB6EDB90767405B1B33E2D826F311AF65CEDC589C0E32CA47804D5822048E
+D64CABAB49B5EE0AFE3B646810A8A0F34C5D56A694D2118887BAE00B436B8FC7
+EE8E36ABF04A250E885578D143AA14DA858B449772440D9158791FB1970B7770
+B08ACC842A6C517DF7D1D9856BDFAF2C0233B0428D84920A1D0F959B7F1E5C89
+D2D05EE4C378E409C28E83FE4E56A1BE19DB497C24EADBAEDAF47165ABDE2994
+1CFD309F9C9994D06B4D0283F67BE3C32EE429F842F1C57E417F223A6C40EE35
+296E842B36166C4AB42FEE59D72CE3EF1CC329BB0509FB1A1AA1B3618D4B6061
+185B95A93F73F5138A342A18DC91488466B6E40C154F5E541A4E96E28D03B9BA
+DC361256A3BA15167B07CBE572E62AA6369D0C6497A519765300FC51DE2AAAE2
+7847992EF25434D977FCD25D068A8F94FB9C9400E0E593F79DC461693FF21BF6
+7CF9573205D144DF99C100A7D4CFEF474DCFF84E1B19756A003A8D47DF7D5AB5
+262983DB9E94DE3C39514642B242E12B367351600A62D3594C37395A17392AC4
+D118BEBB8C49AFB4A806E0F13ED0D37744533B8E7BBF3F9E7CC5FDBB6F550667
+545256B2E8A4DF834B5F5D7169497C373A62E660287E5BF8A6A02CFE7365C31C
+8C62DD668BC978E5D2B20E8AA61332C0FCE3369E2253012A8116874E51C4C5D5
+4582F7CA18667B8259D4709B8D55FBF31CA8E201A63E3DC8B86D6243CD82F0D1
+A80DB8610277887AC2FB26EE4E3229DE75B1267FC81A9298D62CA68F050F9561
+E7CDDA1E0D69B993E28DCCC61A58E2474231D362C89A52F2A19339EC06B75A75
+BDCF56B4816D301DF84C496C358BD34AC7F973DCC4E8609705561D13E3C11EB0
+2AF88E907BFEA48727B7CDF17A0BD80E00D7BD61C0944EDC6F27B44E4AF97018
+43AE58BF3F74D39A116C22A4AB735A6B84641524F99E6737A3B20E7F244D0EE3
+16B896D4A9E012D330EE4448405B8509D5A725542376C62DB037079983755899
+4037B446AE5C76F87B859B40F1E15941DFA10483B09CA310988A0B8222EC9D48
+CD7E2EED68F56DE242F0DCB89CE28C848418B76402F033AFCA1DAF63A2E89A25
+270983C79343640892569A4E9AC92B09D2B41A97E64F1004E4FD7B24DA42A5FF
+10A5E80EB445F19AF6F90BB3D72B5718F015ACE66CA9366F80E595FEEC2F6E27
+A1755854F5CB958979BA836D6B24C74F17DC7DCBA70AA8864DE711D64CE0E935
+16A49202F4F84758A724915F0601CC441D047CD8C48E935DEB1E02BBC45E27EF
+C3E16910FF0462ECAE94CE35820C822694826363E48D47B7F5F9AF15E709D15A
+B21181A24680DA146B7616F44BF1C59ED7DF89030645BE8C3B5FADC42DE1210B
+FE3CE7DE4281347A64552C0F3A7227E812C096F873EF7F76D4933A2F62E4EBDA
+0A40DA0E6E391D09F7D5427517538237AD42FBD5A4480EF5F2CD1F9770C89E50
+90055781F098E134BEBE3534B1D70E34EBE821E1D0EDAAB39F53FA48D8EB1052
+EDDAB6F8355B41752043E8EA1E4A067FE60B67D73D74AA61DE40050CA7801B0F
+5B13CD61A837B90B669D4F2EBB790278CFE9C6E45EE56227001142B579D9B166
+D442B664A96E1FD5E6133522B53560748CC21E09D1DB61AE9B2691C78696C87A
+CD697EEC8E12CA76C50FEBB5A2DBB5BA1938F53B6B23C352E9935BB04D902613
+D3FEA8DC9BBBAAA2FC0F7A7BD6A4C98E3ED8360E5D1DEAFCFC01487BB944C0AF
+F1711A91ABF68ED460473746BBDDC4DED3A84F505E9FA6271AF53B2FB68B7136
+F1398EF19CEA6A2AC98D76EB90FDBD1E6862CB0B174E51765BDC3A097F089EE3
+0FD4525860E8079082498F3644697076B788230BEA49995B8E732E11EE8523D6
+C4DE13E29C228B60612230E707D8090C3FF96FC6637C73B051BB9898B3E81A4D
+BCB5D2E068D317603F9DCDD6A0FF9325C0B9B215E485A06AEC9032DB8C4DF6DC
+008FB05CAD4A0DADD40FF33FBBDB12DFECC33451DDC4CA8F24FC99861BDCA747
+CAF6D057D8354239ADDD4699A389204F084DB59EA7469C9681A71BF5B6E3731F
+46AE67DD2455E05C3734CA3011D2A713A45638C576306D7DA2709801124F419B
+7AA781BD22B7A14D92E793734BC00B0E1869A301FE7FBDD1197697E9D3AA87DC
+00AD2790CBC408B178DED8D869D4BCB9EBEFFE27E9E76BD65E3575CB637E1FF9
+38AC1A3733925D4CA078E5BBD9FE1FE2372421F6E9E4EB330C282C21BE4A8B0D
+81FE036D9575282EE10EB3571EB2FF15143805F7D763E839C832FBF8ED6EEC28
+4575ED1A7C426D6500862A1C24F229DD5F2C9A072D4CD28923940BE2A72FD3DE
+77F013A554703283D8A6CC3402ADB4AAC8EA201C7CFD86255E49DD65FE6C78F2
+B94F129BF87B9B76BF3970EAF03D023556C774F617E170F7A46B03EDE007A67F
+CB9F0EF7BCABEF9A8EDA90B0E0C32DB0BEEEF22DC4F08AA00B7E8DB1335FA06F
+38B418D92D05CC8DEEF66481F5C8A1A10DC13688DF19B83CCA083AE4DB22733F
+03D65CE2F76BB83B66646D19CE60D38E5C447937A8D1308BFE5AC9A5337FD633
+26B5B9F0B08CEF36D992984746B635BBED8ABA596C5A16FD76C6C4116482CA5D
+22E7AFF9804D8BAAA9A554E64ABF5421FD92257B3FB5AE27E3CE242E10063EC9
+D2C98A5DBA1587FF043BEC677D9A7BDEC2D28F47D4E59BB2C72052C9FBBB097A
+974E4F6C8E61BDE530BC156D74B86168765839B39ADD1E249642ECFE155F054A
+CD7F30FA1193F6E31943D56696F4292314396016690F9F558756FA8725481B9A
+185FBC1A811E70987C6376EE951A821735A6A29C09C1441F0A25901F44104078
+5D97101A87E5DF1C9DE886411F097F38685BE19340FFC89DACDC7492A6ED76E4
+AA84B42ACB8E44008E67F0A16BDE5E0E86D843B700146ADECA68C27EC65160C4
+88B717875087BC5568F44359BC93509D593984A11C65F99EE01CDE508B7ABF7A
+5B725649D7D326F49D00B1C24C4F7CC9B2025C9B13BDB12C32DF3105794A5979
+B7429DB076B738CE15FA08178F11E9BB69E6E1545F331DF50830B17481445F35
+DECD89B939EC16CDF2E1D03B3B491CB1D527DB599C560194B9CB6353C89699E1
+142193ECEAFE4A6CBA6126FB4CDB14B1AF76EAE0B50C66AA4F9C79183FE115FE
+CDAF7BDD0BB96F6D5EB768D16A061C101C56DD2869D4E0F2E7202A5D592E0F7E
+37443959B979FB1DA6FA7272FDE27CF74EA0F9CFDB51CBFEFD0D4D9D4322A372
+840BC4DF0E55878C9015FF0919CE82AB4F8E7D800BD13D34F26EE14AD942C438
+5DE6B21E68A7BE3F4C56F7D2F27E185A4DDD53E86299CE49FEF9DA2F1F4CBAF7
+43462204D5A151E79A132EC6D424CBA2972BE587D59C18598B7DCEB7B4A05C23
+5EDA9D243E72842D06B45ACE999AB85F132A9F539196444370251FB7D00ED0A0
+29583D5A62225CC9E645C36EF5FDF41F4093921B7B1F499BE77587ED7691E87E
+57413D28AA7C01F951AD77241810FA433322DD6535050B290AE499F6F2026F0F
+499ACEF51E064F25D8514BD43F68EDA3EFD3858448C4908B622D0F3E6B680961
+E9B2AD845306A3693DCE0FA5712BBA3CF4071C3C51C09D0800F5F26428C63964
+9633A7840D0FF25FA2052CEC3ED17358BFAF2628CB55B4E92CB450E559FFBC35
+30F334644F6E4416D6564AB527DA66E4944A354AF69883C893A9637998CAE1D4
+FFE1A00F8D8F15A212F1A3CA1639BD008B7B6519F51661D6583A62CC8C5B4087
+69C4DA96AA32CBE1461EB69350F8010CF30A7E8A967650CE4E7F4BE9BAAD691E
+F8EDB87962DF3661BA846C6CC1DBF3D59222510F6145C8979E8E25E60B4FE109
+C93F15FF1204D113C741D529C5C10F6FE33D6EE3582D955E4370DE5DC0E27903
+E3F54FB234616B8B5E7E0CB5B1861DC2F6988F1F5F7EBDD3EC5E1A0D4C759849
+B911A5A78CD2F0ADF7EAFC06C971BF8C4530870649A8F89F112EE405E1384F7E
+CAF8BA3EEB97FFBE221C3F3242428EB94C11B87B71B838874282057CAFDE7BAD
+A3DA9FCE570DE1DEF5883D3E5F64D6C452F065B4D18EC01D2061690C2EA8CA7F
+33119FA8969C80177C7177A9F879EA5560FBC127D055A1A10730B57567243D39
+5C74E40919FC002E7865C3BE9A369126EE643E95A727F30DB163E22BF430BA68
+AADFF078664385272A5454038E88BF3AEEC4B28F073474EA26011D6E034D5E2B
+CE70FBC13C60EB407E3341C2DE931C99D3AC671B8C4A17AA46322478B82C6662
+C97A7B2D2B196F1E539298DAE842204C7E52F2F35A66122439A9FA6337D12751
+A07EB8A23FAB8C28A4AE9D29C78810305EC6440F4020B42C22AF55DD1A49F0DB
+33D6C6CC3D49B5ABBC1551424FC43CBADCFA0F3BF359104487CDF299DCBF7662
+638AE1E12EF22F34C68B2BE3410E3F132ED94495BC182C7AED90F8C64B003400
+B46DF04F96A2FD481E867D6382D527ACEF8D2D7BC29BE7AEA45496C4ECC47B92
+53619A32072671954E7BF0198E75DB1D726925B60A610E7170BDE09931E1C08C
+FC0431C4A74860FF1834EB928C43670CF542CD5BF3DA64C775C0866A3A7B5CFE
+77B99422D6F82B2139ECCCDAF5E400B13D14E92C956A78A5F69BF62CABB006B9
+13A968C8F39CDFE55DC8CCBBA8298033E1A2FACC310EF7C64DE0E76E745FCB2B
+C26AC27DCB097B1091359E2BA323A90F589E9BFCE70866721B078B8FD47F4AA6
+CB37422AE43F0913177ED2D607EEC463EA5C3E5096FB7CEE990B04F92B5D49F1
+029B2949B747F50C5FEF28431D9EAE316397CF7A0817DF1F53CD27E5247C4E36
+65CEF3A2BECFEA9C967B9000482BEF28654EB101793FDC00A4707ED837F9BC05
+00A87F788C253576C448B4698AD0D40991A5C7C5B0F12F27C8ADA4B077E4ECAA
+92418BB596AF2F913457FF1F5F352490F4B7EB048DD872A3AC46A15B95D84E53
+0BC361A44D19B4FFACD266C163CE1E94418155B7EEF323E417F48C6EBA6DB034
+D595C4FB9C27E92BCDE6BB84FC00B38AF3C2994ABEC129E1C43E19107B3DED55
+2D55B425AE9644E63541DCEE0502F74A4762464A9FBEF48894553C71324B56BD
+7667176AA54EC3DED68EDF2D2449802D000A6D7D96181EFB474159A031AE4164
+34BA54C12EC437777A3FA1BE97C3DBF35676C82C196029B117FC4EB91DE1DD40
+A34C9A4C16CC47CB71F1B855624FC2946C4C3DBC5D78957D23218703258A95EC
+E4278150DD69447F8AF21C0C9506569C6A100F5E0AE3452645585E59A436FE12
+9A0ADB814C3459C5C172EE1AC9AC7F92B60C6E05E93279BC8D08495F7FD16728
+BA2775879C4EC6B5648A7059EF09EA9FCF385179E25D2D7EC427E6C56FEB3D9F
+E4BD07D1D700B77534C521025EB99FD00AC65B35FFA7ED44171DF85E0E59342F
+FA9D9C896AF298A534BEAAF6699436E7122F451FF08E0F46DDE9C9438B6DC146
+AF59E2E832448FDBB9B26BA2CFCA0CCD4C283DB1BF1D1D000114CE774FE48136
+611B6DDD11CBE0D22DCF40AFF6CA4A6BE8C0B5AEBAF5732B5B0308FAA880108F
+FEF5C6523D3CEB593BAC6D849F5BC2CAD6433B3AA7A5665D0A997207523F5597
+B2FD3C962A9271B7FA74B38891740FE2B19E9BBA413EF74E3883BB92D4B37501
+E9AD147D24718AE04054B5BFD739D42E8C6161BF5E1160D6AA8015DA6ADC27B9
+866DB50CA1A77D06507B3116B74C1DE8619AE2986A3DF40EBC5F7AF6B9EE291F
+6632A42C3AB73A805077CEE5541BF79BDD708011117D21050F760D58E944501C
+DDC7057CA3ED41F50FEF664BAF667FE890B41B31B12B460B204D6F2D7C6403CF
+A6DB39368670A727EBAE9B04CE4280112519BC7B72B41B573C2B2F2ECC73189E
+4E891E1EB8DEB72C1F14F88009AB71A59997B12465142F6CAE657707C6909F4B
+4DA5A1AAEBEF3D1582CC040D0091284F62C81205F64B6ED8EB53BF4BE958772D
+24F0317B91BAB0F2F66DB0C4729FA97C6366468A0F06FA1EA0B881CC10FBFEFF
+22C47BEACC239CC1E84A5C94F9F30CA11309D26DB2068205990D7EF33DD1E63C
+55D4329BAEE94608822696A9CD597426FC1A81FC65738C4912BA5953DCA0AF85
+97229BB590AE6BD9B3676F2F841F57C7DDA2161D390940DE270844F838144F0D
+98FF810FA6B081A47A0A5FD3B667E4C3F0CF1ECD899B2520C6167D1721FDB60F
+5595A8726A9A0522C2EFB5381856F76E79176E8EF88AC3F984152B8F30F38039
+240E45BF90B1F675A34DEC918819DBAB08041EC3442A24AED5DF85A58881DBAE
+737788B9D613FB139761EBAA824369D3CEA3BB15866B362A1504E491A07594D7
+246767864E84976767D577AA41915E792B832F13F82FB051BA3BC3C6651F6FF5
+E08DE1632D35BEE413E5E4C2F832E802CFB6C170585D81BAD7DD0D73EC22B40E
+9FC077713F18C05161AC96D0EC6DCC7925ADAC27DA76F4E65D1534595EE68229
+85BB2EDFDF8372543E1774EDAADBB5FA466CA400626C7AC73D5D0C0CAE2AD62A
+EAA6CC71E6C431299B8640FEB8BFB805230804C3E2FF48FA6AF65770734E3E0F
+813B9C1E27ACFF8BB37543A15E04E02E0CAA692A13128258EA5AA93F667F1FC1
+D5DC953792B2881777A6FECD532ABA4DAE614E623B65C5706262D6A2D5DCAAD8
+431C3DDB2275DFE5CDA82D8A6F7E464D20C9AD060873252AD44CC254D63C3527
+7A9B2C8EEB401723F4463C90A8C78C5C6C631D4123168DE404D1E36C70CD6582
+110642E33A27B3B9901BE29B2B1DB18AE1E13112666675C74E72B5626CD80260
+A2561F8223E1680B6F99279EF66D03F95BDCE39F96BB2592C0E2CBB4A0F5BF13
+96B23A152012EBFA91D3BD898815B28EADBD10EB9BB27F434590F62E959BECCE
+0498803AA92D3419B6E7CF32470E87BD597293666C28A3EEDD937FF313F11C2F
+0114447865848D2805ABFBE80EEF2E2AD576580EF41AC2E3635E97AF850B9151
+2B80E882F070EF0780E134DC00D0DA10A86251FB9ED197F4CD81ECC5832469FD
+7B2161115F4FAA2E036E464EDF1A5D4B7B9C0F5897ADA1D1DB9079FD3A534F66
+6D79984FB61C4053CB207FBD6EFCEC981B0CDC261F958C1D5720B1D84B3BA2DC
+ACE9A5E19695BF4569234F5DD8803BACB35D56CB5431BBA429EAACFBB8D30A37
+89FC2A31799F4E71D55E0644534E28896DE395CEF4CACA576EF7F0D568D6CB8E
+FC05FD7F2126C8CC7BE09F63D4870676DAE965B67198D32AA8E434D9388D9B40
+7669D2A507B2BA6AAF0DE54F7BC144401CD6A1E8397856D463AFEEE6ECB8A437
+D02429D08194EF8F3BCCCDD086785823B285A5C2FA2CBDF3ED05B849DBBD39D1
+1CED0952114CF77E05C0410B4992CBF1E717A9B54253302A5965768C9CB901EF
+E53CF21E4F26F12579E31652D412081283C0A7114E8F546F79077C0EBC9CB570
+DBFA00D79D33C8EDF785780507FBE8ECE5D4F9768EB22904ADCF7D9332E83581
+D044BC294F4066797F22610B1C7C672746E30C1F66E1D8592F33176C85A42BA3
+1E72E4E96F3F75A64A48C26F90F7166B48D3FEB8503CEA9EFDD4771309C3F921
+058D6691FB12D81C766CFCF4580F62194D19BD6BC5EECB8AA6C6846DAA6B6954
+CF201B5A68BF7156C811E9127513C457071D1278E4E09A
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMMI10
-%!PS-AdobeFont-1.1: CMMI10 1.100
-%%CreationDate: 1996 Jul 23 07:53:57
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMMI10 003.002
+%%Title: CMMI10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup
+/UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMMI10 def
+/FontBBox {-32 -250 1048 750 }readonly def
+/UniqueID 5087385 def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI10.) readonly def
/FullName (CMMI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
end readonly def
-/FontName /CMMI10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 58 /period put
readonly def
-/FontBBox{-32 -250 1048 750}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
-9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
-990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
-6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
-DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
-59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
-D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
-8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
-6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
-1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
-03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
-95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
-74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
-3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
-47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
-AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
-42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
-40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
-B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
-9560176676ABB71BBD0EE56B4CC492C0652750227CEC6CBEEE374709231B00CD
-0DE83AFDE295B314F6C8B1FFD32251C1925D96A64D739FF1DA4926460B28B3DE
-E949AA0BA3DDB16534FBA30C32092D5F712B5E8C8D5142F35AF2906E6C219D2C
-7FD9A368C193E0EB9C7E25FF03C546B6ED993F964CEDB1B8537C617170787F37
-88D6F2AD02384B01067FE3F98257BAB958BB3BCD1001090A4502DA0638080EC6
-DB784CC8AC37CDC01B29BC481D6A05ADC6188785262358C1BF1D694BBF31C1F1
-AF117C1ACED44AAC6EB4B9A2511A6762DDE8FCCBA5
+D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
+45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
+7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
+72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
+BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
+974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
+11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBC7878DFBD546AC2
+1EF6CC527FEEA044B7C8E686367E920F575AD585387358FFF41BCB212922791C
+7B0BD3BED7C6D8F3D9D52D0F181CD4D164E75851D04F64309D810A0DEA1E257B
+0D7633CEFE93FEF9D2FB7901453A46F8ACA007358D904E0189AE7B7221545085
+EDD3D5A3CEACD6023861F13C8A345A68115425E94B8FDCCEC1255454EC3E7A37
+404F6C00A3BCCF851B929D4FE66B6D8FD1C0C80130541609759F18EF07BCD133
+78CBC4A0D8A796A2574260C6A952CA73D9EB5C28356F5C90D1A59DC788762BFF
+A1B6F0614958D09751C0DB2309406F6B4489125B31C5DD365B2F140CB5E42CEE
+88BE11C7176E6BBC90D24E40956279FBDC9D89A6C4A1F4D27EC57F496602FBC4
+C854143903A53EF1188D117C49F8B6F2498B4698C25F2C5E8D8BD833206F88FC
+BD5B495EB993A26B6055BD0BBA2B3DDFD462C39E022D4A1760C845EA448DED88
+98C44BAAB85CD0423E00154C4741240EB3A2290B67144A4C80C88BE3D59AD760
+E553DAC4E8BA00B06398B1D0DFE96FB89449D4AE18CE8B27AFE75D2B84EFDB44
+143FD887F8FB364D000651912E40B0BAEDDA5AD57A3BC0E411E1AD908C77DCE3
+981985F98E258A9BB3A1B845FC4A21BCC54559E51BC0E6C22F0C38540F8C9490
+88A0E23EA504FA79F8960CC9D58611C519D3ACDC63FB2FBCAE6674357D7F2285
+4BCC9F54D3DA421D744D3A341DA3B494BB526C0734E1A8FC71501745399F7683
+FD17EC3044419A88C3979FD2ABA5B0130907B145A8462AAF0A9B511D2C8A7C7F
+347FF6AC057E6512902BFD2918E2CD31DE615F5D643764E900B60287670AE18F
+FDE15545D8BC69591A8CBBB275AFFC9B14BD68DF0AAB32268FB84844D4DBC7BB
+C591C1AC5102C50A9C7BAAA848DA88B0519F0F5F0813BF055CF0E3C86F633A04
+B779D2E8E656DB1E09A66A85FE21CA8BA5523F472A229E83F2C4E91ABA46C733
+F3C7B5775B06C97782BC225C46385BEBDC61572458EFC5CF4190AB7A9C1C92DA
+29F84BAACF552089195966E3AD9E57CC914D20B6962BE80429A16D4DF1ECAA66
+36C4343FADF0B2B48F12E2EB8443C4AA29D00949255F3968617F98B8ABD4CC12
+048B838EE243A21AC808BD295195E4AE9027005F52258BFCA915C8D9AED9A2C0
+80814F79CF943FBE3594C530A22A92E11BE80FCEC1684C4F56712D5846B0749C
+9B54A979B315222F209DEE72583B03093EC38F7C5B9F9BCB21DBE8EDDAE9BE8B
+75ACE6B12A31083AC8348EC84D1D29D2297A266284B7E9734E207DAF59A25F4E
+4AA38509E993C5394FED76E6A2F25462685C4C86C6E8CFC9863338EC1428BDFC
+74616BB1BC8948B0ED4C87C15B4405F3A7796F9DB3798FFFE8BD0A94E834817B
+D5E9812E308D0CC920470A6F2CD088FCB80462BF7CB3F039A7DF3DAF5B2B5355
+E083A385CD2EAF0FC181E40E96DD7E9AB9EF5C7E6866A13B8A54718E950FE097
+EF0951A357114F18CE9933D28B3A77AA71E3CE884661F13284BCED5D5FD1A86D
+543E588FF473DC2CF9A4DC312500135F29C2D0174B32018C8DBD40EF9A232883
+710A1F2AB2CD11312300ACDF789A9B7B93D2035D81D1C84984D92D78A53A00C6
+EDA94B24BBAC1AD17774A4E07E6F74ABD90415965616AD540C8ECD8C3A44EE4F
+7F4F6BB6238C5062D63FA59B7BF08BE93FAEA70A2AB08FBEAAF7DBF56B95FD93
+03CA406543BA6C9527D0DF01F5108D31A51778A5EB1C93F27B72B46146A353A2
+01CACBC829603B9989A87CF64528682CCBA0562A8165B185C58A5C6BB72F5E89
+500ACCAAB8ECEFBB2640E99EAEEC4EA979AA793D013D61D8ACF8784FF8D9398F
+F6A252A709324FB39509F0B3A4E725E82F53543383C6765BE556CC897C758208
+AA3AD37B0406E4A79F8F0A6C1983FC73E71CD858C0DB66ED66D5D992978614EE
+1EA91EBE191E082EBA1FC040AF19A2202575C2EBEB8058833E3520FA03D2F915
+85C1ED337E457B9FEEB0C6EF2735EFDA6E0D05FA641BCF698AC6B97751E8306C
+4DF00A39B8581FF53DB8F8525FDB196D85950906CCB59B8EF171349AA3B567B1
+6A00819947A995FB383C3C1709C9A2C113B2E40BB832B7D4A0FBA0B16A2C455F
+55809CC425C403E9668DC66BE45B71A81C332FD4DB279D22A2959962304A8F18
+085893DAC61317D24A8F198FDAB95F3B86F0AFD35047B868A9A17037A2829A02
+BAB042F75F349E197A7EED41984C2859754CAFD0251439921C248B463B516951
+2E1322C80D73F9CBCAA63A585450275AC2492E4D3FB78E800F788254DB5E610D
+CF788DF5C70FF99892BCDF16133E34B24B77C8F097F546B87C603DDB8998B66E
+BACB68BA27462AF54AA405682EC96D701F0D474DECD5F95CA2102DF639EB169E
+D518162C2BAE45FF698B6DE15FC6E7DE48C336C40A670FD26952A6BAB09115E1
+991F0073419F2CC2A1C08BE91096936AA0C37E4ED3CCCEE235476074B8FF1125
+6BDE3701F85532D8BB64CCC927CC335281C95EA689706F0AC717DC2CF680C754
+E5EFD7FA4BB8880B2B727A964C876D4A223069D4E6001771F0E23EAD2A4BBC80
+E76675297B2EF05F52BF4E71B3EE2BE3048CF088C79540113C66AE98B2FD3CB1
+B0741A215FD070882C52765009D7D711DAA2508F19AE7DDA15229A856AC49BC3
+4DDF40814FF96500E4B9B02D412E94623C5FDCC76C0FB8E42DF56A904FE49D65
+1DA7C53901B2EA71AB658A464D3ABDE27D9DB8D9E0B48F64E61A2495AD5D8DAB
+B5E72424AD017DF37964AF911BD7FA21A5EB4775DC8E95EF0C0EB856B00D89D7
+8172A1DE8530767D317B8256103E53CFB877E10686A04F5A08F8DC58D843DEBA
+FD5F40597588663D103689F6EB3EB14D06E18C8078F2538B43E712DF491FC5C6
+AF639256C8C6134B64D560D8476DEA6329D995E46CC4BC78841C59E73648B47E
+BFA7DE0846422F738454AE77E822A083405289247BD7C478BE4974F742CD6051
+E99FBB1D1B3FBABFEE855174734EE45E87D0AADF32B1283B911162A9955847FD
+38944D70584FAA6B1A7191C5C134B73F98EB632B69E2F0C0F94156787C34C8A3
+7622A029D58F9626B74F8A8A1F3803E0BC20E0EADEB1E99B70F1BD9F980FB751
+2A842843DE42EB142A84D5D3138629AE9EAF6F3479C423E8829C8816FA6EFA27
+DCE5580E65AA9854B1C64163DC318420CD993C15BFD76A8BA1182860A6B03D6D
+22B8CF43CFE6C8AB27C64842E239CAE707D3086BADDE1D7C94E3BC96319470D6
+8D26915C575CFDD03271D6BB9DE86A0EB6EEA6E768B224A626C62A9AB48A6EDB
+44F70BB5AF991CDF9736D65933E81CC57A78F623F33EC9AF535F2F25FA4EEC90
+D50DB7E87F31E971A75A33A301CA6013EEC5A4E179D695B33DADF2C98364434A
+42926776000B610E17524162253F6FA638D6581C18F99EA0BD1D2E24D2424ADF
+C05010D08192485153DD03930C7BF45237593E484F9851E6D464FA10FECA5D9E
+0C8CCC97DE029030900CDBB491C5CF226DBF903CFE7735D939C3FDF3A20B70CE
+66579B28B99313FEE914E295388C7BC8E055A2E54EA3A8206D3C8F4F7C0BA5E6
+E519419FD8CE215F7B8E9BEC604A9E3FE272A0328A24E31997C8A91E0946BCF1
+6943A97CBED2AB9FC636B49828BBB8B89E0BBC2653796431224895ABA5DAC41E
+1854BD9764E86147FD7624F736F40DE3B7582EDDFD15C2BDE3F22B5A54D7DF10
+B87A1301CE85CFC061689A890A321412A13314AE96DCD3EDA75035FDD8F4AB9B
+897A2C68263A68457032C469987970648BA2D88B1C5375DFEAA35A917B8A952E
+EE670427942AEDB3CB599C5746180E392837D371E15D860620ABDB6AA7772C40
+A5E346661673ACA530BE3D8E3FFB895E5DA3DC23B1B43C080C77F7E47847F0F3
+F3AA5CA9E4BF75FC5EBD18D19F21A7DAA3B11CABC6E4070A15F7DBC8B05EB6AA
+A02EF1B078EB66D61D6AFE41DA9B36FE7EC9EF94D1EA26282A9871E2CACB3126
+2AD49C2D9B50A6E47D8F2CCAD50992D1B430979A45FD9E76182A19964BB2A1F6
+51779A2B258DC1DF4C2F3074621286831F3848AC152DDD2BA561E6586ADA88D3
+598A2CE2CD048F027CE0008B828BD915887D7785341E8305DF2346ADB76BE99F
+87B02173BDC334E9221C8DF54114A6B24C1C5340299512FA6C8C51AB4C8778CE
+178CEF531C6D1B5FF0A1BE8EFF767F959BD4C345C52699A29A17B2A230842BF6
+4B011217D6D24EDAC3F6D53482786F1CA33169B90ECD499407D37CE9B70DDF78
+7B7547B32952535BA9ACD1E244447AE3FCED3AF28717083CF9590A09780984D6
+AF0743C82AE4FB3E2BB2856A4153A3967A023FFC35382D6C22D84A924900B6A6
+3DDD400E6D2418DA6C27F2FA34C075C902B89EBAE658B3C9A18EEE449DA5A379
+337DE95CB7AB3F0970CF1A5D8FAD8090E495570FDFB2FBBA79244780D8035547
+C5A55BB21A2270F724BF5D442CDC5BB9F09BE0CAE59B1C2270F0BDACE698F2C5
+DE8F66BFB9634904B161F5BA2B1950048300D69BABD312D58D89C4ED527AF7BA
+7DA2478EDC2CDEE3473DD8A8ED9D891CD1FC21F23013228BB3281B71FCE959BD
+6F8E9059D682A7FCC5265A0620992D4FA8D78377EB34CE3ECA070EE3707239BC
+98907DB0120CE42ABA32CF97127E28382BDDFD685674279F588D4F951216C355
+821361790F64C2CC720DE97E8ECB57326C43EE47367628E05769E106868B54F4
+C33C9951908DF6FC4F5ED2C7787BD8FA591BBB3E9C6C1DA94CC5E38D9B20C886
+7D237572FF46DD896A4D6163408EA6CEFAC398EE041EAE29D577E75326CA17A6
+B072D47A7B13EC441CE6DAA042ECD02134CBFA6809A435050413817193DAEB16
+A5882C8AEA44BCF36E74E9ECCDFE7E19FF5A5DD7A94E5AB4F8702C3DA7F42325
+23C808670A0490F5B373DADE40814FF9650241D3D69C91FBC5ECE728F827D9BF
+C928602E05477903449E079164CA39859C4BCA60C579F490AA455F82B5050BB3
+969AFB478E0D4A257B3356EA3CD62051FCE6C6B1929CFF85BFDF166BEF658E10
+3A55E007F38EBBB248B3F0B8ED1925106B499B762E45113AE1AC9DE09644C84B
+9C08034B297314EE69BC32DB6E7D7FB9913CE5AC17E7335979E9DCCE2BAB3725
+1976155551F9706A576FE0E3ADCCF72C87683291528ECB749CB0ED291966E239
+B5E3630676BD409E08F85BC1AEC9A2D4135376284A96EA24431243BD6FE8B966
+95F11A4BB53F392E0AEFEA623064FF8A7002367B0A515635CB2D2DDFB9B4A8D7
+FE721754E81BBA548848A235B91AD4E4F7DB19CCE2F61D277FC00AB956EB93BE
+44AB4970CA56BF59506C94ED160FB1E25D3DF2988A532BDB787BFB8539D22986
+FDC378AC31444E63C4727FEE121A43751043849E6DCAC5B59D0FC703AAFBBFD4
+E8B7C268F21615AD02CE9DABEFA27B5FE6A6441B619539CAB1F810F1263447AA
+633F5DAF483752EF1A0421740E3A811D2D2898CBF53E7F686C9223FD7235F02D
+6F90D2D48CC20AB87778DE3C6FB335E0F0EC20B5DC5B65223FE117526DE2C72F
+FE839DF93CB2A7D66CD900CB325F891E311BEC932F703FB4FEFA29DB8B9C88DD
+375EC71B3D58C7BC59ADA91971A3BDA1ADEA629CE6CC92BD542CDDFAA7706FB2
+6CDDE2DF07E56D6741916AE8E8744339816F3E6C38062747AA9FDA2A2678A6B7
+EFEA870AA3A4D71B25EE3013EAB1DBA34401B867C7A41AE51E0421D41D3BB83C
+E120C8FEABA6E5DEC53A689C21426D4BBCB68CB37568761C360E6D4E3596FB7D
+F4DEC7918E58C0293D12D6DDA7E9DCDAAD7C939F55CD1BC4A228B31E9A904156
+DA6B40B08E6ACE674618B768DD681C772A3E55FE096CF949CF3B0460ABDCD891
+D17B37B355B29AB5137899C036F31DA026244FA25FB798FBE5105BDA29F46538
+D3D3AC1001A7BCECE64DE94FFE6C354166A0F97256137BDFA07F6E22A3D1D2F4
+9588DBAE95E895BC5E64DDCBBAA8D0A22C229B42CB717FC711E7E9DF793DF80B
+9F14754585A3C7E17F37B32924B9F9870DA8635E3E18BD1DCD81EDF01834D9C6
+B33F23C956C2FCBFA47D84422F583459D827D1E120B97694D12F1F54D02379C0
+D288F7104F3FFCF4F76E3494F4ACBD1BE3A15543CC680924C78A473F8E311ADF
+8FE00A04C6C393DE61AD3EDA5BC031E2353076A2489391B52632387CA28A7B93
+FBB065A6EF3658AE80B1ADA47E9B2539E73A71FA75645F85ED8ECC257FB4CF26
+B6C912DE9D0F9899E70BECCB934AD32CF49A093371A9F73DE6255EBC39DE1E7F
+00D0CBDABD4D0383977E694890E71FBE5C376BE5F3A80C28987417504F515C50
+909F3D31178BB9B1D085BE514F71B910A9085BD6122DDC72A150BFE266920E49
+5661BCB4BAB51D6DEFE32B616963DBD989FCDD1637B294CE4E288655FBEFA1BF
+7F25BBF8CF17C2D5FD161A7C2CC9CC7490D9BF15A1D35B3BFA43ADE256E88BDA
+BD490D92907C57BAC408A575EC84D6AEE070148C7C9A91C03B09FDBD792E8FF0
+C0B886AAD2EDD86541E5E579359D40E3AC312ACD3D8FD49F71BD533DDF8859B1
+BAF17F1884E331DD07CEEF93B71D492AEBAADF7A263450A7A72210CE630A0D37
+BF024BDC09ACC882816B8C22C62AE38A3A8D0F6EBC2B1B2C0B8161A8B076DD5D
+4B779C0788546BB4CF57332230D237856B00D79C28A7C01D11F44B7304F69075
+94B97A745DA43D1BE561372CE611C345A843834E46AD9DDB16CABCD3FA33D6F1
+F6B5C0497F5EE5400B305CDC16A7EC286AA4D45D0EEBB9DA06AC9C5294D68EC9
+E4DC3CA2B92CE8FC0526184A86EDC7AB34D67E60AC12D9CA8FD300235EC968BA
+92C6FBDA47572BC5600F25249F60AD287CBDAE980E747FCBE7EE5CD323E733F0
+63553B494D3DDEB9CC1480B5C3BB79A28E419AA65B18CB297AB383419E890E2A
+CE6F98C9900CCB4675280A10CF060B8D220DDA1BE55DFA65715EABCC1AFAA271
+B1F8732341613E17B231231A0D24D4D7FC198AE04D89A99C4536217769C6FBD9
+5EE24A6302F97438F7C0E311C878F674B4477A5ADA3952CDE4055AC408B8174E
+86F8FB797646DFFFE0ECA25D1BAB9A9F71F3926D3D85AA63E7A8C931D71E79E0
+AF1EAC26FADE468F4FF7F3861D14C10E3BE1F9EAFD6D3A544E8108D5DAB5B180
+3950C74818BC8AF4758A108F462EF1826647A49667F5E482038C54716856D9BC
+35F29922846D2148F92F943E951D7438C73D6A60459A8003174036C64E1629CD
+155D47FD04B03C023AD67CD5A70C98AB556EEAB8C48169706E5B352F6505D580
+AC945171BFE62E81F8F500438AC3B64D857BA5BC54C2C4BBB237F8FA51296255
+E66A92A61FE13FDE781D393557EB72CEBAD86511035F775FAC39A0479CCD400F
+226709118F887F47CC2ECC8F79816D4A945B2845F50AFD62D8C9A9BBF4739496
+9E644BC9F7B04803B7EE75A09EAE94365F6F374B4FCEB0B506C76297564B9B6B
+8B812BC3A33929AA94692572B010E6210AEAA312BDFC88BF302244AB9D587A9B
+919823FD01DE12438D960944D1977800FEB49E638C32E5B188B1CA033E0C37EE
+A142F746367888AA119535F0CCAF7EAA461B790EB089D2D6962E28A398439BB7
+9C9943654D7A2D765B46BC0DD1F915327F369162E1BA1BA83110B93F442905E0
+523BFF5E279508A98568CD5CFD18FABBE9D17265A9081E7BF64155A2CE3C0DF7
+88D00671AD65654709589BAD7EA65BBA811387ABA5CA0BC3F66D3D48597A0D1D
+2C268375DF47CCF62166262AE4840AB03BF49BE67A05EF66328EC729F03CA5FF
+AD3937FC053E223303565DC771ACF32E63DFB96D5030E787961D72D02C195C66
+B48E9AF0309DC169CFE8D16E2818DA94693A18F027DEA0D916672480464F7E22
+CA6E431FE38D3FC019BDD229E064B72C545C61C6EA55984565CCA88ACB01F744
+3B4593CC8944C70F30925FB48A16342CC26D444F54CA15E5A624C4A2DAA2AEF8
+404145BBA339F2A2D6FC2F3ECE54387761CA1213C8D56FF96E37C6147CA44B84
+262EA87E7CC10D931E6B5B80D7F09813498497AA84ACB4AC69BC6C8481ED2953
+084F560D7B1CF90555E69BD2AF7C5D944E8E3506165014652462BE1BC81CA341
+E1B0725159D36DA0FFF3577D1DEBC5D91AE683FB0384
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMMI12
-%!PS-AdobeFont-1.1: CMMI12 1.100
-%%CreationDate: 1996 Jul 27 08:57:55
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMMI12 003.002
+%%Title: CMMI12
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI12.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMMI12 known{/CMMI12 findfont dup/UniqueID known{dup
+/UniqueID get 5087386 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMMI12 def
+/FontBBox {-31 -250 1026 750 }readonly def
+/UniqueID 5087386 def
+/PaintType 0 def
+/FontInfo 10 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI12.) readonly def
/FullName (CMMI12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+/ascent 750 def
end readonly def
-/FontName /CMMI12 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 58 /period put
readonly def
-/FontBBox{-30 -250 1026 750}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
-3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
-532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
-B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
-986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
-D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
-5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
-4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67
-3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993
-EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F
-4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59
-2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A
-323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C
-2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1
-D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA
-5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F
-0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D
-A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77
-2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60
-00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8
-CA0DA1186446DD565542BCCC7D339A1EB34C7F49246E8D72E987EB477C6DB757
-99AF86CEBCD7605C487A00CD2CD093098182DC57B20D78ECE0BECF3A0BF88EBA
-C866DB19F34BBBED6634AFC0F08D2AFB2A92578A6F8B4ADCD6594737FF6EED7D
-5B536DA9E3E2CADB40DB7C600EA4D100D33C3B92B1CF857E012C4EB370BA8295
-55B50047CC8911C98FE1A7BA6CDEA82D34476286E710776823690AD333DD3A49
-335002F4680DBE1C21174BF016B0DF799B01EB9D6988479A8334BBA2F8DC7146
-BC0DAE9DE3A6453B181808E68A89E0C02DAC6264D002B422EBC1CF14F65D9888
-15EE6D514D3457F7F3C6A3D17EE1DA076F73ECC392D349174DA9E4680F29CE10
-0157E42CA35F5DBFF56BFC3AA07E61A78DBE882C5AB388220C19750D3643E7C8
-23D6673027CE568A4ACCE1D12B1D9E5A43507F4AF9BC873237F65A6B95078DD2
-378007CF0F0DE7CCEF760E19D6D1D7B412EC5D4972
+D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
+45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
+7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
+72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
+BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
+974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
+11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBFE3573BF464E2BE
+882A715BE109B49A15C32F62CF5C10257E5EA12C24F72137EB63297C28625AC3
+2274038691582D6D75FE8F895A0813982793297E49CC9B54053BA2ABD429156A
+7FFCD7B19DAA44E2107720921B74185AE507AC33141819511A6AC20BC20FB541
+0B5AAEC5743673E9E39C1976D5E6EB4E4D8E2B31BEA302E5AF1B2FBCEC6D9E69
+987970648B9276232093695D55A806D87648B1749CB537E78BB08AA83A5001F7
+609CD1D17FFA1043EB3807AF0B596AF38C91A9675E2A53196FEF45849C95F7DC
+182A5EC0EC4435A8A4B6E1CDBF9A5AF457564EA72BF85228EB6FD244F2511F5A
+CA9B71A65D53CC06EF5F7EC3A85106139A4D312378BC22183C09A229577B793A
+1B7422611C03E84BF809F46C62CE52D3AE29CE01C32B202ACDAA5B72733EB0AE
+C31D7EF7BA88D2D14F85313F7A8B9B7A5B124B03AB923744D336C969E5CE304D
+3AD977A46664479EDEFB69F113024E761C05FA48A54072DF9E12C2F352ACB3E6
+D04F6EEFFDE209E7FA3DA22E5B1D1409461F4286B7F4F8251B44E5CB7805762E
+E129FF4A06A7458F3191926B1CAF70E32C6571AD2DC07C34FF62840896F4D200
+761B1A7FA356526D1E3AB4C542AF13623BAEB9F61B1BEEF79A9205B1FEFDAE24
+8799D516A9ACC30BC0139C63C9A0523E9D5439213B67D490C96F902958779B8F
+68BD8E9FDDCE8A3A2E35877DB6C94B7612382ED8F218EB1157D2ADD090A2448D
+10B99FBC9211C5629ED1C61C74FE93041E5AA03EA4AC3FFDA00C2B6E719CFAA4
+262FE17F66804A6B54D3669836EE4367D2A2991580C5564463C973CA0DA38AC6
+922716E13B4A807B50304B8826CEFEAA47C305FC07EB2AF25FA7945797237B16
+56CDE17AB0834F5C97E0CC5741B061C6FF3A8DD1A79B9A173B66A6A750538E26
+32FBC92E75BA15CFFE22A7302F47908547007402569158F62C29BA2956534FEA
+7DACF1E507AC309DAE8C325F2A6023D2FBD81EF42146BFCE6A16A6310A650460
+7B07BB7647C8760FADDF0DBBCD3DA6CC4645D1732DB3A22D8B76E1D2D48E4D4A
+46F4BEB80CE65F3517283A1AE08391FD1C10ED452133706BC6725AABC80107FD
+754A8BA47B0281D479F052CE26A723EFFACB79B213041A536542AB334769A2BF
+88505D82C498ABDD5A73EB539530F47CAC52825D16A969C8BB56D4A7F2830B8F
+CB63B92B576E7BD922A4B25E634751F8A3B7C4EBAFCB373EDC8B8281B1D1371A
+7844E9AD990CFF09F0D7ED73A5CF873D2D5C9E8A9923CFA31E1A4B4CCCC40760
+8B3AC8FC3C88BC08BD7407725281BB879A1A822D94997826418F1B89D303F2C0
+BE7A0102E6F529630CBF1BC5BF3E4578C164A3DDE45E62A957EF3FB7F0FBBA6B
+CA1E79A1ED195B6A11CFB345B663C5E72FA55D80476F604F6C4257B51686AE25
+8F7D159FE605DDA0AC74BAA5034F29FFFD403070013C6E2D8EF6A0990D91173B
+D5A3AEB98B64E412991505C3CB7C2CDE13C091FEB3DFBCAF30C4C19511102300
+135BD5D444BB55692013F52056908DFAB2ABFACE81A58423ACEC59344CEF7D4A
+C5A3EFFFFF70759BC3E593D878281225060B97D1BEE6B26EED90571FEAFA1812
+1115C0EEC892F5DE6FDD68321A0B3F10A2D771B79BD85476AF6018472A499A86
+07D64CFF4550866AFE590C471C80EB12CB3A989A60BC7BED39097C12D9286E39
+14C7952C4C64820B4DE44A1827B7B0B535244E93FDB80036D6332F90F95B472D
+7031E7E3819E881BD0313CFA112EB3AAE943C99C47635CCA7E34DC0306C04E5D
+2E9F60FF037EB11602BE74E8E6B711392E866E3E55D988F7C856417A2B9C186D
+639819B4786D039B77F8578EF63C088FF28BD08D8353031445C8498A8F445BC3
+D08923D32AC04BF3CAFEFCCC1E77EA894F4E846F47EF62D6841B8D8576FEAE8F
+90044626869D04D61D64D56E8C51AF8C18D6CC3FEF3B6C4F7D56FE3260354948
+10104F69B117FB8269292579A7D52FED688C663B643D8D99F13956612271073E
+1A337AED059B7A93819A28CDF01569CBEB51069D22ADAE25C47355560F402B2E
+8C9900DA82B79C64497C8494F42FABE5AC41791C2010D98FB7E593C744F250DC
+D837DB0EAA4F75D0016970F3AE8359878A08CF9A697A06C5EA945819151265B9
+1A12122B98F79185DF852257BB4798E7DC03712EA6ED34F6E6AE1476788DBC33
+9229FADB8D581BE1A63F596698DBD6DB98A092F67197A4FD4A50B648F2691875
+EE2495D6BB310078F516785A0CEC7EB6E8305FDBAEB1D15690409FE32DD9CFAE
+DBD3866FB63EBCAAB73E3E4BE5D7F3AA44793938AAF3F8341683F0790F1D46A3
+60CE083F9BEDDA22E0639A92393960F86602216FA51E2754BC2F4CD0BDECE3D8
+FFAB7E0E49613DD4956C9A10AEA798BDA1F756C755BEC12147ADECAB0FB73B7D
+203A11D84DD2AB5AA98FD38C1C2573570FD49A4924A94A106D2A7D850E793608
+FB135853E8C4204441CDBE697FD0CB330B1C3596F32D2BCBF263237EAB362D09
+DA6F531B40384DC91F30674760CA7B64BA1968F6A7FC9EBEF431A1AFC5E76D7F
+2D44DCB7F61C7F6B16196B3E8B47343F572DBA8B8B21B43E35BB6B2DD5C7982D
+244FD4304D254D6CCB5E8CF70E77F50812F41A988EEB3B26BF0F6F69BBA18077
+31134B5A5823D10FEF6201D045AEE7A24E0F25376E9FC66340C56C05F6CD810B
+724D85CC4BB8D789834A447CBBA159565D08BA5793D8599035BB5063271518E8
+F6C50E7DCE71B1D186270DDC860C6DC0CD506010EB5B1FDF6BE47A9A18CC15D7
+D657E58BED9EECAD5CE5D49F63139A39BC52C6584BB2C3264D51BD584B40F8EA
+AFCD8B83F548594386EB2B05CE803105E84931DC6E7A1398073D48E130E0D907
+CD0F1ECC3254EDF5D4DDBF44415DC9BA66C673820CDB0FDF033D59BE2B5EFCEF
+01FF9D33EDC88F8D522E07F1689D024DBCD09A16A63519E1764C8630FF36058D
+CFC07027E0ECDA01E0E85B166C613B22F587B4D355EB018BA93E92A36007B4DA
+287FF5A91F7D8A0EDF5554ACCF45AC8066E88865C5692E63EB99CAC81367B605
+8E6C19EB98EBFE0D2D161B447B9A70CDD1122C7B78A413369016E6D8481E2AE9
+9AA97B5DD0ACC9B0820F7742CEB2F46F89F3E2092621969A88DC0156B4F941A1
+6BF1546D4B136657C47B082A8A35FE96016BAF3D9679B8C32EDDD6AE6DF3BFB5
+7854074FA019707FC22BFA82299E72ADF9A980AE29A8E2434277E58B01F6B03C
+192E1E25DADD49F6E3F69799AE62B56E00B60A031BF8721DB8B2CB6D4A4C15CA
+AB1FDE010AB7DC0DDED977389B101B8E53A949222FAA126656E02817DD32B0D4
+A49516CEC2B97EA7C78FD66229B044EB92F502384BCC6CCDFFF995EABE3BB7A9
+50D5D1AED861E7D3BA8D333026C673C5762712E763E59261426044583D789C67
+A606B96F97663F92BF104CE02FBFDFC521EC0D6670B7D4F85A229F51426DE912
+3B729C4A535FB7C88D0A5E78074751B58885DD6BDD2DD9E9C83F105E8CF63DDF
+CA7DB39D0319CA7CC2E73F42747F007574DE25AE1538B4D493D22D0D5F0F80C6
+5F6FA3937C8391DE2F0116F81DB2DB0EF751EC838A7F85F163A6F48804E84B96
+8D715EF25B7E2A5CAECC558D80F421052A1D698F3B8452AC27E30A4E6226E3CE
+084C8A83ADA0818A110923CF7AC7AD4CB92AE4ABBE0A9EC1FF935FD02774C1F7
+92A278E513012AD17722A23C55EF82E18F8847B5CCE47F4FE3EC508BA563F7B2
+AE56C94285A18DED4D432FB0CEFC05A20BC17DDF9FF919C724810A8ED7358A27
+97EC93C1A13C443A91947FE1F6F528EA7B628917FA7E554A1D7B31ED46C5ABCF
+92BA57961C8876DB4041305EBB029B03D8351D5E2819FF87E97ED214D8F1CEF5
+7F7668DDE223721C0B810F4A4AC81CA4EAC86EAE546E1B15D91E626FB9A31824
+5BFF17C4E79FD56ADBF6DBF01BAF6453A81EBDCB38A5FC0FD0FF0646B3B0D199
+13E2E59A1B5CAB6DE5329BE389BA0E2A2AB55CA40B711ED746C24F1E48892E76
+6DACF7DA163CDC90CF076763008E7A899870CDED5A80758E6177BE6B93B07EB1
+5800A3BF7B9AAC3FA825CE594EF5B7546B181375FA8F37608DF17856D2F8EBD5
+6030A9E6F6BEAF224AD2AEF76D03B023E2FCB922CB8E3C6816AABB61FE6E4F83
+F21B4935102C860ECA03DBEFCA461F0E5B93E5A8D18440BCF7D1D6252A24CB6E
+A64FDAC8B67C4888519AA368D9C4A8C08C7155DF5BACD75C5196C571C3C456C4
+7CE8D90215FA6EE8CDD72C48740F7F5930EC3632DB63A9C8D2DA125088C0F05A
+9FC83D16B7F53163F4EB6FF372C6C3115F1E68EB35967D11126EDEDF0BF80817
+E68A698183B3EB0A207DB43786E1B9D289359D75AD5E465328CAA90E712C2962
+AE2A466173F2FF30EB535A6054BB0B875DC8552C16B49DF17CF84D98D35497BD
+F55E273FCBB0C735899529A69990E09149FBD2DDE64B7FA8D50AE83925DF03C8
+0B63EA158FBABB12A028803DA4B9DD6C48C0FEC469C4E730729F4BB420D5B003
+1918B4AE9CF35CFD31E8E62A44C0484E3D00143BF1D330235E821E5CFEAB4D31
+7CB4604DB1F310457FCF9075A3527279644D908DE847CCD00B6F50DBDEF91D3E
+38238CAF550FDCABA2C3A46237218DCC5A09AFAF69997E1EBDA7EFE6FC99ECC8
+5D4AFD5EE35FE2346BE79B499EC8EC436868154A947D13BC02C780EBA4B9E64F
+3026F1BF5DC1F8D64FEA1281EA40B4BC355638A3A59BD9055BCBB232FA45EA0B
+B405131B64F105814019BC55466EE78E9E9ABB62DB30EA452F7EFD7196C76A85
+15B2CFCD89922CADC0F392B0C54A231F3999AEFB53C24EB0C63B0C8A1A1ABB6B
+AAB2F93E5ECC7AB90EADA320E918106BAAFC1F8C425C617639984629018BA674
+6FF4F338AC43E23BC3740542911C058D43A49A11CB3A0CC8E3088BB5BA6048D6
+CC2AD250DE956BFBE83BB24C945C20D9C22E7105983F284EF478F9B68BFB0322
+EEB7D62802CBAAEFF1C2332159DCC7243EA40CE15C734EA905E04C476B178B82
+A08ABCB0B86A7330C75E62EE7844C9E22DDB013ADDF20AFE08122EE1B930A81D
+806A0F8CC584CB7FF5F56F9B35E5FF78FD93E7E4A40C64537464EAA275FE88F4
+461FC6A467C8A69B9A9FBC10D44AC1B753D313A8E7D97F5FAEB60F82855658D1
+4DCEE043C8FCDFD8A29DD091F3BA55874A458B2B8989F35055C72FC411382361
+9AADC717E602B48D7C9521D3971A6F7EB19D539445DDE9EFBC5B58FA9E5E426C
+172C45CDA24985FC4632287FC3B15849DEB56F5A061993AB10A6BC59868534E6
+69888175053108B77E4978D971B4EC57224C0F93EEA4C15AE92254140A94704E
+ED5666FC06C5341F643F779CC88A9E81891565C63B6F7F6286E664F4E0A48690
+356DC96F1B98026C563700772485B83BFA06435D4E0793EF822F423C93FBACA0
+E5D889D2B76771C6F0EE997A5DB43C2F6921132890406E3C33F6F159B14C5D78
+7C151BDFFDD02B697315F191B5490073EB418A4FF2A398C68D44F0CD1B87CF9C
+B52F12728B72F94D752D23151196A256908135C87991E508B8906CE2539DCA8A
+31F86809C8C6C18A09F6129BD7CDC6B37E76B648788056851F22BD3E3B5772FF
+EC01D822B57FFDB3BAE624F05531292641FD6A7E3666152D18F6C653048DD7D7
+98A942C840C4A0FA662F260B21C64214152BB86F03662A330109C5AC0A5EBA30
+C6201F558858130703DF76AF4FBBEE069BDE45C0D9467077D85FFED4F9BA9C61
+AED87D67CDCA453A6528AC5BA153E1039D9CCC556CEA5CBB542265FF54A1B208
+E0E13740E7E7C26AA00AEE909F8F3ADC2726081A744D8EF6BB711BF5F611A900
+76F91C26A338DA13A7160A9F42410CCEB3190000D963D036FDA05A29F598EF40
+8FAE6F8E7E6F50C99C3304A573501C13A00023085F057DF331E3354CBE65D573
+CAE73BF15B3B96B502E0AAF2B4A86237E98A997AAEFFF4227D5A26E8972C48E7
+761F430733E6EF8AB2D903C17FAFBFA21C25F8A0AC157D397BF3CC1AE7598F0A
+2BE4FB46B29443CE57F41FD5F91122E9D86F903E94D5B55E2BB95949C156D138
+89883BEFD634311F9280C7F028DCA6408D3A682DF5B55B9F7ABF08F019190F60
+D39E4F0E80F0594235B09A5320109638B938633A2C196E4ED2B43DCD8643C3CF
+C6123B076B7F73352F906D96FDE0FBF50CCCA432712C574D5857838BAC30B485
+D25024EB254A7EFE57D1DF0892C275CDB3DF77602F0FED0FAEBC644BCACA04B8
+B424DB125E487794CAB36E01B5E1A26F5E1E97A739AA36D77A12F5B45338EB39
+AF36CEBDED55DCBFCF497FD475FC6BAB5530AD6153C6BD982564EE8712185F1F
+D5EA7ADF4104661168A01994C1FD773A50C8AD6A3E4D332E4D59521BB8BBC6C3
+866EB4AC3EA4532477E6CBF6BBF0860031C3B916AA25E3492670EA67F55CF4FD
+207C684A0DDB6F4AD21B2909CBA71BCE2E762012B0927BA72367A6AE0AF87F73
+756C9BC85E4EDE35317E2CCCD138C02C7A8013AFDC1A48C3A4BB8EF257BDEEA7
+60E012F54D12D31D18DC59D5E526F12567B8688B4B67E16B56713870300016BD
+A3B9DA87FDC865246AF8E94316799110D86B1DDADB8A673402D4226C519C058A
+1D1E5A5778584FC28AF12819B1924060BC4F54B1054EA6AB0149E04B8C4302D4
+A56D8A347EB5D3D2A0E12CF7E35059BDB53D9FF6BD25F6D9619BC4669CFC1048
+C6C9978B8751B840F27D82A69075832BE59F55C1737CBB1220FB8FF691FDBDF3
+03BD7D225A9372AC221C38245E48320E1CCF898D9EEDD678E5B8C65B7F588321
+1A3953EEB9B39EA9A8CB72DB08C3E9234DFFF5FDF9DF804C021D57E97DA7622B
+97F4CB6E0EB640E0DC9EA15C5193F92A3A7565F4C7A4C9CC327F7CD2C44900AE
+D9E76FFE62FC37FA376E77131B566AE67C3E09DA80F198BBB995EE8FA47EEDB8
+4B467C6C7DB8AEA745CF8C56B8BE56534E9C56FCB2B7006426DFE93D728FA4CF
+94F131C549814E54ECE7C914C5FE8E4961D3437CE7475D03534B62650F551D97
+201C794AA877445DBEB11C85ADF6119B05360700F8CEDE4766E3A1D7A35CDDC7
+9ABF7C619E3868A39D1852DBE1EEAF5D7898C78323873AC005542B68C43C5000
+CC58F675EB595F87C879694751494676465891E8A897158B481F11A171CCBBD7
+29603F00210CFD7FF31FE3D273933ECC34AFBCC4108D9B76D9ECE63EA06CF939
+4799092A54A749DACB82C1424E9879672C8BC084C360014C9C1B6D5D65C68AED
+66CE329C3AD712C0A36BE7EF03FDF339CAA2E0336D387A693B1DFAB5D5164E31
+14755A158168962C9B399F8F1DF3FF5060D7464D5071058C30C572A2BC7DEE53
+84BD7614A4BEC4C84E18CF7EC81C811724463BD46CECA5FB57B0F55EAE20CC74
+6AD815D1897B037C197D2456797B992C20C70B663BF99FE28C513B4E221C8E12
+49779F8C0AE8517048ADDF7CDF0D698E3EFE60071C4997B7F5EF12B6CB65390C
+224F13FBB99FFC034C0710F05019899689B6D3350BBA65C7CE7C2AB03D81B9A5
+5F3D65E4D462DAB189006669F7390A78A1B8908A4C913B15DB8827DFF15BB9A4
+A6037DDB643103B937257A7DAB025F09D53FBBC2BCB6B0BCD8D56B2B2784E498
+1F6CF8470DCC892AD0CFE11578718948BABF9C1427084643B66BB9181094E29D
+5FBE37708E1D8A6B7518A96876844CB66954227A7A6AF28DD075A462526DD5D6
+40EECC56FA366106E55C7068997B54B7F0D03AC1AD45D28C67C7ECA99DBEDB1C
+E18A79C353113E2E05B837E703278B202112B1C69E42A69D64B62F0E7D8F7E5B
+C1F93F0F99EC20EF312046F4B0CD7DAB31E422070B629A7FA96583CF3F1519CD
+CF08806F40ACD7BB5C960F21E9DA7FB3C72CBA0801ADE83DF738A4EC94F2977D
+2B95A166BA4AE28CAD1E37FBBF49D342CDB4DF615E2C5F3076313AC517C350DE
+710F5D52DE31DF69864D29DABF14234DF13904BA4333B0D714EEA55CDD79DE45
+FF5D64259C877191547076B1C7684CD252C0337BD9DF66CDC5DBAA4F3102F2E8
+FE48385C55727B80D11F3BE0B7568AA9356FB2B180A6B1392D620DED02F0B736
+5F4399FB9D32DFBC8ED942AD311C82250DA8BFE98D65
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
%%BeginFont: CMSY10
-%!PS-AdobeFont-1.1: CMSY10 1.0
-%%CreationDate: 1991 Aug 15 07:20:57
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+%!PS-AdobeFont-1.0: CMSY10 003.002
+%%Title: CMSY10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup
+/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMSY10 def
+/FontBBox {-29 -960 1116 775 }readonly def
+/UniqueID 5096651 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def
/FullName (CMSY10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
-/ItalicAngle -14.035 def
+/ItalicAngle -14.04 def
/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
end readonly def
-/FontName /CMSY10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 13 /circlecopyrt put
dup 104 /angbracketleft put
dup 105 /angbracketright put
readonly def
-/FontBBox{-29 -960 1116 775}readonly def
currentdict end
currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
-7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
-A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
-E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
-221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
-27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
-5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
-0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
-DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
-71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
-4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
-515DB70A8D4F6146FE068DC1E5DE8BC57030ACE57A0A31C99BEDB251A0ECAD78
-253AB320C099669BFED2878A6C4038A5BCEB5B4C28040BB8B4AC2C167BB2C999
-ED93E2F4AE3E4B44B7B6B469C36A24080D4BEDB5523D202E920D8898DEBD5EB0
-CAC3C5D5F01A87F7B15BD1C197B344F7D94E965CBFE73E8A65A2AA6A6F93B878
-03E30E60F1390C2FB671C8D36E7D6E516A20079B48CA9BE632F5A8D1250F01EE
-6809D6C5B51AE3D1B4C244195E4AB5E68F2AF1D7556B9D03035E08B962A33B44
-426A3B5BEF3BA86E4BFE8C823D42816B59DAE9EBD42C115A1E75B0E6427720BF
-773EA85158709B4DF306511D5CC19D7395BEE5940DF97513CC36EDF468B80C01
-476B0B89D1198F039E4A32FECF58E56F6B0A1D27E9E5FE6393AF613D11EE6185
-26EDAB5CD87D6B6C9838DC76423000F9E0D094046832BDDDE6AFB7549561F742
-F0B1AE278DB3355F8867D2CCF8BCC03AB7A7A8F9E51C4B2BD121F9D3B2477803
-1A24BBD88C9C54A8E31B9CF66295B665495BE7ACC72E1A1F05413DFCB56D0749
-49539F8F4706361CCBBEB69D135FF4B63C35408A38382C739EE8AF9F378CF061
-C9754E8C7CEDD29E63D79C8AD5518244E4BFCB827E05F4EFCF03BB47CE67F43E
-F29192EC2FA1026ACFAF2CB156124C88D860864BEBE81CBBDD60DB5C7DA2B6A7
-B64E3DA907988FE60AF047DCEDF2D52D2D43E6C01FA7F84B598386FE03765B15
-EE11E9DB0BA83469FC7FC5CECCA2E4D84F87D43811978975C96D9CB66BB87B02
-579D63949B512A59123F039A1DAE2EFB897FFE82E8C6B0A30C570015B77B8318
-9BB684151679A432E2E167F4E27B7E878A46C19969230B9604ADE2E6487203D0
-DF06DF8F5E
+D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
+7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
+DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
+511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
+1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
+028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
+1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4
+3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021
+91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2
+E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A
+11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97
+C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857
+D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20
+B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3
+93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F
+10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D
+7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF
+B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B
+491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB
+F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6
+019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6
+915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36
+356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0
+5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D
+9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64
+3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1
+FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252
+720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5
+D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726
+BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5
+7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377
+DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56
+AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7
+A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E
+0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743
+AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18
+CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023
+0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD
+5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B
+5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F
+E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB
+54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809
+E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F
+A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906
+4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378
+4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4
+038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4
+B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308
+5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC
+B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837
+A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD
+2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D
+CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246
+455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE
+FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03
+16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C
+16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F
+483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352
+67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2
+3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472
+1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770
+93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA
+051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B
+8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4
+8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436
+6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0
+06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7
+84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0
+D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6
+DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB
+0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD
+8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC
+C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34
+754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406
+1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05
+CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523
+1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F
+153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02
+905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718
+617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2
+8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A
+98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278
+53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B
+888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D
+052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A
+CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501
+A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F
+07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56
+B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672
+10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2
+CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D
+3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12
+D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F
+849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16
+648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE
+84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA
+2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD
+2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204
+9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0
+B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B
+D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7
+135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE
+EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939
+C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782
+7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0
+4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2
+9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171
+050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486
+3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271
+C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8
+843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342
+CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B
+B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50
+3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175
+19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946
+FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0
+17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6
+8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B
+CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003
+F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194
+1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E
+4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194
+2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929
+9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593
+E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB
+8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB
+BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027
+04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5
+C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404
+ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C
+4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909
+84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6
+C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6
+09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777
+D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503
+56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF
+035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB
+FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333
+CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663
+B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A
+F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD
+CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B
+0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C
+B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9
+33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6
+4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D
+F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E
+2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A
+CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5
+88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37
+17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0
+55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A
+A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50
+2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3
+406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8
+AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B
+60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388
+C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6
+5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50
+822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E
+94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02
+D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA
+343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE
+894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5
+DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327
+DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F
+8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324
+A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA
+DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270
+E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947
+DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC
+4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653
+5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1
+02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8
+88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70B15A0
+657F5ED27D204449A841ED19E01432CFFE928E921321113780D036D34F2797DE
+D4459CFD15BB117B5C9745EF3CD2B296D91FAD48C80B136D94476967E255F808
+AD2B5D522ADEC64176833756510391815A1D4A8DA1D0AEE7CAD36A1D161889F2
+3347D5B6BC503300FDDD48F594F391D5FB42C42113C538E707C16EE24A3F375E
+7C506E8F49CE50FF9DEF3B4A4C1BEB3848EAA3477349833BA22D2A9012287D8B
+A8C4CB4307A1188ACC0E6E9338E1559BE5FAFF381BD82A6C71C267409468B3C0
+2C1A29F4281D565836EAE57F680490FEA4A952FF64C8CD11C377C294DCD1EC25
+CEFB2B6DCE959D0208F85B6E32E9B44FD455F9B134A5306D95EA29F37BB8B86D
+9E592159338E1293F449380E13C21AE42E6E371B75D78AA87381B96012E722B1
+3E1628DC89D9009FB38D9984AECC3367A8436F03DD58F85DD4971868D7949048
+7083BD403FE778F660F5F0B684E730A8EE16315D4FDFF432FE18FAFEBE527D3E
+788FDBCAD3405F21EF422913918EAB15AAF24E95243B4458145F7CD3CA6447B2
+7E9D369CBB62B6CAE7E7E0BEDACAAD8BE313CDBF24ADF41D458F28F971B7C0F2
+0283DC3C6CB1F02450A27EA834138F4EC0A4026219FEAA9B7B9C4E61E86F114F
+174819DFBFC8086931E4D79746A7C7BA03C39E2B9045644D1219D9848C36A653
+E1F4A2FA71CB6B12A24509AD5304B355C1466ECB7E31D33A7C65AED48F7CCB4B
+927713E3898334BD99CF42EC428B4B4B186E88DA52D6B9ACD74663CCC9CE05FF
+B2407222F227F49DE7552F45C60A120FC1471D4136A98FC7B0CCF102D16BBA0A
+620F109E65AED0BA6172A4520F2A773A99C009BFBAF175684CD71CE172F148E8
+7C5A80D66FAC0598AF22323087B9D3AB25CAE4FE9670F51C61CFFDD351FAB682
+04E232331D36C159D08B2B907A9A9CAAAAF6F2FC1964308844F23FAC620D85C2
+B4C0C6FEEE4A2F1B438A80701698D94EBFD4A7A99C7A16AAEBD3A7030078E95D
+58C4B914C06438C86E4832DFFA884C3574FBE830351463C4DA0610C0B01DBEBA
+1FA2244B128D81C1256D84C4CD7E2E64D524BE14CF7B2AD3924D23380D0C1227
+8E7628B9601B01D2C715F74585F639E7B059612214E8E60A6F521CC6E7AFC827
+0B948F6E76E0CE904E7C4AE79800C8E69A4ABAFDE476F452AF9EB2AA84217B64
+E72F3A713227F6D5BD0E93A26B2376DECBADC70DF559700D434E8A72CB7152B9
+FD92890BF5C878187A88CC3DBCF9BEA099D639B162A2BF0D
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+{restore}if
+%%EndFont
+%%BeginFont: CMR10
+%!PS-AdobeFont-1.0: CMR10 003.002
+%%Title: CMR10
+%Version: 003.002
+%%CreationDate: Mon Jul 13 16:17:00 2009
+%%Creator: David M. Jones
+%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
+%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10.
+% This Font Software is licensed under the SIL Open Font License, Version 1.1.
+% This license is in the accompanying file OFL.txt, and is also
+% available with a FAQ at: http://scripts.sil.org/OFL.
+%%EndComments
+FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup
+/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+11 dict begin
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
+/FontName /CMR10 def
+/FontBBox {-40 -250 1009 750 }readonly def
+/UniqueID 5000793 def
+/PaintType 0 def
+/FontInfo 9 dict dup begin
+/version (003.002) readonly def
+/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+/UnderlinePosition -100 def
+/UnderlineThickness 50 def
+end readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 12 /fi put
+dup 13 /fl put
+dup 14 /ffi put
+dup 33 /exclam put
+dup 34 /quotedblright put
+dup 35 /numbersign put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 42 /asterisk put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 59 /semicolon put
+dup 61 /equal put
+dup 63 /question put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 88 /X put
+dup 89 /Y put
+dup 90 /Z put
+dup 91 /bracketleft put
+dup 92 /quotedblleft put
+dup 93 /bracketright put
+dup 96 /quoteleft put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 123 /endash put
+dup 124 /emdash put
+readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
+0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
+51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
+7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
+E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
+0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
+C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8
+569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079
+24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A
+2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944
+8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E
+3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26
+D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24
+D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B
+03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685
+767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A
+8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B
+DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E
+94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004
+22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7
+72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C
+8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491
+344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A
+64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B
+07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC
+1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8
+78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51
+CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120
+7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782
+BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462
+4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A
+5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D
+EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE
+EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622
+4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE
+0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5
+C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904
+314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E
+DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029
+EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13
+DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E
+DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084
+7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91
+1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155
+69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE
+EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5
+7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67
+CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D
+38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3
+22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C
+0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1
+BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D
+4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F
+3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD
+B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE
+15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9
+849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3
+FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84
+4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76
+1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798
+84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF
+7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122
+CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA
+4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B
+3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394
+F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D
+F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140
+DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7
+D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886
+56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4
+8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53
+59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED
+49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86
+87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B
+8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60
+C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342
+D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64
+D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1
+F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178
+0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B
+5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448
+229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC
+17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4
+01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616
+F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662
+3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0
+689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20
+4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F
+A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03
+DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D
+364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F
+7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F
+26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1
+43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD
+8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7
+C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08
+94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5
+C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1
+B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56
+4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5
+7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01
+204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE
+B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56
+7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6
+279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB
+E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346
+CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A
+65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78
+BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285
+6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7
+B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3
+63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89
+4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A
+A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6
+67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C
+DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A
+5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9
+C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C
+9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D
+B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51
+963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0
+D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB
+B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B
+72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE
+B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358
+8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB
+3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0
+668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152
+ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5
+69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118
+C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754
+3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13
+407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01
+11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF
+2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87
+4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40
+2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF
+9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889
+CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8
+DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973
+0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362
+5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7
+9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A
+EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2
+09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A
+2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2
+AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420
+324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786
+486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A
+EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660
+52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5
+9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3
+4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D
+B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7
+BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14
+6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0
+B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359
+16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED
+E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6
+546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED
+6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507
+559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B
+C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A
+ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354
+04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B
+7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A
+8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B
+A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02
+94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB
+C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC
+41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654
+7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5
+18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76
+9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD
+E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947
+5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F
+4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F
+E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF
+9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9
+89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87
+7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3
+AAAEC15ED0F362471AA58488620156F3474FA59CA080EA96FE995D2B3DEEADF3
+3141D157481C66507725ACA5953CBBE1ACEE7E3F02C72C6552D15EB3D612730E
+61A06A43575568DC3CF3844BABF04CA767E2995196097015E0C4F622C4356B6B
+F41DBAFD797A4B9D7AC22332C552043EF98913D0D9B50CA6B7CDAF903BC5C04F
+D20A952BA5CC35B646ACD0A287C956B98C450051AF6AAF79DF37F8954473F8F6
+652BF03AE2AE82B99D820CF93F5FC0BA17EBD7AF90313E70594EB5C354023BFA
+07912408F1757319C7288E99872B907D5AB583B082EEED8AB079C63E38B07D11
+6744856E689A479CB3A8BC081F33CB06755926204981DC0A45B3ACC18F6865BB
+EE2C50DB43B62E3630FC1D9B1FFB3BFFAA6D0A20C0381ADF48E4D916BEE85BA2
+BB40F538F55C11D50F882B73913840B45161262BC8B0012694C3EF26452F9B77
+2CD7C7AD6BFEEAFE31C8A721C2D46AA00C10681BA9970D09F1E10DDC250E2AC3
+9A160EC8C9654FCEB36AC2B586E978D54744FC8A0E963D8EF6E228ADD22D093B
+B889C940206F504F14DD921D909BE06EC9BACBC23EB9E9D137FBC983570FFD2E
+CC5D2EB5D2A4A8604A4AD418B800EDC6B89809E00091A2315EA8C071AB631CCD
+04C3EA77541646B7F9D70B7EA564D92A65C4DED8966517660EFB9F77E172CD8F
+1B5FA83270898C3709DE964B0C4A899418435F92C13E94F5C1C5B9D7DF3E8793
+5F9E83CE1430E3EF275A5169C1005B864AD5B7ABD694E7D77B43D157B6070EAB
+843B16BD639F53C50A48E040D063779B47F67AF0E115947CDE6A0C9DE8196D3A
+E61C1A57B150A5B386F71C863ECEB8ACAAD9A9B92C336A7B118D8D5B1FCBD698
+2637028A7DB25D4314EE94974E09C2413E9C51A2504CF5B4ACDA26CE82FD1900
+CF01D52F946CDA5F6434B8BD541503B1A1BDA72225592CEA5B55ADE52666C150
+B0FFD1DA9BBBDE3C40E443C917C0A91444CD19BA8FC48C88835F09F35C6B43C7
+C81B914BB437E99E48FCEF5984A0E10096DE7CBD0AFBD750D7BF11B5633DC364
+6F547C1BB5DC55F4F2108D1ABAAA7CE8CAA45AE2984FBC51954AEBD3D188916B
+B0C5FF9339A80310E4A90B3E8CD587CDABD9D54EA413DE4E7B777779C2022362
+96A9052378EDD3DA31F05B94979170169F1B43C60BACFAD96C76BA86B66DC30F
+BB57A48CBCB99683368A8E087D65343CD9DFD9B28DA91EAA3BC9FAD76337D87A
+047661444966D02502C915E2823AEAE71C7640BCC8AC451239E34711D34A753C
+44D5DD5647148520F4B28C97D8FF00A10B1D34592A32E90CF70EF4A01F9CF8AC
+5EF9C240EB792EB337DFED508E5C91D91A3F16D2E067208120CD058F4EFB98D0
+3C634F3DCF13881E7135C3FDC75362064CBC02FE1DFB6F49557DE90DE0C12A1C
+AA5F609267E04AF24404E050CDB6C3D6BC5DDB715621D4315D4D30E900EF3A5B
+03D6524107544DFAF0ACE84F19C2119ED9CA58E88C81FCB5C33A327A8DA8CD1C
+BC87E83C7AEA2E430ED13B6F1B9E6045FA02C88B025D5CE7D6D191883B928672
+AF8E7B0467A90A15680C1610576D93E6492A99787D4E0D49A5306DB04502D5BA
+2E9DC1DC55365D68F27B9FCC33D55FF35C41EDD546F479E7D69B54B3BE72ED0C
+62C80AFB76758B53337424120BBCB1872EFF9859B2BBF5F9B82BCB01902D7268
+65B72FDE5A7C8DB2A7A03C9E8646AAB65F552E9342902FFD80972B325816F999
+AB36938B6B88F8D84CE7EC8B95C459191023377A30F50EE2D9C8C41FCF685389
+1F4BA89C1547A41B767259CF565ADA5011FEA13A782B566EFE3DBF496A99DCC9
+543E261859EC309993B0F727286B02F19048772DB89984ADC5EE723C48078B9A
+79E0B93DC55249EB4AE55C975CF75029C56E88707079C24297C206B35C0F52EB
+0D3BDD760EAF8BE7BB9A41E778AD0ACFFF1A6C37F1AE3E7AD1990C7022449B76
+7A23C9B0CDEB4626B42C96306A9544DD84D640F525DF20EB1EDF35AE470BCD3F
+B4F384E51CA45D81C3BB20EDAE1B6C8B109BC6C12B8CB7ABD01394E2CE389A6D
+7CBB108D67C913765E081FBA3E79CE29FCDBA0850408B31A55D6FBF2DCE01478
+04BFA09E8706E8C9437ED67CD32A37E836CD1E17F99EEAEFE28541BAA7AD8145
+225393FD3EF8D033328E19749F7D700E64B829F82F3A7C8499B0FC557C3FC783
+38866397480538DA97E4FB6C63CBD4EE16455CEA2832C5EBC2637574DAA16916
+B8B2868A63B44BA3EC24A6314835DBF2D38BAD05F14E96741AA7E4BD3BB7833A
+D1C66EB4EDA345525F2447BD1AC8E0356493282EA56C6ECC81EFF7A74E1174DB
+AD3A842B36E0B339F2F83896892EB69F7ED2BE72EBA0BB60C59D40F48D09320A
+591CCBA48D1D05BFC34D0B31735BB9A6C138E8615E21F1554432DEC1E25C073D
+0D16E9D6F0255D88E0E87308560F434CC0E7DDDE759166759765DEC82366284D
+4BC47C4DA087781B275B5711FD6B2279E9D4CB734E1ACBF2A59249A4937E75A3
+79B263B6DA1A3516E90DF279D2D5E0C97ECE4BFC98224B9506D90AB34063E508
+A0C4DEDEAF4ED82E1BF056124045843102761545870DF537009C00AEBB04D578
+FAD4737E69DFD916065B1C34F194BEEF7A2CB60CDDE431A0349D36A979BB1884
+3C388AD5EF92932B86E5FDE6558AAA21C046DBC85DADA57DC476C1339AE9DE58
+34371106FFEC2E1BF06BA289F4BF1233F53321A57879D8E1AA7A5DC71B8F705B
+1AA8697A500C94CCB3AE355200EFC6B9FA03621E0543A84DD889F23C85091CF6
+8205E2650FE6376557B19A9664C864AE880125F06EC5FFEE834138BD7BC43BE6
+86FEB49300C39EF66C73814880994B414731F0AA45DF19EEC082EE27E72DA39C
+71EB0EB707D5936DA04EF89E6900E73866F56ABA3B6F9DB5575462F1364A7B16
+30CA0BD02D13D7875008CEECAD3A540AC08C46261501E9CB24318536ECB3EA76
+42ED1B2A49C20FD36B31583A2695B590A0496A486815A6150C0BC1335DB50A7B
+9FE25238CE3295507729B4FD2D2AC515EEAC8E07578309FD7351CE86D4E2DB76
+077BC2119BAB40577875000A90E147F150B8E98FBBCEC64AC7004C28C3C7CB5D
+045BB984A519FCED4413A9117D008FEB967EBC92504F51D3EEC517BBCD2688FF
+913D3F49F86D7A71BDAC55FD47082DBE0067691AAE981F94EE504FA1B79DF008
+11BB5237A95479E4E9813350499ED01C6E485D399717A3AE14785C8C69D836C4
+5624577D5FE7FA8F4381A343C8646CB7E1197EE9CAA4370CD0AC9ED69D15F816
+E38BFD18D6DFD222EF239ED19B1A5E17BE8DBF06B24BED099BD4ED00A3A0AE0A
+653C08A3EBDF22FEFACCA5D723337B886403B701ECAB7A2410D91B2350C9B349
+B72DCBE46913459F089EFE0C9232665F5E79B5E28460788DD1ADD12F0A4AAC43
+2A02E6413AD94EE3D2A4F58F34886F37C2D18213DEA42B39B6759C59A2CB5645
+DEF5BB2CE952943C7F8B51B62396F4A8FB1A4042652967EB4F063DFF43BD4DC9
+6663256ED43A577B77F81BAD98DC1344787B04B7E09BECDA35DC497840DFB401
+91270EE3BFD711367F67F5F9AC09ACDBCFCA598C1C84F3704BDCB50479413FDC
+C1CEE14D1A67BCB8C1E42CA3858B13E52C9309AAFAA6F9EF687CECEC6ABEF325
+0922B3402092CD52FADA2CD2B2BD502D6C566B0425559FCE9A00386490A8A577
+3046930B807EA00345F19ADEBEB7DD581C8E5A011C46D4FF59909EB59D1EF237
+0C2A49669AA4339CF26E4199D500F52589F5545C25DBF6F108411736DA09E872
+2259218D7B8DB91740E954DCA4A6667BB22C849A72954E3754B1C47243745AD2
+A3D57CCC9E35C93FEC0118A7769996F884789F272CA43BE6C9B54D726DEB10BB
+D456C161EB13CD1DF6AE98F6798010F76FBD8D4C718A6ED15BCF2FBA48D1D361
+6A63D93DD0005779B0116F8B148DD87504652967C67B4AAAFB9A3C72EDED884C
+A932EB02F3447CE092C85223E50F1695E2F60775BB1225F94FB7236008EEEF18
+55B9A48D28BB363416C0958F01305C9EC94B754BFE4B548B3A650A50808E3159
+3A54ACF96E55CC78A5E876FE6EB0B3A2CF8C5F604E26409B80AC6AE54B4C3C03
+F4F9B2CB5B6DC32495D5247D877453098B1CCA426DB4BC12DEABE00DFD67D999
+73200D0779A7FC96645630504CB449E94C749BD813E87844C8C9709112938ACF
+9BB26060C6DB9E198E1F5792D3B9E8E52ACF97B1D8E1021F51C47CEAE7F14357
+1C36769B6559E8FCD460FFB21007E49DF356C1F01CF78E6D002A07986293BF57
+C7C11141EF873A4D7DCC46BC1E9FFED9B1D45889A21A1204D6ED9A98ABAA446E
+C0821754B7FB62AAF8178718AF1A38804DADD238C05F4E80CB1B5C5151305C3E
+0878838D31234CEDB70F36E38390D473C3717014E77EDFA8DE1F54F2FB3B3A40
+EF28831334E1E727FEE5D60CA1B0784E9865B00EE8B410B6B921EB1A029A179D
+B0D892C920334E62A6AAA8137C4B8A7D6312F3E8F27DAA9C755B75CA93BE048C
+E142E4743D5DEC93729D362EF1C610144BEF6F00035EB90645567DEE2522A50E
+28BC0AB58790AB0459CC00FBF0EE23940CB5E2DD650908EA1795C412FF9DF3A6
+109FDEB484A8B9100A315D31849F0AA9876F8B9CDD64765EE5EE2483DFDE804C
+B12FA6B0EA6F74EA5BEAFE3D947BA16CC916C66B17FA3B8C0435161A714F0703
+88A37E7A9FD889FA29952DD52E3BA7C864937143FC6822A658871C88608A9A9B
+351FB780D11B72D1331D46CF68E7200F0AE4A82B64C2FCFE145F8D5AB954697E
+4F68EAA114B2B4CE8F32188E9725D8D3AAAEC150959C74B9134DD46C874040B8
+447CFF35B8CAB7349313C74D63DC4518196CFDA8D65CFCC1DE2CC2DFD4D24FB2
+CEBF1FE1C6ECAB54588A59E739DBEEFD716ACEDC22CD69ACEC454312EC1DCE03
+8F8B740631E360AA6DBA1E54991EC7922725600CABB41F639DD64D65594D5BB7
+300B2A77A5CF0158D31439C030C0B76180F42BFBF941CC362A11E0BF7854BF43
+230EF10B6DBE472F83389D740F5BC1FF862296A31BA59D2F24C230F828A4F187
+27A2C122F5A959F052D673C8B1966B0AFA70AECAABFEEDC5718176B275775201
+469C9D0A8E6FB7A4E67284134AB9975585272C47BDF624179D8827CA4664F96F
+7003D7D0BD1468305353E8B69F1EAF891E3B7210ACD008194F83824E64AA6180
+E48C37FCC45A8082ADE159725480EAB33F71E8177ED9938ECBEBB761F31ECBD0
+D734EE41FF83789F323895D5B3AF330E17D805D0AF2471A1003B688CCE46295C
+E614449545E09A1E63AF3EC35E21FC29CC7319733165F06DFC6C65BFC94BF929
+F948962BF47552901FD6BFBE77E582EC236DC450FA5CE186AD8D5FDFF3E369A9
+1890FB8C18E6F5211938E271E34A089F01ACF9ACC468D0FEC28838E8D465CE06
+BB4FC64840BCB931F9ADB92E0DE1386D3EACDA4F016E07ABE18FDCD7D6F28A24
+0D66F004ADDE24F8624863EEAF04C660E269B3606EE7DE25F0FE01510BA0AF2D
+E4CC657BE4914AE59864959EBC90B7437D5A626041AF1F4AF11479EE89ED0A5C
+E88E043A2292EFEE2A3D173E0FB979B0C75A4F9BD075A0343E30BFFE957A8478
+A4CF9D318BF2E22B9AB818B61E90E0D77A0268EF76A9DF6DB9904626C1CEE1F0
+EF4D4923E9BB43D20E153F1A2FB5CEB30C1902E1DAF49FDC5B860E302DA9BD19
+A390FC5AC605A96A0ECBE95C2E7155282647B0452891E8E400719961CED665A1
+C9B7A12B1BFC5AA5AAC85B55F3102CB04A22682BF4CA3982F87307F5A4D94A76
+643D2696887D2D872DED8F3917204CBA5695B2BB35CF6ED6291F0B5445AD09E7
+F27CDD17688323FE6DAAC1C0905EFFA39DC4E37582EC0DF07DCE59CE41C29306
+0F7BBA50885F0696F9E24AE6745551B076A423CD9CD776A5EE6C4493514AA190
+28BEDD2955EA53D5C67A02DBE1FDE6F2BCDBA732E30AC11C2E7FA0AB8CE89ADD
+0353BC67DE91757B96D2B8E20E95D8AE56CD01D918AB03A1B16175B535B24FA1
+86C804EB105EA9411B1AC2FCDDE1243ACCE8AE9D7A222954D9414560D7AEE5EA
+5F151D17328E2797933C75949E9BAB725867454BD90E56568E5C5E723EE388F9
+3E5FD0F837C8FE5B1A061027A8679BC947C66565BC6844DC3D9BF5C15C1FA12E
+AF60345404CEF95726C0C62167AA6E6EEAD255CA1FC57FADF1236B6F86BE56B9
+F3EEAA028204395F55E32082B6ED84678EAEF93D6D40BFE890B771DE79AA2F4E
+F20CCD8A05E35B398979337B109669FA12EA1F891A608AAC4666C13F394C5080
+00564833031FF1642248E9B36E1C3B06494B75C89921374C63C7580A64AE8125
+699221E1EDFDD2710B643B317FA0BF9E62DCB9BA912932C09A97A89514D0F719
+CFCCB8D1DBA441CF14569B8CF306D671A8241B48237C151571AF2D074AE05701
+4EAC5103AAB8C210E3B608E691B44E3202EC55950664A863B9041B893287352A
+C1C2B73D5EE889556960EAEC4639AB49C725B7D178FF585132B74F320CEFF002
+803E149A7C19598A92D9EE84CE95E719106E596903D02779C219BEEF1E8D1CAB
+D075028902AF16D31DC903E875D39BC0C518A115A3E7F992E776C109DC8D1639
+E511D3B868A1FDFE4E7AF696BD300E083D5048DB55326F7065BAECF2BD4CFF68
+DAF2059CCAF3BFD84B5B250E3909C24C2B4C05835DCCB74CE63B00DF16E8F206
+5DCFC3EB7ED58DB6AD0568D82A4C331A0A3E0056209F061784154D45AFC40184
+7DB72AA55FF34545CECEB07197D512B3D4408153BF92E37DBFF24D88C597609F
+2E91AFA4993B0C8E9281AA1303E5447B9C058C0FACABF3E5863EE79B965AB4DB
+75892604DE37202512B5EB69C5447759D44579CCC3A90A26BD2EA94296DAE01D
+BB9EE07DD8E308F7A83758263C732B451EF406D7949E451D9A2E47182D417839
+7C5899A26099CC2E4DF6D56CDB101FE2A6FC1AA3C6577F32C566B87A1B7BDC35
+BA0E7A6596FE3E7EC0ECC3225F2113A9BDE14B88AB73741E92BEB91368CAE3C6
+28C271E229D40E40B9B6E2E8845782DC75ADD9FFC9E499BF4794FA32938CE85B
+8C073871B4D820AB2237DAC3E62D398C7EB9F5F43FBCA17E364006D56AC38061
+C002B85BCBA86A5AA5943BAAC24283B2456A5B74DCDF8440C5FAF56CC71B40A7
+1233E8ADE4FF7110BFC9D5E0413D9294B2C1151D40BD94EB3295D48D23BC3CE4
+A22937AE42D65D3624E9E437661DE6B70F1742FF5578A4F104E712427731D5F1
+8DA503A472A9DCAFE343DF010022E02958DCF5B87D9B7FFFECECB772488224B0
+03C0DE1CB323AA2E8F02BF6479D29A75135BE180CE8CF5591A2E37E6EBF5CF85
+AD359FFD362859071EA6CD6B8F118BE107F63C7ABE54F7868B02677DCF8E9E95
+37453AF18C0D15DA4AB5DC6EFF3FDE3F5AE6684155AB3484B1854B1E68A48FFD
+D3B5A4BF1A2A591F56DFB2D504F3C480A6CFC1E89E7AC15F39AC083930C44C32
+F15843B9F777021EF6D2D08FB08A77E5C0034BF7D5E275329921EFE370247CBB
+850EDFBCBACBF5A6F5D6D84B269C7EDC34BE92F721432096680AE4E44CF549C2
+692EA6244143344D17D5928E90B40F570582A7CF50358D62B7B015A0F3161875
+1F870F077B1C358B50DB2019632EAAA11AC320A06616F9A891FB8EDDFAC3C135
+3B559859C654A75A3D112F2D02AC4C9892D766022EBA14858B85838A651EB7EB
+5F62175759169C1B670579F0137288A50C064A0157067C9C290FCD23CBFFC855
+940E8676712F1E95C5CC22402530E27FB0BACD1505F6FC637C03C80DF92F95C7
+A3B6019893F60AE8247DCD714F4D5197EFCCFE4FB43C8D49937988841F6DEA63
+5B0822CA6580D1C2F1DC16B98BA8872DFDE4737196BAFBABFCD200B986AC4D31
+9791A491ABE333A0024B212A780C28B6C5C6B3A5E2EDB82D632BDE439D3BA3F9
+403976112A527D4B55BCDB6A9CDD9C8B78FA872E82033CDB2D305632A75170BF
+252E94FBBA67558168C5399A75A3CD338281A6EB57149848CF0CD2F22C65D6AB
+F97193CD2A945DBF5D15D52F0CC4FE007C3AB83894E7343593140AB27180AEC1
+E5DB20E4D49AF2680B340574EB565B7A0502039DD4BA8D26F05C501381BAC7D0
+1EA23E18C8DFA02AEC010992966B9B421AF5E16352FA19F910B7FDC6DE8163A4
+ED4A164228808BBABFF72C3D1D8DB00291A89FDB1BA0C15D63EA38DE1F4B9D8F
+363EFD658E74DAE87DF453E8C5DB77521A2425F048061DFBF864FB7509629DEB
+A332E27CCBFDBA51AC97CD942D90F80C1BBCE9E7E7FE9B2134E3EFA76BC082F4
+0DA193BF4592D30BA1315B7A91452A50C06C60F6A3089472D1C2A8A0C5BE5A22
+4395FAB26C25A5B89BD24D74EF820D9000F438805110EB9CF1D9E890EE5CDBAB
+42738417B9D63778BCD4B172D358D1C694069BBD9D452D15D04FCEB621A536BD
+CB3ED0FF3C274AFF32963565E6CD7CDBBADD6064D21B418D322774EC3C0218EB
+8A765F752EEA1BDB727FE521DECE30548AF6AA74528F0B3D5CA697C55183A6B3
+38DD38ABC07D29BDE934141BAF2E09558BB26970D6ACB00E408B3AC255B0D215
+4124DD798DB55DDEE01BEC3E93B647AEF8B500405676A06E0D0BBA961FA3ECE3
+5E419C417AE8A853075356CBEB02DEA195E98F960E7D6EB6EEA0CA2788C91B29
+83976D367EDF2AD95AA722ED856DDE42C2C21839870A550768A3735F045E75EF
+C91C8C2DF1CDBB7DEDE624353AB3224D216A237E6490139426AC23FC22158A6F
+2CE151FFBD6690CCED68DBFA477F29AFBADA885D6422B12E0B20542A7D531942
+4A3727D068070EB7F156D5C7521ACDEF14833EFD37A4093AEF4CCD55395F42E2
+C184BED49A41D43D1F8F019EF41CF4A062211EE4C2E3479F860F97BA62BABC07
+7A303A850B5CE808F3A85A9B0C86FDE4FF0BFEEAC685AAC61BAC5D01BA636E9B
+98F69CAAE38BCDB01F0C9230C84F7DF9D29332B2412D582A7E014C71C5EAE7DA
+E0BE7D1F52F31241BCB150A1E4E8FACC4F4D2768D7E49824F4968C82A356BE52
+D6F0231E35CCC4207A12635E08C2FA1CF9AD77E926452B7C73FA84D350098C5B
+7DED637489191158AC9212319749E8397A0F49101D60C289FD6287C43EE5FC0D
+B3AC65DEB809A0839B305BC9E07C78BDD11373D85F7BB00693DF5666D6CEC7F0
+52CC7EB635F4A6145929D2F3BB98CBFAB0E5319567F079447568582A665A0C8B
+DFD4B036506A368F3214E8A36D6159F4A843181B5C331AE58B7C9ADED8CE1A7A
+B0F5EFF616DD98F13B4EA7FA22C7D805A71504017E2E2D6F36595A6B903E3027
+A792A7F61046BE233E678A8B7DE8747BA6374AB0C1B68C769B93E18A1A12D58D
+D76F6B239A2F88C695D8261F9FE72A373F5F522ECE546FE734AA22A4A4B34A04
+DC5B9F67C7E4428C05570EF2C3532EEEAF200ED37BC5822C7A53D50FA78F7FE7
+DEC0B063DDBCD11EA1F7EE83E8726E0DBB4A7A12A4AD6EA5E846B36056B75383
+D2B14FEE83CD828D73C3F791A6B3E29316D077B1FA60EED514882C79890545E1
+3C14D694C3AB12AF8A6EF749376A5A8A2C4F6797A4DBE24A6415B4E418724EAB
+59909A410EBD4A451C4CC1663653084A9F033FBE9AE3DA4E4710D65487FEB7B7
+C0B88327034A4394A3D8F046A1F1D56F6800E94EA6BB0D23E0F5FA84313C164A
+F208C85D68BB5ED149C391B1BFBD51778C72956E3C95DE049977F30B80080216
+6630F9B67110EC292DDBB0131CFBD41C59893C97EFC2F6576231EABDEC525B49
+49298D7EEFD049321ADB6CBAF254BF93F1439D55423610CC3E213BE81906D7C9
+D7A0729B6BBBC33AE22533CA381494D8BDDDC933D423329EBFB6D18D71AB2845
+B97EE7BA15253206AEB93234564A527DE0C2957CECE56CE8505DC22840446620
+CB84F881EF3FDDA1286DCC62401632025B9A8022A6127E33A05CFB65AEB5FFFD
+FF5C679DF619E032C03434ED8DBDB97D0FA0473AD718B76B5D93CEFF39B89792
+ECD2DA0E3F741E3678C31A6209372D93D194D309936524A2CED91A65032F74C9
+50046F89F7B7E8C6CA462506931D849A69AF163A3DABF9067C9A2262D8A27BB0
+126F743224CE8FCE2D583CAC9AF2DA9C25963F20E18E905503B2F143BBFA3E9C
+B7F040A0B313CF051FB597229228EECA97487FF85A0FBDA6D42319B5DCA0E364
+87E0663083DBDF9A8BACCF10CF391D83C7175F874F1A5804C308C8718CF33BAF
+7E9ABDCE09440A9F68289830FE25A10D0120FA8DEF4473E41EBB12AD3A72ADA8
+0F21B7A8BB63F6F2CA4FDEA0E839EB47A857D6562FD35D8C7763511F1BCDEC40
+5B0CD3C5712BE7A4F5C3B7453B847C16E29621678BF4CD529C808952BE52661F
+F50C7C289EF44F922C36CC1EEB337517CF80607E16F7D899A35FD79857D25AE7
+E1665BA7D95B7F4EBCFA2141F27B241E8669FE532983067C386D8F2DCF6C73F9
+867942920D073CEFD9861E825106ED702DE4F709E46050AA839DABFC529FCAD6
+444542ECE538A09AF5069183CE42FFC38497513537926E4F099D58CCF751ED69
+5D9A47090274E8010B4D9A2209F8ABDB3BF6A799C3C7046F7C40BEBA5A8E0319
+45DA521C990D0F3A2BBC40ECA9EBE9AF111AB441E463F8046E5C8AF46D561D04
+68C69C95E6BD5F16CA3984B9C9A7DAF234E999662E2DD865F7D09A920975D5FF
+8B569BC8E1F55749C832D640F6EAE63FB5C3DD8FCB1BF64F13E8C6B7A2F6BCA4
+7019F913B4B0E9478B3259E0682252BAC1F0C5A81C2ACBBAB3F3881A6507C60A
+C615DA34AFA33CA21C7426D5AA20D4D55B6859BF3E832836E3554766C017DE34
+690F4B1E3627160280EE592CFC976656E729E2E5C81CBB063FD59671D3F4CAA1
+FB8F63B1B37B3F40650C362DAA89014611B1C7F429A4F60A606F9D07596BED59
+72C86BF5B3D6BF919CE2F56A3D9CAB890620BF249A218D0AAA1AC1BB9F880CB3
+C689EB0754B2B846CCAA1CD2FE5443857B9AD5A2C4BDE039131EC17ED25A6C92
+819517DCA4D146BE0B4B23B3870F94627F9982FD9D1A8E72700386F6B20279CE
+6CF8DE05BAB17A64EF85BB76704708F8B06B02BCA6ACAAB80208D8DA682192B2
+54BA6C36745F6454DF6E83D34A38BEF6137D495EC44E410C3AE90E86AA0555FA
+442637E8B35068104B041A1F2B9058BCC34B726B2CB84E5D0B15F3098D321381
+CD7BAE385673B528CD5AD913A8278EA03C90251493809335358AD5F8A874B646
+30000A87016A727FC327B4D6DD1552A4614022E1E2A39D4CFC91701D96429EA4
+6437E4A7B1EB81284C56D4AAD2A6C4E4DF4FF0AD8AC381AE9365389F50767C6B
+9A69E8FAD79D792E0BE4C198584AF76FB54EB7AC9C01B7B62B19A99A04C32302
+B5C93B011149534FB5AFCEB620A72B00B258D3B1D7654949BB69B13A59CECAB8
+148A09B7D296476B55D1BE572498B8CE0B25C4E7F428BE0C829F8291073D29CC
+75D05CAC62BB742CF935C859684D38D9FA06E55E096EB97636B625ACF5A8A411
+D7FE51C3AE837E19C4F4AED0D35E936F6475DA8135F4793D1A6D3D2D55E9BC24
+D9B9E1CB674E4B056EBC5AA0FA9818728DA41895B989CF2C883D9A3916DBD323
+DBF5DC1A397F3BD84FCF560D944AAC380D097395C5D170ACA260963C03BCCA95
+8FC06F8B3605B8EF09E72ADDCDC1CF3ACE853B1AA5BD944EC4CA31496AF1D915
+2E42266D0F7985E2B868748F714000DFA9AA5476D4CA4F0CB5F7F3BE1255B9B5
+0EC28B5C91608453170146EFAD21A97A0716D4F57547B8EED9B1FB10F5383FDA
+C5AABDCEDA355F4FDF4CAC7D410EE7DF9783C5FDFD809DA767B3BDA36379E793
+8E9D2F19EB5ACB85928B6875F7346325BD8FB177A794C5EE486D0845EEFFA1D6
+6458E63C86B2DEB179483505F866CF82848985710044FCFD402A6E5CEBBDDD97
+BAB4E54279C79EBFC41119115746686D3861E9B3E3DC56136A64A520AAAB9385
+460C5906283DFB0682685DB86DCB1C21D9A4F1F9AE8EC65B714AAE6022B54675
+BC449B8EDADBDB773B3FC7E59DA4552385551F6DB2B344F7CE018D13696F5088
+6C08A9A42302532E32B4EC776C2CDF1F0F1A71F8B8104B1D3130A63A5E0EF779
+53CC25559A509CB9C4663EC5DA852B984629EEF62B2CA7ED138FED118EA5E809
+AF3ACF132AA1C3EC64068CD012FAC92C07BC75D8B8D2BA1830359D17595C3447
+D09EF6BB51FAA8F7022418F5EE656FD246845CF75BF2476BFFDFCAB5086C6B8D
+26BD0CBE5B72AEB1F3D49ADA8EC843C4458EE77F29C76F07410102FF3FF7EEF6
+8F71CDA706BD4EA2D045094416D76A28977D0E8F1E6C13FA90A6953EF87230FA
+CDCCA2750ADD0FF3F8E22D2A5C1A1DF2137BB36D3D57114B91DF1099D2521C2B
+69C50A3279334A41156A0708194E22E527F09A9C2F882D995146EA19EC4669FD
+625FACF9B767BED9961DDBC748ADFD7610E5ACA27C7C6246AB4F7148226987EA
+037B0270F5322182E2CBFFC67D955557D332D23ABE783087CA0CE1DB4A7FB45D
+1DADB4D0CF31B6FB714D34973106475E20CA7D165A37EC717E125A04AD32FF39
+DAA75FA5AAD2618B3902915720C2C0524DBA6AA4DF3DF7170927F9672DF548C4
+39A883AF6B5A80E206F5DC503BEB373630B70C7C535F6BDE545C814C5277A41B
+A27887B4BF29B0FECC98A4CF79E7B61AB0AA8F981C84239A8280462DD9FD051C
+D9652F77D52796F50BD3AA2C3442B0082EE33EB24BE5479F91D8726CFC50842C
+874139A053990AA0978FCECFEF77407A38695D11322E3B41F5F7905F04FD41A3
+BC3698FBFDE56587ABDB36DE905497517316902319D226208380A031EB5EF6D4
+97F6E8D10DF42F4C33E8F3BBAE3404AF40A5FE91770A767FD4584D3521AAAA47
+980D19B8A9FDBBCFE9138FCBC99A53CB82AE549E17F5DB6723F6ACB4CE6C79D9
+BD37F9C4A99091E5AD559877FB1B3880E6D2C8D71AC893155828AC80F506466B
+6F12E5B791C19FDB019EA85BBEC365E50E483F6A11C2539888A070AA36760379
+087C038BDB25AA9C7DDBF0D9DD758B6C1E9C9B016E73270CA8E80F49A0E9965D
+2A3DD1DDCB6A9252099FE8791D18D2844B5D3AC7757244AFF4808A62C568EE8D
+0114932EF1C3CEC81F2A1D66883D717C2E972882AEC8DD0C6B5746DDE2AE0B93
+F293271AF192A77DB6DF3CF9EDF7A3BB9E561581633D4A4898498C3EAF12437C
+6D254367F9CA4E93D6A0F5FB55F741C15BC9C3DBD34D5B267F5189F444C7C5E5
+192082A1870F8636C223F8C07F1B5F31332F835835E4BF75801E71C9DB3D98B3
+BC05DC1D34032C928CF1AA96FF6AECC48D75D323D245D1A39E5184E5CF6B47CC
+0DA29B83428ED5F91555E0D00B5C9EF729383AAE253BDAACB014805028409509
+5467C2705A2C6D6D0F9497C1A1D95B543EB207903D01B50DB3969D93E8563F16
+021B623A8CCAB0A759D2B5940BCD1875856A64E75D8F12CDEAF7A5F6EA799ACB
+C2355820214B96239D6387649679C28D24032067A799ADEB96CE3B6D68409245
+183298364E88565257C6ECCF8EB527BA8B373BC8541C0CDFA2619A59E7257BC8
+B608B86C0BAFD62EF6F2B1CDE91A111285ECE7AA6D60D2120DD0E20298066B78
+B7D5426A7516674ABD44D46A33962ADD4BCEC4FFBAF2CB482E71B7FBED39C14B
+7DC4F46C871842125C18EB93B63E8D262E4E2F0096FF72EE15388F09B26E7B43
+08F501D4817CC4854188DDFD3B73C17AAF2124330B75F68F5D454E7EDD399EF5
+6F081FF156B46B604019AA79F68DDA026634B196571312EB39E4FCADD75901A0
+8EBE70BB100DE472336BEE8EA8AA1A9D07ADCF9B9A0271331500B2ACE37689D2
+C31332CBBA15DB4002E12B622B6CDE4570D6279822B7CC1775876D4E9853A137
+EC7FDFF087D5F6DB7B1A67F4E070C63DD22ACDBF523F017069DF86224A20476D
+648E1A9C10927ED95439772F8AE2C61D38AC94053D5DE8BC7B53EF85AD4FED32
+55223A07369B7ADC0916E25C9342900CD112E3E89C92374CAC2ECB5257F0B3A7
+CA10A916694C5D0E599D3E8E6365FC9E373B2FCF65E8AE5260AD675D5D8995DE
+3190C4CAC7F46D742C3608AB4A8FFD49A57FD2F74B16443DF47A3155F74B091C
+550F6936900CEDE69929514154C3C86DF1889424F0589E8807AD320B018DCBA9
+374B3DB28B043C9012548EDFFC43118179A95EFE67F0F0CCEC89BD3A851C700A
+6C9E2DB35C55713F7C337F87CE270073259F889D3FC818DC1D4CA3F7F3CE4B2A
+795F93F6516D0EECDBB858587486C3ADD7D24F676BF31CE996A9C427D082E1AC
+D8E8BD1474E545ED156E7263A6F46B673B67D6A14874C440D81B90D527912719
+E30CB4E371489FD67577C9D02D1DA8FCCFAFA5E77C37935682B895270728BC1D
+75965B886D067DD4A84D62A737D7A016D213CD3F257DE1845B609AB949C1F310
+A864C275C18E0AB905F196F9D5816BF29FCECD7EB8AB9B7F8A93AF8581AE2ED0
+38DEA34926481292330B8F30AEC4C4BEF92B75D3F15045F9EAD7C8909C65772E
+8007DB2AB3F5763EE9207E60159D5B6A6B2C99C46503DAA9AD640D27F5E70925
+E7CC81DD6D806A8267D4B44F430D0CCCBB800C78B1D1C82C6AC9B5B9C3DF5E1B
+3C30D3F1EACC44498F0335EF15728A1A97A2D286D4F76A464A4E51688E043AD9
+D8254614883A4B94A13B7C8C45D68E1E234168A157C01575E82D4B30CF463900
+E2DD7C51103FC18993898F1D38797DAF19458B7DB7C863AE48D7CFC88BEE0ECA
+2F070C601EB26D06EAF93CEA6396837C00FF867C848F705C38397376515098D3
+9D4E4CE2597B14634593BD971B895D74761B197878609C4C594AF4598097485D
+6866114BC89B46C901E005D69EA1C7865198A75C9C96D1C00D5FAC120CACEF85
+1EB1707E6DEE2D7C25B201FF31511FBAF2498EF18B9924F6C4CD45B760F72DAE
+CA6068231CD64D8B7C8557F51AB956A2E4A7E36F001716A48F3E1EEBC3EC245F
+1E07FBFFEA065A56261B1C3CE0F9DA5772C2ACD94C7CC7E1DC2DDB506082B816
+931405117B187D7D9CBB15FF42193326C2A49521719DB67B79A0AF07364B0142
+BB329CE7A7DDCAC1CD15CE80F557F01880C786C36E7B448B7C4E06F2128692FD
+F3AD8B56F4ACF873AF4AAD6BAF7FB1AEFFDFD36F4652F7FA1D9E019567D6D2BC
+EBCC4B0A08F15D0CCF741EB79C2372831B019B3ED4A36384005CE1F1CE6CD2A2
+BF05E2D9681EEF08B730C37082978F061B91AD2197C07B5D622A01F3E79C09C5
+2843E77011F679398D1D4727739BD48847B27C3CC5C8A458C4B33F79F9EEB876
+38E33B0AC427F85F5752FA05F8D09603D54068A770856D3B85E340E58B420D4E
+9567CBD78875D26BCF0788E5BEC73028626A61C83E91A10D4D162C65A31FEF0E
+3C86A0654E46E642E5673EE87F2BD25B3C5ECE6EDADB8A35123256DDA82D4836
+6B473E7AC5828EF131CCBC02A17590E8C26FDCE2E6DEE18C2CA9AD6F6B60ECC9
+A95C0A6150405516E5FD086B2C2F9AA6AA3B1C8C647D728CF6E44F60B8F8AFA8
+ED68322B16C6B986B5FE396AF3849D85886247382F445B6CAB88A40885B578A7
+25D7CDD00A106E7B1F4BE23A2D9BC45AAB90512384C5A06B01746267A90881B1
+8DE164524F22A2B27E59C077CDA0719723C7DFC3E625CB6837A38BA590D33521
+384A95436E9291139A5ED2758A3DF5A444400473A47E19F53C2BCDE3F9642145
+EEAB260DFAFDA8836C0A4E4A1A3DDD2BE68B7634D827132075C02FC637BA402E
+2066A1FF011E17228E8467322EB65A2F8B0E1ECBB3354CFD2A405D33A6AA7B7C
+7607CD4AE0AB56206A8527E5BED8B4F17233DDF89AD96B74FDF3534DEBA5D857
+98D478EE33054F306198D5021EA2858E4C7AF6968AF19C5652DE22D5B8D32F84
+2CFD5CE2CB60474AA199753FB1DB6978C02C5AC3E8C8679FB12E3D7F7EBE60C2
+20607D979CA75358D1AFD50D9B25A7C80C687EF34E6900B35BAEC2E88A0A55DD
+75191140371F6BF6C5D19209FB33EEA85BC5FAB2304ADF7DFEA30FB4DBB7BF6A
+25DBA3C823897D06349519D62147CC9BCB57267668A760032CCFD09BA2078B15
+CEDA8EDDFE365E498D038571E1CA63450C89C79C94E61ACCEAA4F1A0F774543E
+4BE36E0AF9FB8828A8C8DAE2F5409F28F298B10968577F118811FC28E7E72AD2
+85442580795694BB1AF119206934C324F94D32BE734244194E647AE0ECDC31E4
+DBB2A2D48E58F87BE8E5231E2F9BD7E2630F17B57805FAB2B92BA9FBEA9E5DFB
+BBD7636E4B4D91A5CF42FABDF9705FB0905773D8D299C3EC150502981D3B3589
+EF415DA95B6386251AE8830522E3805F57401A2A26680C47B2DF87D414B72CD8
+19FA2F6F1AAA7F230699CEA872263641E29D31EFBE19287DB9E20BF48BF8E8F6
+607639FD0EDC4B0D89D3EFAC99846C954A82F60ADDF090790FAED1D5790A6AA0
+97F763DE4B6CB1E559825DBEA4ABC7215BE423BB5CBCEDD042B5880941FBBEC5
+EEBBD377B1B2610895446E4DA4653B7FEB5B099CA09C242BD0F3A51EDFD1C2C8
+3556EA6FCA580114910BBC8F1542361BEBAA712982B8BB5939314C522DC6BEB4
+3241A0E14584C605584B7114BB2E63688D7B5D1D23880A5C5804907DBD0BF1D8
+CC4F794FE8C4788AA78371F96DB4D7ECF32F29CBB8D2F6E2A2AB358E38BB4C38
+92F8AE1837B8430EE1784C461E19C80165613FD4BC6540A77D12CB70F978ADA0
+06587B69D08AECE8B1C830D10942B1571AFFA78A4D5047BE4F8FCD39D9FD0FB1
+87954896D462B393973C696AD7359F6A7ECD11C0F9FB091C1DCE761B5B598D86
+6FD752A20CDC39473FA6F8DC481444A368924577E772CFF63CBA3B23941E77AA
+C403D2E7EAB932994BCB758952AE2A7FD42B0D70E89F00503FEEB30B56100157
+D750C98F32730C04F855CBE74B557CF3A7C526FAF380B162D14D7AD97B534DB8
+F4AA0999D7A20EE1A75F05697A6B1095EE09D49F93ACF4C0C601A543A7E2FE0D
+EB91BE078FC65C807E2FF5939D51C7FE4F305F9247E1309050E37F701AA4B853
+45F5F1E8AACA53E5A9A850AB00E19AA7C974914E070C5F91DF1E5893A55B5816
+5760FEA2A99346A7DB8C2094E0E1BA235690D3D00C229FB921339A24B94EC707
+E536433AACF1255A23395805E52166E2B6DF86FF30BF6D2CD84766418797A8E3
+1328FE6C97D316E6ED3AAA2FC7DDA0C614340FC72E5AC55568752D9B80B70B54
+711BB0872561E896B4A71817FF2C4F2883DC5CD7640E6F9E50D3E0479218FFE0
+4A7C6F349D38D6A7ED7EB3DC2B923A0D6079432E6B3273D5AAD00D59D9092979
+1B33ADED3315CB760BB02F22999E08B0CB74584947931E2DCD9C18AB85953156
+91A99DDD0ED29BB0D5C9766C251B4158DE671A148DB9E9893889B741020CC980
+8A554B70D9312FFD541708AD03913E14C299A09D429F91CBAEC6A76D0D0A800F
+D442505EC49820649BA33A1D359233A266A6634130A422E85498B2D586428CF9
+21A805B926D5CFF1B2F6C18701558C08F4F4348A264DAA6E4A72C05A53028DA0
+5556BFF71ECC12A58171AA195F03F1AB0C6008A78871395801AE73188C1BCD6E
+79377EE5AE8CEA2A676BD99BDD93E6F0EC43CFADCB6B22CECF481FB8C5F9D2BF
+7BB5E27A27F7EB5A3951D4DE3BF2626A843309F7E0AB8065285A3345253D29B4
+520F9E14DD6A9FCB945ECC2663EC81BE08886E746EA204AAEDDBE6FBEFE11CC6
+EBFF9D4CF1F0EEC21072B6CCE8174B5A21858CE11806639D90796BC092308690
+5F80D593288CE2578EDED0CE0C5755F6B8CBA30F96F1A831372522AC5443C9A3
+94BC5289946326A2AA3999095CB5E39EAE7A8007D83A3C11FB96EEA699073E6B
+641E66BEBCAC098A1D38FB9175943B21FC35C53A180ACB1A0943DB2EC63A0210
+C9348A753930644E4C73D38E1E3E9880AF739C38DCE13B315D5C70456453DEA9
+39A0F70A36FE095BA745FC6D2DD2B0CE98EEFF77C2F6C05BA5D4ACD83DDC3DF3
+C1836CAA835AAD3B9E12D54A72B138320B8DC37035B4CAC4540E18E6E0ED4CE4
+0B64A538DE696D7C97CB6F8418C584B4EE33829D6B7D62A2CBE22DD52D3791F7
+F83897CD8C077178EE5BE957E1B02191B14FA45E62B53682C767CBF78F349F3C
+CEBAEF6F8D86ED409A5B7650FC01A62D7B1A169D4F242EA4E6908EE8F4EF0768
+2274E1408592802AAA59986049B157DB186C1D975F5BDA0553BD1C98CE2F8B03
+14AEEA57EF9FED9184631CD2EBF9438348AC3CA8E3A6C7B96F363AE7BA1FC147
+4DC8B0239D4EEAB7CF1291805BC140E8A342105FD24308ABC82718F4E7537F00
+6959271579FE783BB174BD63184BB91E398C92C29C1D87EF5C7B728DCE826DA3
+380DE58C058DA92CD280BC3127AC30AB67055EC9C6875CD7C98D8B3E0AFB7D52
+C511F5BD8EC09FFAAFD8C56016BAE7E87427EDDA252483552B858C87600CC4FA
+281016D3F0819662A5876BE42B88A5BAF4EC6B9EB27656541E926A3996F3FEB1
+422C9BAEF3EA63187D74E48554808FC461C9A2864C91123D55E3D8CC8F2F50A1
+8210C03789FE146FE422C14C690378B000F7C6E3D622A6082720A626B3B1AB20
+7F40D245FA57D0F19ED55A9646F338FD6542BFEF27F3CAAB502D88828A0F2A36
+8164843A3987C809051AED7C9D82C00C8E661CC3C28FCDF4D1F7865A03234DFE
+6B368F9EF1D7EDACDC6FF0064EE02E88B19BCB5662335CA3EDCEF4F383D4C4CE
+F8C829AAAC191154F44532D7D81E8813DB770D2AD8BC0EA81789287211CD51B0
+A2A7E9515CBE53EF8E2D27C549A59D191490625207A6D85F6E9E55418569CCE1
+971575437F19C56D552F0D9AB837760203FA9FE10EDF942F4988736ECF3DC8FF
+8645F0BE1E254083D93C443BC418E40C62873446CF0F3B96BC37C3457C0AE9B6
+47DA4BA3A91C716A073D01824B51BBF89581BF3247D36F0E4ED1C202B29F4DB0
+7B9B663FFE620E7AEA59FE6727465C808816BA0E5D1E937B784EE7CD9533CB67
+5C10AEF84D645A128A021A737CFEC99A9F2702DB84B20FA2348EA55F73FB9648
+B668B44D2C0A329A47C9D19B3F7F74562E47CCB9CBB6F43361EE85E1E61DFB06
+9576F89AFDA4A81BE4BD5B93EACC6DF66C580749F221A4A162C7BBA19BB6ED61
+5FB1A022FABFD55370F09329B4E956A6E36BA8D6DC5D09996D10790A01F7843C
+776BFE8B4CC8AEEE36C062579F897671F647D5D7370827E4109CBDA87262320F
+6F1A00438247EA74C50F1FA7396D98A6969F233219936E03B6D587D1CF62E7A0
+D2B0307338AEA72990C2E38BB198F9528CB36333C94698D3223B286440DD7A97
+4590B7CE0C9FFD5116217DF60F8B1E30F96DE8440B8B6C0AF4A2D76C44EE0D3F
+BA6BAD8B3ABF3427CF9553A2906A6467FF0FA94C1F9CABE446C66F6E8AB6206D
+DF511DDE10BE648C17CED91835C47B8DA19926CC00ADC668D4DE668A136BF323
+C3F0205BD47B091349E5048A4DAB26AAE9A35FE25A1022B663CE559F582BA9E7
+A5EF7B250B9625B48EA12404D40F52CDA2303D388DE410CF4AB100EA686EE976
+C094767F421C103C1B73BF52EEAF942DC4E52F675DB20371F7A4CFADC0E9D88F
+83032B77AC713E1AD6DF49A7B30FC1BA26656BBE7243687D025B75F2E10281DC
+EE6F5AC815E635C8E0C5A862DDAD543555F16CBA8284E76F6A8C0216FD76CEE3
+CE5EACAAF79F5DA4CB5A9E2BC13A15270FDAC1E1C362EDBF57F53CCFEF7B6828
+31C86E431C33B1ADF29A9357491C70A69D0BACA28E3E97165D4A43C9F9B4CF1F
+ADE3360C589D5BA262EED104A3633F23A2999995E93C7D079350C0BAD84DF62F
+0F4A011AECAF3FD40F60285ECDD4817EA3B5BFBAC1AF551F9472DA0DFB129DA9
+A23565F5F669F81C9080023C9EB2F97EF7595981E2109AADECA6B00312BC4953
+9FA778F9DAE7EEF08713AE8BD8A42A9DF5D1321B1A05D110B55DFF4883CF7825
+C1EB774CDEFFA879C8033DB1F0D6DDDE2D630E608DDCCE703E4D92F478C54C27
+839C9C2D54DEA43527D8126D4513B7272942626210B471B092045057C13E8585
+D09789B9B3EFAE551F97BB1EC07B9E48DB9B3B5168A4A7D2909F57A31CAA7064
+99DB7089402A57E64A11B590A7FCDC6302287DD817199F445EF7BFEF31AF9023
+85EEFA4B6D605E0F9F36AF6832C004118B6B14E3DDA29C22BE46B2295A005639
+5000F7850091995ADD3025C6385265F0B26F975099AB7497929D934CC7529F18
+848A3F88E114514933B68E185563CF0881FFD3D95233BC80482BEE56EA0CCC4B
+65833FB91D37C488F0796F5F1AE450B35B76663AD6FF0163821DFAEF95B6BCE4
+E3DE751FD9597CD0D4264A29FA57B04AC586C746CFC65FF8E523C318EC224C68
+3BB812D7303D15E633A51844102BF6B04053BAAE80DF7F0F200F51BFA112C609
+4735BC45DAE8A5776EE0AD3A649BC7B90C7D8751B9F570C72EB3159764E7E9CF
+ACED780FC853AD7D40A52EA42D40184B0EFF88AFCE52CD218DB0F64CCA86007A
+1F2D6D0C2E8FB9DA2A1555C331D569AD3DD9A7913A0263A64CB7F9DF1330037D
+D450293154CBE83812111A1E71B0655342A1B575C77E3D336F8D0CF1A3E73F84
+7E54BC4C716D939E3CEC3D6CBC2DA6FB53F1279F3A446D4D491FFC5C0D946C53
+BF6D3EDAAABB9024440061EE3E6BB4210642F6F65ECED2356C2E81541CFDEDE3
+9C642A3518CC1494DD23F0E580E5B5DFC4CB637DB535269FD2B2AF684682AC12
+B7255D9C74D58D63B624C237439B1BB7854617B7C471A8AE718633CA0CE89DFE
+DA177D32254CA920DCC5219A311449F4E3A0459E189986806D0DD0BD0D686076
+24605187695144EBEC2B9D464A425F52C8E7717F4393CF70C02954A5E49968BD
+9B2F82851668047B074EF02D246513DBEC3087EB324B9AB8C9773E4151CB0B37
+792345F1C0ECD403BDDC6474B6757F2C56E4672760BA65BDC154DE0400B91762
+303290C8A4591C8B07FFF2D60BD8650D2193605F8A120A04A3E02D441B75EC48
+BB27F280371BD74A816D8411D69B1C0D00C64F219AE3A1B3BBEE1EF775C8C39A
+4DAE3DA742FE5C40433E87AC7B33CB65E3AE93646278438DF7A2EEF3EB299888
+D4143F3548000AEE9DD000068B849F1F80F5237BB6E452F985FE7D7C0ABD4D79
+BF592AD7FBE75A25656002FCF3EB07D2F769F66B93E779AA8ADF401B198E1521
+4E308C96AC4BF5D7E7278DB1D3E98E6FC939CBCAAFB41D59020B6244C55BE736
+28A813E5DB223A3FC6EA7F6327A5C54CEDBCC6B46CA653ED2AE0A9059875B182
+C4D7680BCCFEBC5D3511F56BB1A0E289C7A93EBE8A045C242E4318D1CC4654A3
+F7771B45D53AAA37C74AEDBEF747C5B6EAD4A050ABF283CBEE8316F5AB8CAD64
+AB6B4AECC55A630293105260860389895EF4A2A4F57D1B52F3C078B5EDFBCE68
+CF4A42FB2480E589FE54B056939B3D8F95711B6E9CEFC50C64DD91448622EDC6
+32E30B24D09201820D0188DDCA1DAE6846908193E0C590E895C80257AA1F0639
+A517BF2011821DFC469F2FE82157550CBA3E307F95240C514F25196B24DFF918
+F57074E90DFC77FD141174F153732334D43AE3FCA9DC99B9F6CF681C51B3450A
+9A9C506ABA3AED9FECCA9735B632DD806551670B8BAC7502AAE7992489987D46
+6E744DB2ED7B2CC823EBBE212E8F20E5F777A4A85FF2AF0318CD9856372D1C73
+A10C23224B4B1DE59968E82DD19B66FAFC8A850B6554DC0A706ABE63877EC96D
+7FB162260DD7D77C97BB5841239C80C6DCE82834B763555A04EAEC95069CBD2B
+C091A0814312AB57D2CBCFD20556FB9DB1463F205B6D93493683F08AF409790C
+79311DC20B70148474D02C651FF697FD741ECFCDEDE30D9BC00B1478790B54FF
+BFDB1D9B944896AB44AA12CFAD86E49AD7C5B81C2D5772585C7CC4BB7BBFEA80
+D6C319A1B3E68644F194210384389B5ECC6FF80374A5544166963C7CFB7999F8
+DBFF80BA6687B835812A131057A013A7E726B2483D01113B2BD7AD2D32B8C8E8
+9163BC62E691D290AF5CF93C0B5C5CAB18050C0D7E6DD9917B5FE7255A889AA1
+D558CFC8C01141CADFFC561A4F30A8099CF91FD006FCF79BC18FC140EA211715
+1D1F861C195BD8A3B7E3A65E19CCA78504998E62571DA13763E7747CA026EB18
+CB1FE918AB8A8798E52A218F7D0F4C4DD6D214110EDCFB252A78CBFFB530835C
+D5F93C15218C118665AC4C958326CEBF843F8281017D6C01902E3B47FA1511C1
+0F354D01922B70BC2AFCC8365BF82B06A5D240DFC2A640122F2AD4ADBD85D88C
+BFF6BB45EAA41BBDB5588A633106B6168B8F23BA327B9E7CB4DCCB549BAA13B3
+9821291F919BD0E84AF34AE4D13661AA333A9971B43FD6D2F921A88B106F631C
+F04B9DB3B057E11D332C57BF161C22A24D5A21AB5CBB12771AEFEA2FDD6E298D
+9EDA2C7567CE9A7CA6682DDD29D196978D0DC23FAA64418FF4671C9AE086D474
+0AD3FD9CA36286971C7888B95608C487B9791E0F56B6285BBA7BBA2474969990
+6A8733483771431B062DEE6D652D23459724AE011A1815B4AD0013103B1AF5C1
+7691ABE515CA6DDF57EF8A6DBFE813EF052F71665E6977969829B28F1988A563
+E85FD49C5D04A385559A1AB5776EA8A74FDB70D75FC9FFFCCF8ACA5517FD261D
+BA24826CC6D754233F2BF712EA6F7F151AD4BC67EAAB2400EF1C912468BE7B70
+65544D9833A45983041115DB80425E904AA9DBE9C04861D83F7BCDC935C5D6C8
+88123DD716735958691B4A4AF87E0851BF78C084DD4086A74B9B22EEABF7339C
+F5D282C9F8E4CF83D9135BD06E0E1588A8C9393BEC90C17B4932C8D8C1C04743
+D4EC1EE47968C9E66067CD4B239615B15E0A20270280FBAB72A43AE365368FE9
+7E62F088E8B2F16DED660BC1C8B82B6C0109D11FE96C800B10996DB70E312295
+2C54F39750D03A3E10CE7F614D58A802A1EB4E729D94684E03AF11B3CD77C3FC
+B7DAE5E6080948BF53CBE0DF091D3EF60712AF752A1AB545687BDBF4FEF29321
+388F2EA1379D352C4938C0D90D117FF22ADA258B5547E23C5FAB29590F354D86
+72D8A17EA66360562FBEB99401A913903040C0E5AFE408C6A9D01E57817550C6
+679BC3E19BAC6EC427CC197D94E3F4072BF58DF7D56E2997EED90B1A11F44378
+641128A96EA0900825A18A3DC8538C2B60616863FBD089704DC56ED59A1207F9
+4F706AAD7AC145F23CA6868BEC757D2A51F7AF91BC03973AFA38A4AA1733B461
+2335BFB13AE271C077E0E2A6A60E50D524F3C579C1A2EC2C63382B382C727042
+19391FFCF90BD39806280C47B64981D53B3A9D0B3D9726041F4D4BE0070A15E3
+66BF296176EEE4CFA4EA5AC579032E7E1CEE3569383554644F49FE9DF9D72048
+9F2D3CD7AD4156558DD5FDB44CFF42C5DA1FD6760B31870D69C4C1F2F04BB51F
+9F305D8F3E0C23F6246F4D9F033FB381D4617DC7EAD0A62817E9DF0BEE9A5FE2
+52482E13C1B3F562C4A692D93246FAAC45946FF52FF9C349AE49BE7354C4DFC4
+FDA4D151E518764BC4259BAF21D616DB3BEA462A36EB978168918CC9F49E5B91
+0FC750477E2E5F992B29393FECE8F31E95792ADE2181031B9A85D5B965AC42DE
+541BB0AF1C5359E47971484919CFB627837EC2CDE157EC885EA0A746A372704A
+18375736FE6F4EBB855C63E564BF64ABA4941FB137C381405984161071FA5E7B
+F1720D26BB7381D175F5F6B81977373D3327DB7666DB20FC5019280761D3C816
+8D941A8D373C80F68F36616E857742814950E708C2DBE1D57BB39AAFE780B21C
+2DDBB6184B64605E2321BA5D5B009A7E905ABE4D383734288CDE7DF8AC3DFE8C
+B647A6124838D46D5B60FDB0932EDBF78820796BF7B54B9A71CD97649D78540A
+9E06C7CAAB129CF1B1FF9DF5124783896E9CC3A3D6B8A8649FD0A0C09F19E955
+846B1ED435426F939A02E414D2D5D705D9291AB61EEF2A448E69F9E91FE0F549
+36B457E368441B58CC0125C0A389EDE765AB02CB104E9F3C9E0A19A2324CF369
+8E92D0DA513B44E0AB7B5CC9288991142D3557BB98089320EAF0B949722B6596
+686444F42CCF068A8484D4563C36CAF71A663B86206D154EE5DA978255341A4D
+81F99CC1605FECB72227481788770C240DE61069C0C3AF4F276A01A6ECA2C0F4
+E819155FDFE28E4842E796F927BDDE13F2DDA0E2030F37E9EC17B796C078FD4A
+8744B64B1E80BC250BEE62ADD591C2D666E5E30FE607C767DF2142B0A9FABFA5
+88C9C5967C18C37A2881BF7E7BF542DB5C69D2C163297A1B796C6C130F8CD6C1
+FA6C9ED3C79E5CE4E4BEB48139E97E879B49734EF3AB97DFB3AF90144FB27087
+C59AF8BA9E71F825BB5A96876204DA4409CFB5E061749587BA5D10E57CC09807
+65460AA1FD3B3371A29BF8DB97B1A425800A52AFAA24E127D32325108B9BB5F8
+B07B0982C2288784AD7721FB189C497F9DED5A5C82757D335E8FC50D6BCA81D0
+7CFA51C44D351FAA9A2A5331A22848A24FBFB8CA3888DB00FEBBFEF05180FD3A
+6F4BAAB3AEAD21AFE27662CD95C2F01B614989E66500AE191E89A86DA5FD9514
+021F4345776DF82EAE137114FAAB0EBD807A5B68487856979966E1F4614AA00F
+1C626493358948DD8F664FAC87810A4C7FFB31E95CF89B03A28F75576DC00E80
+4A1638EEEEEB0337F7406470310E950EA4417A2C305B1D1AE324C1FFD3F051DB
+0FA938A33C6C61344E54BE336EB7FE7D50F7029FD6C5CDBC06C7DA81F9DFBE8B
+7C6DC79091BDFE5BBCBAD69346AC1F2D9687DE7CB7AC3B08CCB02A087AD3A2E8
+1F91AC422730CEC88D1D14D807C70F50000833991C53856DB43818E956DAE73A
+FFDB43BC246048B479C239C8F8B58F36D4F21E68136C7BFAE8C627B4537EE454
+9C895902AB121DBC085998E15A7ACAC676B4102BA251F40BE6A0EA4EB50430D5
+C7F27246BEAF5532517C21CCBAD3E56801475D7099C3679E4525709DD4383635
+B15F4D45938835D03CEBF1092B43A758C9D68D8CF5874C85566E6073DA4ECAB0
+F39BFC3F8FAFE44058C04BF2EA86C492EA2B9608399575DDD436A123639975EB
+4297EEC874649327CA645D6866912456EB46293CC5491E3B393F0855B86EB5BA
+667B46511EEF0B772C9B387B575AA02AE4C37B572F3F5C8A7F914EABBF115B94
+13DC134E7FD1BF9319EA21175CB26691CD73AE2EFC6FE643819AD3001814205A
+4EA20EF67C393B5226026A743FFFFCE77834BDE51FBB47F86EFA348E844AC01E
+594BD7E1CE21B37437660274C72EE31A3D5305088414A6083CC50FD742FFC062
+46F24086A97ED005545A34F3AAEB12F1DD9930740C56F31CB0F5862DF2D96641
+AAB34F844794C15F70DAF0B3CEA4EBCCFC32B93A1C4E9BBC781C39E4C264D2B8
+F4A707C548664D3985F7A21E6A5589F8CE4CFDFA8D532FE5A3E2BAE477993811
+28AAAE198D01C1F2DB647884D42E41B532F1B2063A00E6B17A5C4A9F4C2A317B
+E1B7205759132A9CED886C8CAEB1B89308656F3D2751D2DE74F14B970855BC45
+D099562355ABD7D185859A0815DB40A0485A4DE5AC2D4D64D99D9300D1C25D24
+F231012F4C052C70644095EE910CE5731BE39AA533B359DB6DC8FB0FF07BAC5F
+17D47DB80ADAD7A9AA69703BC8054B9E2A5EE37FD3CDC9F04C66E33094F5C0AA
+ED640BCC7675EEB0C69793F93535911AA6017FEA1F3FE4CBCC76DDC6C91ADB06
+B2B29737C5869E65E98E93FD97FF01C4AA649E945D949DE17F63086E8CD0A5B0
+4DC8BB28379467A431D0D54826FD985E0960424D64188C539C766CC995560DD0
+DBC31DE3AC02B27C9FDD27CAA7DE09728FE98D93C5AB5C375798AD5DE4363218
+6AC49D9907CAF6F2B5C841876DA0EFF50FBA3B9FBAF7E67D7515BDDC602A2622
+16CE335B554606569DE3EA096EF89FBD9D3627B891E3E78D0DD2B3A8F6C27617
+865E418EA3817DE8E54F71FA45A66D14163736C86A8900FE46C924DAB6424D5E
+0EC3E21E4A4156F955B34851DD3FA1151EDEE50A7855EEC149F95C85BEABC35E
+8846E78E1506706BBA0DB45B26C0A75CCD73B8AF14C13606E81B2C80C5587F15
+A5FB42FE11432F7F07BB80554FB041DD086710BE2400887A5F789923EBE9E6EE
+28001B0A1A21876B4AB6C4C59202980D2F127D1A71050DBAE49DAF036469D2BB
+B48A498468FC6DC61970531CBBDDF7DAFB3CB8
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
+{restore}if
%%EndFont
TeXDict begin 39158280 55380996 1000 600 600 (libidn.dvi)
@start /Fa 197[21 58[{}1 74.7198 /CMMI9 rf /Fb 140[37
1[39 39 39 39 39 39 39 39 39 39 39 5[39 1[39 39 39 39
39 39 1[39 39 39 39 39 1[39 39 39 39 39 39 39 39 39 39
5[39 39 39 39 2[39 39 39 39 39 39 39 39 39 39 2[39 39
-39 39[{}65 74.7198 /CMTT9 rf /Fe 140[42 9[27 5[54 1[56
-97[{}4 90.9091 /CMCSC10 rf /Ff 133[34 41 41 55 41 43
+39 39[{}65 74.7198 /CMTT9 rf /Fe 133[34 41 41 55 41 43
30 30 30 1[43 38 43 64 21 41 1[21 43 38 23 34 43 34 43
38 8[58 79 1[58 55 43 57 1[52 60 58 70 48 2[28 58 60
-50 52 59 55 54 58 7[38 38 38 38 38 38 38 38 38 38 1[21
-26 21 4[21 26[43 12[{}59 74.7198 /CMR9 rf /Fg 206[33
-49[{}1 58.1154 /CMR7 rf /Fh 158[35 97[{}1 66.4176 /CMTT8
-rf /Fi 162[28 1[28 91[{}2 99.6264 /CMB10 rf /Fj 134[62
+50 52 59 55 54 58 7[38 38 38 38 38 38 38 38 38 38 38
+21 26 21 4[21 26[43 12[{}60 74.7198 /CMR9 rf /Ff 206[33
+49[{}1 58.1154 /CMR7 rf /Fg 158[35 97[{}1 66.4176 /CMTT8
+rf /Fh 162[28 1[28 91[{}2 99.6264 /CMB10 rf /Fi 134[62
3[62 62 62 62 1[62 62 62 1[62 2[62 62 62 62 62 62 62
-1[62 39[62 6[62 3[62 62 45[{}21 119.552 /CMTT12 rf /Fk
-167[62 2[62 60 46 2[57 1[62 76 52 1[43 1[62 65 54 1[63
-60 67[{}14 83.022 /CMR10 rf /Fl 137[48 51 35 1[39 3[51
-1[25 6[42 3[44 7[69 69 94 69 70 63 51 69 1[62 68 71 86
-55 71 1[36 71 71 57 60 70 66 65 69 6[25 45 6[45 50[{}34
-90.9091 /CMB10 rf /Fm 135[52 52 52 52 52 52 52 52 52
-52 52 52 52 2[52 52 52 52 52 52 52 52 52 1[52 42[52 52[{}24
-99.6264 /CMSLTT10 rf /Fn 133[40 48 48 66 48 51 35 36
-36 48 51 45 51 76 25 2[25 51 45 28 40 51 40 51 45 12[66
-51 67 1[62 3[57 2[33 68 2[62 1[66 1[68 7[45 4[45 45 45
-4[30 25 1[45 28[51 51 12[{}43 90.9091 /CMSL10 rf /Fo
-214[35 35 40[{}2 90.9091 /CMSS10 rf /Fp 133[52 52 52
-1[52 52 52 52 52 1[52 52 52 52 52 52 1[52 52 52 52 52
-52 52 52 52 1[52 6[52 52 1[52 52 52 52 1[52 52 52 1[52
-52 1[52 1[52 52 52 52 52 52 52 7[52 52 3[52 52 52 4[52
-2[52 6[52 35[{}51 99.6264 /CMTT10 rf /Fq 133[55 65 1[89
-65 68 48 48 50 1[68 61 68 102 34 65 1[34 68 61 37 56
-68 55 68 60 7[93 1[127 1[94 85 68 92 1[84 92 96 116 74
-96 1[46 96 96 77 81 94 89 87 93 7[61 61 61 1[61 61 61
-61 61 2[34 1[34 31[68 12[{}55 109.091 /CMBX12 rf /Fr
-128[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+1[62 39[62 6[62 3[62 62 45[{}21 119.552 /CMTT12 rf /Fj
+137[48 51 35 1[39 3[51 1[25 6[42 3[44 7[69 69 94 69 70
+63 51 69 1[62 68 71 86 55 71 1[36 71 71 57 60 70 66 65
+69 6[25 45 6[45 50[{}34 90.9091 /CMB10 rf /Fk 135[52
+52 52 52 52 52 52 52 52 52 52 52 52 2[52 52 52 52 52
+52 52 52 52 1[52 42[52 52[{}24 99.6264 /CMSLTT10 rf /Fl
+133[40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 2[25
+51 45 28 40 51 40 51 45 12[66 51 67 1[62 3[57 2[33 68
+2[62 1[66 1[68 7[45 4[45 45 45 4[30 25 1[45 28[51 51
+12[{}43 90.9091 /CMSL10 rf /Fm 214[35 35 40[{}2 90.9091
+/CMSS10 rf /Fn 133[52 52 52 1[52 52 52 52 52 1[52 52
+52 52 52 52 1[52 52 52 52 52 52 52 52 52 1[52 6[52 52
+1[52 52 52 52 1[52 52 52 1[52 52 1[52 1[52 52 52 52 52
+52 52 7[52 52 3[52 52 52 4[52 2[52 6[52 35[{}51 99.6264
+/CMTT10 rf /Fo 133[55 65 1[89 65 68 48 48 50 1[68 61
+68 102 34 65 1[34 68 61 37 56 68 55 68 60 7[93 1[127
+1[94 85 68 92 1[84 92 96 116 74 96 1[46 96 96 77 81 94
+89 87 93 7[61 61 61 1[61 61 61 61 61 2[34 1[34 31[68
+12[{}55 109.091 /CMBX12 rf /Fp 128[48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 4[48 1[48 48 1[48 23[{}99 90.9091 /CMTT10
-rf /Fs 197[25 58[{}1 90.9091 /CMMI10 rf /Ft 197[33 58[{}1
-119.552 /CMMI12 rf /Fu 134[85 85 117 85 90 63 64 66 1[90
-81 90 134 45 85 1[45 1[81 49 74 90 72 90 78 10[122 124
-112 90 120 1[110 121 126 1[97 1[83 60 126 1[101 106 124
-117 115 122 7[81 81 81 81 81 81 81 81 81 81 12[134 35[{}51
-143.462 /CMBX12 rf /Fv 150[35 35 88[45 1[91 13[{}4 90.9091
-/CMSY10 rf /Fw 133[60 71 71 97 71 75 52 53 55 1[75 67
-75 112 37 71 1[37 75 67 41 61 75 60 75 65 7[102 1[139
-102 103 94 75 100 1[92 101 105 128 81 1[69 50 105 106
-85 88 103 97 96 102 6[37 67 67 67 67 67 67 67 67 67 67
-1[37 45 9[112 22[75 12[{}61 119.552 /CMBX12 rf /Fx 131[91
-45 40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28
-25 51 45 28 40 51 40 51 45 25 2[25 45 25 56 68 68 93
-68 68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62
-69 66 64 68 1[43 1[71 1[25 25 45 45 45 45 45 45 45 45
-45 45 45 25 30 25 1[45 35 35 25 3[76 45 25 18[76 51 51
-53 11[{}87 90.9091 /CMR10 rf /Fy 145[108 4[54 4[108 1[108
+48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 4[48
+1[48 48 1[48 23[{}99 90.9091 /CMTT10 rf /Fq 197[25 58[{}1
+90.9091 /CMMI10 rf /Fr 197[33 58[{}1 119.552 /CMMI12
+rf /Fs 134[85 85 117 85 90 63 64 66 1[90 81 90 134 45
+85 1[45 1[81 49 74 90 72 90 78 10[122 124 112 90 120
+1[110 121 126 1[97 1[83 60 126 1[101 106 124 117 115
+122 7[81 81 81 81 81 81 81 81 81 81 12[134 35[{}51 143.462
+/CMBX12 rf /Ft 150[35 35 88[45 1[91 13[{}4 90.9091 /CMSY10
+rf /Fu 133[60 71 71 97 71 75 52 53 55 1[75 67 75 112
+37 71 1[37 75 67 41 61 75 60 75 65 7[102 1[139 102 103
+94 75 100 1[92 101 105 128 81 1[69 50 105 106 85 88 103
+97 96 102 6[37 67 67 67 67 67 67 67 67 67 67 1[37 45
+9[112 22[75 12[{}61 119.552 /CMBX12 rf /Fv 131[91 45
+40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 25
+51 45 28 40 51 40 51 45 25 2[25 45 25 56 68 68 93 68
+68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62 69
+66 64 68 1[43 1[71 1[25 25 45 45 45 45 45 45 45 45 45
+45 45 25 30 25 1[45 35 35 25 3[76 45 25 18[76 51 51 53
+11[{}87 90.9091 /CMR10 rf /Fw 145[108 4[54 4[108 1[108
12[149 6[151 1[116 4[152 71[{}8 172.154 /CMBX12 rf end
%%EndProlog
%%BeginSetup
end
%%EndSetup
%%Page: 1 1
-TeXDict begin 1 0 bop 150 1318 a Fy(GNU)65 b(Libidn)p
-150 1385 3600 34 v 1546 1481 a Fx(In)m(ternationalized)33
-b(string)d(pro)s(cessing)g(for)g(the)h(GNU)g(system)2577
-1589 y(for)f(v)m(ersion)h(1.15,)h(28)g(Ma)m(y)f(2009)150
-5091 y Fw(Simon)45 b(Josefsson)p 150 5141 3600 17 v eop
+TeXDict begin 1 0 bop 150 1318 a Fw(GNU)65 b(Libidn)p
+150 1385 3600 34 v 1546 1481 a Fv(In)m(ternationalized)33
+b(string)d(pro)s(cessing)g(for)g(the)h(GNU)g(system)2352
+1589 y(for)f(v)m(ersion)h(1.23,)h(25)g(No)m(v)m(em)m(b)s(er)f(2011)150
+5091 y Fu(Simon)45 b(Josefsson)p 150 5141 3600 17 v eop
end
%%Page: 2 2
-TeXDict begin 2 1 bop 150 4633 a Fx(This)30 b(man)m(ual)g(is)h(last)g
-(up)s(dated)e(28)i(Ma)m(y)h(2009)g(for)e(v)m(ersion)h(1.15)h(of)e(GNU)h
-(Libidn.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577
-4767 y Fv(\015)f Fx(2002,)j(2003,)f(2004,)g(2005,)h(2006,)f(2007,)g
-(2008,)h(2009)f(Simon)e(Josefsson.)390 4902 y(P)m(ermission)21
-b(is)f(gran)m(ted)h(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s
-(dify)e(this)i(do)s(cumen)m(t)f(under)f(the)390 5011
-y(terms)25 b(of)h(the)f(GNU)h(F)-8 b(ree)27 b(Do)s(cumen)m(tation)g
-(License,)g(V)-8 b(ersion)26 b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)
-390 5121 y(published)43 b(b)m(y)h(the)h(F)-8 b(ree)46
-b(Soft)m(w)m(are)g(F)-8 b(oundation;)53 b(with)44 b(no)g(In)m(v)-5
-b(arian)m(t)46 b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er)
-31 b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8
+TeXDict begin 2 1 bop 150 4633 a Fv(This)30 b(man)m(ual)g(is)h(last)g
+(up)s(dated)e(25)i(No)m(v)m(em)m(b)s(er)h(2011)g(for)e(v)m(ersion)h
+(1.23)h(of)e(GNU)h(Libidn.)150 4767 y(Cop)m(yrigh)m(t)602
+4764 y(c)577 4767 y Ft(\015)f Fv(2002,)j(2003,)f(2004,)g(2005,)h(2006,)
+f(2007,)g(2008,)h(2009,)f(2010,)h(2011)f(Simon)d(Josefsson.)390
+4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8
+b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
+(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
+b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
+b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
+b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
+b(oundation;)53 b(with)44 b(no)g(In)m(v)-5 b(arian)m(t)46
+b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er)31
+b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8
b(exts.)41 b(A)29 b(cop)m(y)h(of)f(the)g(license)h(is)f(included)390
5340 y(in)h(the)h(section)g(en)m(titled)h(\\GNU)f(F)-8
b(ree)32 b(Do)s(cumen)m(tation)g(License".)p eop end
%%Page: -1 3
-TeXDict begin -1 2 bop 3725 -116 a Fx(i)150 299 y Fu(T)-13
-b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fw(1)135 b(In)l(tro)t
-(duction)13 b Ft(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
+TeXDict begin -1 2 bop 3725 -116 a Fv(i)150 299 y Fs(T)-13
+b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fu(1)135 b(In)l(tro)t
+(duction)13 b Fr(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)h(:)57 b Fw(1)275 778 y Fx(1.1)92
-b(Getting)32 b(Started)21 b Fs(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+g(:)h(:)f(:)h(:)f(:)h(:)57 b Fu(1)275 778 y Fv(1.1)92
+b(Getting)32 b(Started)21 b Fq(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)51 b Fx(1)275 888 y(1.2)92 b(F)-8 b(eatures)26
-b Fs(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)f(:)g(:)h(:)51 b Fv(1)275 888 y(1.2)92 b(F)-8 b(eatures)26
+b Fq(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)56 b Fx(2)275 997 y(1.3)92 b(Library)29
-b(Ov)m(erview)d Fs(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)56 b Fv(2)275 997 y(1.3)92 b(Library)29
+b(Ov)m(erview)d Fq(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)56
-b Fx(2)275 1107 y(1.4)92 b(Supp)s(orted)28 b(Platforms)20
-b Fs(:)c(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+b Fv(2)275 1107 y(1.4)92 b(Supp)s(orted)28 b(Platforms)20
+b Fq(:)c(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)51 b Fx(3)275 1216
-y(1.5)92 b(Getting)32 b(help)23 b Fs(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)51 b Fv(3)275 1216
+y(1.5)92 b(Getting)32 b(help)23 b Fq(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)54 b Fx(5)275 1326 y(1.6)92
-b(Commercial)31 b(Supp)s(ort)23 b Fs(:)13 b(:)i(:)h(:)f(:)g(:)h(:)f(:)h
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)54 b Fv(5)275 1326 y(1.6)92
+b(Commercial)31 b(Supp)s(ort)23 b Fq(:)13 b(:)i(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)53
-b Fx(5)275 1435 y(1.7)92 b(Do)m(wnloading)31 b(and)f(Installing)9
-b Fs(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
+b Fv(5)275 1435 y(1.7)92 b(Do)m(wnloading)31 b(and)f(Installing)9
+b Fq(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)39 b Fx(6)399 1545 y(1.7.1)93 b(Installing)31
-b(under)e(Windo)m(ws)f Fs(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
+h(:)f(:)h(:)39 b Fv(6)399 1545 y(1.7.1)93 b(Installing)31
+b(under)e(Windo)m(ws)f Fq(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)58 b Fx(6)275 1655 y(1.8)92 b(Bug)30
-b(Rep)s(orts)22 b Fs(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)58 b Fv(7)275 1655 y(1.8)92 b(Bug)30
+b(Rep)s(orts)22 b Fq(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)53 b Fx(7)275 1764 y(1.9)92 b(Con)m(tributing)18
-b Fs(:)c(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+(:)h(:)f(:)g(:)53 b Fv(7)275 1764 y(1.9)92 b(Con)m(tributing)18
+b Fq(:)c(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)48
-b Fx(7)150 2007 y Fw(2)135 b(Preparation)34 b Ft(:)19
+b Fv(8)150 2007 y Fu(2)135 b(Preparation)34 b Fr(:)19
b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-h(:)77 b Fw(9)275 2144 y Fx(2.1)92 b(Header)13 b Fs(:)i(:)h(:)f(:)g(:)h
+h(:)77 b Fu(9)275 2144 y Fv(2.1)92 b(Header)13 b Fq(:)i(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)43
-b Fx(9)275 2253 y(2.2)92 b(Initialization)18 b Fs(:)f(:)f(:)f(:)h(:)f
+b Fv(9)275 2253 y(2.2)92 b(Initialization)18 b Fq(:)f(:)f(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)47 b Fx(10)275
-2363 y(2.3)92 b(V)-8 b(ersion)31 b(Chec)m(k)8 b Fs(:)16
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)47 b Fv(10)275
+2363 y(2.3)92 b(V)-8 b(ersion)31 b(Chec)m(k)8 b Fq(:)16
b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38
-b Fx(10)275 2472 y(2.4)92 b(Building)30 b(the)h(source)c
-Fs(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+b Fv(10)275 2472 y(2.4)92 b(Building)30 b(the)h(source)c
+Fq(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)56 b Fx(11)275 2582
-y(2.5)92 b(Auto)s(conf)30 b(tests)22 b Fs(:)17 b(:)e(:)g(:)h(:)f(:)h(:)
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)56 b Fv(11)275 2582
+y(2.5)92 b(Auto)s(conf)30 b(tests)22 b Fq(:)17 b(:)e(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)52 b Fx(11)275 2692 y(2.6)92
-b(Memory)30 b(handling)g(under)f(Windo)m(ws)18 b Fs(:)e(:)f(:)h(:)f(:)h
+f(:)h(:)f(:)g(:)h(:)f(:)52 b Fv(11)275 2692 y(2.6)92
+b(Memory)30 b(handling)g(under)f(Windo)m(ws)18 b Fq(:)e(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)h(:)f(:)48 b Fx(12)275 2801 y(2.7)92
-b(Header)30 b(\014le)h Fr(idn-free.h)24 b Fs(:)15 b(:)g(:)h(:)f(:)h(:)f
+h(:)f(:)h(:)f(:)h(:)f(:)48 b Fv(12)275 2801 y(2.7)92
+b(Header)30 b(\014le)h Fp(idn-free.h)24 b Fq(:)15 b(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)56
-b Fx(12)275 2911 y(2.8)92 b(Memory)30 b(de-allo)s(cation)j(function)24
-b Fs(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+b Fv(12)275 2911 y(2.8)92 b(Memory)30 b(de-allo)s(cation)j(function)24
+b Fq(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)54
-b Fx(12)150 3153 y Fw(3)135 b(Utilit)l(y)47 b(F)-11 b(unctions)32
-b Ft(:)20 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+b Fv(12)150 3153 y Fu(3)135 b(Utilit)l(y)47 b(F)-11 b(unctions)32
+b Fr(:)20 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)78
-b Fw(14)275 3290 y Fx(3.1)92 b(Header)30 b(\014le)h Fr(stringprep.h)19
-b Fs(:)12 b(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+b Fu(14)275 3290 y Fv(3.1)92 b(Header)30 b(\014le)h Fp(stringprep.h)19
+b Fq(:)12 b(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)49 b Fx(14)275 3400 y(3.2)92 b(Unico)s(de)30
-b(Enco)s(ding)g(T)-8 b(ransformation)12 b Fs(:)j(:)g(:)h(:)f(:)h(:)f(:)
+g(:)h(:)f(:)49 b Fv(14)275 3400 y(3.2)92 b(Unico)s(de)30
+b(Enco)s(ding)g(T)-8 b(ransformation)12 b Fq(:)j(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)41 b Fx(14)275 3509 y(3.3)92 b(Unico)s(de)30
-b(Normalization)15 b Fs(:)j(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)g(:)h(:)41 b Fv(14)275 3509 y(3.3)92 b(Unico)s(de)30
+b(Normalization)15 b Fq(:)j(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)45 b Fx(15)275
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)45 b Fv(15)275
3619 y(3.4)92 b(Character)30 b(Set)h(Con)m(v)m(ersion)25
-b Fs(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+b Fq(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)54 b Fx(16)150 3861 y Fw(4)135 b(Stringprep)45
-b(F)-11 b(unctions)18 b Ft(:)g(:)i(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
+f(:)g(:)h(:)54 b Fv(16)150 3861 y Fu(4)135 b(Stringprep)45
+b(F)-11 b(unctions)18 b Fr(:)g(:)i(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)63
-b Fw(17)275 3998 y Fx(4.1)92 b(Header)30 b(\014le)h Fr(stringprep.h)19
-b Fs(:)12 b(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+b Fu(17)275 3998 y Fv(4.1)92 b(Header)30 b(\014le)h Fp(stringprep.h)19
+b Fq(:)12 b(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)49 b Fx(17)275 4108 y(4.2)92 b(De\014ning)30
-b(A)g(Stringprep)f(Pro\014le)10 b Fs(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+g(:)h(:)f(:)49 b Fv(17)275 4108 y(4.2)92 b(De\014ning)30
+b(A)g(Stringprep)f(Pro\014le)10 b Fq(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)39 b Fx(17)275 4218 y(4.3)92
-b(Con)m(trol)31 b(Flags)20 b Fs(:)d(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)39 b Fv(17)275 4218 y(4.3)92
+b(Con)m(trol)31 b(Flags)20 b Fq(:)d(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)50 b Fx(17)275 4327 y(4.4)92 b(Core)30
-b(F)-8 b(unctions)10 b Fs(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+(:)f(:)g(:)h(:)50 b Fv(17)275 4327 y(4.4)92 b(Core)30
+b(F)-8 b(unctions)10 b Fq(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)40 b Fx(17)275 4437 y(4.5)92 b(Error)29 b(Handling)9
-b Fs(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+h(:)f(:)40 b Fv(17)275 4437 y(4.5)92 b(Error)29 b(Handling)9
+b Fq(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39
-b Fx(19)275 4546 y(4.6)92 b(Stringprep)29 b(Pro\014le)h(Macros)21
-b Fs(:)c(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+b Fv(19)275 4546 y(4.6)92 b(Stringprep)29 b(Pro\014le)h(Macros)21
+b Fq(:)c(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)51 b Fx(20)150 4789 y Fw(5)135 b(Pun)l(yco)t(de)44
-b(F)-11 b(unctions)18 b Ft(:)g(:)i(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
+(:)h(:)f(:)51 b Fv(20)150 4789 y Fu(5)135 b(Pun)l(yco)t(de)44
+b(F)-11 b(unctions)18 b Fr(:)g(:)i(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)63
-b Fw(22)275 4926 y Fx(5.1)92 b(Header)30 b(\014le)h Fr(punycode.h)24
-b Fs(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+b Fu(22)275 4926 y Fv(5.1)92 b(Header)30 b(\014le)h Fp(punycode.h)24
+b Fq(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)56 b Fx(22)275 5035 y(5.2)92 b(Unico)s(de)30
-b(Co)s(de)g(P)m(oin)m(t)i(Data)g(T)m(yp)s(e)23 b Fs(:)16
+g(:)h(:)f(:)h(:)f(:)56 b Fv(22)275 5035 y(5.2)92 b(Unico)s(de)30
+b(Co)s(de)g(P)m(oin)m(t)i(Data)g(T)m(yp)s(e)23 b Fq(:)16
b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)54
-b Fx(22)275 5145 y(5.3)92 b(Core)30 b(F)-8 b(unctions)10
-b Fs(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+b Fv(22)275 5145 y(5.3)92 b(Core)30 b(F)-8 b(unctions)10
+b Fq(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)40
-b Fx(22)275 5254 y(5.4)92 b(Error)29 b(Handling)9 b Fs(:)16
+b Fv(22)275 5254 y(5.4)92 b(Error)29 b(Handling)9 b Fq(:)16
b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39 b
-Fx(24)p eop end
+Fv(24)p eop end
%%Page: -2 4
-TeXDict begin -2 3 bop 3699 -116 a Fx(ii)150 83 y Fw(6)135
-b(IDNA)44 b(F)-11 b(unctions)21 b Ft(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+TeXDict begin -2 3 bop 3699 -116 a Fv(ii)150 83 y Fu(6)135
+b(IDNA)44 b(F)-11 b(unctions)21 b Fr(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)h(:)65 b Fw(25)275 220 y Fx(6.1)92 b(Header)30
-b(\014le)h Fr(idna.h)21 b Fs(:)14 b(:)h(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)f(:)h(:)f(:)h(:)65 b Fu(25)275 220 y Fv(6.1)92 b(Header)30
+b(\014le)h Fp(idna.h)21 b Fq(:)14 b(:)h(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)50
-b Fx(25)275 330 y(6.2)92 b(Con)m(trol)31 b(Flags)20 b
-Fs(:)d(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+b Fv(25)275 330 y(6.2)92 b(Con)m(trol)31 b(Flags)20 b
+Fq(:)d(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)50
-b Fx(25)275 439 y(6.3)92 b(Pre\014x)29 b(String)17 b
-Fs(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+b Fv(25)275 439 y(6.3)92 b(Pre\014x)29 b(String)17 b
+Fq(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)46
-b Fx(25)275 549 y(6.4)92 b(Core)30 b(F)-8 b(unctions)10
-b Fs(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+b Fv(25)275 549 y(6.4)92 b(Core)30 b(F)-8 b(unctions)10
+b Fq(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)40
-b Fx(25)275 658 y(6.5)92 b(Simpli\014ed)29 b(T)-8 b(oASCI)s(I)29
-b(In)m(terface)16 b Fs(:)h(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+b Fv(25)275 658 y(6.5)92 b(Simpli\014ed)29 b(T)-8 b(oASCI)s(I)29
+b(In)m(terface)16 b Fq(:)h(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)46 b Fx(27)275 768 y(6.6)92 b(Simpli\014ed)29
-b(T)-8 b(oUnico)s(de)31 b(In)m(terface)21 b Fs(:)c(:)e(:)h(:)f(:)h(:)f
+h(:)f(:)h(:)f(:)46 b Fv(27)275 768 y(6.6)92 b(Simpli\014ed)29
+b(T)-8 b(oUnico)s(de)31 b(In)m(terface)21 b Fq(:)c(:)e(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)51 b Fx(28)275 878 y(6.7)92
-b(Error)29 b(Handling)9 b Fs(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)51 b Fv(28)275 878 y(6.7)92
+b(Error)29 b(Handling)9 b Fq(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)39 b Fx(29)150 1120 y Fw(7)135 b(TLD)44 b(F)-11
-b(unctions)35 b Ft(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)h(:)f(:)39 b Fv(29)150 1120 y Fu(7)135 b(TLD)44 b(F)-11
+b(unctions)35 b Fr(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
-f(:)h(:)80 b Fw(31)275 1257 y Fx(7.1)92 b(Header)30 b(\014le)h
-Fr(tld.h)23 b Fs(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+f(:)h(:)80 b Fu(31)275 1257 y Fv(7.1)92 b(Header)30 b(\014le)h
+Fp(tld.h)23 b Fq(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)54
-b Fx(31)275 1367 y(7.2)92 b(Core)30 b(F)-8 b(unctions)10
-b Fs(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+b Fv(31)275 1367 y(7.2)92 b(Core)30 b(F)-8 b(unctions)10
+b Fq(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)40
-b Fx(31)275 1476 y(7.3)92 b(Utilit)m(y)32 b(F)-8 b(unctions)14
-b Fs(:)i(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
+b Fv(31)275 1476 y(7.3)92 b(Utilit)m(y)32 b(F)-8 b(unctions)14
+b Fq(:)i(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)44 b Fx(32)275
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)44 b Fv(32)275
1586 y(7.4)92 b(High-Lev)m(el)32 b(W)-8 b(rapp)s(er)30
-b(F)-8 b(unctions)25 b Fs(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+b(F)-8 b(unctions)25 b Fq(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)54 b Fx(33)275 1695 y(7.5)92 b(Error)29
-b(Handling)9 b Fs(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+(:)h(:)f(:)h(:)54 b Fv(33)275 1695 y(7.5)92 b(Error)29
+b(Handling)9 b Fq(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-39 b Fx(35)150 1938 y Fw(8)135 b(PR29)45 b(F)-11 b(unctions)11
-b Ft(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
+39 b Fv(35)150 1938 y Fu(8)135 b(PR29)45 b(F)-11 b(unctions)11
+b Fr(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)56
-b Fw(36)275 2075 y Fx(8.1)92 b(Header)30 b(\014le)h Fr(pr29.h)21
-b Fs(:)14 b(:)h(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+b Fu(36)275 2075 y Fv(8.1)92 b(Header)30 b(\014le)h Fp(pr29.h)21
+b Fq(:)14 b(:)h(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)50 b Fx(36)275
-2184 y(8.2)92 b(Core)30 b(F)-8 b(unctions)10 b Fs(:)16
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)50 b Fv(36)275
+2184 y(8.2)92 b(Core)30 b(F)-8 b(unctions)10 b Fq(:)16
b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)40 b
-Fx(36)275 2294 y(8.3)92 b(Utilit)m(y)32 b(F)-8 b(unctions)14
-b Fs(:)i(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
+Fv(36)275 2294 y(8.3)92 b(Utilit)m(y)32 b(F)-8 b(unctions)14
+b Fq(:)i(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)44 b Fx(37)275
-2403 y(8.4)92 b(Error)29 b(Handling)9 b Fs(:)16 b(:)f(:)g(:)h(:)f(:)h
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)44 b Fv(37)275
+2403 y(8.4)92 b(Error)29 b(Handling)9 b Fq(:)16 b(:)f(:)g(:)h(:)f(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)39 b Fx(37)150 2646 y Fw(9)135
-b(Examples)15 b Ft(:)21 b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)39 b Fv(37)150 2646 y Fu(9)135
+b(Examples)15 b Fr(:)21 b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)60 b Fw(38)275 2783
-y Fx(9.1)92 b(Example)30 b(1)20 b Fs(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
+g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)60 b Fu(38)275 2783
+y Fv(9.1)92 b(Example)30 b(1)20 b Fq(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)49 b Fx(38)275 2892 y(9.2)92
-b(Example)30 b(2)20 b Fs(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)49 b Fv(38)275 2892 y(9.2)92
+b(Example)30 b(2)20 b Fq(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)49 b Fx(40)275 3002 y(9.3)92 b(Example)30
-b(3)20 b Fs(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+f(:)h(:)f(:)g(:)h(:)49 b Fv(40)275 3002 y(9.3)92 b(Example)30
+b(3)20 b Fq(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)49 b Fx(45)275 3112 y(9.4)92 b(Example)30 b(4)20
-b Fs(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+(:)h(:)49 b Fv(45)275 3112 y(9.4)92 b(Example)30 b(4)20
+b Fq(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-49 b Fx(46)275 3221 y(9.5)92 b(Example)30 b(5)20 b Fs(:)c(:)f(:)g(:)h
+49 b Fv(46)275 3221 y(9.5)92 b(Example)30 b(5)20 b Fq(:)c(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)49
-b Fx(48)150 3464 y Fw(10)135 b(In)l(v)l(oking)46 b(idn)26
-b Ft(:)19 b(:)g(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
+b Fv(48)150 3464 y Fu(10)135 b(In)l(v)l(oking)46 b(idn)26
+b Fr(:)19 b(:)g(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
-70 b Fw(52)275 3601 y Fx(10.1)92 b(Name)13 b Fs(:)j(:)f(:)h(:)f(:)h(:)f
+70 b Fu(52)275 3601 y Fv(10.1)92 b(Name)13 b Fq(:)j(:)f(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)42
-b Fx(52)275 3710 y(10.2)92 b(Description)22 b Fs(:)16
+b Fv(52)275 3710 y(10.2)92 b(Description)22 b Fq(:)16
b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)51
-b Fx(52)275 3820 y(10.3)92 b(Options)11 b Fs(:)k(:)h(:)f(:)g(:)h(:)f(:)
+b Fv(52)275 3820 y(10.3)92 b(Options)11 b Fq(:)k(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)41 b
-Fx(52)275 3929 y(10.4)92 b(En)m(vironmen)m(t)31 b(V)-8
-b(ariables)17 b Fs(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
+Fv(52)275 3929 y(10.4)92 b(En)m(vironmen)m(t)31 b(V)-8
+b(ariables)17 b Fq(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)46 b Fx(53)275 4039 y(10.5)92
-b(Examples)17 b Fs(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)46 b Fv(53)275 4039 y(10.5)92
+b(Examples)17 b Fq(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)46 b Fx(53)275 4149 y(10.6)92 b(T)-8 b(roublesho)s
-(oting)8 b Fs(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+(:)h(:)f(:)h(:)46 b Fv(53)275 4149 y(10.6)92 b(T)-8 b(roublesho)s
+(oting)8 b Fq(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38
-b Fx(54)150 4391 y Fw(11)135 b(Emacs)45 b(API)35 b Ft(:)19
+b Fv(54)150 4391 y Fu(11)135 b(Emacs)45 b(API)35 b Fr(:)19
b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)79
-b Fw(56)275 4528 y Fx(11.1)92 b(Pun)m(yco)s(de)30 b(Emacs)h(API)16
-b Fs(:)e(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+b Fu(56)275 4528 y Fv(11.1)92 b(Pun)m(yco)s(de)30 b(Emacs)h(API)16
+b Fq(:)e(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)45 b Fx(56)275 4638 y(11.2)92
-b(IDNA)31 b(Emacs)g(API)9 b Fs(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)f(:)h(:)f(:)g(:)h(:)45 b Fv(56)275 4638 y(11.2)92
+b(IDNA)31 b(Emacs)g(API)9 b Fq(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39
-b Fx(56)p eop end
+b Fv(56)p eop end
%%Page: -3 5
-TeXDict begin -3 4 bop 3674 -116 a Fx(iii)150 83 y Fw(12)135
-b(Ja)l(v)-7 b(a)46 b(API)15 b Ft(:)k(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
+TeXDict begin -3 4 bop 3674 -116 a Fv(iii)150 83 y Fu(12)135
+b(Ja)l(v)-7 b(a)46 b(API)15 b Fr(:)k(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)60 b Fw(58)275
-220 y Fx(12.1)92 b(Ov)m(erview)23 b Fs(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f
+(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)60 b Fu(58)275
+220 y Fv(12.1)92 b(Ov)m(erview)23 b Fq(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)52 b Fx(58)275
-330 y(12.2)92 b(Miscellaneous)32 b(Programs)14 b Fs(:)h(:)h(:)f(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)52 b Fv(58)275
+330 y(12.2)92 b(Miscellaneous)32 b(Programs)14 b Fq(:)h(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)43
-b Fx(58)399 439 y(12.2.1)93 b(GenerateRF)m(C3454)8 b
-Fs(:)19 b(:)d(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+b Fv(58)399 439 y(12.2.1)93 b(GenerateRF)m(C3454)8 b
+Fq(:)19 b(:)d(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)38 b Fx(58)399 549 y(12.2.2)93 b(GenerateNFK)m(C)23
-b Fs(:)17 b(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+h(:)f(:)h(:)f(:)g(:)38 b Fv(58)399 549 y(12.2.2)93 b(GenerateNFK)m(C)23
+b Fq(:)17 b(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)52 b Fx(58)399 658 y(12.2.3)93
-b(T)-8 b(estIDNA)29 b Fs(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)52 b Fv(58)399 658 y(12.2.3)93
+b(T)-8 b(estIDNA)29 b Fq(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)57
-b Fx(59)399 768 y(12.2.4)93 b(T)-8 b(estNFK)m(C)16 b
-Fs(:)h(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
+b Fv(59)399 768 y(12.2.4)93 b(T)-8 b(estNFK)m(C)16 b
+Fq(:)h(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)46 b Fx(59)275
-878 y(12.3)92 b(P)m(ossible)31 b(Problems)11 b Fs(:)k(:)g(:)h(:)f(:)h
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)46 b Fv(59)275
+878 y(12.3)92 b(P)m(ossible)31 b(Problems)11 b Fq(:)k(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)40 b Fx(59)275 987 y(12.4)92 b(A)31 b(Note)g(on)g(Ja)m
-(v)-5 b(a)31 b(and)f(Unico)s(de)16 b Fs(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)g(:)h(:)40 b Fv(59)275 987 y(12.4)92 b(A)31 b(Note)g(on)g(Ja)m
+(v)-5 b(a)31 b(and)f(Unico)s(de)16 b Fq(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)45 b Fx(59)150 1230 y Fw(13)135
-b(C#)45 b(API)14 b Ft(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)45 b Fv(59)150 1230 y Fu(13)135
+b(C#)45 b(API)14 b Fr(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)59 b Fw(61)150
-1499 y(14)135 b(Ac)l(kno)l(wledgemen)l(ts)20 b Ft(:)h(:)f(:)f(:)h(:)f
+(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)59 b Fu(61)150
+1499 y(14)135 b(Ac)l(kno)l(wledgemen)l(ts)20 b Fr(:)h(:)f(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)65 b Fw(62)150 1769 y(15)135 b(History)16
-b Ft(:)21 b(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
+h(:)f(:)h(:)f(:)65 b Fu(62)150 1769 y(15)135 b(History)16
+b Fr(:)21 b(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)61 b Fw(63)150 2039 y(App)t(endix)44
-b(A)160 b(PR29)45 b(discussion)30 b Ft(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)74 b Fw(64)150
+h(:)f(:)g(:)h(:)f(:)h(:)61 b Fu(63)150 2039 y(App)t(endix)44
+b(A)160 b(PR29)45 b(discussion)30 b Fr(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)74 b Fu(64)150
2309 y(App)t(endix)44 b(B)166 b(On)44 b(Lab)t(el)i(Separators)33
-b Ft(:)20 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)77
-b Fw(67)275 2446 y Fx(B.1)92 b(Recommended)30 b(W)-8
-b(ork)j(around)17 b Fs(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+b Fr(:)20 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)77
+b Fu(67)275 2446 y Fv(B.1)92 b(Recommended)30 b(W)-8
+b(ork)j(around)17 b Fq(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)47 b Fx(67)150 2688 y Fw(App)t(endix)d(C)165
-b(Cop)l(ying)45 b(Information)25 b Ft(:)c(:)f(:)f(:)g(:)h(:)f(:)h(:)f
-(:)h(:)f(:)h(:)f(:)70 b Fw(68)275 2825 y Fx(C.1)91 b(GNU)31
+g(:)h(:)f(:)h(:)f(:)47 b Fv(67)150 2688 y Fu(App)t(endix)d(C)165
+b(Cop)l(ying)45 b(Information)25 b Fr(:)c(:)f(:)f(:)g(:)h(:)f(:)h(:)f
+(:)h(:)f(:)h(:)f(:)70 b Fu(68)275 2825 y Fv(C.1)91 b(GNU)31
b(F)-8 b(ree)31 b(Do)s(cumen)m(tation)h(License)23 b
-Fs(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)52 b Fx(68)275
+Fq(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)52 b Fv(68)275
2935 y(C.2)91 b(GNU)31 b(Lesser)f(General)h(Public)f(License)13
-b Fs(:)j(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)43 b Fx(75)275
+b Fq(:)j(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)43 b Fv(75)275
3044 y(C.3)91 b(GNU)31 b(General)g(Public)f(License)9
-b Fs(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+b Fq(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-39 b Fx(83)150 3287 y Fw(F)-11 b(unction)44 b(and)h(V)-11
-b(ariable)45 b(Index)29 b Ft(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)73 b Fw(95)150
-3557 y(Concept)45 b(Index)18 b Ft(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
+39 b Fv(83)150 3287 y Fu(F)-11 b(unction)44 b(and)h(V)-11
+b(ariable)45 b(Index)29 b Fr(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)73 b Fu(95)150
+3557 y(Concept)45 b(Index)18 b Fr(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)63 b Fw(96)p
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)63 b Fu(96)p
eop end
%%Page: 1 6
-TeXDict begin 1 5 bop 150 -116 a Fx(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(1)150 299 y Fu(1)80 b(In)l(tro)t(duction)
-150 553 y Fx(GNU)29 b(Libidn)d(is)i(a)g(fully)g(do)s(cumen)m(ted)g
+TeXDict begin 1 5 bop 150 -116 a Fv(Chapter)30 b(1:)41
+b(In)m(tro)s(duction)2592 b(1)150 299 y Fs(1)80 b(In)l(tro)t(duction)
+150 553 y Fv(GNU)29 b(Libidn)d(is)i(a)g(fully)g(do)s(cumen)m(ted)g
(implemen)m(tation)h(of)f(the)g(Stringprep,)g(Pun)m(yco)s(de)f(and)g
(IDNA)150 663 y(sp)s(eci\014cations.)53 b(Libidn's)33
b(purp)s(ose)g(is)h(to)h(enco)s(de)g(and)f(deco)s(de)g(in)m
3200 y(\(including)33 b(Solaris,)i(IRIX,)e(AIX,)g(and)g(T)-8
b(ru64\))33 b(and)g(Windo)m(ws.)49 b(The)33 b(library)f(is)i(written)f
(in)g(C)g(and)150 3309 y(\(parts)k(of)7 b(\))39 b(the)e(API)g(is)h
-(also)g(accessible)h(from)e(C)p Fr(++)p Fx(,)i(Emacs)f(Lisp,)g(Python)f
+(also)g(accessible)h(from)e(C)p Fp(++)p Fv(,)i(Emacs)f(Lisp,)g(Python)f
(and)g(Ja)m(v)-5 b(a.)63 b(A)38 b(nativ)m(e)150 3419
y(Ja)m(v)-5 b(a)31 b(and)f(C#)g(p)s(ort)g(is)g(included.)275
3560 y(Also)37 b(included)f(is)h(a)g(command)f(line)h(to)s(ol,)j(sev)m
(eral)e(self)f(tests,)i(co)s(de)e(examples,)i(and)d(more,)j(all)150
3670 y(licensed)30 b(under)e(the)h(GNU)h(General)h(Public)e(License)h
(v)m(ersion)g(3.0)g(or)f(later)i(\(see)f(Section)g(C.3)g([GNU)150
-3779 y(GPL],)h(page)g(83\).)150 4022 y Fw(1.1)68 b(Getting)46
-b(Started)150 4181 y Fx(This)34 b(man)m(ual)i(do)s(cumen)m(ts)f(the)h
+3779 y(GPL],)h(page)g(83\).)150 4022 y Fu(1.1)68 b(Getting)46
+b(Started)150 4181 y Fv(This)34 b(man)m(ual)i(do)s(cumen)m(ts)f(the)h
(library)e(programming)h(in)m(terface.)57 b(All)36 b(functions)f(and)g
(data)h(t)m(yp)s(es)150 4291 y(pro)m(vided)c(b)m(y)g(the)g(library)g
(are)g(explained.)46 b(Included)31 b(are)h(also)h(examples,)h(and)d(do)
s(cumen)m(tation)i(for)150 4400 y(the)e(command)g(line)g(to)s(ol)h(`)p
-Fr(idn)p Fx(')e(that)h(pro)m(vide)g(a)h(quic)m(k)f(in)m(terface)h(to)g
+Fp(idn)p Fv(')e(that)h(pro)m(vide)g(a)h(quic)m(k)f(in)m(terface)h(to)g
(the)f(library)-8 b(.)42 b(The)30 b(Emacs)i(Lisp)150
4510 y(bindings)d(for)h(the)h(library)f(is)g(also)i(discussed.)275
4651 y(The)23 b(reader)h(is)h(assumed)e(to)i(p)s(ossess)e(basic)i
(familiarit)m(y)h(with)e(in)m(ternationalization)k(concepts)d(and)150
4760 y(net)m(w)m(ork)31 b(programming)f(in)g(C)g(or)h(C)p
-Fr(++)p Fx(.)275 4902 y(This)c(man)m(ual)h(can)g(b)s(e)f(used)g(in)h
+Fp(++)p Fv(.)275 4902 y(This)c(man)m(ual)h(can)g(b)s(e)f(used)g(in)h
(sev)m(eral)h(w)m(a)m(ys.)41 b(If)27 b(read)h(from)f(the)h(b)s
(eginning)g(to)g(the)g(end,)g(it)h(giv)m(es)150 5011
y(a)38 b(go)s(o)s(d)g(in)m(tro)s(duction)f(in)m(to)i(the)f(library)f
b(programmers)g(migh)m(t)h(w)m(an)m(t)h(to)f(start)g(lo)s(oking)h(at)f
(the)g(examples)g(at)g(the)g(end)f(of)h(the)p eop end
%%Page: 2 7
-TeXDict begin 2 6 bop 150 -116 a Fx(Chapter)30 b(1:)41
+TeXDict begin 2 6 bop 150 -116 a Fv(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(2)150 299 y(man)m(ual)41
b(\(see)i(Chapter)d(9)i([Examples],)i(page)e(38\),)j(and)c(then)g(only)
g(read)g(up)f(those)i(parts)e(of)i(the)150 408 y(in)m(terface)32
-b(whic)m(h)e(are)h(unclear.)150 816 y Fw(1.2)68 b(F)-11
-b(eatures)150 975 y Fx(This)30 b(library)g(migh)m(t)h(ha)m(v)m(e)g(a)g
+b(whic)m(h)e(are)h(unclear.)150 816 y Fu(1.2)68 b(F)-11
+b(eatures)150 975 y Fv(This)30 b(library)g(migh)m(t)h(ha)m(v)m(e)g(a)g
(couple)g(of)f(adv)-5 b(an)m(tages)33 b(o)m(v)m(er)e(other)g(libraries)
f(doing)h(a)g(similar)f(job.)150 1310 y(It's)h(F)-8 b(ree)31
b(Soft)m(w)m(are)630 1420 y(An)m(yb)s(o)s(dy)42 b(can)h(use,)j(mo)s
(ersion)g(2.1)h(or)f(later)g(\(see)h(Section)f(C.2)g([GNU)h(LGPL],)630
1639 y(page)31 b(75\).)150 1915 y(It's)g(thread-safe)630
2025 y(No)g(global)h(state)f(is)g(k)m(ept)g(in)f(the)g(library)-8
-b(.)41 b(All)31 b(functions)f(are)h(reen)m(tran)m(t.)150
+b(.)41 b(All)31 b(functions)f(are)h(re-en)m(tran)m(t.)150
2301 y(It's)g(p)s(ortable)630 2410 y(The)k(co)s(de)g(is)g(in)m(tended)h
(to)g(b)s(e)e(written)h(in)g(pure)g(ANSI)f(C89.)56 b(It)36
b(has)e(b)s(een)h(tested)h(on)630 2520 y(man)m(y)30 b(Unix)h(lik)m(e)g
(the)g(sak)m(e)i(of)e(completeness.)150 4225 y(It's)h(do)s(cumen)m(ted)
630 4335 y(Sadly)-8 b(,)31 b(not)f(all)i(soft)m(w)m(are)f(comes)h(with)
e(do)s(cumen)m(tation)h(these)g(da)m(ys.)41 b(This)29
-b(one)i(do)s(es.)150 4742 y Fw(1.3)68 b(Library)45 b(Ov)l(erview)150
-4902 y Fx(The)23 b(follo)m(wing)i(illustration)g(sho)m(w)f(the)g(comp)s
+b(one)i(do)s(es.)150 4742 y Fu(1.3)68 b(Library)45 b(Ov)l(erview)150
+4902 y Fv(The)23 b(follo)m(wing)i(illustration)g(sho)m(w)f(the)g(comp)s
(onen)m(ts)g(that)g(mak)m(e)h(up)d(Libidn,)i(and)f(ho)m(w)h(y)m(our)g
(applica-)150 5011 y(tion)29 b(relates)h(to)g(the)e(library)-8
b(.)41 b(In)27 b(the)i(illustration,)i(v)-5 b(arious)28
48 b(e.g.,)f(IDNA)c(uses)e(Pun)m(yco)s(de)h(and)g(Nameprep,)j(and)c(in)
h(turn)f(Nameprep)p eop end
%%Page: 3 8
-TeXDict begin 3 7 bop 150 -116 a Fx(Chapter)30 b(1:)41
+TeXDict begin 3 7 bop 150 -116 a Fv(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(3)150 299 y(uses)38 b(the)h(generic)g
(StringPrep)e(in)m(terface.)67 b(The)38 b(in)m(terfaces)i(to)f(all)g
(comp)s(onen)m(ts)g(are)f(a)m(v)-5 b(ailable)41 b(for)150
408 y(applications,)32 b(no)e(comp)s(onen)m(t)h(within)f(the)g(library)
-g(is)g(hidden)f(from)h(the)h(application.)150 3487 y
+g(is)g(hidden)f(from)h(the)h(application.)150 3534 y
@beginspecial 0 @llx 0 @lly 382 @urx 350 @ury 3820 @rwi
@setspecial
%%BeginDocument: libidn-components.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: components.fig
-%%Creator: fig2dev Version 3.2 Patchlevel 5a
-%%CreationDate: Mon Jun 8 12:40:03 2009
+%%Creator: fig2dev Version 3.2 Patchlevel 5c
+%%CreationDate: Fri Nov 25 11:38:11 2011
%%BoundingBox: 0 0 382 350
%Magnification: 1.0000
%%EndComments
%EOF
%%EndDocument
- @endspecial 250 x Fw(1.4)68 b(Supp)t(orted)44 b(Platforms)150
-3896 y Fx(Libidn)88 b(has)h(at)h(some)g(p)s(oin)m(t)f(in)g(time)h(b)s
-(een)f(tested)h(on)f(the)h(follo)m(wing)h(platforms.)150
-4006 y(Online)i(build)f(rep)s(orts)g(for)h(eac)m(h)i(platforms)e(and)g
-(Libidn)f(v)m(ersion)h(is)h(a)m(v)-5 b(ailable)95 b(at)150
-4115 y Fr(http://autobuild.josefss)o(on.o)o(rg/l)o(ibi)o(dn/)p
-Fx(.)199 4261 y(1.)61 b(Debian)31 b(GNU/Lin)m(ux)g(3.0)g(\(W)-8
-b(o)s(o)s(dy\))330 4402 y(GCC)39 b(2.95.4)j(and)c(GNU)i(Mak)m(e.)69
+ @endspecial 273 x Fu(1.4)68 b(Supp)t(orted)44 b(Platforms)150
+3966 y Fv(Libidn)29 b(has)h(at)h(some)g(p)s(oin)m(t)g(in)f(time)h(b)s
+(een)f(tested)h(on)f(the)h(follo)m(wing)h(platforms.)40
+b(Build)31 b(rep)s(orts)e(for)150 4076 y(eac)m(h)21 b(platforms)g(and)e
+(Libidn)g(v)m(ersion)i(is)f(a)m(v)-5 b(ailable)23 b(at)e
+Fp(http://autobuild.josefsso)o(n.o)o(rg/l)o(ibid)o(n/)p
+Fv(.)199 4238 y(1.)61 b(Debian)31 b(GNU/Lin)m(ux)g(3.0)g(\(W)-8
+b(o)s(o)s(dy\))330 4386 y(GCC)39 b(2.95.4)j(and)c(GNU)i(Mak)m(e.)69
b(This)39 b(is)g(the)h(main)f(dev)m(elopmen)m(t)i(platform.)68
-b Fr(alphaev67-)330 4511 y(unknown-linux-gnu)p Fx(,)140
-b Fr(alphaev6-unknown-linux-gnu)o Fx(,)f Fr(arm-unknown-linux-gnu)p
-Fx(,)330 4621 y Fr(armv4l-unknown-linux-gnu)o Fx(,)81
-b Fr(hppa-unknown-linux-gnu)p Fx(,)f Fr(hppa64-unknown-linux-)330
-4731 y(gnu)p Fx(,)88 b Fr(i686-pc-linux-gnu)p Fx(,)83
-b Fr(ia64-unknown-linux-gnu)p Fx(,)g Fr(m68k-unknown-linux-gnu)p
-Fx(,)330 4840 y Fr(mips-unknown-linux-gnu)p Fx(,)56 b
-Fr(mipsel-unknown-linux-gnu)p Fx(,)g Fr(powerpc-unknown-linux-)330
-4950 y(gnu)p Fx(,)64 b Fr(s390-ibm-linux-gnu)p Fx(,)c
-Fr(sparc-unknown-linux-gnu)p Fx(,)f Fr(sparc64-unknown-linux-)330
-5059 y(gnu)p Fx(.)199 5200 y(2.)i(Debian)31 b(GNU/Lin)m(ux)g(2.1)330
-5340 y(GCC)f(2.95.1)j(and)c(GNU)i(Mak)m(e.)43 b Fr
-(armv4l-unknown-linux-gn)o(u)p Fx(.)p eop end
+b Fp(alphaev67-)330 4496 y(unknown-linux-gnu)p Fv(,)140
+b Fp(alphaev6-unknown-linux-gnu)o Fv(,)f Fp(arm-unknown-linux-gnu)p
+Fv(,)330 4605 y Fp(armv4l-unknown-linux-gnu)o Fv(,)81
+b Fp(hppa-unknown-linux-gnu)p Fv(,)f Fp(hppa64-unknown-linux-)330
+4715 y(gnu)p Fv(,)88 b Fp(i686-pc-linux-gnu)p Fv(,)83
+b Fp(ia64-unknown-linux-gnu)p Fv(,)g Fp(m68k-unknown-linux-gnu)p
+Fv(,)330 4824 y Fp(mips-unknown-linux-gnu)p Fv(,)56 b
+Fp(mipsel-unknown-linux-gnu)p Fv(,)g Fp(powerpc-unknown-linux-)330
+4934 y(gnu)p Fv(,)64 b Fp(s390-ibm-linux-gnu)p Fv(,)c
+Fp(sparc-unknown-linux-gnu)p Fv(,)f Fp(sparc64-unknown-linux-)330
+5044 y(gnu)p Fv(.)199 5192 y(2.)i(Debian)31 b(GNU/Lin)m(ux)g(2.1)330
+5340 y(GCC)f(2.95.1)j(and)c(GNU)i(Mak)m(e.)43 b Fp
+(armv4l-unknown-linux-gn)o(u)p Fv(.)p eop end
%%Page: 4 9
-TeXDict begin 4 8 bop 150 -116 a Fx(Chapter)30 b(1:)41
+TeXDict begin 4 8 bop 150 -116 a Fv(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(4)199 299 y(3.)61 b(T)-8
b(ru64)30 b(UNIX)330 438 y(T)-8 b(ru64)32 b(UNIX)h(C)f(compiler)h(and)f
-(T)-8 b(ru64)33 b(Mak)m(e.)48 b Fr(alphaev67-dec-osf5.1)p
-Fx(,)28 b Fr(alphaev68-dec-)330 548 y(osf5.1)p Fx(.)199
+(T)-8 b(ru64)33 b(Mak)m(e.)48 b Fp(alphaev67-dec-osf5.1)p
+Fv(,)28 b Fp(alphaev68-dec-)330 548 y(osf5.1)p Fv(.)199
687 y(4.)61 b(SuSE)29 b(Lin)m(ux)h(7.1)330 827 y(GCC)47
-b(2.96)j(and)d(GNU)i(Mak)m(e.)95 b Fr(alphaev6-unknown-linux-)o(gnu)o
-Fx(,)47 b Fr(alphaev67-unknown-)330 936 y(linux-gnu)p
-Fx(.)199 1076 y(5.)61 b(SuSE)29 b(Lin)m(ux)h(7.2a)330
-1215 y(GCC)g(3.0)h(and)f(GNU)h(Mak)m(e.)42 b Fr(ia64-unknown-linux-gnu)
-p Fx(.)199 1355 y(6.)61 b(SuSE)29 b(Lin)m(ux)330 1494
-y(GCC)74 b(3.2.2)h(and)f(GNU)h(Mak)m(e.)173 b Fr
-(x86_64-unknown-linux-gnu)67 b Fx(\(AMD64)76 b(Opteron)330
+b(2.96)j(and)d(GNU)i(Mak)m(e.)95 b Fp(alphaev6-unknown-linux-)o(gnu)o
+Fv(,)47 b Fp(alphaev67-unknown-)330 936 y(linux-gnu)p
+Fv(.)199 1076 y(5.)61 b(SuSE)29 b(Lin)m(ux)h(7.2a)330
+1215 y(GCC)g(3.0)h(and)f(GNU)h(Mak)m(e.)42 b Fp(ia64-unknown-linux-gnu)
+p Fv(.)199 1355 y(6.)61 b(SuSE)29 b(Lin)m(ux)330 1494
+y(GCC)74 b(3.2.2)h(and)f(GNU)h(Mak)m(e.)173 b Fp
+(x86_64-unknown-linux-gnu)67 b Fv(\(AMD64)76 b(Opteron)330
1604 y(\\Melo)s(dy"\).)199 1743 y(7.)61 b(SuSE)29 b(En)m(terprise)h
(Serv)m(er)g(9)h(on)f(IBM)h(Op)s(enP)m(o)m(w)m(er)f(720)330
-1883 y(GCC)g(3.3.3)i(and)e(GNU)h(Mak)m(e.)42 b Fr
-(powerpc64-unknown-linux-g)o(nu)p Fx(.)199 2022 y(8.)61
+1883 y(GCC)g(3.3.3)i(and)e(GNU)h(Mak)m(e.)42 b Fp
+(powerpc64-unknown-linux-g)o(nu)p Fv(.)199 2022 y(8.)61
b(RedHat)31 b(Lin)m(ux)f(7.2)330 2162 y(GCC)47 b(2.96)j(and)d(GNU)i
-(Mak)m(e.)95 b Fr(alphaev6-unknown-linux-)o(gnu)o Fx(,)47
-b Fr(alphaev67-unknown-)330 2271 y(linux-gnu)p Fx(,)28
-b Fr(ia64-unknown-linux-gnu)p Fx(.)199 2411 y(9.)61 b(RedHat)31
+(Mak)m(e.)95 b Fp(alphaev6-unknown-linux-)o(gnu)o Fv(,)47
+b Fp(alphaev67-unknown-)330 2271 y(linux-gnu)p Fv(,)28
+b Fp(ia64-unknown-linux-gnu)p Fv(.)199 2411 y(9.)61 b(RedHat)31
b(Lin)m(ux)f(8.0)330 2550 y(GCC)g(3.2)h(and)f(GNU)h(Mak)m(e.)42
-b Fr(i686-pc-linux-gnu)p Fx(.)154 2690 y(10.)61 b(RedHat)31
+b Fp(i686-pc-linux-gnu)p Fv(.)154 2690 y(10.)61 b(RedHat)31
b(Adv)-5 b(anced)30 b(Serv)m(er)h(2.1)330 2829 y(GCC)f(2.96)i(and)e
-(GNU)h(Mak)m(e.)42 b Fr(i686-pc-linux-gnu)p Fx(.)154
+(GNU)h(Mak)m(e.)42 b Fp(i686-pc-linux-gnu)p Fv(.)154
2969 y(11.)61 b(Slac)m(kw)m(are)32 b(Lin)m(ux)e(8.0.01)330
-3108 y(GCC)g(2.95.3)j(and)c(GNU)i(Mak)m(e.)43 b Fr(i686-pc-linux-gnu)p
-Fx(.)154 3248 y(12.)61 b(Mandrak)m(e)31 b(Lin)m(ux)f(9.0)330
-3387 y(GCC)g(3.2)h(and)f(GNU)h(Mak)m(e.)42 b Fr(i686-pc-linux-gnu)p
-Fx(.)154 3527 y(13.)61 b(IRIX)30 b(6.5)330 3666 y(MIPS)g(C)g(compiler,)
-h(IRIX)f(Mak)m(e.)42 b Fr(mips-sgi-irix6.5)p Fx(.)154
+3108 y(GCC)g(2.95.3)j(and)c(GNU)i(Mak)m(e.)43 b Fp(i686-pc-linux-gnu)p
+Fv(.)154 3248 y(12.)61 b(Mandrak)m(e)31 b(Lin)m(ux)f(9.0)330
+3387 y(GCC)g(3.2)h(and)f(GNU)h(Mak)m(e.)42 b Fp(i686-pc-linux-gnu)p
+Fv(.)154 3527 y(13.)61 b(IRIX)30 b(6.5)330 3666 y(MIPS)g(C)g(compiler,)
+h(IRIX)f(Mak)m(e.)42 b Fp(mips-sgi-irix6.5)p Fv(.)154
3806 y(14.)61 b(AIX)30 b(4.3.2)330 3945 y(IBM)h(C)f(for)g(AIX)g
-(compiler,)i(AIX)e(Mak)m(e.)42 b Fr(rs6000-ibm-aix4.3.2.0)p
-Fx(.)154 4085 y(15.)61 b(Microsoft)32 b(Windo)m(ws)e(2000)i(\(Cygwin\))
-330 4224 y(GCC)e(3.2,)i(GNU)f(mak)m(e.)41 b Fr(i686-pc-cygwin)p
-Fx(.)154 4364 y(16.)61 b(HP-UX)31 b(11)330 4503 y(HP-UX)g(C)f(compiler)
-h(and)f(HP)g(Mak)m(e.)42 b Fr(ia64-hp-hpux11.22)p Fx(,)26
-b Fr(hppa2.0w-hp-hpux11.11)p Fx(.)154 4643 y(17.)61 b(SUN)30
+(compiler,)i(AIX)e(Mak)m(e.)42 b Fp(rs6000-ibm-aix4.3.2.0)p
+Fv(.)154 4085 y(15.)61 b(Microsoft)32 b(Windo)m(ws)e(2000)i(\(Cygwin\))
+330 4224 y(GCC)e(3.2,)i(GNU)f(mak)m(e.)41 b Fp(i686-pc-cygwin)p
+Fv(.)154 4364 y(16.)61 b(HP-UX)31 b(11)330 4503 y(HP-UX)g(C)f(compiler)
+h(and)f(HP)g(Mak)m(e.)42 b Fp(ia64-hp-hpux11.22)p Fv(,)26
+b Fp(hppa2.0w-hp-hpux11.11)p Fv(.)154 4643 y(17.)61 b(SUN)30
b(Solaris)h(2.7)330 4782 y(GCC)f(3.0.4)i(and)e(GNU)h(Mak)m(e.)42
-b Fr(sparc-sun-solaris2.7)p Fx(.)154 4922 y(18.)61 b(SUN)30
+b Fp(sparc-sun-solaris2.7)p Fv(.)154 4922 y(18.)61 b(SUN)30
b(Solaris)h(2.8)330 5061 y(Sun)e(W)-8 b(orkShop)30 b(Compiler)g(C)g
-(6.0)i(and)d(SUN)i(Mak)m(e.)42 b Fr(sparc-sun-solaris2.8)p
-Fx(.)154 5200 y(19.)61 b(SUN)30 b(Solaris)h(2.9)330 5340
+(6.0)i(and)d(SUN)i(Mak)m(e.)42 b Fp(sparc-sun-solaris2.8)p
+Fv(.)154 5200 y(19.)61 b(SUN)30 b(Solaris)h(2.9)330 5340
y(Sun)e(F)-8 b(orte)32 b(Dev)m(elop)s(er)f(7)g(C)f(compiler)h(and)f
-(GNU)h(Mak)m(e.)42 b Fr(sparc-sun-solaris2.9)p Fx(.)p
+(GNU)h(Mak)m(e.)42 b Fp(sparc-sun-solaris2.9)p Fv(.)p
eop end
%%Page: 5 10
-TeXDict begin 5 9 bop 150 -116 a Fx(Chapter)30 b(1:)41
+TeXDict begin 5 9 bop 150 -116 a Fv(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(5)154 299 y(20.)61 b(NetBSD)32
-b(1.6)330 435 y(GCC)85 b(2.95.3)j(and)d(GNU)h(Mak)m(e.)208
-b Fr(alpha-unknown-netbsd1.6)p Fx(,)94 b Fr(i386-unknown-)330
-544 y(netbsdelf1.6)p Fx(.)154 680 y(21.)61 b(Op)s(enBSD)29
-b(3.1)j(and)e(3.2)330 816 y(GCC)79 b(2.95.3)j(and)e(GNU)g(Mak)m(e.)191
-b Fr(alpha-unknown-openbsd3.)o(1)p Fx(,)87 b Fr(i386-unknown-)330
-925 y(openbsd3.1)p Fx(.)154 1061 y(22.)61 b(F)-8 b(reeBSD)32
-b(4.7)f(and)f(4.8)330 1197 y(GCC)74 b(2.95.4)i(and)d(GNU)i(Mak)m(e.)173
-b Fr(alpha-unknown-freebsd4.7)p Fx(,)79 b Fr(alpha-unknown-)330
-1306 y(freebsd4.8)p Fx(,)28 b Fr(i386-unknown-freebsd4.7)p
-Fx(,)c Fr(i386-unknown-freebsd4.8)p Fx(.)154 1442 y(23.)61
-b(MacOS)31 b(X)f(10.2)i(Serv)m(er)e(Edition)330 1578
-y(GCC)g(3.1)h(and)f(GNU)h(Mak)m(e.)42 b Fr(powerpc-apple-darwin6.5)p
-Fx(.)154 1714 y(24.)61 b(MacOS)31 b(X)f(10.4)i(\\Tiger")g(with)e(Xco)s
-(de)h(2.0)330 1850 y(GCC)f(4.0)h(and)f(GNU)h(Mak)m(e.)42
-b Fr(powerpc-apple-darwin8.0)p Fx(.)154 1985 y(25.)61
+b(1.6)330 437 y(GCC)85 b(2.95.3)j(and)d(GNU)h(Mak)m(e.)208
+b Fp(alpha-unknown-netbsd1.6)p Fv(,)94 b Fp(i386-unknown-)330
+547 y(netbsdelf1.6)p Fv(.)154 685 y(21.)61 b(Op)s(enBSD)29
+b(3.1)j(and)e(3.2)330 823 y(GCC)79 b(2.95.3)j(and)e(GNU)g(Mak)m(e.)191
+b Fp(alpha-unknown-openbsd3.)o(1)p Fv(,)87 b Fp(i386-unknown-)330
+933 y(openbsd3.1)p Fv(.)154 1071 y(22.)61 b(F)-8 b(reeBSD)32
+b(4.7)f(and)f(4.8)330 1209 y(GCC)74 b(2.95.4)i(and)d(GNU)i(Mak)m(e.)173
+b Fp(alpha-unknown-freebsd4.7)p Fv(,)79 b Fp(alpha-unknown-)330
+1319 y(freebsd4.8)p Fv(,)28 b Fp(i386-unknown-freebsd4.7)p
+Fv(,)c Fp(i386-unknown-freebsd4.8)p Fv(.)154 1457 y(23.)61
+b(MacOS)31 b(X)f(10.2)i(Serv)m(er)e(Edition)330 1595
+y(GCC)g(3.1)h(and)f(GNU)h(Mak)m(e.)42 b Fp(powerpc-apple-darwin6.5)p
+Fv(.)154 1734 y(24.)61 b(MacOS)31 b(X)f(10.4)i(\\Tiger")g(with)e(Xco)s
+(de)h(2.0)330 1872 y(GCC)f(4.0)h(and)f(GNU)h(Mak)m(e.)42
+b Fp(powerpc-apple-darwin8.0)p Fv(.)154 2010 y(25.)61
b(Cross)30 b(compiled)h(to)g(uClin)m(ux/uClib)s(c)e(on)h(Motorola)j
-(Cold\014re)330 2121 y(GCC)d(3.4)h(and)f(GNU)h(Mak)m(e)h
-Fr(m68k-uclinux-elf)p Fx(.)154 2257 y(26.)61 b(Cross)30
-b(compiled)h(to)g(ARM)f(using)g(Glib)s(c)330 2393 y(GCC)g(2.95)i(and)e
-(GNU)h(Mak)m(e)h Fr(arm-linux)p Fx(.)154 2528 y(27.)61
-b(Cross)30 b(compiled)h(to)g(Mingw32.)330 2664 y(GCC)f(3.4.4)i(and)e
-(GNU)h(Mak)m(e)h Fr(i586-mingw32msvc)p Fx(.)275 2827
-y(If)d(y)m(ou)i(use)f(Libidn)f(on,)i(or)f(p)s(ort)g(Libidn)f(to,)j(a)e
-(new)g(platform)h(please)g(rep)s(ort)f(it)g(to)i(the)e(author.)150
-3064 y Fw(1.5)68 b(Getting)46 b(help)150 3223 y Fx(A)e(mailing)g(list)g
+(Cold\014re)330 2148 y(GCC)d(3.4)h(and)f(GNU)h(Mak)m(e)h
+Fp(m68k-uclinux-elf)p Fv(.)154 2287 y(26.)61 b(Cross)30
+b(compiled)h(to)g(ARM)f(using)g(Glib)s(c)330 2425 y(GCC)g(2.95)i(and)e
+(GNU)h(Mak)m(e)h Fp(arm-linux)p Fv(.)154 2563 y(27.)61
+b(Cross)30 b(compiled)h(to)g(Mingw32.)330 2701 y(GCC)f(3.4.4)i(and)e
+(GNU)h(Mak)m(e)h Fp(i586-mingw32msvc)p Fv(.)154 2840
+y(28.)61 b(OS/2)330 2978 y(GCC.)275 3149 y(If)29 b(y)m(ou)i(use)f
+(Libidn)f(on,)i(or)f(p)s(ort)g(Libidn)f(to,)j(a)e(new)g(platform)h
+(please)g(rep)s(ort)f(it)g(to)i(the)e(author.)150 3392
+y Fu(1.5)68 b(Getting)46 b(help)150 3552 y Fv(A)e(mailing)g(list)g
(where)f(users)g(of)h(Libidn)e(ma)m(y)i(help)f(eac)m(h)i(other)f
-(exists,)j(and)c(y)m(ou)h(can)g(reac)m(h)g(it)150 3333
-y(b)m(y)49 b(sending)g(e-mail)i(to)f Fr(help-libidn@gnu.org)p
-Fx(.)92 b(Arc)m(hiv)m(es)50 b(of)g(the)f(mailing)h(list)g(discussions,)
-150 3442 y(and)41 b(an)g(in)m(terface)i(to)f(manage)g(subscriptions,)h
+(exists,)j(and)c(y)m(ou)h(can)g(reac)m(h)g(it)150 3661
+y(b)m(y)49 b(sending)g(e-mail)i(to)f Fp(help-libidn@gnu.org)p
+Fv(.)92 b(Arc)m(hiv)m(es)50 b(of)g(the)f(mailing)h(list)g(discussions,)
+150 3771 y(and)41 b(an)g(in)m(terface)i(to)f(manage)g(subscriptions,)h
(is)f(a)m(v)-5 b(ailable)43 b(through)e(the)g(W)-8 b(orld)42
-b(Wide)g(W)-8 b(eb)42 b(at)150 3552 y Fr(http://lists.gnu.org/mai)o
-(lman)o(/lis)o(tin)o(fo/h)o(elp-)o(lib)o(idn)p Fx(.)150
-3788 y Fw(1.6)68 b(Commercial)47 b(Supp)t(ort)150 3947
-y Fx(Commercial)29 b(supp)s(ort)e(is)h(a)m(v)-5 b(ailable)31
+b(Wide)g(W)-8 b(eb)42 b(at)150 3881 y Fp(http://lists.gnu.org/mai)o
+(lman)o(/lis)o(tin)o(fo/h)o(elp-)o(lib)o(idn)p Fv(.)150
+4124 y Fu(1.6)68 b(Commercial)47 b(Supp)t(ort)150 4284
+y Fv(Commercial)29 b(supp)s(ort)e(is)h(a)m(v)-5 b(ailable)31
b(for)d(users)f(of)i(GNU)g(Libidn.)39 b(The)27 b(kind)h(of)g(supp)s
-(ort)f(that)i(can)g(b)s(e)150 4057 y(purc)m(hased)h(ma)m(y)g(include:)
-225 4194 y Fv(\017)60 b Fx(Implemen)m(t)26 b(new)g(features.)40
+(ort)f(that)i(can)g(b)s(e)150 4393 y(purc)m(hased)h(ma)m(y)g(include:)
+225 4535 y Ft(\017)60 b Fv(Implemen)m(t)26 b(new)g(features.)40
b(Suc)m(h)26 b(as)g(coun)m(try)h(co)s(de)f(sp)s(eci\014c)g(pro\014ling)
-g(to)h(supp)s(ort)e(a)h(restricted)330 4304 y(subset)k(of)g(Unico)s
-(de.)225 4439 y Fv(\017)60 b Fx(P)m(ort)44 b(Libidn)d(to)j(new)e
+g(to)h(supp)s(ort)e(a)h(restricted)330 4645 y(subset)k(of)g(Unico)s
+(de.)225 4783 y Ft(\017)60 b Fv(P)m(ort)44 b(Libidn)d(to)j(new)e
(platforms.)78 b(This)42 b(could)h(include)g(p)s(orting)f(Libidn)g(to)h
-(an)g(em)m(b)s(edded)330 4549 y(platforms)30 b(that)h(ma)m(y)g(need)f
-(memory)h(or)f(size)h(optimization.)225 4685 y Fv(\017)60
-b Fx(In)m(tegrating)32 b(IDN)f(supp)s(ort)d(in)i(y)m(our)h(existing)g
-(pro)5 b(ject.)225 4821 y Fv(\017)60 b Fx(System)30 b(design)g(of)h
-(comp)s(onen)m(ts)f(related)i(to)f(IDN.)275 4984 y(If)e(y)m(ou)i(are)g
-(in)m(terested,)h(please)f(write)f(to:)150 5121 y Fr(Simon)46
-b(Josefsson)g(Datakonsult)150 5230 y(Hagagatan)f(24)150
-5340 y(113)i(47)g(Stockholm)p eop end
+(an)g(em)m(b)s(edded)330 4893 y(platforms)30 b(that)h(ma)m(y)g(need)f
+(memory)h(or)f(size)h(optimization.)225 5031 y Ft(\017)60
+b Fv(In)m(tegrating)32 b(IDN)f(supp)s(ort)d(in)i(y)m(our)h(existing)g
+(pro)5 b(ject.)225 5169 y Ft(\017)60 b Fv(System)30 b(design)g(of)h
+(comp)s(onen)m(ts)f(related)i(to)f(IDN.)275 5340 y(If)e(y)m(ou)i(are)g
+(in)m(terested,)h(please)f(write)f(to:)p eop end
%%Page: 6 11
-TeXDict begin 6 10 bop 150 -116 a Fx(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(6)150 299 y Fr(Sweden)150
-518 y(E-mail:)46 b(simon@josefsson.org)275 657 y Fx(If)25
-b(y)m(our)h(compan)m(y)g(pro)m(vide)g(supp)s(ort)e(related)j(to)f(GNU)h
-(Libidn)e(and)g(w)m(ould)g(lik)m(e)j(to)e(b)s(e)f(men)m(tioned)150
-767 y(here,)30 b(con)m(tact)j(the)e(author)f(\(see)h(Section)g(1.8)h
-([Bug)f(Rep)s(orts],)f(page)h(7\).)150 1006 y Fw(1.7)68
-b(Do)l(wnloading)46 b(and)f(Installing)150 1165 y Fx(The)30
-b(pac)m(k)-5 b(age)32 b(can)f(b)s(e)f(do)m(wnloaded)g(from)g(sev)m
-(eral)i(places,)f(including:)275 1304 y Fr(ftp://alpha.gnu.org/pub)o
-(/gn)o(u/li)o(bidn)o(/)275 1443 y Fx(The)d(latest)j(v)m(ersion)f(is)f
-(stored)g(in)g(a)h(\014le,)g(e.g.,)h(`)p Fr(libidn-1.15.tar.gz)p
-Fx(')25 b(where)j(the)i(`)p Fr(1.15)p Fx(')e(v)-5 b(alue)150
-1553 y(is)30 b(the)h(highest)g(v)m(ersion)f(n)m(um)m(b)s(er)g(in)g(the)
-g(directory)-8 b(.)275 1692 y(The)33 b(pac)m(k)-5 b(age)35
-b(is)f(then)f(extracted,)j(con\014gured)c(and)h(built)h(lik)m(e)g(man)m
-(y)g(other)g(pac)m(k)-5 b(ages)35 b(that)f(use)150 1801
-y(Auto)s(conf.)54 b(F)-8 b(or)36 b(detailed)g(information)f(on)g
-(con\014guring)f(and)g(building)g(it,)j(refer)e(to)g(the)g(`)p
-Fr(INSTALL)p Fx(')150 1911 y(\014le)30 b(that)h(is)g(part)f(of)h(the)f
-(distribution)g(arc)m(hiv)m(e.)275 2050 y(Here)44 b(is)g(an)g(example)h
-(terminal)g(session)f(that)h(do)m(wnload,)j(con\014gure,)f(build)c(and)
-h(install)h(the)150 2159 y(pac)m(k)-5 b(age.)43 b(Y)-8
-b(ou)31 b(will)f(need)g(a)h(few)f(basic)h(to)s(ols,)h(suc)m(h)e(as)g(`)
-p Fr(sh)p Fx(',)h(`)p Fr(make)p Fx(')e(and)h(`)p Fr(cc)p
-Fx('.)390 2298 y Fr($)47 b(wget)g(-q)g(ftp://alpha.gnu.org/pub/g)o
-(nu/l)o(ibid)o(n/l)o(ibid)o(n-1.)o(15.)o(tar.)o(gz)390
-2408 y($)g(tar)g(xfz)g(libidn-1.15.tar.gz)390 2517 y($)g(cd)h
-(libidn-1.15/)390 2627 y($)f(./configure)390 2737 y(...)390
-2846 y($)g(make)390 2956 y(...)390 3065 y($)g(make)g(install)390
-3175 y(...)275 3314 y Fx(After)30 b(that)h(Libidn)e(should)h(b)s(e)f
-(prop)s(erly)h(installed)h(and)e(ready)i(for)f(use.)275
-3453 y(A)g(few)g Fr(configure)e Fx(options)j(ma)m(y)g(b)s(e)e(relev)-5
-b(an)m(t,)32 b(summarized)e(in)g(the)h(table.)150 3619
-y Fr(--enable-java)630 3728 y Fx(Build)f(the)h(Ja)m(v)-5
-b(a)32 b(p)s(ort)e(in)m(to)h(a)g(*.JAR)g(\014le.)41 b(See)31
-b(Chapter)f(12)i([Ja)m(v)-5 b(a)31 b(API],)g(page)g(58,)h(for)630
-3838 y(more)f(information.)150 4002 y Fr(--disable-tld)630
-4111 y Fx(Disable)24 b(the)f(TLD)f(mo)s(dule.)38 b(This)21
-b(w)m(ould)i(t)m(ypically)h(only)f(b)s(e)f(useful)g(if)h(y)m(ou)g(are)g
-(building)630 4221 y(on)37 b(a)g(memory)g(restricted)g(platforms.)60
-b(See)37 b(Chapter)g(7)g([TLD)g(F)-8 b(unctions],)39
-b(page)f(31,)630 4331 y(for)30 b(more)h(information.)150
-4494 y Fr(--enable-csharp[=IMPL])630 4604 y Fx(Build)38
-b(the)h Fr(C#)e Fx(p)s(ort)h(in)m(to)h(a)g Fr(*.DLL)e
-Fx(\014le.)64 b(See)39 b(Chapter)e(13)i([C#)f(API],)h(page)g(61,)i(for)
-630 4714 y(more)34 b(information.)51 b(Here,)35 b Fr(IMPL)e
-Fx(is)h Fr(pnet)e Fx(or)i Fr(mono)p Fx(,)g(indicating)g(whether)f(the)h
-(PNET)630 4823 y Fr(cscc)29 b Fx(compiler)i(or)g(the)f(Mono)h
-Fr(mcs)f Fx(compiler)h(should)e(b)s(e)h(used,)g(resp)s(ectiv)m(ely)-8
-b(.)275 4989 y(F)g(or)31 b(the)f(complete)i(list,)f(refer)f(to)i(the)e
-(output)g(from)g Fr(configure)e(--help)p Fx(.)150 5193
-y Fq(1.7.1)63 b(Installing)41 b(under)h(Windo)m(ws)150
-5340 y Fx(There)30 b(are)h(t)m(w)m(o)g(w)m(a)m(ys)h(to)f(build)e
-(Libidn)g(on)h(Windo)m(ws:)41 b(via)31 b(MinGW)g(or)g(via)g(Visual)g
-(Studio.)p eop end
+TeXDict begin 6 10 bop 150 -116 a Fv(Chapter)30 b(1:)41
+b(In)m(tro)s(duction)2592 b(6)150 299 y Fp(Simon)46 b(Josefsson)g
+(Datakonsult)e(AB)150 408 y(Hagagatan)h(24)150 518 y(113)i(47)g
+(Stockholm)150 628 y(Sweden)150 847 y(E-mail:)f(simon@josefsson.org)275
+974 y Fv(If)22 b(y)m(our)i(compan)m(y)f(pro)m(vides)h(supp)s(ort)d
+(related)j(to)g(GNU)g(Libidn)e(and)h(w)m(ould)g(lik)m(e)i(to)f(b)s(e)e
+(men)m(tioned)150 1084 y(here,)30 b(con)m(tact)j(the)e(author)f(\(see)h
+(Section)g(1.8)h([Bug)f(Rep)s(orts],)f(page)h(7\).)150
+1301 y Fu(1.7)68 b(Do)l(wnloading)46 b(and)f(Installing)150
+1461 y Fv(The)30 b(pac)m(k)-5 b(age)32 b(can)f(b)s(e)f(do)m(wnloaded)g
+(from)g(sev)m(eral)i(places,)f(including:)275 1588 y
+Fp(ftp://alpha.gnu.org/pub)o(/gn)o(u/li)o(bidn)o(/)275
+1715 y Fv(The)d(latest)j(v)m(ersion)f(is)f(stored)g(in)g(a)h(\014le,)g
+(e.g.,)h(`)p Fp(libidn-1.23.tar.gz)p Fv(')25 b(where)j(the)i(`)p
+Fp(1.23)p Fv(')e(v)-5 b(alue)150 1824 y(is)30 b(the)h(highest)g(v)m
+(ersion)f(n)m(um)m(b)s(er)g(in)g(the)g(directory)-8 b(.)275
+1952 y(The)33 b(pac)m(k)-5 b(age)35 b(is)f(then)f(extracted,)j
+(con\014gured)c(and)h(built)h(lik)m(e)g(man)m(y)g(other)g(pac)m(k)-5
+b(ages)35 b(that)f(use)150 2061 y(Auto)s(conf.)54 b(F)-8
+b(or)36 b(detailed)g(information)f(on)g(con\014guring)f(and)g(building)
+g(it,)j(refer)e(to)g(the)g(`)p Fp(INSTALL)p Fv(')150
+2171 y(\014le)30 b(that)h(is)g(part)f(of)h(the)f(distribution)g(arc)m
+(hiv)m(e.)275 2298 y(Here)44 b(is)g(an)g(example)h(terminal)g(session)f
+(that)h(do)m(wnload,)j(con\014gure,)f(build)c(and)h(install)h(the)150
+2407 y(pac)m(k)-5 b(age.)43 b(Y)-8 b(ou)31 b(will)f(need)g(a)h(few)f
+(basic)h(to)s(ols,)h(suc)m(h)e(as)g(`)p Fp(sh)p Fv(',)h(`)p
+Fp(make)p Fv(')e(and)h(`)p Fp(cc)p Fv('.)390 2535 y Fp($)47
+b(wget)g(-q)g(ftp://alpha.gnu.org/pub/g)o(nu/l)o(ibid)o(n/l)o(ibid)o
+(n-1.)o(23.)o(tar.)o(gz)390 2644 y($)g(tar)g(xfz)g(libidn-1.23.tar.gz)
+390 2754 y($)g(cd)h(libidn-1.23/)390 2863 y($)f(./configure)390
+2973 y(...)390 3083 y($)g(make)390 3192 y(...)390 3302
+y($)g(make)g(install)390 3411 y(...)275 3538 y Fv(After)30
+b(that)h(Libidn)e(should)h(b)s(e)f(prop)s(erly)h(installed)h(and)e
+(ready)i(for)f(use.)275 3666 y(A)g(few)g Fp(configure)e
+Fv(options)j(ma)m(y)g(b)s(e)e(relev)-5 b(an)m(t,)32 b(summarized)e(in)g
+(the)h(table.)150 3810 y Fp(--enable-java)630 3920 y
+Fv(Build)f(the)h(Ja)m(v)-5 b(a)32 b(p)s(ort)e(in)m(to)h(a)g(*.JAR)g
+(\014le.)41 b(See)31 b(Chapter)f(12)i([Ja)m(v)-5 b(a)31
+b(API],)g(page)g(58,)h(for)630 4029 y(more)f(information.)150
+4174 y Fp(--disable-tld)630 4284 y Fv(Disable)24 b(the)f(TLD)f(mo)s
+(dule.)38 b(This)21 b(w)m(ould)i(t)m(ypically)h(only)f(b)s(e)f(useful)g
+(if)h(y)m(ou)g(are)g(building)630 4393 y(on)37 b(a)g(memory)g
+(restricted)g(platforms.)60 b(See)37 b(Chapter)g(7)g([TLD)g(F)-8
+b(unctions],)39 b(page)f(31,)630 4503 y(for)30 b(more)h(information.)
+150 4647 y Fp(--enable-csharp[=IMPL])630 4757 y Fv(Build)38
+b(the)h Fp(C#)e Fv(p)s(ort)h(in)m(to)h(a)g Fp(*.DLL)e
+Fv(\014le.)64 b(See)39 b(Chapter)e(13)i([C#)f(API],)h(page)g(61,)i(for)
+630 4867 y(more)34 b(information.)51 b(Here,)35 b Fp(IMPL)e
+Fv(is)h Fp(pnet)e Fv(or)i Fp(mono)p Fv(,)g(indicating)g(whether)f(the)h
+(PNET)630 4976 y Fp(cscc)29 b Fv(compiler)i(or)g(the)f(Mono)h
+Fp(mcs)f Fv(compiler)h(should)e(b)s(e)h(used,)g(resp)s(ectiv)m(ely)-8
+b(.)150 5121 y Fp(--disable-valgrind-tests)630 5230 y
+Fv(Disable)26 b(running)d(the)i(self-c)m(hec)m(ks)i(under)c(V)-8
+b(algrind)25 b(\()p Fp(http://valgrind.org/)p Fv(\).)34
+b(Nor-)630 5340 y(mally)j(V)-8 b(algrind)37 b(do)s(es)g(not)g(cause)g
+(problems)f(and)g(can)g(detect)i(some)f(sev)m(ere)h(memory)p
+eop end
%%Page: 7 12
-TeXDict begin 7 11 bop 150 -116 a Fx(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(7)275 299 y(With)36 b(MinGW,)h(y)m(ou)f
-(can)g(build)f(a)h(Libidn)e(DLL)i(and)f(use)h(it)g(from)f(other)i
-(applications.)58 b(After)150 408 y(installing)42 b(MinGW)h(\()p
-Fr(http://mingw.org/)p Fx(\))37 b(follo)m(w)43 b(the)e(generic)i
-(installation)g(instructions)e(\(see)150 518 y(Section)31
-b(1.7)h([Do)m(wnloading)g(and)d(Installing],)j(page)f(6\).)41
-b(The)30 b(DLL)h(is)f(installed)h(b)m(y)g(default.)275
-651 y(F)-8 b(or)106 b(information)g(on)g(ho)m(w)g(to)h(use)e(the)h(DLL)
-g(in)g(other)g(applications,)126 b(see:)150 760 y Fr
-(http://www.mingw.org/min)o(gwfa)o(q.sh)o(tml)o(#faq)o(-msv)o(cdl)o(l)p
-Fx(.)275 893 y(Y)-8 b(ou)35 b(can)f(build)g(Libidn)f(as)i(a)g(nativ)m
-(e)h(Visual)f(Studio)f(C)p Fr(++)f Fx(pro)5 b(ject.)54
-b(This)34 b(allo)m(ws)i(y)m(ou)f(to)g(build)150 1002
-y(the)c(co)s(de)g(for)g(other)g(platforms)g(that)h(VS)e(supp)s(orts,)g
-(suc)m(h)g(as)i(Windo)m(ws)f(Mobile.)43 b(Y)-8 b(ou)32
-b(need)e(Visual)150 1112 y(Studio)g(2005)i(or)e(later.)275
-1244 y(First)i(do)m(wnload)h(and)f(unpac)m(k)g(the)h(arc)m(hiv)m(e)h
+TeXDict begin 7 11 bop 150 -116 a Fv(Chapter)30 b(1:)41
+b(In)m(tro)s(duction)2592 b(7)630 299 y(errors.)40 b(If)30
+b(y)m(ou)g(are)h(getting)h(errors)d(from)h(V)-8 b(algrind)31
+b(that)f(are)h(caused)f(b)m(y)g(the)g(compiler)630 408
+y(or)41 b(lib)s(c)f(\(p)s(ossibly)h(as)g(a)g(result)g(of)g(sp)s(ecial)g
+(optimization)i(\015ags\),)h(y)m(ou)d(ma)m(y)h(use)e(this)630
+518 y(option)31 b(to)g(disable)f(the)h(use)f(of)h(V)-8
+b(algrind.)275 684 y(F)g(or)31 b(the)f(complete)i(list,)f(refer)f(to)i
+(the)e(output)g(from)g Fp(configure)e(--help)p Fv(.)150
+887 y Fo(1.7.1)63 b(Installing)41 b(under)h(Windo)m(ws)150
+1034 y Fv(There)30 b(are)h(t)m(w)m(o)g(w)m(a)m(ys)h(to)f(build)e
+(Libidn)g(on)h(Windo)m(ws:)41 b(via)31 b(MinGW)g(or)g(via)g(Visual)g
+(Studio.)275 1173 y(With)36 b(MinGW,)h(y)m(ou)f(can)g(build)f(a)h
+(Libidn)e(DLL)i(and)f(use)h(it)g(from)f(other)i(applications.)58
+b(After)150 1282 y(installing)42 b(MinGW)h(\()p Fp(http://mingw.org/)p
+Fv(\))37 b(follo)m(w)43 b(the)e(generic)i(installation)g(instructions)e
+(\(see)150 1392 y(Section)31 b(1.7)h([Do)m(wnloading)g(and)d
+(Installing],)j(page)f(6\).)41 b(The)30 b(DLL)h(is)f(installed)h(b)m(y)
+g(default.)275 1531 y(F)-8 b(or)106 b(information)g(on)g(ho)m(w)g(to)h
+(use)e(the)h(DLL)g(in)g(other)g(applications,)126 b(see:)150
+1640 y Fp(http://www.mingw.org/min)o(gwfa)o(q.sh)o(tml)o(#faq)o(-msv)o
+(cdl)o(l)p Fv(.)275 1779 y(Y)-8 b(ou)35 b(can)f(build)g(Libidn)f(as)i
+(a)g(nativ)m(e)h(Visual)f(Studio)f(C)p Fp(++)f Fv(pro)5
+b(ject.)54 b(This)34 b(allo)m(ws)i(y)m(ou)f(to)g(build)150
+1888 y(the)c(co)s(de)g(for)g(other)g(platforms)g(that)h(VS)e(supp)s
+(orts,)g(suc)m(h)g(as)i(Windo)m(ws)f(Mobile.)43 b(Y)-8
+b(ou)32 b(need)e(Visual)150 1998 y(Studio)g(2005)i(or)e(later.)275
+2137 y(First)i(do)m(wnload)h(and)f(unpac)m(k)g(the)h(arc)m(hiv)m(e)h
(as)f(describ)s(ed)e(in)i(the)f(generic)i(installation)g(instruc-)150
-1354 y(tions)f(\(see)h(Section)g(1.7)g([Do)m(wnloading)h(and)d
-(Installing],)j(page)f(6\).)49 b(Don't)34 b(run)e Fr(./configure)p
-Fx(.)45 b(In-)150 1463 y(stead,)33 b(start)g(Visual)g(Studio)e(and)h
-(op)s(en)f(the)i(pro)5 b(ject)32 b(\014le)h(`)p Fr(win32/libidn.sln)p
-Fx(')28 b(inside)k(the)g(Libidn)150 1573 y(directory)-8
+2246 y(tions)f(\(see)h(Section)g(1.7)g([Do)m(wnloading)h(and)d
+(Installing],)j(page)f(6\).)49 b(Don't)34 b(run)e Fp(./configure)p
+Fv(.)45 b(In-)150 2356 y(stead,)33 b(start)g(Visual)g(Studio)e(and)h
+(op)s(en)f(the)i(pro)5 b(ject)32 b(\014le)h(`)p Fp(win32/libidn.sln)p
+Fv(')28 b(inside)k(the)g(Libidn)150 2466 y(directory)-8
b(.)42 b(Y)-8 b(ou)31 b(should)e(b)s(e)h(able)h(to)g(build)e(the)i(pro)
-5 b(ject)30 b(using)g(Build)h(Pro)5 b(ject.)275 1705
+5 b(ject)30 b(using)g(Build)h(Pro)5 b(ject.)275 2604
y(Output)38 b(libraries)h(will)h(b)s(e)f(written)g(in)m(to)i(the)f
-Fr(win32/lib)c Fx(\(or)k Fr(win32/lib/debug)35 b Fx(for)40
-b(Debug)150 1815 y(v)m(ersions\))31 b(folder.)275 1948
+Fp(win32/lib)c Fv(\(or)k Fp(win32/lib/debug)35 b Fv(for)40
+b(Debug)150 2714 y(v)m(ersions\))31 b(folder.)275 2852
y(When)h(w)m(orking)i(with)e(Windo)m(ws)i(y)m(ou)f(ma)m(y)h(w)m(an)m(t)
f(to)h(lo)s(ok)g(in)m(to)g(the)f(sp)s(ecial)h(memory)f(handling)150
-2057 y(functions)23 b(that)i(ma)m(y)f(b)s(e)f(needed)h(\(see)h(Section)
+2962 y(functions)23 b(that)i(ma)m(y)f(b)s(e)f(needed)h(\(see)h(Section)
f(2.6)h([Memory)g(handling)e(under)f(Windo)m(ws],)k(page)e(12\).)150
-2286 y Fw(1.8)68 b(Bug)45 b(Rep)t(orts)150 2445 y Fx(If)30
+3201 y Fu(1.8)68 b(Bug)45 b(Rep)t(orts)150 3360 y Fv(If)30
b(y)m(ou)h(think)f(y)m(ou)g(ha)m(v)m(e)i(found)d(a)i(bug)e(in)h
(Libidn,)g(please)h(in)m(v)m(estigate)j(it)c(and)g(rep)s(ort)g(it.)225
-2577 y Fv(\017)60 b Fx(Please)40 b(mak)m(e)g(sure)d(that)j(the)f(bug)f
+3499 y Ft(\017)60 b Fv(Please)40 b(mak)m(e)g(sure)d(that)j(the)f(bug)f
(is)g(really)i(in)e(Libidn,)i(and)e(preferably)g(also)i(c)m(hec)m(k)g
-(that)f(it)330 2687 y(hasn't)30 b(already)h(b)s(een)f(\014xed)g(in)g
-(the)g(latest)i(v)m(ersion.)225 2819 y Fv(\017)60 b Fx(Y)-8
+(that)f(it)330 3608 y(hasn't)30 b(already)h(b)s(een)f(\014xed)g(in)g
+(the)g(latest)i(v)m(ersion.)225 3745 y Ft(\017)60 b Fv(Y)-8
b(ou)31 b(ha)m(v)m(e)g(to)h(send)d(us)h(a)h(test)g(case)g(that)g(mak)m
(es)g(it)g(p)s(ossible)f(for)g(us)g(to)h(repro)s(duce)e(the)i(bug.)225
-2952 y Fv(\017)60 b Fx(Y)-8 b(ou)29 b(also)h(ha)m(v)m(e)g(to)g(explain)
+3882 y Ft(\017)60 b Fv(Y)-8 b(ou)29 b(also)h(ha)m(v)m(e)g(to)g(explain)
f(what)g(is)g(wrong;)g(if)g(y)m(ou)g(get)h(a)f(crash,)h(or)f(if)f(the)h
-(results)g(prin)m(ted)g(are)330 3061 y(not)36 b(go)s(o)s(d)g(and)g(in)g
+(results)g(prin)m(ted)g(are)330 3991 y(not)36 b(go)s(o)s(d)g(and)g(in)g
(that)g(case,)j(in)d(what)g(w)m(a)m(y)-8 b(.)59 b(Mak)m(e)38
b(sure)d(that)i(the)f(bug)g(rep)s(ort)f(includes)h(all)330
-3171 y(information)31 b(y)m(ou)f(w)m(ould)h(need)f(to)h(\014x)f(this)g
-(kind)f(of)i(bug)f(for)g(someone)h(else.)275 3326 y(Please)36
+4101 y(information)31 b(y)m(ou)f(w)m(ould)h(need)f(to)h(\014x)f(this)g
+(kind)f(of)i(bug)f(for)g(someone)h(else.)275 4266 y(Please)36
b(mak)m(e)f(an)g(e\013ort)h(to)f(pro)s(duce)f(a)h(self-con)m(tained)i
(rep)s(ort,)f(with)e(something)i(de\014nite)e(that)150
-3436 y(can)29 b(b)s(e)g(tested)g(or)g(debugged.)40 b(V)-8
+4376 y(can)29 b(b)s(e)g(tested)g(or)g(debugged.)40 b(V)-8
b(ague)31 b(queries)e(or)g(piecemeal)h(messages)g(are)g(di\016cult)f
-(to)h(act)g(on)f(and)150 3546 y(don't)h(help)g(the)h(dev)m(elopmen)m(t)
-h(e\013ort.)275 3678 y(If)e(y)m(our)g(bug)g(rep)s(ort)g(is)g(go)s(o)s
+(to)h(act)g(on)f(and)150 4486 y(don't)h(help)g(the)h(dev)m(elopmen)m(t)
+h(e\013ort.)275 4624 y(If)e(y)m(our)g(bug)g(rep)s(ort)g(is)g(go)s(o)s
(d,)h(w)m(e)g(will)g(do)f(our)g(b)s(est)g(to)i(help)e(y)m(ou)g(to)i
-(get)f(a)g(corrected)h(v)m(ersion)f(of)150 3788 y(the)j(soft)m(w)m
+(get)f(a)g(corrected)h(v)m(ersion)f(of)150 4734 y(the)j(soft)m(w)m
(are;)j(if)d(the)g(bug)f(rep)s(ort)g(is)h(p)s(o)s(or,)g(w)m(e)g(w)m
(on't)g(do)g(an)m(ything)g(ab)s(out)g(it)g(\(apart)g(from)f(asking)150
-3897 y(y)m(ou)e(to)g(send)e(b)s(etter)i(bug)f(rep)s(orts\).)275
-4030 y(If)19 b(y)m(ou)i(think)f(something)h(in)f(this)g(man)m(ual)h(is)
+4843 y(y)m(ou)e(to)g(send)e(b)s(etter)i(bug)f(rep)s(orts\).)275
+4982 y(If)19 b(y)m(ou)i(think)f(something)h(in)f(this)g(man)m(ual)h(is)
f(unclear,)j(or)d(do)m(wnrigh)m(t)h(incorrect,)i(or)e(if)f(the)h
-(language)150 4139 y(needs)30 b(to)h(b)s(e)f(impro)m(v)m(ed,)h(please)g
-(also)g(send)f(a)h(note.)275 4272 y(Send)e(y)m(our)h(bug)g(rep)s(ort)g
-(to:)1495 4381 y(`)p Fr(bug-libidn@gnu.org)p Fx(')150
-4610 y Fw(1.9)68 b(Con)l(tributing)150 4769 y Fx(If)25
-b(y)m(ou)h(w)m(an)m(t)g(to)g(submit)f(a)h(patc)m(h)g(for)f(inclusion)h
-({)f(from)h(solv)m(e)g(a)g(t)m(yp)s(o)g(y)m(ou)g(disco)m(v)m(ered,)i
-(up)c(to)i(adding)150 4879 y(supp)s(ort)38 b(for)h(a)h(new)e(feature)i
-({)g(y)m(ou)g(should)e(submit)h(it)h(as)f(a)h(bug)f(rep)s(ort)f(\(see)j
-(Section)f(1.8)g([Bug)150 4988 y(Rep)s(orts],)32 b(page)g(7\).)44
-b(There)30 b(are)i(some)g(things)f(that)h(y)m(ou)f(can)h(do)f(to)h
-(increase)g(the)f(c)m(hances)h(for)f(it)h(to)150 5098
-y(b)s(e)e(included)f(in)h(the)h(o\016cial)h(pac)m(k)-5
-b(age.)275 5230 y(Unless)41 b(y)m(our)g(patc)m(h)h(is)f(v)m(ery)h
+(language)150 5092 y(needs)30 b(to)h(b)s(e)f(impro)m(v)m(ed,)h(please)g
+(also)g(send)f(a)h(note.)275 5230 y(Send)e(y)m(our)h(bug)g(rep)s(ort)g
+(to:)1495 5340 y(`)p Fp(bug-libidn@gnu.org)p Fv(')p eop
+end
+%%Page: 8 13
+TeXDict begin 8 12 bop 150 -116 a Fv(Chapter)30 b(1:)41
+b(In)m(tro)s(duction)2592 b(8)150 299 y Fu(1.9)68 b(Con)l(tributing)150
+458 y Fv(If)25 b(y)m(ou)h(w)m(an)m(t)g(to)g(submit)f(a)h(patc)m(h)g
+(for)f(inclusion)h({)f(from)h(solv)m(e)g(a)g(t)m(yp)s(o)g(y)m(ou)g
+(disco)m(v)m(ered,)i(up)c(to)i(adding)150 568 y(supp)s(ort)38
+b(for)h(a)h(new)e(feature)i({)g(y)m(ou)g(should)e(submit)h(it)h(as)f(a)
+h(bug)f(rep)s(ort)f(\(see)j(Section)f(1.8)g([Bug)150
+677 y(Rep)s(orts],)32 b(page)g(7\).)44 b(There)30 b(are)i(some)g
+(things)f(that)h(y)m(ou)f(can)h(do)f(to)h(increase)g(the)f(c)m(hances)h
+(for)f(it)h(to)150 787 y(b)s(e)e(included)f(in)h(the)h(o\016cial)h(pac)
+m(k)-5 b(age.)275 922 y(Unless)41 b(y)m(our)g(patc)m(h)h(is)f(v)m(ery)h
(small)g(\(sa)m(y)-8 b(,)46 b(under)40 b(10)i(lines\))g(w)m(e)f
-(require)g(that)h(y)m(ou)g(assign)g(the)150 5340 y(cop)m(yrigh)m(t)d
+(require)g(that)h(y)m(ou)g(assign)g(the)150 1031 y(cop)m(yrigh)m(t)d
(of)f(y)m(our)f(w)m(ork)h(to)g(the)g(F)-8 b(ree)39 b(Soft)m(w)m(are)f
-(F)-8 b(oundation.)63 b(This)37 b(is)g(to)i(protect)f(the)g(freedom)p
-eop end
-%%Page: 8 13
-TeXDict begin 8 12 bop 150 -116 a Fx(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(8)150 299 y(of)44 b(the)g(pro)5
-b(ject.)81 b(If)43 b(y)m(ou)h(ha)m(v)m(e)h(not)f(already)h(signed)e
-(pap)s(ers,)j(w)m(e)f(will)f(send)f(y)m(ou)h(the)g(necessary)150
-408 y(information)31 b(when)e(y)m(ou)i(submit)e(y)m(our)i(con)m
-(tribution.)275 543 y(F)-8 b(or)33 b(con)m(tributions)h(that)f(do)s
-(esn't)g(consist)g(of)g(actual)i(programming)d(co)s(de,)i(the)g(only)f
-(guidelines)150 653 y(are)e(common)f(sense.)41 b(Use)31
-b(it.)275 787 y(F)-8 b(or)31 b(co)s(de)f(con)m(tributions,)h(a)g(n)m
-(um)m(b)s(er)e(of)i(st)m(yle)g(guides)g(will)f(help)g(y)m(ou:)225
-922 y Fv(\017)60 b Fx(Co)s(ding)32 b(St)m(yle.)48 b(F)-8
-b(ollo)m(w)34 b(the)f(GNU)g(Standards)e(do)s(cumen)m(t)i(\(see)g
-Fv(h)p Fx(unde\014ned)p Fv(i)e Fx([top],)j(page)f Fv(h)p
-Fx(un-)330 1031 y(de\014ned)p Fv(i)p Fx(\).)330 1166
+(F)-8 b(oundation.)63 b(This)37 b(is)g(to)i(protect)f(the)g(freedom)150
+1141 y(of)44 b(the)g(pro)5 b(ject.)81 b(If)43 b(y)m(ou)h(ha)m(v)m(e)h
+(not)f(already)h(signed)e(pap)s(ers,)j(w)m(e)f(will)f(send)f(y)m(ou)h
+(the)g(necessary)150 1250 y(information)31 b(when)e(y)m(ou)i(submit)e
+(y)m(our)i(con)m(tribution.)275 1385 y(F)-8 b(or)33 b(con)m(tributions)
+h(that)f(do)s(esn't)g(consist)g(of)g(actual)i(programming)d(co)s(de,)i
+(the)g(only)f(guidelines)150 1494 y(are)e(common)f(sense.)41
+b(Use)31 b(it.)275 1629 y(F)-8 b(or)31 b(co)s(de)f(con)m(tributions,)h
+(a)g(n)m(um)m(b)s(er)e(of)i(st)m(yle)g(guides)g(will)f(help)g(y)m(ou:)
+225 1763 y Ft(\017)60 b Fv(Co)s(ding)32 b(St)m(yle.)48
+b(F)-8 b(ollo)m(w)34 b(the)f(GNU)g(Standards)e(do)s(cumen)m(t)i(\(see)g
+Ft(h)p Fv(unde\014ned)p Ft(i)e Fv([top],)j(page)f Ft(h)p
+Fv(un-)330 1873 y(de\014ned)p Ft(i)p Fv(\).)330 2007
y(If)42 b(y)m(ou)h(normally)f(co)s(de)h(using)f(another)g(co)s(ding)h
(standard,)i(there)d(is)h(no)f(problem,)j(but)d(y)m(ou)330
-1275 y(should)h(use)g(`)p Fr(indent)p Fx(')g(to)i(reformat)f(the)g(co)s
-(de)g(\(see)h Fv(h)p Fx(unde\014ned)p Fv(i)d Fx([top],)48
-b(page)d Fv(h)p Fx(unde\014ned)p Fv(i)p Fx(\))330 1385
+2117 y(should)h(use)g(`)p Fp(indent)p Fv(')g(to)i(reformat)f(the)g(co)s
+(de)g(\(see)h Ft(h)p Fv(unde\014ned)p Ft(i)d Fv([top],)48
+b(page)d Ft(h)p Fv(unde\014ned)p Ft(i)p Fv(\))330 2227
y(b)s(efore)30 b(submitting)g(y)m(our)g(w)m(ork.)225
-1519 y Fv(\017)60 b Fx(Use)31 b(the)f(uni\014ed)f(di\013)h(format)h(`)p
-Fr(diff)f(-u)p Fx('.)225 1654 y Fv(\017)60 b Fx(Return)32
+2361 y Ft(\017)60 b Fv(Use)31 b(the)f(uni\014ed)f(di\013)h(format)h(`)p
+Fp(diff)f(-u)p Fv('.)225 2496 y Ft(\017)60 b Fv(Return)32
b(errors.)47 b(No)33 b(reason)g(whatso)s(ev)m(er)g(should)f(ab)s(ort)h
(the)g(execution)g(of)g(the)g(library)-8 b(.)48 b(Ev)m(en)330
-1763 y(memory)27 b(allo)s(cation)i(errors,)f(e.g.)41
+2605 y(memory)27 b(allo)s(cation)i(errors,)f(e.g.)41
b(when)26 b(mallo)s(c)i(return)e(NULL,)h(should)f(w)m(ork)h(although)h
-(result)330 1873 y(in)i(an)g(error)g(co)s(de.)225 2007
-y Fv(\017)60 b Fx(Design)31 b(with)f(thread)g(safet)m(y)i(in)e(mind.)40
+(result)330 2715 y(in)i(an)g(error)g(co)s(de.)225 2849
+y Ft(\017)60 b Fv(Design)31 b(with)f(thread)g(safet)m(y)i(in)e(mind.)40
b(Don't)31 b(use)f(global)i(v)-5 b(ariables)31 b(and)f(the)g(lik)m(e.)
-225 2142 y Fv(\017)60 b Fx(Av)m(oid)38 b(using)f(the)g(C)g(math)g
+225 2984 y Ft(\017)60 b Fv(Av)m(oid)38 b(using)f(the)g(C)g(math)g
(library)-8 b(.)61 b(It)37 b(causes)h(problems)e(for)h(em)m(b)s(edded)f
-(implemen)m(tations,)330 2252 y(and)30 b(in)g(most)h(situations)g(it)g
+(implemen)m(tations,)330 3093 y(and)30 b(in)g(most)h(situations)g(it)g
(is)f(v)m(ery)h(easy)g(to)g(a)m(v)m(oid)h(using)e(it.)225
-2386 y Fv(\017)60 b Fx(Do)s(cumen)m(t)23 b(y)m(our)f(functions.)37
+3228 y Ft(\017)60 b Fv(Do)s(cumen)m(t)23 b(y)m(our)f(functions.)37
b(Use)23 b(commen)m(ts)g(b)s(efore)f(eac)m(h)h(function)f(headers,)h
-(that,)i(if)d(prop)s(erly)330 2496 y(formatted,)j(are)d(extracted)i(in)
+(that,)i(if)d(prop)s(erly)330 3337 y(formatted,)j(are)d(extracted)i(in)
m(to)f(GTK-DOC)e(w)m(eb)i(pages.)38 b(Don't)23 b(forget)g(to)g(up)s
-(date)e(the)i(T)-8 b(exinfo)330 2605 y(man)m(ual)31 b(as)f(w)m(ell.)225
-2740 y Fv(\017)60 b Fx(Supply)29 b(a)h(ChangeLog)h(and)f(NEWS)g(en)m
+(date)e(the)i(T)-8 b(exinfo)330 3447 y(man)m(ual)31 b(as)f(w)m(ell.)225
+3582 y Ft(\017)60 b Fv(Supply)29 b(a)h(ChangeLog)h(and)f(NEWS)g(en)m
(tries,)i(where)e(appropriate.)p eop end
%%Page: 9 14
-TeXDict begin 9 13 bop 150 -116 a Fx(Chapter)30 b(2:)41
-b(Preparation)2619 b(9)150 299 y Fu(2)80 b(Preparation)150
-497 y Fx(T)-8 b(o)34 b(use)f(`Libidn',)h(y)m(ou)g(ha)m(v)m(e)h(to)f(p)s
+TeXDict begin 9 13 bop 150 -116 a Fv(Chapter)30 b(2:)41
+b(Preparation)2619 b(9)150 299 y Fs(2)80 b(Preparation)150
+497 y Fv(T)-8 b(o)34 b(use)f(`Libidn',)h(y)m(ou)g(ha)m(v)m(e)h(to)f(p)s
(erform)e(some)i(c)m(hanges)h(to)f(y)m(our)g(sources)f(and)g(the)h
(build)f(system.)150 607 y(The)39 b(necessary)h(c)m(hanges)h(are)f
(small)g(and)f(explained)g(in)h(the)f(follo)m(wing)i(sections.)70
(w)g(to)h(adapt)f(y)m(our)g(application)h(for)e(use)h(with)f(`Libidn')h
(ma)m(y)g(b)s(e)f(to)150 1063 y(lo)s(ok)h(at)g(the)g(examples)g(at)g
(the)f(end)g(of)g(this)h(man)m(ual)f(\(see)i(Chapter)e(9)g([Examples],)
-h(page)h(38\).)150 1281 y Fw(2.1)68 b(Header)150 1440
-y Fx(The)38 b(library)g(con)m(tains)i(a)e(few)h(indep)s(enden)m(t)e
+h(page)h(38\).)150 1281 y Fu(2.1)68 b(Header)150 1440
+y Fv(The)38 b(library)g(con)m(tains)i(a)e(few)h(indep)s(enden)m(t)e
(parts,)j(and)e(eac)m(h)i(part)e(exp)s(ort)g(the)h(in)m(terfaces)h
(\(data)150 1550 y(t)m(yp)s(es)33 b(and)g(functions\))g(in)g(a)h
(header)f(\014le.)49 b(Y)-8 b(ou)34 b(m)m(ust)f(include)g(the)h
(appropriate)f(header)g(\014les)g(in)g(all)150 1659 y(programs)d(using)
g(the)g(library)-8 b(,)31 b(either)g(directly)g(or)f(through)g(some)h
(other)f(header)h(\014le,)f(lik)m(e)i(this:)390 1787
-y Fr(#include)46 b(<stringprep.h>)275 1914 y Fx(The)29
+y Fp(#include)46 b(<stringprep.h>)275 1914 y Fv(The)29
b(header)i(\014les)f(and)g(the)g(functions)g(they)h(de\014ne)e(are)i
(categorized)i(as)e(follo)m(ws:)150 2059 y(stringprep.h)630
2169 y(The)d(lo)m(w-lev)m(el)j(stringprep)c(API)h(en)m(try)h(p)s(oin)m
(eci\014cally)f(non-IDN)f(ones,)h(ma)m(y)f(w)m(an)m(t)h(to)630
2388 y(prepare)e(strings)g(directly)h(though,)f(and)g(should)g(include)
g(this)g(header)g(\014le.)630 2515 y(The)k(name)h(space)g(of)g(the)f
-(stringprep)g(part)h(of)f(Libidn)g(is)g Fr(stringprep*)e
-Fx(for)i(function)630 2625 y(names,)i Fr(Stringprep*)31
-b Fx(for)k(data)g(t)m(yp)s(es)g(and)f Fr(STRINGPREP_*)d
-Fx(for)k(other)g(sym)m(b)s(ols.)53 b(In)630 2734 y(addition,)36
-b Fr(_stringprep*)31 b Fx(is)k(reserv)m(ed)f(for)g(in)m(ternal)i(use)e
+(stringprep)g(part)h(of)f(Libidn)g(is)g Fp(stringprep*)e
+Fv(for)i(function)630 2625 y(names,)i Fp(Stringprep*)31
+b Fv(for)k(data)g(t)m(yp)s(es)g(and)f Fp(STRINGPREP_*)d
+Fv(for)k(other)g(sym)m(b)s(ols.)53 b(In)630 2734 y(addition,)36
+b Fp(_stringprep*)31 b Fv(is)k(reserv)m(ed)f(for)g(in)m(ternal)i(use)e
(and)g(should)f(nev)m(er)i(b)s(e)f(used)630 2844 y(b)m(y)c
(applications.)150 2989 y(pun)m(yco)s(de.h)630 3098 y(The)23
b(en)m(try)h(p)s(oin)m(t)f(to)i(Pun)m(yco)s(de)e(enco)s(ding)g(and)g
(some)h(application)g(ma)m(y)h(w)m(an)m(t)f(to)g(p)s(erform)630
3318 y(ra)m(w)30 b(pun)m(yco)s(de)g(op)s(erations.)630
3445 y(The)40 b(name)i(space)f(of)g(the)g(pun)m(yco)s(de)g(part)f(of)i
-(Libidn)d(is)i Fr(punycode_*)d Fx(for)j(function)630
-3554 y(names,)e Fr(Punycode*)34 b Fx(for)j(data)g(t)m(yp)s(es)g(and)g
-Fr(PUNYCODE_*)d Fx(for)i(other)i(sym)m(b)s(ols.)60 b(In)36
-b(ad-)630 3664 y(dition,)42 b Fr(_punycode*)37 b Fx(is)i(reserv)m(ed)h
+(Libidn)d(is)i Fp(punycode_*)d Fv(for)j(function)630
+3554 y(names,)e Fp(Punycode*)34 b Fv(for)j(data)g(t)m(yp)s(es)g(and)g
+Fp(PUNYCODE_*)d Fv(for)i(other)i(sym)m(b)s(ols.)60 b(In)36
+b(ad-)630 3664 y(dition,)42 b Fp(_punycode*)37 b Fv(is)i(reserv)m(ed)h
(for)f(in)m(ternal)h(use)g(and)e(should)h(nev)m(er)h(b)s(e)e(used)h(b)m
(y)630 3774 y(applications.)150 3919 y(idna.h)630 4046
y(The)h(en)m(try)g(p)s(oin)m(t)g(to)h(the)f(IDNA)h(functions.)70
b(This)39 b(is)h(the)h(normal)f(en)m(try)g(p)s(oin)m(t)g(for)630
4156 y(applications)32 b(that)f(need)f(IDN)g(functionalit)m(y)-8
b(.)630 4283 y(The)42 b(name)g(space)g(of)h(the)f(IDNA)h(part)f(of)g
-(Libidn)f(is)h Fr(idna_*)e Fx(for)i(function)g(names,)630
-4392 y Fr(Idna*)d Fx(for)g(data)i(t)m(yp)s(es)f(and)f
-Fr(IDNA_*)g Fx(for)g(other)h(sym)m(b)s(ols.)70 b(In)39
-b(addition,)k Fr(_idna*)38 b Fx(is)630 4502 y(reserv)m(ed)31
+(Libidn)f(is)h Fp(idna_*)e Fv(for)i(function)g(names,)630
+4392 y Fp(Idna*)d Fv(for)g(data)i(t)m(yp)s(es)f(and)f
+Fp(IDNA_*)g Fv(for)g(other)h(sym)m(b)s(ols.)70 b(In)39
+b(addition,)k Fp(_idna*)38 b Fv(is)630 4502 y(reserv)m(ed)31
b(for)f(in)m(ternal)h(use)f(and)g(should)f(nev)m(er)i(b)s(e)e(used)h(b)
m(y)g(applications.)150 4647 y(tld.h)630 4774 y(The)k(en)m(try)g(p)s
(oin)m(t)g(to)h(the)f(TLD)g(functions.)51 b(Normal)35
(applications)i(that)f(are)f(used)g(b)m(y)630 4993 y(TLDs)30
b(to)h(v)-5 b(alidate)32 b(customer)f(input.)630 5121
y(The)d(name)h(space)g(of)g(the)g(TLD)g(part)g(of)f(Libidn)g(is)h
-Fr(tld_*)e Fx(for)i(function)f(names,)h Fr(Tld_*)630
-5230 y Fx(for)i(data)g(t)m(yp)s(es)g(and)f Fr(TLD_*)g
-Fx(for)g(other)h(sym)m(b)s(ols.)42 b(In)30 b(addition,)i
-Fr(_tld*)d Fx(is)i(reserv)m(ed)g(for)630 5340 y(in)m(ternal)g(use)f
+Fp(tld_*)e Fv(for)i(function)f(names,)h Fp(Tld_*)630
+5230 y Fv(for)i(data)g(t)m(yp)s(es)g(and)f Fp(TLD_*)g
+Fv(for)g(other)h(sym)m(b)s(ols.)42 b(In)30 b(addition,)i
+Fp(_tld*)d Fv(is)i(reserv)m(ed)g(for)630 5340 y(in)m(ternal)g(use)f
(and)g(should)f(nev)m(er)i(b)s(e)f(used)f(b)m(y)i(applications.)p
eop end
%%Page: 10 15
-TeXDict begin 10 14 bop 150 -116 a Fx(Chapter)30 b(2:)41
+TeXDict begin 10 14 bop 150 -116 a Fv(Chapter)30 b(2:)41
b(Preparation)2573 b(10)150 299 y(pr29.h)630 441 y(The)40
b(en)m(try)h(p)s(oin)m(t)g(to)g(the)g(PR29)h(functions.)71
b(These)41 b(functions)f(are)h(used)f(to)i(detect)630
b(unctions],)28 b(page)f(36\),)h(mostly)e(for)g(use)630
660 y(in)k(securit)m(y)h(critical)h(applications.)630
802 y(The)23 b(name)g(space)h(of)f(the)h(PR29)g(part)f(of)g(Libidn)g
-(is)g Fr(pr29_*)e Fx(for)j(function)e(names,)j Fr(Pr29_)630
-912 y(*)j Fx(for)g(data)h(t)m(yp)s(es)f(and)f Fr(PR29_*)g
-Fx(for)h(other)g(sym)m(b)s(ols.)40 b(In)27 b(addition,)i
-Fr(_pr29*)e Fx(is)h(reserv)m(ed)630 1021 y(for)i(in)m(ternal)h(use)f
+(is)g Fp(pr29_*)e Fv(for)j(function)e(names,)j Fp(Pr29_)630
+912 y(*)j Fv(for)g(data)h(t)m(yp)s(es)f(and)f Fp(PR29_*)g
+Fv(for)h(other)g(sym)m(b)s(ols.)40 b(In)27 b(addition,)i
+Fp(_pr29*)e Fv(is)h(reserv)m(ed)630 1021 y(for)i(in)m(ternal)h(use)f
(and)g(should)f(nev)m(er)i(b)s(e)f(used)f(b)m(y)i(applications.)150
1196 y(idn-free.h)630 1338 y(The)24 b(en)m(try)h(p)s(oin)m(t)f(to)h
(the)g(Windo)m(ws)f(memory)g(de-allo)s(cation)j(function)d(\(see)i
(Section)f(2.6)630 1447 y([Memory)40 b(handling)f(under)e(Windo)m(ws],)
42 b(page)e(12\).)69 b(It)39 b(con)m(tains)h(only)g(one)f(function)630
-1557 y Fr(idn_free)p Fx(.)275 1739 y(All)31 b(header)f(\014les)g
-(de\014ned)f(and)h(use)g(the)h(sym)m(b)s(ol)f Fr(IDNAPI)e
-Fx(to)j(decorate)h(the)f(API)f(functions.)150 1994 y
-Fw(2.2)68 b(Initialization)150 2153 y Fx(Libidn)29 b(is)i(stateless)h
+1557 y Fp(idn_free)p Fv(.)275 1739 y(All)31 b(header)f(\014les)g
+(de\014ned)f(and)h(use)g(the)h(sym)m(b)s(ol)f Fp(IDNAPI)e
+Fv(to)j(decorate)h(the)f(API)f(functions.)150 1994 y
+Fu(2.2)68 b(Initialization)150 2153 y Fv(Libidn)29 b(is)i(stateless)h
(and)d(do)s(es)h(not)h(need)f(an)m(y)h(initialization.)150
-2408 y Fw(2.3)68 b(V)-11 b(ersion)45 b(Chec)l(k)150 2567
-y Fx(It)35 b(is)g(often)g(desirable)g(to)h(c)m(hec)m(k)h(that)e(the)g
+2408 y Fu(2.3)68 b(V)-11 b(ersion)45 b(Chec)l(k)150 2567
+y Fv(It)35 b(is)g(often)g(desirable)g(to)h(c)m(hec)m(k)h(that)e(the)g
(v)m(ersion)h(of)f(`Libidn')f(used)g(is)h(indeed)g(one)g(whic)m(h)f
(\014ts)h(all)150 2677 y(requiremen)m(ts.)42 b(Ev)m(en)31
b(with)g(binary)f(compatibilit)m(y)j(new)d(features)h(ma)m(y)g(ha)m(v)m
(actually)h(used.)45 b(So)31 b(y)m(ou)i(ma)m(y)f(w)m(an)m(t)150
2896 y(to)f(c)m(hec)m(k)h(that)f(the)g(v)m(ersion)f(is)h(ok)-5
b(a)m(y)31 b(righ)m(t)g(after)g(program)f(startup.)150
-3110 y Fq(stringprep)p 710 3110 37 5 v 55 w(c)m(hec)m(k)p
-1058 3110 V 53 w(v)m(ersion)3350 3322 y Fx([F)-8 b(unction])-3599
-b Fp(const)54 b(char)f(*)g(stringprep_check_versi)q(on)f
-Fo(\()p Fn(const)31 b(c)m(har)g(*)565 3432 y Fm(req_version)12
-b Fo(\))390 3541 y Fn(req)p 520 3541 28 4 v 40 w(v)m(ersion)p
-Fx(:)41 b(Required)30 b(v)m(ersion)h(n)m(um)m(b)s(er,)e(or)i(NULL.)390
+3110 y Fo(stringprep)p 710 3110 37 5 v 55 w(c)m(hec)m(k)p
+1058 3110 V 53 w(v)m(ersion)3350 3322 y Fv([F)-8 b(unction])-3599
+b Fn(const)54 b(char)f(*)g(stringprep_check_versi)q(on)f
+Fm(\()p Fl(const)31 b(c)m(har)g(*)565 3432 y Fk(req_version)12
+b Fm(\))390 3541 y Fl(req)p 520 3541 28 4 v 40 w(v)m(ersion)p
+Fv(:)41 b(Required)30 b(v)m(ersion)h(n)m(um)m(b)s(er,)e(or)i(NULL.)390
3691 y(Chec)m(k)c(that)h(the)f(v)m(ersion)g(of)g(the)g(library)g(is)g
(at)g(minim)m(um)g(the)g(requested)f(one)i(and)e(return)g(the)390
3800 y(v)m(ersion)32 b(string;)h(return)e(NULL)g(if)h(the)g(condition)g
(is)g(not)g(satis\014ed.)45 b(If)31 b(a)h(NULL)g(is)g(passed)f(to)390
3910 y(this)f(function,)h(no)f(c)m(hec)m(k)i(is)e(done,)h(but)e(the)i
(v)m(ersion)g(string)f(is)g(simply)g(returned.)390 4060
-y(See)h Fr(STRINGPREP_VERSION)25 b Fx(for)30 b(a)h(suitable)g
-Fr(req_version)c Fx(string.)390 4209 y Fl(Return)d(v)-5
-b(alue:)38 b Fx(V)-8 b(ersion)24 b(string)g(of)g(run-time)g(library)-8
+y(See)h Fp(STRINGPREP_VERSION)25 b Fv(for)30 b(a)h(suitable)g
+Fp(req_version)c Fv(string.)390 4209 y Fj(Return)d(v)-5
+b(alue:)38 b Fv(V)-8 b(ersion)24 b(string)g(of)g(run-time)g(library)-8
b(,)26 b(or)e(NULL)g(if)g(the)g(run-time)g(library)f(do)s(es)390
4319 y(not)31 b(meet)g(the)f(required)g(v)m(ersion)h(n)m(um)m(b)s(er.)
275 4533 y(The)e(normal)h(w)m(a)m(y)i(to)f(use)e(the)i(function)f(is)g
(to)h(put)e(something)i(similar)g(to)g(the)f(follo)m(wing)i(\014rst)d
-(in)150 4643 y(y)m(our)h Fr(main)p Fx(:)485 4792 y Fr(if)48
+(in)150 4643 y(y)m(our)h Fp(main)p Fv(:)485 4792 y Fp(if)48
b(\(!stringprep_check_vers)o(ion)41 b(\(STRINGPREP_VERSION\)\))581
4902 y({)676 5011 y(printf)46 b(\("stringprep_check_version)o(\(\))c
(failed:\\n")1058 5121 y("Header)k(file)h(incompatible)d(with)j(shared)
-f(library.\\n"\);)676 5230 y(exit\(1\);)581 5340 y(})p
-eop end
+f(library.\\n"\);)676 5230 y(exit\(EXIT_FAILURE\);)581
+5340 y(})p eop end
%%Page: 11 16
-TeXDict begin 11 15 bop 150 -116 a Fx(Chapter)30 b(2:)41
-b(Preparation)2573 b(11)150 299 y Fw(2.4)68 b(Building)45
-b(the)g(source)150 458 y Fx(If)32 b(y)m(ou)i(w)m(an)m(t)f(to)h(compile)
+TeXDict begin 11 15 bop 150 -116 a Fv(Chapter)30 b(2:)41
+b(Preparation)2573 b(11)150 299 y Fu(2.4)68 b(Building)45
+b(the)g(source)150 458 y Fv(If)32 b(y)m(ou)i(w)m(an)m(t)f(to)h(compile)
g(a)f(source)g(\014le)g(including)f(e.g.)50 b(the)33
b(`idna.h')f(header)h(\014le,)h(y)m(ou)f(m)m(ust)g(mak)m(e)150
568 y(sure)24 b(that)i(the)f(compiler)g(can)h(\014nd)d(it)j(in)e(the)h
(b)m(y)g(adding)150 677 y(the)37 b(path)g(to)h(the)f(directory)g(in)g
(whic)m(h)g(the)g(header)g(\014le)g(is)g(lo)s(cated)h(to)g(the)f
(compilers)g(include)g(\014le)150 787 y(searc)m(h)31
-b(path)f(\(via)h(the)g(`)p Fr(-I)p Fx(')f(option\).)275
+b(path)f(\(via)h(the)g(`)p Fp(-I)p Fv(')f(option\).)275
923 y(Ho)m(w)m(ev)m(er,)h(the)f(path)f(to)h(the)g(include)f(\014le)h
(is)f(determined)g(at)h(the)g(time)g(the)f(source)h(is)f(con\014gured.)
150 1033 y(T)-8 b(o)30 b(solv)m(e)h(this)f(problem,)g(`Libidn')f(uses)g
-(the)h(external)h(pac)m(k)-5 b(age)31 b Fr(pkg-config)c
-Fx(that)k(kno)m(ws)e(the)h(path)150 1142 y(to)k(the)g(include)g(\014le)
+(the)h(external)h(pac)m(k)-5 b(age)31 b Fp(pkg-config)c
+Fv(that)k(kno)m(ws)e(the)h(path)150 1142 y(to)k(the)g(include)g(\014le)
f(and)g(other)h(con\014guration)g(options.)51 b(The)33
b(options)h(that)g(need)g(to)g(b)s(e)f(added)g(to)150
1252 y(the)24 b(compiler)h(in)m(v)m(o)s(cation)h(at)f(compile)f(time)h
-(are)g(output)e(b)m(y)h(the)g(`)p Fr(--cflags)p Fx(')f(option)h(to)h
-Fr(pkg-config)150 1362 y(libidn)p Fx(.)39 b(The)30 b(follo)m(wing)i
+(are)g(output)e(b)m(y)h(the)g(`)p Fp(--cflags)p Fv(')f(option)h(to)h
+Fp(pkg-config)150 1362 y(libidn)p Fv(.)39 b(The)30 b(follo)m(wing)i
(example)f(sho)m(ws)f(ho)m(w)g(it)h(can)g(b)s(e)f(used)f(at)i(the)g
-(command)f(line:)390 1498 y Fr(gcc)47 b(-c)g(foo.c)f(`pkg-config)f
-(libidn)h(--cflags`)275 1634 y Fx(Adding)38 b(the)i(output)f(of)h(`)p
-Fr(pkg-config)27 b(libidn)i(--cflags)p Fx(')38 b(to)i(the)f(compilers)h
+(command)f(line:)390 1498 y Fp(gcc)47 b(-c)g(foo.c)f(`pkg-config)f
+(libidn)h(--cflags`)275 1634 y Fv(Adding)38 b(the)i(output)f(of)h(`)p
+Fp(pkg-config)27 b(libidn)i(--cflags)p Fv(')38 b(to)i(the)f(compilers)h
(command)g(line)150 1744 y(will)31 b(ensure)e(that)i(the)g(compiler)g
(can)f(\014nd)f(e.g.)42 b(the)31 b(idna.h)e(header)i(\014le.)275
1880 y(A)23 b(similar)g(problem)g(o)s(ccurs)g(when)f(linking)h(the)g
(\014les.)40 b(F)-8 b(or)26 b(this)g(to)h(w)m(ork,)g(the)f(path)g(to)h
(the)f(library)f(\014les)h(has)g(to)h(b)s(e)e(added)g(to)150
2099 y(the)32 b(library)g(searc)m(h)h(path)f(\(via)h(the)f(`)p
-Fr(-L)p Fx(')g(option\).)47 b(F)-8 b(or)32 b(this,)h(the)f(option)h(`)p
-Fr(--libs)p Fx(')e(to)i Fr(pkg-config)150 2209 y(libidn)h
-Fx(can)i(b)s(e)f(used.)56 b(F)-8 b(or)37 b(con)m(v)m(enience,)i(this)d
+Fp(-L)p Fv(')g(option\).)47 b(F)-8 b(or)32 b(this,)h(the)f(option)h(`)p
+Fp(--libs)p Fv(')e(to)i Fp(pkg-config)150 2209 y(libidn)h
+Fv(can)i(b)s(e)f(used.)56 b(F)-8 b(or)37 b(con)m(v)m(enience,)i(this)d
(option)g(also)g(outputs)g(all)g(other)g(options)g(that)h(are)150
-2318 y(required)h(to)i(link)f(the)g(program)g(with)f(the)i(`libidn')e
-(libarary)-8 b(.)67 b(The)39 b(example)h(sho)m(ws)e(ho)m(w)h(to)h(link)
-150 2428 y(`)p Fr(foo.o)p Fx(')29 b(with)i(the)f(`libidn')g(library)g
-(to)h(a)g(program)f Fr(foo)p Fx(.)390 2564 y Fr(gcc)47
+2318 y(required)k(to)i(link)e(the)h(program)g(with)f(the)i(`libidn')e
+(library)-8 b(.)75 b(The)41 b(example)i(sho)m(ws)f(ho)m(w)f(to)i(link)
+150 2428 y(`)p Fp(foo.o)p Fv(')29 b(with)i(the)f(`libidn')g(library)g
+(to)h(a)g(program)f Fp(foo)p Fv(.)390 2564 y Fp(gcc)47
b(-o)g(foo)g(foo.o)f(`pkg-config)f(libidn)h(--libs`)275
-2700 y Fx(Of)29 b(course)i(y)m(ou)f(can)h(also)g(com)m(bine)g(b)s(oth)e
+2700 y Fv(Of)29 b(course)i(y)m(ou)f(can)h(also)g(com)m(bine)g(b)s(oth)e
(examples)i(to)g(a)g(single)f(command)g(b)m(y)h(sp)s(ecifying)f(b)s
-(oth)150 2810 y(options)h(to)g Fr(pkg-config)p Fx(:)390
-2946 y Fr(gcc)47 b(-o)g(foo)g(foo.c)f(`pkg-config)f(libidn)h(--cflags)g
-(--libs`)150 3181 y Fw(2.5)68 b(Auto)t(conf)44 b(tests)150
-3341 y Fx(If)25 b(y)m(our)g(pro)5 b(ject)26 b(uses)f(Auto)s(conf)g
-(\(see)i Fv(h)p Fx(unde\014ned)p Fv(i)c Fx([top],)28
-b(page)e Fv(h)p Fx(unde\014ned)p Fv(i)p Fx(\))e(to)i(c)m(hec)m(k)h(for)
+(oth)150 2810 y(options)h(to)g Fp(pkg-config)p Fv(:)390
+2946 y Fp(gcc)47 b(-o)g(foo)g(foo.c)f(`pkg-config)f(libidn)h(--cflags)g
+(--libs`)150 3181 y Fu(2.5)68 b(Auto)t(conf)44 b(tests)150
+3341 y Fv(If)25 b(y)m(our)g(pro)5 b(ject)26 b(uses)f(Auto)s(conf)g
+(\(see)i Ft(h)p Fv(unde\014ned)p Ft(i)c Fv([top],)28
+b(page)e Ft(h)p Fv(unde\014ned)p Ft(i)p Fv(\))e(to)i(c)m(hec)m(k)h(for)
e(installed)150 3450 y(libraries,)38 b(y)m(ou)e(migh)m(t)h(\014nd)d
(the)i(follo)m(wing)i(snipp)s(et)c(illustrativ)m(e.)60
-b(It)36 b(add)f(a)h(new)g(`)p Fr(configure)p Fx(')e(pa-)150
-3560 y(rameter)d Fr(--with-libidn)p Fx(,)d(and)i(c)m(hec)m(k)j(for)d(`)
-p Fr(idna.h)p Fx(')g(and)g(`)p Fr(-lidn)p Fx(')g(\(p)s(ossibly)g(b)s
-(elo)m(w)h(the)g(directory)150 3669 y(sp)s(eci\014ed)d(as)i(the)f
-(optional)i(argumen)m(t)e(to)h Fr(--with-libidn)p Fx(\),)c(and)j
-(de\014ne)f(the)i Fk(CPP)e Fx(sym)m(b)s(ol)h Fr(LIBIDN)150
-3779 y Fx(if)37 b(the)f(library)h(is)f(found.)58 b(The)36
+b(It)36 b(add)f(a)h(new)g(`)p Fp(configure)p Fv(')e(pa-)150
+3560 y(rameter)d Fp(--with-libidn)p Fv(,)d(and)i(c)m(hec)m(k)j(for)d(`)
+p Fp(idna.h)p Fv(')g(and)g(`)p Fp(-lidn)p Fv(')g(\(p)s(ossibly)g(b)s
+(elo)m(w)h(the)g(directory)150 3669 y(sp)s(eci\014ed)c(as)h(the)g
+(optional)h(argumen)m(t)f(to)h Fp(--with-libidn)p Fv(\),)c(and)i
+(de\014ne)g(the)h(CPP)f(sym)m(b)s(ol)h Fp(LIBIDN)150
+3779 y Fv(if)37 b(the)f(library)h(is)f(found.)58 b(The)36
b(default)h(b)s(eha)m(viour)f(is)h(to)g(searc)m(h)g(for)g(the)g
(library)f(and)g(enable)h(the)150 3889 y(functionalit)m(y)28
b(\(that)g(is,)g(de\014ne)e(the)h(sym)m(b)s(ol\))f(when)g(the)h
3998 y(the)k(default)g(b)s(eha)m(viour)g(of)g(y)m(our)g(pac)m(k)-5
b(age)34 b(b)s(e)e(that)g(Libidn)f(is)h(not)g(used)g(\(ev)m(en)h(if)f
(it)g(is)g(installed)h(on)150 4108 y(the)e(system\),)g(c)m(hange)g(`)p
-Fr(libidn=yes)p Fx(')d(to)j(`)p Fr(libidn=no)p Fx(')e(on)h(the)h(third)
-e(line.)390 4244 y Fr(AC_ARG_WITH\(libidn,)43 b
+Fp(libidn=yes)p Fv(')d(to)j(`)p Fp(libidn=no)p Fv(')e(on)h(the)h(third)
+e(line.)390 4244 y Fp(AC_ARG_WITH\(libidn,)43 b
(AC_HELP_STRING\([--with-)o(lib)o(idn=)o([DIR)o(]],)1917
4354 y([Support)j(IDN)h(\(needs)f(GNU)h(Libidn\)]\),)485
4463 y(libidn=$withval,)d(libidn=yes\))390 4573 y(if)j(test)g
5340 y([libidn=yes)i(LIBS="${LIBS})f(-lidn"],)i(libidn=no\),)p
eop end
%%Page: 12 17
-TeXDict begin 12 16 bop 150 -116 a Fx(Chapter)30 b(2:)41
-b(Preparation)2573 b(12)581 299 y Fr(libidn=no\))390
+TeXDict begin 12 16 bop 150 -116 a Fv(Chapter)30 b(2:)41
+b(Preparation)2573 b(12)581 299 y Fp(libidn=no\))390
408 y(fi)390 518 y(if)47 b(test)g("$libidn")e(!=)i("no")g(;)g(then)485
628 y(AC_DEFINE\(LIBIDN,)d(1,)j([Define)f(to)h(1)g(if)g(you)g(want)g
(IDN)g(support.]\))390 737 y(else)485 847 y(AC_MSG_WARN\([Libidn)c(not)
k(found]\))390 956 y(fi)390 1066 y(AC_MSG_CHECKING\([if)c(Libidn)j
(should)g(be)h(used]\))390 1176 y(AC_MSG_RESULT\($libidn\))275
-1345 y Fx(If)36 b(y)m(ou)i(require)f(that)g(y)m(our)g(users)g(ha)m(v)m
-(e)h(installed)g Fr(pkg-config)c Fx(\(whic)m(h)k(I)e(cannot)i
+1345 y Fv(If)36 b(y)m(ou)i(require)f(that)g(y)m(our)g(users)g(ha)m(v)m
+(e)h(installed)g Fp(pkg-config)c Fv(\(whic)m(h)k(I)e(cannot)i
(recommend)150 1454 y(generally\),)32 b(the)f(ab)s(o)m(v)m(e)g(can)g(b)
s(e)f(done)g(more)g(easily)i(as)f(follo)m(ws.)390 1624
-y Fr(AC_ARG_WITH\(libidn,)43 b(AC_HELP_STRING\([--with-)o(lib)o(idn=)o
+y Fp(AC_ARG_WITH\(libidn,)43 b(AC_HELP_STRING\([--with-)o(lib)o(idn=)o
([DIR)o(]],)1917 1733 y([Support)j(IDN)h(\(needs)f(GNU)h(Libidn\)]\),)
485 1843 y(libidn=$withval,)d(libidn=yes\))390 1952 y(if)j(test)g
("$libidn")e(!=)i("no")g(;)g(then)485 2062 y
2720 y(AC_DEFINE\(LIBIDN,)c(1,)k([Define)f(to)h(1)h(if)f(you)g(want)f
(Libidn.]\))485 2829 y(fi)390 2939 y(fi)390 3048 y
(AC_MSG_CHECKING\([if)d(Libidn)j(should)g(be)h(used]\))390
-3158 y(AC_MSG_RESULT\($libidn\))150 3443 y Fw(2.6)68
+3158 y(AC_MSG_RESULT\($libidn\))150 3443 y Fu(2.6)68
b(Memory)45 b(handling)g(under)f(Windo)l(ws)150 3602
-y Fx(Sev)m(eral)i(functions)f(in)g(the)g(library)g(allo)s(cates)i
+y Fv(Sev)m(eral)i(functions)f(in)g(the)g(library)g(allo)s(cates)i
(memory)-8 b(.)85 b(The)45 b(memory)g(is)g(exp)s(ected)g(to)h(b)s(e)f
-(de-)150 3712 y(allo)s(cated)28 b(using)d(the)h Fr(free)e
-Fx(function.)39 b(Under)25 b(Windo)m(ws,)i(it)f(is)g(sometimes)h
+(de-)150 3712 y(allo)s(cated)28 b(using)d(the)h Fp(free)e
+Fv(function.)39 b(Under)25 b(Windo)m(ws,)i(it)f(is)g(sometimes)h
(necessary)f(to)g(de-allo)s(cate)150 3821 y(memory)32
b(in)g(the)h(same)g(mo)s(dule)e(that)i(allo)s(cated)i(a)d(memory)g
(region.)48 b(The)32 b(reason)g(is)h(that)f(di\013eren)m(t)150
(library)-8 b(.)275 4210 y(Note)32 b(that)g(w)m(e)g(do)g(not)f
(recommend)h(using)f(this)g(in)m(terface)i(generally)g(if)e(y)m(ou)h
(do)f(not)h(care)g(ab)s(out)150 4319 y(Windo)m(ws)e(p)s(ortabilit)m(y)
--8 b(.)150 4604 y Fw(2.7)68 b(Header)46 b(\014le)f Fj(idn-free.h)150
-4763 y Fx(T)-8 b(o)39 b(use)f(the)h(function)f(explained)h(in)f(this)h
+-8 b(.)150 4604 y Fu(2.7)68 b(Header)46 b(\014le)f Fi(idn-free.h)150
+4763 y Fv(T)-8 b(o)39 b(use)f(the)h(function)f(explained)h(in)f(this)h
(c)m(hapter,)i(y)m(ou)e(need)f(to)i(include)e(the)h(\014le)f(`)p
-Fr(idn-free.h)p Fx(')150 4873 y(using:)390 5042 y Fr(#include)46
-b(<idn-free.h>)150 5327 y Fw(2.8)68 b(Memory)45 b(de-allo)t(cation)i
+Fp(idn-free.h)p Fv(')150 4873 y(using:)390 5042 y Fp(#include)46
+b(<idn-free.h>)150 5327 y Fu(2.8)68 b(Memory)45 b(de-allo)t(cation)i
(function)p eop end
%%Page: 13 18
-TeXDict begin 13 17 bop 150 -116 a Fx(Chapter)30 b(2:)41
-b(Preparation)2573 b(13)150 299 y Fq(idn)p 329 299 37
-5 v 54 w(free)3350 496 y Fx([F)-8 b(unction])-3599 b
-Fp(void)54 b(idn_free)47 b Fo(\()p Fn(v)m(oid)32 b(*)e
-Fm(ptr)12 b Fo(\))390 605 y Fn(ptr)7 b Fx(:)40 b(memory)30
-b(region)h(to)g(deallo)s(cate,)i(or)d Fr(NULL)p Fx(.)390
+TeXDict begin 13 17 bop 150 -116 a Fv(Chapter)30 b(2:)41
+b(Preparation)2573 b(13)150 299 y Fo(idn)p 329 299 37
+5 v 54 w(free)3350 496 y Fv([F)-8 b(unction])-3599 b
+Fn(void)54 b(idn_free)47 b Fm(\()p Fl(v)m(oid)32 b(*)e
+Fk(ptr)12 b Fm(\))390 605 y Fl(ptr)7 b Fv(:)40 b(memory)30
+b(region)h(to)g(deallo)s(cate,)i(or)d Fp(NULL)p Fv(.)390
740 y(Deallo)s(cates)42 b(memory)d(region)g(b)m(y)g(calling)h
-Fr(free\(\))p Fx(.)65 b(If)38 b Fr(ptr)g Fx(is)h Fr(NULL)f
-Fx(no)g(op)s(eration)i(is)f(p)s(er-)390 849 y(formed.)390
+Fp(free\(\))p Fv(.)65 b(If)38 b Fp(ptr)g Fv(is)h Fp(NULL)f
+Fv(no)g(op)s(eration)i(is)f(p)s(er-)390 849 y(formed.)390
984 y(Normally)i(applications)g(de-allo)s(cate)i(strings)d(allo)s
-(cated)i(b)m(y)e(libidn)f(b)m(y)h(calling)i Fr(free\(\))c
-Fx(di-)390 1093 y(rectly)-8 b(.)76 b(Under)41 b(Windo)m(ws,)k
+(cated)i(b)m(y)e(libidn)f(b)m(y)h(calling)i Fp(free\(\))c
+Fv(di-)390 1093 y(rectly)-8 b(.)76 b(Under)41 b(Windo)m(ws,)k
(di\013eren)m(t)d(parts)f(of)h(the)g(same)g(application)h(ma)m(y)f(use)
f(di\013eren)m(t)390 1203 y(heap)d(memory)-8 b(,)40 b(and)e(then)f(it)i
(is)f(imp)s(ortan)m(t)g(to)h(deallo)s(cate)h(memory)e(allo)s(cated)i
(it.)41 b(This)30 b(function)g(mak)m(es)h(that)g(p)s(ossible.)p
eop end
%%Page: 14 19
-TeXDict begin 14 18 bop 150 -116 a Fx(Chapter)30 b(3:)41
+TeXDict begin 14 18 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(Utilit)m(y)32 b(F)-8 b(unctions)2369 b(14)150 299 y
-Fu(3)80 b(Utilit)l(y)53 b(F)-13 b(unctions)150 540 y
-Fx(The)37 b(rest)g(of)h(this)f(library)g(mak)m(es)h(extensiv)m(e)g(use)
+Fs(3)80 b(Utilit)l(y)53 b(F)-13 b(unctions)150 540 y
+Fv(The)37 b(rest)g(of)h(this)f(library)g(mak)m(es)h(extensiv)m(e)g(use)
f(of)h(Unico)s(de)f(c)m(haracters.)63 b(In)37 b(order)f(to)i(in)m
(terface)150 649 y(this)g(library)g(with)g(the)h(outside)f(w)m(orld,)i
(y)m(our)f(application)g(ma)m(y)g(need)f(to)h(mak)m(e)g(v)-5
b(arious)39 b(Unico)s(de)150 759 y(transformations.)150
-994 y Fw(3.1)68 b(Header)46 b(\014le)f Fj(stringprep.h)150
-1154 y Fx(T)-8 b(o)30 b(use)f(the)g(functions)g(explained)h(in)f(this)g
+994 y Fu(3.1)68 b(Header)46 b(\014le)f Fi(stringprep.h)150
+1154 y Fv(T)-8 b(o)30 b(use)f(the)g(functions)g(explained)h(in)f(this)g
(c)m(hapter,)h(y)m(ou)g(need)f(to)h(include)f(the)g(\014le)h(`)p
-Fr(stringprep.h)p Fx(')150 1263 y(using:)390 1400 y Fr(#include)46
-b(<stringprep.h>)150 1636 y Fw(3.2)68 b(Unico)t(de)45
-b(Enco)t(ding)g(T)-11 b(ransformation)150 1860 y Fq(stringprep)p
+Fp(stringprep.h)p Fv(')150 1263 y(using:)390 1400 y Fp(#include)46
+b(<stringprep.h>)150 1636 y Fu(3.2)68 b(Unico)t(de)45
+b(Enco)t(ding)g(T)-11 b(ransformation)150 1860 y Fo(stringprep)p
710 1860 37 5 v 55 w(unic)m(har)p 1165 1860 V 54 w(to)p
-1328 1860 V 54 w(utf8)3350 2059 y Fx([F)j(unction])-3599
-b Fp(int)53 b(stringprep_unichar_to)q(_utf)q(8)f Fo(\()p
-Fn(uin)m(t32)p 2055 2059 28 4 v 41 w(t)31 b Fm(c)12 b
-Fn(,)30 b(c)m(har)h(*)f Fm(outbuf)12 b Fo(\))390 2169
-y Fn(c)6 b Fx(:)41 b(a)30 b(ISO10646)i(c)m(haracter)g(co)s(de)390
-2305 y Fn(outbuf)17 b Fx(:)47 b(output)34 b(bu\013er,)g(m)m(ust)g(ha)m
+1328 1860 V 54 w(utf8)3350 2059 y Fv([F)j(unction])-3599
+b Fn(int)53 b(stringprep_unichar_to)q(_utf)q(8)f Fm(\()p
+Fl(uin)m(t32)p 2055 2059 28 4 v 41 w(t)31 b Fk(c)12 b
+Fl(,)30 b(c)m(har)h(*)f Fk(outbuf)12 b Fm(\))390 2169
+y Fl(c)6 b Fv(:)41 b(a)30 b(ISO10646)i(c)m(haracter)g(co)s(de)390
+2305 y Fl(outbuf)17 b Fv(:)47 b(output)34 b(bu\013er,)g(m)m(ust)g(ha)m
(v)m(e)h(at)g(least)g(6)f(b)m(ytes)h(of)f(space.)52 b(If)33
-b Fr(NULL)p Fx(,)h(the)g(length)h(will)390 2415 y(b)s(e)30
+b Fp(NULL)p Fv(,)h(the)g(length)h(will)390 2415 y(b)s(e)30
b(computed)g(and)g(returned)f(and)h(nothing)g(will)h(b)s(e)e(written)i
-(to)g Fr(outbuf)p Fx(.)390 2551 y(Con)m(v)m(erts)g(a)g(single)g(c)m
-(haracter)h(to)f(UTF-8.)390 2688 y Fl(Return)f(v)-5 b(alue:)41
-b Fx(n)m(um)m(b)s(er)29 b(of)i(b)m(ytes)g(written.)150
-2890 y Fq(stringprep)p 710 2890 37 5 v 55 w(utf8)p 979
+(to)g Fp(outbuf)p Fv(.)390 2551 y(Con)m(v)m(erts)g(a)g(single)g(c)m
+(haracter)h(to)f(UTF-8.)390 2688 y Fj(Return)f(v)-5 b(alue:)41
+b Fv(n)m(um)m(b)s(er)29 b(of)i(b)m(ytes)g(written.)150
+2890 y Fo(stringprep)p 710 2890 37 5 v 55 w(utf8)p 979
2890 V 55 w(to)p 1143 2890 V 54 w(unic)m(har)3350 3089
-y Fx([F)-8 b(unction])-3599 b Fp(uint32_t)55 b(stringprep_utf8_to_unic)
-q(har)d Fo(\()p Fn(const)31 b(c)m(har)g(*)g Fm(p)12 b
-Fo(\))390 3198 y Fn(p)s Fx(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(Unico)s
+y Fv([F)-8 b(unction])-3599 b Fn(uint32_t)55 b(stringprep_utf8_to_unic)
+q(har)d Fm(\()p Fl(const)31 b(c)m(har)g(*)g Fk(p)12 b
+Fm(\))390 3198 y Fl(p)s Fv(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(Unico)s
(de)g(c)m(haracter)h(enco)s(ded)e(as)g(UTF-8)390 3335
y(Con)m(v)m(erts)d(a)g(sequence)g(of)g(b)m(ytes)g(enco)s(ded)f(as)g
(UTF-8)i(to)f(a)g(Unico)s(de)f(c)m(haracter.)41 b(If)26
-b Fr(p)h Fx(do)s(es)f(not)390 3444 y(p)s(oin)m(t)k(to)h(a)g(v)-5
+b Fp(p)h Fv(do)s(es)f(not)390 3444 y(p)s(oin)m(t)k(to)h(a)g(v)-5
b(alid)31 b(UTF-8)g(enco)s(ded)f(c)m(haracter,)i(results)f(are)f
-(unde\014ned.)390 3581 y Fl(Return)g(v)-5 b(alue:)41
-b Fx(the)31 b(resulting)f(c)m(haracter.)150 3782 y Fq(stringprep)p
+(unde\014ned.)390 3581 y Fj(Return)g(v)-5 b(alue:)41
+b Fv(the)31 b(resulting)f(c)m(haracter.)150 3782 y Fo(stringprep)p
710 3782 V 55 w(ucs4)p 997 3782 V 55 w(to)p 1161 3782
-V 54 w(utf8)3350 3981 y Fx([F)-8 b(unction])-3599 b Fp(char)54
-b(*)e(stringprep_ucs4_to_utf)q(8)g Fo(\()p Fn(const)31
-b(uin)m(t32)p 2293 3981 28 4 v 41 w(t)f(*)h Fm(str)12
-b Fn(,)31 b(ssize)p 2876 3981 V 41 w(t)g Fm(len)12 b
-Fn(,)565 4091 y(size)p 712 4091 V 41 w(t)31 b(*)f Fm(items_read)12
-b Fn(,)34 b(size)p 1626 4091 V 40 w(t)d(*)g Fm(items_written)12
-b Fo(\))390 4201 y Fn(str)7 b Fx(:)40 b(a)31 b(UCS-4)f(enco)s(ded)g
-(string)390 4337 y Fn(len)p Fx(:)39 b(the)27 b(maxim)m(um)f(length)h
-(of)g Fr(str)f Fx(to)h(use.)39 b(If)26 b Fr(len)g(<)g
-Fx(0,)i(then)e(the)h(string)g(is)f(terminated)h(with)390
-4447 y(a)k(0)g(c)m(haracter.)390 4584 y Fn(items)p 608
-4584 V 41 w(read)t Fx(:)40 b(lo)s(cation)32 b(to)f(store)g(n)m(um)m(b)s
-(er)e(of)h(c)m(haracters)i(read)f(read,)f(or)g Fr(NULL)p
-Fx(.)390 4720 y Fn(items)p 608 4720 V 41 w(written)p
-Fx(:)57 b(lo)s(cation)41 b(to)e(store)g(n)m(um)m(b)s(er)f(of)h(b)m
-(ytes)g(written)g(or)g Fr(NULL)p Fx(.)65 b(The)38 b(v)-5
+V 54 w(utf8)3350 3981 y Fv([F)-8 b(unction])-3599 b Fn(char)54
+b(*)e(stringprep_ucs4_to_utf)q(8)g Fm(\()p Fl(const)31
+b(uin)m(t32)p 2293 3981 28 4 v 41 w(t)f(*)h Fk(str)12
+b Fl(,)31 b(ssize)p 2876 3981 V 41 w(t)g Fk(len)12 b
+Fl(,)565 4091 y(size)p 712 4091 V 41 w(t)31 b(*)f Fk(items_read)12
+b Fl(,)34 b(size)p 1626 4091 V 40 w(t)d(*)g Fk(items_written)12
+b Fm(\))390 4201 y Fl(str)7 b Fv(:)40 b(a)31 b(UCS-4)f(enco)s(ded)g
+(string)390 4337 y Fl(len)p Fv(:)39 b(the)27 b(maxim)m(um)f(length)h
+(of)g Fp(str)f Fv(to)h(use.)39 b(If)26 b Fp(len)g(<)g
+Fv(0,)i(then)e(the)h(string)g(is)f(terminated)h(with)390
+4447 y(a)k(0)g(c)m(haracter.)390 4584 y Fl(items)p 608
+4584 V 41 w(read)t Fv(:)40 b(lo)s(cation)32 b(to)f(store)g(n)m(um)m(b)s
+(er)e(of)h(c)m(haracters)i(read)f(read,)f(or)g Fp(NULL)p
+Fv(.)390 4720 y Fl(items)p 608 4720 V 41 w(written)p
+Fv(:)57 b(lo)s(cation)41 b(to)e(store)g(n)m(um)m(b)s(er)f(of)h(b)m
+(ytes)g(written)g(or)g Fp(NULL)p Fv(.)65 b(The)38 b(v)-5
b(alue)39 b(here)390 4830 y(stored)30 b(do)s(es)h(not)f(include)g(the)h
(trailing)g(0)g(b)m(yte.)390 4966 y(Con)m(v)m(ert)h(a)g(string)f(from)g
(a)g(32-bit)i(\014xed)d(width)h(represen)m(tation)h(as)g(UCS-4.)43
b(to)32 b(UTF-8.)44 b(The)390 5076 y(result)30 b(will)h(b)s(e)f
-(terminated)h(with)f(a)g(0)h(b)m(yte.)390 5213 y Fl(Return)42
-b(v)-5 b(alue:)66 b Fx(a)43 b(p)s(oin)m(ter)f(to)i(a)f(newly)f(allo)s
+(terminated)h(with)f(a)g(0)h(b)m(yte.)390 5213 y Fj(Return)42
+b(v)-5 b(alue:)66 b Fv(a)43 b(p)s(oin)m(ter)f(to)i(a)f(newly)f(allo)s
(cated)i(UTF-8)g(string.)77 b(This)42 b(v)-5 b(alue)43
b(m)m(ust)g(b)s(e)390 5322 y(deallo)s(cated)32 b(b)m(y)f(the)f(caller.)
-42 b(If)30 b(an)g(error)g(o)s(ccurs,)h Fr(NULL)e Fx(will)i(b)s(e)e
-(returned)g(and)h Fr(error)f Fx(set.)p eop end
+42 b(If)30 b(an)g(error)g(o)s(ccurs,)h Fp(NULL)e Fv(will)i(b)s(e)e
+(returned.)p eop end
%%Page: 15 20
-TeXDict begin 15 19 bop 150 -116 a Fx(Chapter)30 b(3:)41
+TeXDict begin 15 19 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(Utilit)m(y)32 b(F)-8 b(unctions)2369 b(15)150 299 y
-Fq(stringprep)p 710 299 37 5 v 55 w(utf8)p 979 299 V
-55 w(to)p 1143 299 V 54 w(ucs4)3350 522 y Fx([F)-8 b(unction])-3599
-b Fp(uint32_t)55 b(*)d(stringprep_utf8_to_uc)q(s4)g Fo(\()p
-Fn(const)31 b(c)m(har)g(*)g Fm(str)12 b Fn(,)31 b(ssize)p
-2930 522 28 4 v 40 w(t)565 632 y Fm(len)12 b Fn(,)31
-b(size)p 936 632 V 41 w(t)g(*)f Fm(items_written)12 b
-Fo(\))390 741 y Fn(str)7 b Fx(:)40 b(a)31 b(UTF-8)g(enco)s(ded)f
-(string)390 902 y Fn(len)p Fx(:)40 b(the)28 b(maxim)m(um)g(length)h(of)
-f Fr(str)g Fx(to)g(use.)40 b(If)28 b Fr(len)f(<)h Fx(0,)h(then)f(the)h
-(string)f(is)g(n)m(ul-terminated.)390 1063 y Fn(items)p
-608 1063 V 41 w(written)p Fx(:)40 b(lo)s(cation)32 b(to)f(store)g(the)g
+Fo(stringprep)p 710 299 37 5 v 55 w(utf8)p 979 299 V
+55 w(to)p 1143 299 V 54 w(ucs4)3350 522 y Fv([F)-8 b(unction])-3599
+b Fn(uint32_t)55 b(*)d(stringprep_utf8_to_uc)q(s4)g Fm(\()p
+Fl(const)31 b(c)m(har)g(*)g Fk(str)12 b Fl(,)31 b(ssize)p
+2930 522 28 4 v 40 w(t)565 632 y Fk(len)12 b Fl(,)31
+b(size)p 936 632 V 41 w(t)g(*)f Fk(items_written)12 b
+Fm(\))390 741 y Fl(str)7 b Fv(:)40 b(a)31 b(UTF-8)g(enco)s(ded)f
+(string)390 902 y Fl(len)p Fv(:)40 b(the)28 b(maxim)m(um)g(length)h(of)
+f Fp(str)g Fv(to)g(use.)40 b(If)28 b Fp(len)f(<)h Fv(0,)h(then)f(the)h
+(string)f(is)g(n)m(ul-terminated.)390 1063 y Fl(items)p
+608 1063 V 41 w(written)p Fv(:)40 b(lo)s(cation)32 b(to)f(store)g(the)g
(n)m(um)m(b)s(er)e(of)i(c)m(haracters)g(in)g(the)f(result,)h(or)f
-Fr(NULL)p Fx(.)390 1224 y(Con)m(v)m(ert)d(a)f(string)g(from)f(UTF-8)i
+Fp(NULL)p Fv(.)390 1224 y(Con)m(v)m(ert)d(a)f(string)g(from)f(UTF-8)i
(to)g(a)f(32-bit)i(\014xed)d(width)g(represen)m(tation)i(as)f(UCS-4,)h
(assum-)390 1333 y(ing)k(v)-5 b(alid)30 b(UTF-8)h(input.)40
b(This)30 b(function)g(do)s(es)g(no)g(error)g(c)m(hec)m(king)i(on)f
-(the)f(input.)390 1494 y Fl(Return)43 b(v)-5 b(alue:)66
-b Fx(a)44 b(p)s(oin)m(ter)f(to)h(a)f(newly)g(allo)s(cated)i(UCS-4)f
+(the)f(input.)390 1494 y Fj(Return)43 b(v)-5 b(alue:)66
+b Fv(a)44 b(p)s(oin)m(ter)f(to)h(a)f(newly)g(allo)s(cated)i(UCS-4)f
(string.)79 b(This)42 b(v)-5 b(alue)44 b(m)m(ust)f(b)s(e)390
1604 y(deallo)s(cated)32 b(b)m(y)f(the)f(caller.)150
-1876 y Fw(3.3)68 b(Unico)t(de)45 b(Normalization)150
-2100 y Fq(stringprep)p 710 2100 37 5 v 55 w(ucs4)p 997
+1876 y Fu(3.3)68 b(Unico)t(de)45 b(Normalization)150
+2100 y Fo(stringprep)p 710 2100 37 5 v 55 w(ucs4)p 997
2100 V 55 w(nfk)m(c)p 1274 2100 V 53 w(normalize)3350
-2323 y Fx([F)-8 b(unction])-3599 b Fp(uint32_t)55 b(*)d
-(stringprep_ucs4_nfkc_)q(nor)q(mal)q(ize)g Fo(\()p Fn(uin)m(t32)p
-2630 2323 28 4 v 41 w(t)31 b(*)g Fm(str)12 b Fn(,)565
-2433 y(ssize)p 748 2433 V 41 w(t)31 b Fm(len)12 b Fo(\))390
-2542 y Fn(str)7 b Fx(:)40 b(a)31 b(Unico)s(de)f(string.)390
-2703 y Fn(len)p Fx(:)41 b(length)31 b(of)f Fr(str)g Fx(arra)m(y)-8
-b(,)31 b(or)g(-1)g(if)f Fr(str)f Fx(is)i(n)m(ul-terminated.)390
+2323 y Fv([F)-8 b(unction])-3599 b Fn(uint32_t)55 b(*)d
+(stringprep_ucs4_nfkc_)q(nor)q(mal)q(ize)g Fm(\()p Fl(uin)m(t32)p
+2630 2323 28 4 v 41 w(t)31 b(*)g Fk(str)12 b Fl(,)565
+2433 y(ssize)p 748 2433 V 41 w(t)31 b Fk(len)12 b Fm(\))390
+2542 y Fl(str)7 b Fv(:)40 b(a)31 b(Unico)s(de)f(string.)390
+2703 y Fl(len)p Fv(:)41 b(length)31 b(of)f Fp(str)g Fv(arra)m(y)-8
+b(,)31 b(or)g(-1)g(if)f Fp(str)f Fv(is)i(n)m(ul-terminated.)390
2864 y(Con)m(v)m(erts)g(UCS4)f(string)h(in)m(to)g(UTF-8)g(and)f(runs)f
-Fr(stringprep_utf8_nfkc_no)o(rmal)o(ize)o(\(\))p Fx(.)390
-3025 y Fl(Return)j(v)-5 b(alue:)45 b Fx(a)33 b(newly)f(allo)s(cated)i
+Fp(stringprep_utf8_nfkc_no)o(rmal)o(ize)o(\(\))p Fv(.)390
+3025 y Fj(Return)j(v)-5 b(alue:)45 b Fv(a)33 b(newly)f(allo)s(cated)i
(Unico)s(de)f(string,)g(that)g(is)f(the)h(NFK)m(C)g(normalized)f(form)
-390 3134 y(of)f Fr(str)p Fx(.)150 3360 y Fq(stringprep)p
+390 3134 y(of)f Fp(str)p Fv(.)150 3360 y Fo(stringprep)p
710 3360 37 5 v 55 w(utf8)p 979 3360 V 55 w(nfk)m(c)p
-1256 3360 V 54 w(normalize)3350 3583 y Fx([F)-8 b(unction])-3599
-b Fp(char)54 b(*)e(stringprep_utf8_nfkc_n)q(orm)q(ali)q(ze)g
-Fo(\()p Fn(const)31 b(c)m(har)g(*)f Fm(str)12 b Fn(,)31
-b(ssize)p 3086 3583 28 4 v 41 w(t)565 3693 y Fm(len)12
-b Fo(\))390 3802 y Fn(str)7 b Fx(:)40 b(a)31 b(UTF-8)g(enco)s(ded)f
-(string.)390 3963 y Fn(len)p Fx(:)41 b(length)31 b(of)f
-Fr(str)p Fx(,)g(in)g(b)m(ytes,)h(or)f(-1)h(if)g Fr(str)e
-Fx(is)i(n)m(ul-terminated.)390 4124 y(Con)m(v)m(erts)22
+1256 3360 V 54 w(normalize)3350 3583 y Fv([F)-8 b(unction])-3599
+b Fn(char)54 b(*)e(stringprep_utf8_nfkc_n)q(orm)q(ali)q(ze)g
+Fm(\()p Fl(const)31 b(c)m(har)g(*)f Fk(str)12 b Fl(,)31
+b(ssize)p 3086 3583 28 4 v 41 w(t)565 3693 y Fk(len)12
+b Fm(\))390 3802 y Fl(str)7 b Fv(:)40 b(a)31 b(UTF-8)g(enco)s(ded)f
+(string.)390 3963 y Fl(len)p Fv(:)41 b(length)31 b(of)f
+Fp(str)p Fv(,)g(in)g(b)m(ytes,)h(or)f(-1)h(if)g Fp(str)e
+Fv(is)i(n)m(ul-terminated.)390 4124 y(Con)m(v)m(erts)22
b(a)g(string)f(in)m(to)h(canonical)h(form,)g(standardizing)e(suc)m(h)g
(issues)g(as)g(whether)g(a)g(c)m(haracter)390 4233 y(with)28
b(an)g(accen)m(t)j(is)d(represen)m(ted)g(as)h(a)f(base)h(c)m(haracter)h
(standardizes)g(di\013erences)g(that)390 4614 y(do)38
b(not)h(a\013ect)h(the)e(text)i(con)m(ten)m(t,)i(suc)m(h)d(as)f(the)h
(ab)s(o)m(v)m(e-men)m(tioned)h(accen)m(t)h(represen)m(tation.)390
-4723 y(It)35 b(standardizes)h(the)f Fr(")p Fx(compatibilit)m(y)p
-Fr(")i Fx(c)m(haracters)g(in)e(Unico)s(de,)i(suc)m(h)e(as)g
+4723 y(It)35 b(standardizes)h(the)f Fp(")p Fv(compatibilit)m(y)p
+Fp(")i Fv(c)m(haracters)g(in)e(Unico)s(de,)i(suc)m(h)e(as)g
(SUPERSCRIPT)390 4833 y(THREE)24 b(to)i(the)f(standard)f(forms)g(\(in)h
(this)g(case)h(DIGIT)f(THREE\).)g(F)-8 b(ormatting)27
b(information)390 4942 y(ma)m(y)38 b(b)s(e)e(lost)i(but)e(for)g(most)i
(text)g(op)s(erations)f(suc)m(h)f(c)m(haracters)j(should)d(b)s(e)g
(considered)h(the)390 5052 y(same.)k(It)30 b(returns)f(a)i(result)f
(with)f(comp)s(osed)h(forms)g(rather)g(than)g(a)g(maximally)h(decomp)s
-(osed)390 5161 y(form.)390 5322 y Fl(Return)f(v)-5 b(alue:)41
-b Fx(a)31 b(newly)f(allo)s(cated)i(string,)f(that)g(is)f(the)h(NFK)m(C)
-g(normalized)f(form)g(of)h Fr(str)p Fx(.)p eop end
+(osed)390 5161 y(form.)390 5322 y Fj(Return)f(v)-5 b(alue:)41
+b Fv(a)31 b(newly)f(allo)s(cated)i(string,)f(that)g(is)f(the)h(NFK)m(C)
+g(normalized)f(form)g(of)h Fp(str)p Fv(.)p eop end
%%Page: 16 21
-TeXDict begin 16 20 bop 150 -116 a Fx(Chapter)30 b(3:)41
+TeXDict begin 16 20 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(Utilit)m(y)32 b(F)-8 b(unctions)2369 b(16)150 299 y
-Fw(3.4)68 b(Character)46 b(Set)f(Con)l(v)l(ersion)150
-521 y Fq(stringprep)p 710 521 37 5 v 55 w(lo)s(cale)p
-1068 521 V 55 w(c)m(harset)3350 715 y Fx([F)-8 b(unction])-3599
-b Fp(const)54 b(char)f(*)g(stringprep_locale_char)q(set)f
-Fo(\()31 b Fm(void)12 b Fo(\))390 824 y Fx(Find)37 b(out)g(curren)m(t)h
+Fu(3.4)68 b(Character)46 b(Set)f(Con)l(v)l(ersion)150
+521 y Fo(stringprep)p 710 521 37 5 v 55 w(lo)s(cale)p
+1068 521 V 55 w(c)m(harset)3350 715 y Fv([F)-8 b(unction])-3599
+b Fn(const)54 b(char)f(*)g(stringprep_locale_char)q(set)f
+Fm(\()31 b Fk(void)12 b Fm(\))390 824 y Fv(Find)37 b(out)g(curren)m(t)h
(lo)s(cale)h(c)m(harset.)62 b(The)37 b(function)g(resp)s(ect)h(the)f
(CHARSET)f(en)m(vironmen)m(t)390 934 y(v)-5 b(ariable,)29
b(but)d(t)m(ypically)j(uses)e(nl)p 1557 934 28 4 v 40
w(langinfo\(CODESET\))g(when)f(it)i(is)f(supp)s(orted.)38
-b(It)27 b(fall)h(bac)m(k)390 1044 y(on)23 b Fr(")p Fx(ASCI)s(I)p
-Fr(")f Fx(if)h(CHARSET)g(isn't)h(set)g(and)f(nl)p 2011
+b(It)27 b(fall)h(bac)m(k)390 1044 y(on)23 b Fp(")p Fv(ASCI)s(I)p
+Fp(")f Fv(if)h(CHARSET)g(isn't)h(set)g(and)f(nl)p 2011
1044 V 40 w(langinfo)h(isn't)f(supp)s(orted)f(or)i(return)e(an)m
(ything.)390 1176 y(Note)28 b(that)g(this)f(function)g(return)f(the)h
(application's)i(lo)s(cale's)g(preferred)d(c)m(harset)i(\(or)f
b(from)e(the)h(external)h(represen)m(tation)f(in)m(to)h(the)f(c)m
(harset)g(returned)f(b)m(y)g(this)390 1724 y(function,)i(to)h(ha)m(v)m
(e)h(data)f(in)f(the)h(lo)s(cale)h(enco)s(ding.)390 1857
-y Fl(Return)23 b(v)-5 b(alue:)37 b Fx(Return)23 b(the)g(c)m(haracter)i
+y Fj(Return)23 b(v)-5 b(alue:)37 b Fv(Return)23 b(the)g(c)m(haracter)i
(set)f(used)f(b)m(y)g(the)g(curren)m(t)g(lo)s(cale.)40
b(It)24 b(will)f(nev)m(er)h(return)390 1967 y(NULL,)31
-b(but)e(use)h Fr(")p Fx(ASCI)s(I)p Fr(")f Fx(as)h(a)h(fallbac)m(k.)150
-2163 y Fq(stringprep)p 710 2163 37 5 v 55 w(con)m(v)m(ert)3350
-2356 y Fx([F)-8 b(unction])-3599 b Fp(char)54 b(*)e(stringprep_convert)
-f Fo(\()p Fn(const)31 b(c)m(har)g(*)g Fm(str)12 b Fn(,)31
-b(const)g(c)m(har)f(*)565 2466 y Fm(to_codeset)12 b Fn(,)33
-b(const)e(c)m(har)g(*)g Fm(from_codeset)12 b Fo(\))390
-2575 y Fn(str)7 b Fx(:)40 b(input)29 b(zero-terminated)j(string.)390
-2708 y Fn(to)p 476 2708 28 4 v 41 w(co)s(deset)r Fx(:)41
+b(but)e(use)h Fp(")p Fv(ASCI)s(I)p Fp(")f Fv(as)h(a)h(fallbac)m(k.)150
+2163 y Fo(stringprep)p 710 2163 37 5 v 55 w(con)m(v)m(ert)3350
+2356 y Fv([F)-8 b(unction])-3599 b Fn(char)54 b(*)e(stringprep_convert)
+f Fm(\()p Fl(const)31 b(c)m(har)g(*)g Fk(str)12 b Fl(,)31
+b(const)g(c)m(har)f(*)565 2466 y Fk(to_codeset)12 b Fl(,)33
+b(const)e(c)m(har)g(*)g Fk(from_codeset)12 b Fm(\))390
+2575 y Fl(str)7 b Fv(:)40 b(input)29 b(zero-terminated)j(string.)390
+2708 y Fl(to)p 476 2708 28 4 v 41 w(co)s(deset)r Fv(:)41
b(name)31 b(of)f(destination)i(c)m(haracter)f(set.)390
-2841 y Fn(from)p 581 2841 V 40 w(co)s(deset)r Fx(:)41
+2841 y Fl(from)p 581 2841 V 40 w(co)s(deset)r Fv(:)41
b(name)31 b(of)f(origin)h(c)m(haracter)h(set,)f(as)g(used)e(b)m(y)i
-Fr(str)p Fx(.)390 2974 y(Con)m(v)m(ert)43 b(the)g(string)f(from)g(one)g
+Fp(str)p Fv(.)390 2974 y(Con)m(v)m(ert)43 b(the)g(string)f(from)g(one)g
(c)m(haracter)i(set)f(to)g(another)f(using)g(the)g(system's)h
-Fr(iconv\(\))390 3083 y Fx(function.)390 3216 y Fl(Return)20
-b(v)-5 b(alue:)36 b Fx(Returns)20 b(newly)g(allo)s(cated)j
-(zero-terminated)f(string)f(whic)m(h)f(is)h Fr(str)e
-Fx(transco)s(ded)390 3326 y(in)m(to)31 b(to)p 660 3326
-V 41 w(co)s(deset.)150 3522 y Fq(stringprep)p 710 3522
+Fp(iconv\(\))390 3083 y Fv(function.)390 3216 y Fj(Return)20
+b(v)-5 b(alue:)36 b Fv(Returns)20 b(newly)g(allo)s(cated)j
+(zero-terminated)f(string)f(whic)m(h)f(is)h Fp(str)e
+Fv(transco)s(ded)390 3326 y(in)m(to)31 b(to)p 660 3326
+V 41 w(co)s(deset.)150 3522 y Fo(stringprep)p 710 3522
37 5 v 55 w(lo)s(cale)p 1068 3522 V 55 w(to)p 1232 3522
-V 54 w(utf8)3350 3715 y Fx([F)-8 b(unction])-3599 b Fp(char)54
-b(*)e(stringprep_locale_to_u)q(tf8)g Fo(\()p Fn(const)31
-b(c)m(har)g(*)g Fm(str)12 b Fo(\))390 3825 y Fn(str)7
-b Fx(:)40 b(input)29 b(zero)j(terminated)e(string.)390
+V 54 w(utf8)3350 3715 y Fv([F)-8 b(unction])-3599 b Fn(char)54
+b(*)e(stringprep_locale_to_u)q(tf8)g Fm(\()p Fl(const)31
+b(c)m(har)g(*)g Fk(str)12 b Fm(\))390 3825 y Fl(str)7
+b Fv(:)40 b(input)29 b(zero)j(terminated)e(string.)390
3958 y(Con)m(v)m(ert)24 b(string)f(enco)s(ded)g(in)g(the)g(lo)s(cale's)
i(c)m(haracter)g(set)f(in)m(to)g(UTF-8)g(b)m(y)f(using)g
-Fr(stringprep_)390 4067 y(convert\(\))p Fx(.)390 4200
-y Fl(Return)d(v)-5 b(alue:)36 b Fx(Returns)20 b(newly)g(allo)s(cated)j
-(zero-terminated)f(string)f(whic)m(h)f(is)h Fr(str)e
-Fx(transco)s(ded)390 4310 y(in)m(to)31 b(UTF-8.)150 4506
-y Fq(stringprep)p 710 4506 V 55 w(utf8)p 979 4506 V 55
-w(to)p 1143 4506 V 54 w(lo)s(cale)3350 4699 y Fx([F)-8
-b(unction])-3599 b Fp(char)54 b(*)e(stringprep_utf8_to_loc)q(ale)g
-Fo(\()p Fn(const)31 b(c)m(har)g(*)g Fm(str)12 b Fo(\))390
-4809 y Fn(str)7 b Fx(:)40 b(input)29 b(zero)j(terminated)e(string.)390
+Fp(stringprep_)390 4067 y(convert\(\))p Fv(.)390 4200
+y Fj(Return)d(v)-5 b(alue:)36 b Fv(Returns)20 b(newly)g(allo)s(cated)j
+(zero-terminated)f(string)f(whic)m(h)f(is)h Fp(str)e
+Fv(transco)s(ded)390 4310 y(in)m(to)31 b(UTF-8.)150 4506
+y Fo(stringprep)p 710 4506 V 55 w(utf8)p 979 4506 V 55
+w(to)p 1143 4506 V 54 w(lo)s(cale)3350 4699 y Fv([F)-8
+b(unction])-3599 b Fn(char)54 b(*)e(stringprep_utf8_to_loc)q(ale)g
+Fm(\()p Fl(const)31 b(c)m(har)g(*)g Fk(str)12 b Fm(\))390
+4809 y Fl(str)7 b Fv(:)40 b(input)29 b(zero)j(terminated)e(string.)390
4941 y(Con)m(v)m(ert)24 b(string)f(enco)s(ded)g(in)g(UTF-8)h(in)m(to)g
(the)g(lo)s(cale's)h(c)m(haracter)f(set)g(b)m(y)f(using)g
-Fr(stringprep_)390 5051 y(convert\(\))p Fx(.)390 5184
-y Fl(Return)d(v)-5 b(alue:)36 b Fx(Returns)20 b(newly)g(allo)s(cated)j
-(zero-terminated)f(string)f(whic)m(h)f(is)h Fr(str)e
-Fx(transco)s(ded)390 5293 y(in)m(to)31 b(the)g(lo)s(cale's)h(c)m
+Fp(stringprep_)390 5051 y(convert\(\))p Fv(.)390 5184
+y Fj(Return)d(v)-5 b(alue:)36 b Fv(Returns)20 b(newly)g(allo)s(cated)j
+(zero-terminated)f(string)f(whic)m(h)f(is)h Fp(str)e
+Fv(transco)s(ded)390 5293 y(in)m(to)31 b(the)g(lo)s(cale's)h(c)m
(haracter)g(set.)p eop end
%%Page: 17 22
-TeXDict begin 17 21 bop 150 -116 a Fx(Chapter)30 b(4:)41
+TeXDict begin 17 21 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(Stringprep)29 b(F)-8 b(unctions)2209 b(17)150 299 y
-Fu(4)80 b(Stringprep)52 b(F)-13 b(unctions)150 537 y
-Fx(Stringprep)23 b(describ)s(es)i(a)g(framew)m(ork)g(for)f(preparing)g
+Fs(4)80 b(Stringprep)52 b(F)-13 b(unctions)150 537 y
+Fv(Stringprep)23 b(describ)s(es)i(a)g(framew)m(ork)g(for)f(preparing)g
(Unico)s(de)h(text)h(strings)f(in)f(order)h(to)g(increase)h(the)150
646 y(lik)m(eliho)s(o)s(d)i(that)f(string)g(input)e(and)i(string)f
(comparison)h(w)m(ork)g(in)f(w)m(a)m(ys)i(that)f(mak)m(e)h(sense)f(for)
b(The)28 b(stringprep)g(proto)s(col)i(is)e(useful)g(for)h(proto)s(col)g
(iden)m(ti\014er)g(v)-5 b(alues,)150 865 y(compan)m(y)31
b(and)f(p)s(ersonal)f(names,)i(in)m(ternationalized)i(domain)d(names,)g
-(and)g(other)h(text)g(strings.)150 1100 y Fw(4.1)68 b(Header)46
-b(\014le)f Fj(stringprep.h)150 1259 y Fx(T)-8 b(o)30
+(and)g(other)h(text)g(strings.)150 1100 y Fu(4.1)68 b(Header)46
+b(\014le)f Fi(stringprep.h)150 1259 y Fv(T)-8 b(o)30
b(use)f(the)g(functions)g(explained)h(in)f(this)g(c)m(hapter,)h(y)m(ou)
-g(need)f(to)h(include)f(the)g(\014le)h(`)p Fr(stringprep.h)p
-Fx(')150 1369 y(using:)390 1504 y Fr(#include)46 b(<stringprep.h>)150
-1739 y Fw(4.2)68 b(De\014ning)45 b(A)g(Stringprep)f(Pro\014le)150
-1898 y Fx(F)-8 b(urther)38 b(t)m(yp)s(es)h(and)g(structures)f(are)h
+g(need)f(to)h(include)f(the)g(\014le)h(`)p Fp(stringprep.h)p
+Fv(')150 1369 y(using:)390 1504 y Fp(#include)46 b(<stringprep.h>)150
+1739 y Fu(4.2)68 b(De\014ning)45 b(A)g(Stringprep)f(Pro\014le)150
+1898 y Fv(F)-8 b(urther)38 b(t)m(yp)s(es)h(and)g(structures)f(are)h
(de\014ned)e(for)i(applications)h(that)f(w)m(an)m(t)h(to)g(sp)s(ecify)e
(their)h(o)m(wn)150 2008 y(stringprep)e(pro\014le.)63
b(As)38 b(these)g(are)h(fairly)f(obscure,)i(and)d(b)m(y)h(necessit)m(y)
h(tied)g(to)f(the)h(implemen)m(ta-)150 2117 y(tion,)f(w)m(e)e(do)g(not)
g(do)s(cumen)m(t)g(them)g(here.)57 b(Lo)s(ok)36 b(in)m(to)h(the)f(`)p
-Fr(stringprep.h)p Fx(')d(header)j(\014le,)h(and)f(the)150
-2227 y(`)p Fr(profiles.c)p Fx(')28 b(source)j(co)s(de)f(for)g(the)h
-(details.)150 2461 y Fw(4.3)68 b(Con)l(trol)46 b(Flags)3072
-2671 y Fx([Stringprep)29 b(\015ags])-3599 b Fp(Stringprep_profile_fla)q
-(gs)59 b(STRINGPREP_NO_NFKC)390 2781 y Fx(Disable)42
+Fp(stringprep.h)p Fv(')d(header)j(\014le,)h(and)f(the)150
+2227 y(`)p Fp(profiles.c)p Fv(')28 b(source)j(co)s(de)f(for)g(the)h
+(details.)150 2461 y Fu(4.3)68 b(Con)l(trol)46 b(Flags)3072
+2671 y Fv([Stringprep)29 b(\015ags])-3599 b Fn(Stringprep_profile_fla)q
+(gs)59 b(STRINGPREP_NO_NFKC)390 2781 y Fv(Disable)42
b(the)g(NFK)m(C)g(normalization,)k(as)41 b(w)m(ell)i(as)e(selecting)i
(the)f(non-NFK)m(C)f(case)i(folding)390 2891 y(tables.)d(Usually)25
b(the)h(pro\014le)f(sp)s(eci\014es)g(BIDI)g(and)g(NFK)m(C)g(settings,)j
(and)d(applications)h(should)390 3000 y(not)31 b(o)m(v)m(erride)g(it)g
(unless)f(in)g(sp)s(ecial)h(situations.)3072 3187 y([Stringprep)e
-(\015ags])-3599 b Fp(Stringprep_profile_fla)q(gs)59 b
-(STRINGPREP_NO_BIDI)390 3297 y Fx(Disable)39 b(the)f(BIDI)g(step.)62
+(\015ags])-3599 b Fn(Stringprep_profile_fla)q(gs)59 b
+(STRINGPREP_NO_BIDI)390 3297 y Fv(Disable)39 b(the)f(BIDI)g(step.)62
b(Usually)38 b(the)g(pro\014le)f(sp)s(eci\014es)h(BIDI)g(and)f(NFK)m(C)
h(settings,)j(and)390 3406 y(applications)32 b(should)d(not)i(o)m(v)m
(erride)g(it)g(unless)f(in)g(sp)s(ecial)h(situations.)3072
-3593 y([Stringprep)e(\015ags])-3599 b Fp(Stringprep_profile_fla)q(gs)59
-b(STRINGPREP_NO_UNASSIGNE)q(D)390 3702 y Fx(Mak)m(e)28
+3593 y([Stringprep)e(\015ags])-3599 b Fn(Stringprep_profile_fla)q(gs)59
+b(STRINGPREP_NO_UNASSIGNE)q(D)390 3702 y Fv(Mak)m(e)28
b(the)e(library)g(return)e(with)i(an)g(error)g(if)g(string)g(con)m
(tains)h(unassigned)e(c)m(haracters)j(accord-)390 3812
-y(ing)j(to)g(pro\014le.)150 4046 y Fw(4.4)68 b(Core)46
-b(F)-11 b(unctions)150 4270 y Fq(stringprep)p 710 4270
-37 5 v 55 w(4i)3350 4468 y Fx([F)j(unction])-3599 b Fp(int)53
-b(stringprep_4i)d Fo(\()p Fn(uin)m(t32)p 1375 4468 28
-4 v 41 w(t)31 b(*)f Fm(ucs4)12 b Fn(,)32 b(size)p 1975
-4468 V 41 w(t)e(*)h Fm(len)12 b Fn(,)31 b(size)p 2522
-4468 V 41 w(t)g Fm(maxucs4len)12 b Fn(,)565 4578 y(Stringprep)p
+y(ing)j(to)g(pro\014le.)150 4046 y Fu(4.4)68 b(Core)46
+b(F)-11 b(unctions)150 4270 y Fo(stringprep)p 710 4270
+37 5 v 55 w(4i)3350 4468 y Fv([F)j(unction])-3599 b Fn(int)53
+b(stringprep_4i)d Fm(\()p Fl(uin)m(t32)p 1375 4468 28
+4 v 41 w(t)31 b(*)f Fk(ucs4)12 b Fl(,)32 b(size)p 1975
+4468 V 41 w(t)e(*)h Fk(len)12 b Fl(,)31 b(size)p 2522
+4468 V 41 w(t)g Fk(maxucs4len)12 b Fl(,)565 4578 y(Stringprep)p
992 4578 V 39 w(pro\014le)p 1279 4578 V 40 w(\015ags)30
-b Fm(flags)12 b Fn(,)32 b(const)f(Stringprep)p 2514 4578
-V 38 w(pro\014le)f(*)h Fm(profile)12 b Fo(\))390 4688
-y Fn(ucs4)7 b Fx(:)41 b(input/output)30 b(arra)m(y)h(with)f(string)g
-(to)h(prepare.)390 4823 y Fn(len)p Fx(:)63 b(on)41 b(input,)i(length)f
+b Fk(flags)12 b Fl(,)32 b(const)f(Stringprep)p 2514 4578
+V 38 w(pro\014le)f(*)h Fk(profile)12 b Fm(\))390 4688
+y Fl(ucs4)7 b Fv(:)41 b(input/output)30 b(arra)m(y)h(with)f(string)g
+(to)h(prepare.)390 4823 y Fl(len)p Fv(:)63 b(on)41 b(input,)i(length)f
(of)f(input)g(arra)m(y)h(with)f(Unico)s(de)g(co)s(de)h(p)s(oin)m(ts,)i
(on)d(exit,)k(length)d(of)390 4933 y(output)30 b(arra)m(y)h(with)f
-(Unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)390 5069 y Fn(maxucs4len)p
-Fx(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e(arra)m(y)-8
-b(.)390 5204 y Fn(\015ags)t Fx(:)41 b(a)30 b Fr
-(Stringprep_profile_flags)24 b Fx(v)-5 b(alue,)31 b(or)g(0.)390
-5340 y Fn(pro\014le)5 b Fx(:)40 b(p)s(oin)m(ter)31 b(to)g
-Fr(Stringprep_profile)25 b Fx(to)31 b(use.)p eop end
+(Unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)390 5069 y Fl(maxucs4len)p
+Fv(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e(arra)m(y)-8
+b(.)390 5204 y Fl(\015ags)t Fv(:)41 b(a)30 b Fp
+(Stringprep_profile_flags)24 b Fv(v)-5 b(alue,)31 b(or)g(0.)390
+5340 y Fl(pro\014le)5 b Fv(:)40 b(p)s(oin)m(ter)31 b(to)g
+Fp(Stringprep_profile)25 b Fv(to)31 b(use.)p eop end
%%Page: 18 23
-TeXDict begin 18 22 bop 150 -116 a Fx(Chapter)30 b(4:)41
+TeXDict begin 18 22 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(Stringprep)29 b(F)-8 b(unctions)2209 b(18)390 299 y(Prepare)35
b(the)h(input)f(UCS-4)h(string)g(according)g(to)h(the)f(stringprep)e
(pro\014le,)j(and)e(write)h(bac)m(k)390 408 y(the)31
b(result)f(to)h(the)g(input)e(string.)390 548 y(The)36
b(input)g(is)h(not)h(required)e(to)h(b)s(e)g(zero)h(terminated)f(\()p
-Fr(ucs4)p Fx([)p Fr(len)p Fx(])f(=)g(0\).)62 b(The)36
+Fp(ucs4)p Fv([)p Fp(len)p Fv(])f(=)g(0\).)62 b(The)36
b(output)h(will)390 657 y(not)28 b(b)s(e)g(zero)h(terminated)f(unless)g
-Fr(ucs4)p Fx([)p Fr(len)p Fx(])e(=)i(0.)40 b(Instead,)29
-b(see)f Fr(stringprep_4zi\(\))c Fx(if)k(y)m(our)390 767
+Fp(ucs4)p Fv([)p Fp(len)p Fv(])e(=)i(0.)40 b(Instead,)29
+b(see)f Fp(stringprep_4zi\(\))c Fv(if)k(y)m(our)390 767
y(input)h(is)i(zero)g(terminated)g(or)f(if)h(y)m(ou)f(w)m(an)m(t)i(the)
e(output)g(to)h(b)s(e.)390 906 y(Since)c(the)h(stringprep)f(op)s
-(eration)h(can)f(expand)g(the)h(string,)g Fr(maxucs4len)d
-Fx(indicate)j(ho)m(w)g(large)390 1016 y(the)35 b(bu\013er)e(holding)i
+(eration)h(can)f(expand)g(the)h(string,)g Fp(maxucs4len)d
+Fv(indicate)j(ho)m(w)g(large)390 1016 y(the)35 b(bu\013er)e(holding)i
(the)g(string)f(is.)53 b(This)34 b(function)g(will)h(not)g(read)g(or)f
(write)h(to)g(co)s(de)g(p)s(oin)m(ts)390 1125 y(outside)c(that)g(size.)
-390 1265 y(The)f Fr(flags)f Fx(are)i(one)f(of)h Fr
-(Stringprep_profile_flag)o(s)25 b Fx(v)-5 b(alues,)30
-b(or)h(0.)390 1404 y(The)f Fr(profile)f Fx(con)m(tain)k(the)e
-Fr(Stringprep_profile)26 b Fx(instructions)k(to)i(p)s(erform.)41
+390 1265 y(The)f Fp(flags)f Fv(are)i(one)f(of)h Fp
+(Stringprep_profile_flag)o(s)25 b Fv(v)-5 b(alues,)30
+b(or)h(0.)390 1404 y(The)f Fp(profile)f Fv(con)m(tain)k(the)e
+Fp(Stringprep_profile)26 b Fv(instructions)k(to)i(p)s(erform.)41
b(Y)-8 b(our)31 b(appli-)390 1513 y(cation)41 b(can)g(de\014ne)e(new)g
(pro\014les,)k(p)s(ossibly)c(re-using)g(the)i(generic)g(stringprep)e
(tables)h(that)390 1623 y(alw)m(a)m(ys)32 b(will)f(b)s(e)e(part)i(of)f
(the)h(library)-8 b(,)30 b(or)h(use)f(one)g(of)h(the)g(curren)m(tly)f
-(supp)s(orted)e(pro\014les.)390 1762 y Fl(Return)21 b(v)-5
-b(alue:)36 b Fx(Returns)20 b Fr(STRINGPREP_OK)e Fx(i\013)j(successful,)
-i(or)e(an)f Fr(Stringprep_rc)e Fx(error)i(co)s(de.)150
-1966 y Fq(stringprep)p 710 1966 37 5 v 55 w(4zi)3350
-2168 y Fx([F)-8 b(unction])-3599 b Fp(int)53 b(stringprep_4zi)d
-Fo(\()p Fn(uin)m(t32)p 1427 2168 28 4 v 41 w(t)31 b(*)g
-Fm(ucs4)12 b Fn(,)31 b(size)p 2027 2168 V 41 w(t)g Fm(maxucs4len)12
-b Fn(,)565 2277 y(Stringprep)p 992 2277 V 39 w(pro\014le)p
-1279 2277 V 40 w(\015ags)30 b Fm(flags)12 b Fn(,)32 b(const)f
-(Stringprep)p 2514 2277 V 38 w(pro\014le)f(*)h Fm(profile)12
-b Fo(\))390 2387 y Fn(ucs4)7 b Fx(:)41 b(input/output)30
+(supp)s(orted)e(pro\014les.)390 1762 y Fj(Return)21 b(v)-5
+b(alue:)36 b Fv(Returns)20 b Fp(STRINGPREP_OK)e Fv(i\013)j(successful,)
+i(or)e(an)f Fp(Stringprep_rc)e Fv(error)i(co)s(de.)150
+1966 y Fo(stringprep)p 710 1966 37 5 v 55 w(4zi)3350
+2168 y Fv([F)-8 b(unction])-3599 b Fn(int)53 b(stringprep_4zi)d
+Fm(\()p Fl(uin)m(t32)p 1427 2168 28 4 v 41 w(t)31 b(*)g
+Fk(ucs4)12 b Fl(,)31 b(size)p 2027 2168 V 41 w(t)g Fk(maxucs4len)12
+b Fl(,)565 2277 y(Stringprep)p 992 2277 V 39 w(pro\014le)p
+1279 2277 V 40 w(\015ags)30 b Fk(flags)12 b Fl(,)32 b(const)f
+(Stringprep)p 2514 2277 V 38 w(pro\014le)f(*)h Fk(profile)12
+b Fm(\))390 2387 y Fl(ucs4)7 b Fv(:)41 b(input/output)30
b(arra)m(y)h(with)f(zero)h(terminated)g(string)f(to)h(prepare.)390
-2526 y Fn(maxucs4len)p Fx(:)41 b(maxim)m(um)30 b(length)h(of)g
-(input/output)e(arra)m(y)-8 b(.)390 2665 y Fn(\015ags)t
-Fx(:)41 b(a)30 b Fr(Stringprep_profile_flags)24 b Fx(v)-5
-b(alue,)31 b(or)g(0.)390 2805 y Fn(pro\014le)5 b Fx(:)40
-b(p)s(oin)m(ter)31 b(to)g Fr(Stringprep_profile)25 b
-Fx(to)31 b(use.)390 2944 y(Prepare)i(the)g(input)f(zero)i(terminated)g
+2526 y Fl(maxucs4len)p Fv(:)41 b(maxim)m(um)30 b(length)h(of)g
+(input/output)e(arra)m(y)-8 b(.)390 2665 y Fl(\015ags)t
+Fv(:)41 b(a)30 b Fp(Stringprep_profile_flags)24 b Fv(v)-5
+b(alue,)31 b(or)g(0.)390 2805 y Fl(pro\014le)5 b Fv(:)40
+b(p)s(oin)m(ter)31 b(to)g Fp(Stringprep_profile)25 b
+Fv(to)31 b(use.)390 2944 y(Prepare)i(the)g(input)f(zero)i(terminated)g
(UCS-4)f(string)g(according)h(to)g(the)f(stringprep)f(pro\014le,)390
3053 y(and)e(write)g(bac)m(k)h(the)g(result)f(to)h(the)g(input)e
(string.)390 3193 y(Since)e(the)h(stringprep)f(op)s(eration)h(can)f
-(expand)g(the)h(string,)g Fr(maxucs4len)d Fx(indicate)j(ho)m(w)g(large)
+(expand)g(the)h(string,)g Fp(maxucs4len)d Fv(indicate)j(ho)m(w)g(large)
390 3302 y(the)35 b(bu\013er)e(holding)i(the)g(string)f(is.)53
b(This)34 b(function)g(will)h(not)g(read)g(or)f(write)h(to)g(co)s(de)g
(p)s(oin)m(ts)390 3412 y(outside)c(that)g(size.)390 3551
-y(The)f Fr(flags)f Fx(are)i(one)f(of)h Fr(Stringprep_profile_flag)o(s)
-25 b Fx(v)-5 b(alues,)30 b(or)h(0.)390 3690 y(The)f Fr(profile)f
-Fx(con)m(tain)k(the)e Fr(Stringprep_profile)26 b Fx(instructions)k(to)i
+y(The)f Fp(flags)f Fv(are)i(one)f(of)h Fp(Stringprep_profile_flag)o(s)
+25 b Fv(v)-5 b(alues,)30 b(or)h(0.)390 3690 y(The)f Fp(profile)f
+Fv(con)m(tain)k(the)e Fp(Stringprep_profile)26 b Fv(instructions)k(to)i
(p)s(erform.)41 b(Y)-8 b(our)31 b(appli-)390 3800 y(cation)41
b(can)g(de\014ne)e(new)g(pro\014les,)k(p)s(ossibly)c(re-using)g(the)i
(generic)g(stringprep)e(tables)h(that)390 3910 y(alw)m(a)m(ys)32
b(will)f(b)s(e)e(part)i(of)f(the)h(library)-8 b(,)30
b(or)h(use)f(one)g(of)h(the)g(curren)m(tly)f(supp)s(orted)e
-(pro\014les.)390 4049 y Fl(Return)21 b(v)-5 b(alue:)36
-b Fx(Returns)20 b Fr(STRINGPREP_OK)e Fx(i\013)j(successful,)i(or)e(an)f
-Fr(Stringprep_rc)e Fx(error)i(co)s(de.)150 4253 y Fq(stringprep)3350
-4454 y Fx([F)-8 b(unction])-3599 b Fp(int)53 b(stringprep)c
-Fo(\()p Fn(c)m(har)31 b(*)g Fm(in)12 b Fn(,)30 b(size)p
-1557 4454 V 41 w(t)h Fm(maxlen)12 b Fn(,)32 b(Stringprep)p
+(pro\014les.)390 4049 y Fj(Return)21 b(v)-5 b(alue:)36
+b Fv(Returns)20 b Fp(STRINGPREP_OK)e Fv(i\013)j(successful,)i(or)e(an)f
+Fp(Stringprep_rc)e Fv(error)i(co)s(de.)150 4253 y Fo(stringprep)3350
+4454 y Fv([F)-8 b(unction])-3599 b Fn(int)53 b(stringprep)c
+Fm(\()p Fl(c)m(har)31 b(*)g Fk(in)12 b Fl(,)30 b(size)p
+1557 4454 V 41 w(t)h Fk(maxlen)12 b Fl(,)32 b(Stringprep)p
2466 4454 V 38 w(pro\014le)p 2752 4454 V 40 w(\015ags)565
-4564 y Fm(flags)12 b Fn(,)32 b(const)f(Stringprep)p 1559
-4564 V 38 w(pro\014le)f(*)h Fm(profile)12 b Fo(\))390
-4673 y Fn(in)p Fx(:)40 b(input/ouput)30 b(arra)m(y)g(with)h(string)f
-(to)h(prepare.)390 4813 y Fn(maxlen)p Fx(:)41 b(maxim)m(um)30
+4564 y Fk(flags)12 b Fl(,)32 b(const)f(Stringprep)p 1559
+4564 V 38 w(pro\014le)f(*)h Fk(profile)12 b Fm(\))390
+4673 y Fl(in)p Fv(:)40 b(input/ouput)30 b(arra)m(y)g(with)h(string)f
+(to)h(prepare.)390 4813 y Fl(maxlen)p Fv(:)41 b(maxim)m(um)30
b(length)h(of)g(input/output)e(arra)m(y)-8 b(.)390 4952
-y Fn(\015ags)t Fx(:)41 b(a)30 b Fr(Stringprep_profile_flags)24
-b Fx(v)-5 b(alue,)31 b(or)g(0.)390 5091 y Fn(pro\014le)5
-b Fx(:)40 b(p)s(oin)m(ter)31 b(to)g Fr(Stringprep_profile)25
-b Fx(to)31 b(use.)390 5230 y(Prepare)h(the)h(input)e(zero)i(terminated)
+y Fl(\015ags)t Fv(:)41 b(a)30 b Fp(Stringprep_profile_flags)24
+b Fv(v)-5 b(alue,)31 b(or)g(0.)390 5091 y Fl(pro\014le)5
+b Fv(:)40 b(p)s(oin)m(ter)31 b(to)g Fp(Stringprep_profile)25
+b Fv(to)31 b(use.)390 5230 y(Prepare)h(the)h(input)e(zero)i(terminated)
g(UTF-8)g(string)f(according)h(to)g(the)g(stringprep)e(pro\014le,)390
5340 y(and)f(write)g(bac)m(k)h(the)g(result)f(to)h(the)g(input)e
(string.)p eop end
%%Page: 19 24
-TeXDict begin 19 23 bop 150 -116 a Fx(Chapter)30 b(4:)41
+TeXDict begin 19 23 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(Stringprep)29 b(F)-8 b(unctions)2209 b(19)390 299 y(Note)34
b(that)f(y)m(ou)g(m)m(ust)g(con)m(v)m(ert)h(strings)e(en)m(tered)h(in)g
(the)f(systems)h(lo)s(cale)h(in)m(to)g(UTF-8)f(b)s(efore)390
-408 y(using)d(this)g(function,)g(see)h Fr(stringprep_locale_to_utf8\()o
-(\))p Fx(.)390 541 y(Since)g(the)f(stringprep)g(op)s(eration)h(can)g
-(expand)f(the)h(string,)g Fr(maxlen)e Fx(indicate)i(ho)m(w)g(large)h
+408 y(using)d(this)g(function,)g(see)h Fp(stringprep_locale_to_utf8\()o
+(\))p Fv(.)390 541 y(Since)g(the)f(stringprep)g(op)s(eration)h(can)g
+(expand)f(the)h(string,)g Fp(maxlen)e Fv(indicate)i(ho)m(w)g(large)h
(the)390 651 y(bu\013er)27 b(holding)g(the)h(string)g(is.)40
b(This)27 b(function)g(will)h(not)g(read)f(or)h(write)g(to)h(c)m
(haracters)g(outside)390 760 y(that)i(size.)390 893 y(The)f
-Fr(flags)f Fx(are)i(one)f(of)h Fr(Stringprep_profile_flag)o(s)25
-b Fx(v)-5 b(alues,)30 b(or)h(0.)390 1026 y(The)f Fr(profile)f
-Fx(con)m(tain)k(the)e Fr(Stringprep_profile)26 b Fx(instructions)k(to)i
+Fp(flags)f Fv(are)i(one)f(of)h Fp(Stringprep_profile_flag)o(s)25
+b Fv(v)-5 b(alues,)30 b(or)h(0.)390 1026 y(The)f Fp(profile)f
+Fv(con)m(tain)k(the)e Fp(Stringprep_profile)26 b Fv(instructions)k(to)i
(p)s(erform.)41 b(Y)-8 b(our)31 b(appli-)390 1135 y(cation)41
b(can)g(de\014ne)e(new)g(pro\014les,)k(p)s(ossibly)c(re-using)g(the)i
(generic)g(stringprep)e(tables)h(that)390 1245 y(alw)m(a)m(ys)32
b(will)f(b)s(e)e(part)i(of)f(the)h(library)-8 b(,)30
b(or)h(use)f(one)g(of)h(the)g(curren)m(tly)f(supp)s(orted)e
-(pro\014les.)390 1377 y Fl(Return)i(v)-5 b(alue:)41 b
-Fx(Returns)30 b Fr(STRINGPREP_OK)c Fx(i\013)31 b(successful,)f(or)h(an)
-f(error)g(co)s(de.)150 1573 y Fq(stringprep)p 710 1573
-37 5 v 55 w(pro\014le)3350 1766 y Fx([F)-8 b(unction])-3599
-b Fp(int)53 b(stringprep_profile)e Fo(\()p Fn(const)31
-b(c)m(har)g(*)g Fm(in)12 b Fn(,)31 b(c)m(har)f(**)i Fm(out)12
-b Fn(,)31 b(const)f(c)m(har)h(*)565 1876 y Fm(profile)12
-b Fn(,)32 b(Stringprep)p 1425 1876 28 4 v 39 w(pro\014le)p
-1712 1876 V 40 w(\015ags)e Fm(flags)12 b Fo(\))390 1985
-y Fn(in)p Fx(:)40 b(input)30 b(arra)m(y)h(with)f(UTF-8)h(string)f(to)h
-(prepare.)390 2118 y Fn(out)r Fx(:)41 b(output)30 b(v)-5
+(pro\014les.)390 1377 y Fj(Return)i(v)-5 b(alue:)41 b
+Fv(Returns)30 b Fp(STRINGPREP_OK)c Fv(i\013)31 b(successful,)f(or)h(an)
+f(error)g(co)s(de.)150 1573 y Fo(stringprep)p 710 1573
+37 5 v 55 w(pro\014le)3350 1766 y Fv([F)-8 b(unction])-3599
+b Fn(int)53 b(stringprep_profile)e Fm(\()p Fl(const)31
+b(c)m(har)g(*)g Fk(in)12 b Fl(,)31 b(c)m(har)f(**)i Fk(out)12
+b Fl(,)31 b(const)f(c)m(har)h(*)565 1876 y Fk(profile)12
+b Fl(,)32 b(Stringprep)p 1425 1876 28 4 v 39 w(pro\014le)p
+1712 1876 V 40 w(\015ags)e Fk(flags)12 b Fm(\))390 1985
+y Fl(in)p Fv(:)40 b(input)30 b(arra)m(y)h(with)f(UTF-8)h(string)f(to)h
+(prepare.)390 2118 y Fl(out)r Fv(:)41 b(output)30 b(v)-5
b(ariable)31 b(with)f(p)s(oin)m(ter)h(to)g(newly)f(allo)s(cate)j
-(string.)390 2250 y Fn(pro\014le)5 b Fx(:)40 b(name)31
+(string.)390 2250 y Fl(pro\014le)5 b Fv(:)40 b(name)31
b(of)f(stringprep)g(pro\014le)g(to)h(use.)390 2383 y
-Fn(\015ags)t Fx(:)41 b(a)30 b Fr(Stringprep_profile_flags)24
-b Fx(v)-5 b(alue,)31 b(or)g(0.)390 2516 y(Prepare)h(the)h(input)e(zero)
+Fl(\015ags)t Fv(:)41 b(a)30 b Fp(Stringprep_profile_flags)24
+b Fv(v)-5 b(alue,)31 b(or)g(0.)390 2516 y(Prepare)h(the)h(input)e(zero)
i(terminated)g(UTF-8)g(string)f(according)h(to)g(the)g(stringprep)e
(pro\014le,)390 2625 y(and)f(return)f(the)i(result)f(in)g(a)h(newly)f
(allo)s(cated)i(v)-5 b(ariable.)390 2758 y(Note)34 b(that)f(y)m(ou)g(m)
m(ust)g(con)m(v)m(ert)h(strings)e(en)m(tered)h(in)g(the)f(systems)h(lo)
s(cale)h(in)m(to)g(UTF-8)f(b)s(efore)390 2868 y(using)d(this)g
-(function,)g(see)h Fr(stringprep_locale_to_utf8\()o(\))p
-Fx(.)390 3000 y(The)f(output)g Fr(out)f Fx(v)-5 b(ariable)31
+(function,)g(see)h Fp(stringprep_locale_to_utf8\()o(\))p
+Fv(.)390 3000 y(The)f(output)g Fp(out)f Fv(v)-5 b(ariable)31
b(m)m(ust)g(b)s(e)e(deallo)s(cated)k(b)m(y)d(the)h(caller.)390
-3133 y(The)f Fr(flags)f Fx(are)i(one)f(of)h Fr(Stringprep_profile_flag)
-o(s)25 b Fx(v)-5 b(alues,)30 b(or)h(0.)390 3266 y(The)k
-Fr(profile)f Fx(sp)s(eci\014es)i(the)g(name)g(of)g(the)g(stringprep)f
+3133 y(The)f Fp(flags)f Fv(are)i(one)f(of)h Fp(Stringprep_profile_flag)
+o(s)25 b Fv(v)-5 b(alues,)30 b(or)h(0.)390 3266 y(The)k
+Fp(profile)f Fv(sp)s(eci\014es)i(the)g(name)g(of)g(the)g(stringprep)f
(pro\014le)g(to)i(use.)57 b(It)36 b(m)m(ust)f(b)s(e)h(one)g(of)390
3375 y(the)31 b(in)m(ternally)g(supp)s(orted)d(stringprep)i
-(pro\014les.)390 3508 y Fl(Return)g(v)-5 b(alue:)41 b
-Fx(Returns)30 b Fr(STRINGPREP_OK)c Fx(i\013)31 b(successful,)f(or)h(an)
-f(error)g(co)s(de.)150 3737 y Fw(4.5)68 b(Error)45 b(Handling)150
-3959 y Fq(stringprep)p 710 3959 37 5 v 55 w(strerror)3350
-4152 y Fx([F)-8 b(unction])-3599 b Fp(const)54 b(char)f(*)g
-(stringprep_strerror)e Fo(\()p Fn(Stringprep)p 2331 4152
-28 4 v 39 w(rc)31 b Fm(rc)12 b Fo(\))390 4261 y Fn(rc)6
-b Fx(:)40 b(a)31 b Fr(Stringprep_rc)c Fx(return)i(co)s(de.)390
+(pro\014les.)390 3508 y Fj(Return)g(v)-5 b(alue:)41 b
+Fv(Returns)30 b Fp(STRINGPREP_OK)c Fv(i\013)31 b(successful,)f(or)h(an)
+f(error)g(co)s(de.)150 3737 y Fu(4.5)68 b(Error)45 b(Handling)150
+3959 y Fo(stringprep)p 710 3959 37 5 v 55 w(strerror)3350
+4152 y Fv([F)-8 b(unction])-3599 b Fn(const)54 b(char)f(*)g
+(stringprep_strerror)e Fm(\()p Fl(Stringprep)p 2331 4152
+28 4 v 39 w(rc)31 b Fk(rc)12 b Fm(\))390 4261 y Fl(rc)6
+b Fv(:)40 b(a)31 b Fp(Stringprep_rc)c Fv(return)i(co)s(de.)390
4394 y(Con)m(v)m(ert)35 b(a)f(return)e(co)s(de)i(in)m(teger)i(to)e(a)g
(text)h(string.)51 b(This)33 b(string)h(can)g(b)s(e)f(used)g(to)h
(output)g(a)390 4504 y(diagnostic)e(message)f(to)g(the)g(user.)390
-4636 y Fl(STRINGPREP)p 1010 4636 28 5 v 40 w(OK:)23 b
-Fx(Successful)f(op)s(eration.)39 b(This)22 b(v)-5 b(alue)23
+4636 y Fj(STRINGPREP)p 1010 4636 28 5 v 40 w(OK:)23 b
+Fv(Successful)f(op)s(eration.)39 b(This)22 b(v)-5 b(alue)23
b(is)f(guaran)m(teed)i(to)f(alw)m(a)m(ys)h(b)s(e)e(zero,)390
4746 y(the)h(remaining)f(ones)h(are)g(only)g(guaran)m(teed)g(to)g(hold)
g(non-zero)g(v)-5 b(alues,)24 b(for)f(logical)i(comparison)390
-4856 y(purp)s(oses.)390 4988 y Fl(STRINGPREP)p 1010 4988
+4856 y(purp)s(oses.)390 4988 y Fj(STRINGPREP)p 1010 4988
V 40 w(CONT)-8 b(AINS)p 1537 4988 V 41 w(UNASSIGNED:)61
-b Fx(String)g(con)m(tain)j(unassigned)d(Unico)s(de)390
+b Fv(String)g(con)m(tain)j(unassigned)d(Unico)s(de)390
5098 y(co)s(de)31 b(p)s(oin)m(ts,)f(whic)m(h)g(is)h(forbidden)d(b)m(y)j
-(the)f(pro\014le.)390 5230 y Fl(STRINGPREP)p 1010 5230
+(the)f(pro\014le.)390 5230 y Fj(STRINGPREP)p 1010 5230
V 40 w(CONT)-8 b(AINS)p 1537 5230 V 41 w(PR)m(OHIBITED:)38
-b Fx(String)g(con)m(tain)i(co)s(de)e(p)s(oin)m(ts)h(prohibited)390
+b Fv(String)g(con)m(tain)i(co)s(de)e(p)s(oin)m(ts)h(prohibited)390
5340 y(b)m(y)30 b(the)h(pro\014le.)p eop end
%%Page: 20 25
-TeXDict begin 20 24 bop 150 -116 a Fx(Chapter)30 b(4:)41
+TeXDict begin 20 24 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(Stringprep)29 b(F)-8 b(unctions)2209 b(20)390 299 y
-Fl(STRINGPREP)p 1010 299 28 5 v 40 w(BIDI)p 1257 299
+Fj(STRINGPREP)p 1010 299 28 5 v 40 w(BIDI)p 1257 299
V 40 w(BOTH)p 1564 299 V 40 w(L)p 1659 299 V 40 w(AND)p
-1909 299 V 39 w(RAL:)23 b Fx(String)g(con)m(tain)i(co)s(de)e(p)s(oin)m
+1909 299 V 39 w(RAL:)23 b Fv(String)g(con)m(tain)i(co)s(de)e(p)s(oin)m
(ts)h(with)f(con\015ict-)390 408 y(ing)31 b(bidirection)f(category)-8
-b(.)390 559 y Fl(STRINGPREP)p 1010 559 V 40 w(BIDI)p
+b(.)390 559 y Fj(STRINGPREP)p 1010 559 V 40 w(BIDI)p
1257 559 V 40 w(LEADTRAIL)p 1843 559 V 38 w(NOT)p 2083
-559 V 41 w(RAL:)44 b Fx(Leading)h(and)f(trailing)i(c)m(haracter)g(in)
+559 V 41 w(RAL:)44 b Fv(Leading)h(and)f(trailing)i(c)m(haracter)g(in)
390 669 y(string)30 b(not)h(of)f(prop)s(er)f(bidirectional)j(category)
--8 b(.)390 820 y Fl(STRINGPREP)p 1010 820 V 40 w(BIDI)p
+-8 b(.)390 820 y Fj(STRINGPREP)p 1010 820 V 40 w(BIDI)p
1257 820 V 40 w(CONT)g(AINS)p 1784 820 V 40 w(PR)m(OHIBITED:)32
-b Fx(Con)m(tains)g(prohibited)f(co)s(de)h(p)s(oin)m(ts)390
+b Fv(Con)m(tains)g(prohibited)f(co)s(de)h(p)s(oin)m(ts)390
929 y(detected)g(b)m(y)e(bidirectional)h(co)s(de.)390
-1080 y Fl(STRINGPREP)p 1010 1080 V 40 w(TOO)p 1249 1080
-V 41 w(SMALL)p 1606 1080 V 39 w(BUFFER:)37 b Fx(Bu\013er)h(handed)e(to)
+1080 y Fj(STRINGPREP)p 1010 1080 V 40 w(TOO)p 1249 1080
+V 41 w(SMALL)p 1606 1080 V 39 w(BUFFER:)37 b Fv(Bu\013er)h(handed)e(to)
j(function)e(w)m(as)i(to)s(o)f(small.)390 1190 y(This)30
b(usually)g(indicate)h(a)g(problem)f(in)g(the)g(calling)i(application.)
-390 1340 y Fl(STRINGPREP)p 1010 1340 V 40 w(PR)m(OFILE)p
-1454 1340 V 41 w(ERR)m(OR:)41 b Fx(The)g(stringprep)g(pro\014le)f(w)m
+390 1340 y Fj(STRINGPREP)p 1010 1340 V 40 w(PR)m(OFILE)p
+1454 1340 V 41 w(ERR)m(OR:)41 b Fv(The)g(stringprep)g(pro\014le)f(w)m
(as)i(inconsisten)m(t.)75 b(This)390 1450 y(usually)30
b(indicate)i(an)e(in)m(ternal)h(error)f(in)g(the)h(library)-8
-b(.)390 1601 y Fl(STRINGPREP)p 1010 1601 V 40 w(FLA)m(G)p
-1299 1601 V 41 w(ERR)m(OR:)31 b Fx(The)g(supplied)f(\015ag)h
+b(.)390 1601 y Fj(STRINGPREP)p 1010 1601 V 40 w(FLA)m(G)p
+1299 1601 V 41 w(ERR)m(OR:)31 b Fv(The)g(supplied)f(\015ag)h
(con\015icted)h(with)e(pro\014le.)43 b(This)30 b(usu-)390
1710 y(ally)h(indicate)h(a)e(problem)g(in)g(the)h(calling)h
-(application.)390 1861 y Fl(STRINGPREP)p 1010 1861 V
-40 w(UNKNO)m(WN)p 1563 1861 V 42 w(PR)m(OFILE:)j Fx(The)f(supplied)g
+(application.)390 1861 y Fj(STRINGPREP)p 1010 1861 V
+40 w(UNKNO)m(WN)p 1563 1861 V 42 w(PR)m(OFILE:)j Fv(The)f(supplied)g
(pro\014le)g(name)h(w)m(as)g(not)g(kno)m(wn)390 1971
-y(to)c(the)g(library)-8 b(.)390 2122 y Fl(STRINGPREP)p
+y(to)c(the)g(library)-8 b(.)390 2122 y Fj(STRINGPREP)p
1010 2122 V 40 w(NFK)m(C)p 1312 2122 V 41 w(F)e(AILED:)30
-b Fx(The)g(Unico)s(de)h(NFK)m(C)g(op)s(eration)g(failed.)43
+b Fv(The)g(Unico)s(de)h(NFK)m(C)g(op)s(eration)g(failed.)43
b(This)30 b(usually)390 2231 y(indicate)h(an)g(in)m(ternal)g(error)f
-(in)g(the)g(library)-8 b(.)390 2382 y Fl(STRINGPREP)p
+(in)g(the)g(library)-8 b(.)390 2382 y Fj(STRINGPREP)p
1010 2382 V 40 w(MALLOC)p 1449 2382 V 39 w(ERR)m(OR:)31
-b Fx(The)e Fr(malloc\(\))f Fx(w)m(as)i(out)g(of)g(memory)-8
+b Fv(The)e Fp(malloc\(\))f Fv(w)m(as)i(out)g(of)g(memory)-8
b(.)41 b(This)29 b(is)h(usu-)390 2492 y(ally)h(a)g(fatal)h(error.)390
-2642 y Fl(Return)d(v)-5 b(alue:)40 b Fx(Returns)29 b(a)g(p)s(oin)m(ter)
+2642 y Fj(Return)d(v)-5 b(alue:)40 b Fv(Returns)29 b(a)g(p)s(oin)m(ter)
h(to)g(a)f(statically)j(allo)s(cated)f(string)f(con)m(taining)h(a)e
(descrip-)390 2752 y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e
-(co)s(de)h Fr(rc)p Fx(.)150 3009 y Fw(4.6)68 b(Stringprep)45
-b(Pro\014le)g(Macros)3350 3234 y Fx([F)-8 b(unction])-3599
-b Fp(int)53 b(stringprep_nameprep_n)q(o_un)q(ass)q(ign)q(ed)f
-Fo(\()p Fn(c)m(har)31 b(*)g Fm(in)12 b Fn(,)30 b(in)m(t)h
-Fm(maxlen)12 b Fo(\))390 3344 y Fn(in)p Fx(:)40 b(input/ouput)30
+(co)s(de)h Fp(rc)p Fv(.)150 3009 y Fu(4.6)68 b(Stringprep)45
+b(Pro\014le)g(Macros)3350 3234 y Fv([F)-8 b(unction])-3599
+b Fn(int)53 b(stringprep_nameprep_n)q(o_un)q(ass)q(ign)q(ed)f
+Fm(\()p Fl(c)m(har)31 b(*)g Fk(in)12 b Fl(,)30 b(in)m(t)h
+Fk(maxlen)12 b Fm(\))390 3344 y Fl(in)p Fv(:)40 b(input/ouput)30
b(arra)m(y)g(with)h(string)f(to)h(prepare.)390 3495 y
-Fn(maxlen)p Fx(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e
+Fl(maxlen)p Fv(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e
(arra)m(y)-8 b(.)390 3645 y(Prepare)31 b(the)g(input)f(UTF-8)i(string)f
(according)h(to)g(the)f(nameprep)f(pro\014le.)43 b(The)30
b(Allo)m(wUnas-)390 3755 y(signed)j(\015ag)g(is)g(false,)h(use)f
-Fr(stringprep_nameprep)28 b Fx(for)k(true)h(Allo)m(wUnassigned.)50
+Fp(stringprep_nameprep)28 b Fv(for)k(true)h(Allo)m(wUnassigned.)50
b(Returns)32 b(0)390 3865 y(i\013)f(successful,)f(or)g(an)h(error)f(co)
-s(de.)3350 4082 y([F)-8 b(unction])-3599 b Fp(int)53
-b(stringprep_iscsi)e Fo(\()p Fn(c)m(har)31 b(*)f Fm(in)12
-b Fn(,)31 b(in)m(t)g Fm(maxlen)12 b Fo(\))390 4191 y
-Fn(in)p Fx(:)40 b(input/ouput)30 b(arra)m(y)g(with)h(string)f(to)h
-(prepare.)390 4342 y Fn(maxlen)p Fx(:)41 b(maxim)m(um)30
+s(de.)3350 4082 y([F)-8 b(unction])-3599 b Fn(int)53
+b(stringprep_iscsi)e Fm(\()p Fl(c)m(har)31 b(*)f Fk(in)12
+b Fl(,)31 b(in)m(t)g Fk(maxlen)12 b Fm(\))390 4191 y
+Fl(in)p Fv(:)40 b(input/ouput)30 b(arra)m(y)g(with)h(string)f(to)h
+(prepare.)390 4342 y Fl(maxlen)p Fv(:)41 b(maxim)m(um)30
b(length)h(of)g(input/output)e(arra)m(y)-8 b(.)390 4493
y(Prepare)32 b(the)g(input)e(UTF-8)j(string)f(according)h(to)f(the)g
(draft)f(iSCSI)g(stringprep)g(pro\014le.)44 b(Re-)390
4602 y(turns)29 b(0)i(i\013)f(successful,)h(or)f(an)g(error)g(co)s(de.)
-3350 4819 y([F)-8 b(unction])-3599 b Fp(int)53 b(stringprep_plain)e
-Fo(\()p Fn(c)m(har)31 b(*)f Fm(in)12 b Fn(,)31 b(in)m(t)g
-Fm(maxlen)12 b Fo(\))390 4929 y Fn(in)p Fx(:)40 b(input/ouput)30
+3350 4819 y([F)-8 b(unction])-3599 b Fn(int)53 b(stringprep_plain)e
+Fm(\()p Fl(c)m(har)31 b(*)f Fk(in)12 b Fl(,)31 b(in)m(t)g
+Fk(maxlen)12 b Fm(\))390 4929 y Fl(in)p Fv(:)40 b(input/ouput)30
b(arra)m(y)g(with)h(string)f(to)h(prepare.)390 5080 y
-Fn(maxlen)p Fx(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e
+Fl(maxlen)p Fv(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e
(arra)m(y)-8 b(.)390 5230 y(Prepare)29 b(the)g(input)f(UTF-8)i(string)f
(according)h(to)g(the)f(draft)g(SASL)f(ANONYMOUS)h(pro\014le.)390
5340 y(Returns)g(0)i(i\013)g(successful,)f(or)h(an)f(error)g(co)s(de.)p
eop end
%%Page: 21 26
-TeXDict begin 21 25 bop 150 -116 a Fx(Chapter)30 b(4:)41
+TeXDict begin 21 25 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(Stringprep)29 b(F)-8 b(unctions)2209 b(21)3350 299
-y([F)-8 b(unction])-3599 b Fp(int)53 b(stringprep_xmpp_nodep)q(rep)f
-Fo(\()p Fn(c)m(har)31 b(*)g Fm(in)12 b Fn(,)31 b(in)m(t)f
-Fm(maxlen)12 b Fo(\))390 408 y Fn(in)p Fx(:)40 b(input/ouput)30
+y([F)-8 b(unction])-3599 b Fn(int)53 b(stringprep_xmpp_nodep)q(rep)f
+Fm(\()p Fl(c)m(har)31 b(*)g Fk(in)12 b Fl(,)31 b(in)m(t)f
+Fk(maxlen)12 b Fm(\))390 408 y Fl(in)p Fv(:)40 b(input/ouput)30
b(arra)m(y)g(with)h(string)f(to)h(prepare.)390 543 y
-Fn(maxlen)p Fx(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e
+Fl(maxlen)p Fv(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e
(arra)m(y)-8 b(.)390 677 y(Prepare)29 b(the)g(input)f(UTF-8)h(string)g
(according)h(to)f(the)g(draft)g(XMPP)g(no)s(de)f(iden)m(ti\014er)h
(pro\014le.)390 787 y(Returns)g(0)i(i\013)g(successful,)f(or)h(an)f
(error)g(co)s(de.)3350 971 y([F)-8 b(unction])-3599 b
-Fp(int)53 b(stringprep_xmpp_resou)q(rcep)q(rep)f Fo(\()p
-Fn(c)m(har)31 b(*)g Fm(in)12 b Fn(,)31 b(in)m(t)g Fm(maxlen)12
-b Fo(\))390 1081 y Fn(in)p Fx(:)40 b(input/ouput)30 b(arra)m(y)g(with)h
-(string)f(to)h(prepare.)390 1215 y Fn(maxlen)p Fx(:)41
+Fn(int)53 b(stringprep_xmpp_resou)q(rcep)q(rep)f Fm(\()p
+Fl(c)m(har)31 b(*)g Fk(in)12 b Fl(,)31 b(in)m(t)g Fk(maxlen)12
+b Fm(\))390 1081 y Fl(in)p Fv(:)40 b(input/ouput)30 b(arra)m(y)g(with)h
+(string)f(to)h(prepare.)390 1215 y Fl(maxlen)p Fv(:)41
b(maxim)m(um)30 b(length)h(of)g(input/output)e(arra)m(y)-8
b(.)390 1350 y(Prepare)44 b(the)g(input)f(UTF-8)i(string)f(according)h
(to)g(the)f(draft)f(XMPP)i(resource)f(iden)m(ti\014er)390
1460 y(pro\014le.)c(Returns)30 b(0)h(i\013)f(successful,)h(or)f(an)g
(error)g(co)s(de.)p eop end
%%Page: 22 27
-TeXDict begin 22 26 bop 150 -116 a Fx(Chapter)30 b(5:)41
+TeXDict begin 22 26 bop 150 -116 a Fv(Chapter)30 b(5:)41
b(Pun)m(yco)s(de)30 b(F)-8 b(unctions)2241 b(22)150 299
-y Fu(5)80 b(Pun)l(yco)t(de)53 b(F)-13 b(unctions)150
-531 y Fx(Pun)m(yco)s(de)31 b(is)h(a)g(simple)g(and)f(e\016cien)m(t)j
+y Fs(5)80 b(Pun)l(yco)t(de)53 b(F)-13 b(unctions)150
+531 y Fv(Pun)m(yco)s(de)31 b(is)h(a)g(simple)g(and)f(e\016cien)m(t)j
(transfer)d(enco)s(ding)h(syn)m(tax)g(designed)g(for)g(use)f(with)h(In)
m(terna-)150 641 y(tionalized)d(Domain)f(Names)g(in)f(Applications.)41
b(It)27 b(uniquely)g(and)g(rev)m(ersibly)g(transforms)g(a)h(Unico)s(de)
(ts)g(dra)m(wn)g(from)g(a)150 1189 y(larger)i(set.)65
b(Pun)m(yco)s(de)38 b(is)g(an)g(instance)h(of)f(Bo)s(otstring)i(that)e
(uses)g(particular)h(parameter)f(v)-5 b(alues,)150 1298
-y(appropriate)30 b(for)h(IDNA.)150 1530 y Fw(5.1)68 b(Header)46
-b(\014le)f Fj(punycode.h)150 1690 y Fx(T)-8 b(o)36 b(use)g(the)g
+y(appropriate)30 b(for)h(IDNA.)150 1530 y Fu(5.1)68 b(Header)46
+b(\014le)f Fi(punycode.h)150 1690 y Fv(T)-8 b(o)36 b(use)g(the)g
(functions)g(explained)g(in)g(this)g(c)m(hapter,)i(y)m(ou)f(need)e(to)i
-(include)f(the)g(\014le)g(`)p Fr(punycode.h)p Fx(')150
-1799 y(using:)390 1933 y Fr(#include)46 b(<punycode.h>)150
-2165 y Fw(5.2)68 b(Unico)t(de)45 b(Co)t(de)g(P)l(oin)l(t)h(Data)g(T)l
-(yp)t(e)150 2325 y Fx(The)28 b(pun)m(yco)s(de)g(function)h(uses)f(a)h
+(include)f(the)g(\014le)g(`)p Fp(punycode.h)p Fv(')150
+1799 y(using:)390 1933 y Fp(#include)46 b(<punycode.h>)150
+2165 y Fu(5.2)68 b(Unico)t(de)45 b(Co)t(de)g(P)l(oin)l(t)h(Data)g(T)l
+(yp)t(e)150 2325 y Fv(The)28 b(pun)m(yco)s(de)g(function)h(uses)f(a)h
(sp)s(ecial)g(t)m(yp)s(e)g(to)h(denote)f(Unico)s(de)g(co)s(de)g(p)s
(oin)m(ts.)40 b(It)29 b(is)g(guaran)m(teed)150 2434 y(to)i(alw)m(a)m
(ys)h(b)s(e)e(a)h(32)g(bit)f(unsigned)f(in)m(teger.)2511
2617 y([Pun)m(yco)s(de)i(Unico)s(de)f(co)s(de)h(p)s(oin)m(t])-3600
-b Fp(uint32_t)55 b(punycode_uint)390 2727 y Fx(A)30 b(unsigned)g(in)m
+b Fn(uint32_t)55 b(punycode_uint)390 2727 y Fv(A)30 b(unsigned)g(in)m
(teger)i(that)f(hold)f(Unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)150
-2959 y Fw(5.3)68 b(Core)46 b(F)-11 b(unctions)150 3118
-y Fx(Note)45 b(that)g(the)f(curren)m(t)f(implemen)m(tation)j(will)e
-(fail)g(if)g(the)g Fr(input_length)d Fx(exceed)j(4294967295)150
-3228 y(\(the)37 b(size)g(of)f Fr(punycode_uint)p Fx(\).)55
+2959 y Fu(5.3)68 b(Core)46 b(F)-11 b(unctions)150 3118
+y Fv(Note)45 b(that)g(the)f(curren)m(t)f(implemen)m(tation)j(will)e
+(fail)g(if)g(the)g Fp(input_length)d Fv(exceed)j(4294967295)150
+3228 y(\(the)37 b(size)g(of)f Fp(punycode_uint)p Fv(\).)55
b(This)35 b(restriction)j(ma)m(y)e(b)s(e)g(remo)m(v)m(ed)h(in)f(the)g
(future.)58 b(Mean)m(while)150 3337 y(applications)39
b(are)f(encouraged)g(to)h(not)f(dep)s(end)e(on)h(this)h(problem,)h(and)
-e(use)g Fr(sizeof)f Fx(to)j(initialize)150 3447 y Fr(input_length)27
-b Fx(and)j Fr(output_length)p Fx(.)275 3581 y(The)f(functions)h(pro)m
+e(use)g Fp(sizeof)f Fv(to)j(initialize)150 3447 y Fp(input_length)27
+b Fv(and)j Fp(output_length)p Fv(.)275 3581 y(The)f(functions)h(pro)m
(vided)g(are)h(the)g(follo)m(wing)g(t)m(w)m(o)h(en)m(try)f(p)s(oin)m
-(ts:)150 3780 y Fq(pun)m(yco)s(de)p 668 3780 37 5 v 54
-w(enco)s(de)3350 3976 y Fx([F)-8 b(unction])-3599 b Fp(int)53
-b(punycode_encode)d Fo(\()p Fn(size)p 1371 3976 28 4
-v 41 w(t)31 b Fm(input_length)12 b Fn(,)34 b(const)d(pun)m(yco)s(de)p
-2788 3976 V 39 w(uin)m(t)f Fi([])565 4085 y Fm(input)12
-b Fn(,)32 b(const)f(unsigned)e(c)m(har)i Fi([])f Fm(case_flags)12
-b Fn(,)33 b(size)p 2534 4085 V 41 w(t)d(*)h Fm(output_length)12
-b Fn(,)34 b(c)m(har)d Fi([])565 4195 y Fm(output)12 b
-Fo(\))390 4305 y Fn(input)p 609 4305 V 39 w(length)p
-Fx(:)40 b(The)28 b(n)m(um)m(b)s(er)g(of)g(co)s(de)h(p)s(oin)m(ts)g(in)f
-(the)h Fr(input)e Fx(arra)m(y)i(and)f(the)h(n)m(um)m(b)s(er)e(of)i
-(\015ags)390 4414 y(in)h(the)h Fr(case_flags)c Fx(arra)m(y)-8
-b(.)390 4548 y Fn(input)r Fx(:)66 b(An)43 b(arra)m(y)h(of)f(co)s(de)h
+(ts:)150 3780 y Fo(pun)m(yco)s(de)p 668 3780 37 5 v 54
+w(enco)s(de)3350 3976 y Fv([F)-8 b(unction])-3599 b Fn(int)53
+b(punycode_encode)d Fm(\()p Fl(size)p 1371 3976 28 4
+v 41 w(t)31 b Fk(input_length)12 b Fl(,)34 b(const)d(pun)m(yco)s(de)p
+2788 3976 V 39 w(uin)m(t)f Fh([])565 4085 y Fk(input)12
+b Fl(,)32 b(const)f(unsigned)e(c)m(har)i Fh([])f Fk(case_flags)12
+b Fl(,)33 b(size)p 2534 4085 V 41 w(t)d(*)h Fk(output_length)12
+b Fl(,)34 b(c)m(har)d Fh([])565 4195 y Fk(output)12 b
+Fm(\))390 4305 y Fl(input)p 609 4305 V 39 w(length)p
+Fv(:)40 b(The)28 b(n)m(um)m(b)s(er)g(of)g(co)s(de)h(p)s(oin)m(ts)g(in)f
+(the)h Fp(input)e Fv(arra)m(y)i(and)f(the)h(n)m(um)m(b)s(er)e(of)i
+(\015ags)390 4414 y(in)h(the)h Fp(case_flags)c Fv(arra)m(y)-8
+b(.)390 4548 y Fl(input)r Fv(:)66 b(An)43 b(arra)m(y)h(of)f(co)s(de)h
(p)s(oin)m(ts.)80 b(They)43 b(are)h(presumed)e(to)i(b)s(e)f(Unico)s(de)
g(co)s(de)h(p)s(oin)m(ts,)390 4658 y(but)29 b(that)i(is)f(not)g
(strictly)h(REQUIRED.)f(The)f(arra)m(y)i(con)m(tains)g(co)s(de)f(p)s
4987 y(p)s(oin)m(ts)26 b(that)h(can)f(o)s(ccur)g(in)g(Unico)s(de)g
(strings)g(\(0..D7FF)i(and)e(E000..10FFFF\))k(are)d(also)g(called)390
5096 y(Unico)s(de)k(scalar)g(v)-5 b(alues.)390 5230 y
-Fn(case)p 557 5230 V 41 w(\015ags)t Fx(:)41 b(A)31 b
-Fr(NULL)f Fx(p)s(oin)m(ter)g(or)h(an)g(arra)m(y)g(of)g(b)s(o)s(olean)f
-(v)-5 b(alues)31 b(parallel)h(to)g(the)f Fr(input)e Fx(arra)m(y)-8
+Fl(case)p 557 5230 V 41 w(\015ags)t Fv(:)41 b(A)31 b
+Fp(NULL)f Fv(p)s(oin)m(ter)g(or)h(an)g(arra)m(y)g(of)g(b)s(o)s(olean)f
+(v)-5 b(alues)31 b(parallel)h(to)g(the)f Fp(input)e Fv(arra)m(y)-8
b(.)390 5340 y(Nonzero)31 b(\(true,)g(\015agged\))h(suggests)f(that)g
(the)f(corresp)s(onding)g(Unico)s(de)g(c)m(haracter)i(b)s(e)e(forced)p
eop end
%%Page: 23 28
-TeXDict begin 23 27 bop 150 -116 a Fx(Chapter)30 b(5:)41
+TeXDict begin 23 27 bop 150 -116 a Fv(Chapter)30 b(5:)41
b(Pun)m(yco)s(de)30 b(F)-8 b(unctions)2241 b(23)390 299
y(to)39 b(upp)s(ercase)e(after)i(b)s(eing)f(deco)s(ded)g(\(if)g(p)s
(ossible\),)j(and)c(zero)i(\(false,)j(un\015agged\))c(suggests)390
(are)e(enco)s(ded)390 518 y(literally)-8 b(,)33 b(except)f(that)g(ASCI)
s(I)d(letters)j(are)f(forced)g(to)g(upp)s(ercase)f(or)h(lo)m(w)m
(ercase)i(according)f(to)390 628 y(the)e(corresp)s(onding)f(case)i
-(\015ags.)41 b(If)29 b Fr(case_flags)e Fx(is)j(a)g Fr(NULL)f
-Fx(p)s(oin)m(ter)h(then)f(ASCI)s(I)g(letters)i(are)390
+(\015ags.)41 b(If)29 b Fp(case_flags)e Fv(is)j(a)g Fp(NULL)f
+Fv(p)s(oin)m(ter)h(then)f(ASCI)s(I)g(letters)i(are)390
737 y(left)g(as)g(they)f(are,)h(and)f(other)h(co)s(de)f(p)s(oin)m(ts)g
-(are)h(treated)h(as)e(un\015agged.)390 864 y Fn(output)p
-664 864 28 4 v 40 w(length)p Fx(:)40 b(The)28 b(caller)i(passes)f(in)f
+(are)h(treated)h(as)e(un\015agged.)390 864 y Fl(output)p
+664 864 28 4 v 40 w(length)p Fv(:)40 b(The)28 b(caller)i(passes)f(in)f
(the)h(maxim)m(um)g(n)m(um)m(b)s(er)f(of)g(ASCI)s(I)g(co)s(de)h(p)s
(oin)m(ts)f(that)390 973 y(it)k(can)g(receiv)m(e.)45
b(On)31 b(successful)g(return)f(it)i(will)g(con)m(tain)g(the)g(n)m(um)m
(b)s(er)e(of)i(ASCI)s(I)d(co)s(de)j(p)s(oin)m(ts)390
-1083 y(actually)g(output.)390 1209 y Fn(output)r Fx(:)49
+1083 y(actually)g(output.)390 1209 y Fl(output)r Fv(:)49
b(An)34 b(arra)m(y)h(of)f(ASCI)s(I)f(co)s(de)i(p)s(oin)m(ts.)53
b(It)35 b(is)f(*not*)i(n)m(ull-terminated;)i(it)d(will)g(con)m(tain)390
-1319 y(zeros)29 b(if)f(and)g(only)g(if)g(the)g Fr(input)f
-Fx(con)m(tains)i(zeros.)41 b(\(Of)28 b(course)g(the)h(caller)g(can)g
+1319 y(zeros)29 b(if)f(and)g(only)g(if)g(the)g Fp(input)f
+Fv(con)m(tains)i(zeros.)41 b(\(Of)28 b(course)g(the)h(caller)g(can)g
(lea)m(v)m(e)h(ro)s(om)e(for)390 1428 y(a)j(terminator)g(and)f(add)f
(one)i(if)f(needed.\))390 1554 y(Con)m(v)m(erts)k(a)g(sequence)f(of)h
(co)s(de)f(p)s(oin)m(ts)g(\(presumed)f(to)i(b)s(e)f(Unico)s(de)g(co)s
(de)h(p)s(oin)m(ts\))f(to)h(Pun)m(y-)390 1664 y(co)s(de.)390
-1790 y Fl(Return)g(v)-5 b(alue:)49 b Fx(The)33 b(return)g(v)-5
-b(alue)35 b(can)g(b)s(e)e(an)m(y)i(of)f(the)h Fr(Punycode_status)30
-b Fx(v)-5 b(alues)34 b(de\014ned)390 1900 y(ab)s(o)m(v)m(e)41
-b(except)g Fr(PUNYCODE_BAD_INPUT)p Fx(.)65 b(If)39 b(not)h
-Fr(PUNYCODE_SUCCESS)p Fx(,)e(then)i Fr(output_size)390
-2010 y Fx(and)30 b Fr(output)e Fx(migh)m(t)k(con)m(tain)f(garbage.)150
-2192 y Fq(pun)m(yco)s(de)p 668 2192 37 5 v 54 w(deco)s(de)3350
-2373 y Fx([F)-8 b(unction])-3599 b Fp(int)53 b(punycode_decode)d
-Fo(\()p Fn(size)p 1371 2373 28 4 v 41 w(t)31 b Fm(input_length)12
-b Fn(,)34 b(const)d(c)m(har)g Fi([])f Fm(input)12 b Fn(,)565
-2482 y(size)p 712 2482 V 41 w(t)31 b(*)f Fm(output_length)12
-b Fn(,)34 b(pun)m(yco)s(de)p 2018 2482 V 40 w(uin)m(t)c
-Fi([])g Fm(output)12 b Fn(,)32 b(unsigned)d(c)m(har)i
-Fi([])565 2592 y Fm(case_flags)12 b Fo(\))390 2702 y
-Fn(input)p 609 2702 V 39 w(length)p Fx(:)41 b(The)30
+1790 y Fj(Return)g(v)-5 b(alue:)49 b Fv(The)33 b(return)g(v)-5
+b(alue)35 b(can)g(b)s(e)e(an)m(y)i(of)f(the)h Fp(Punycode_status)30
+b Fv(v)-5 b(alues)34 b(de\014ned)390 1900 y(ab)s(o)m(v)m(e)41
+b(except)g Fp(PUNYCODE_BAD_INPUT)p Fv(.)65 b(If)39 b(not)h
+Fp(PUNYCODE_SUCCESS)p Fv(,)e(then)i Fp(output_size)390
+2010 y Fv(and)30 b Fp(output)e Fv(migh)m(t)k(con)m(tain)f(garbage.)150
+2192 y Fo(pun)m(yco)s(de)p 668 2192 37 5 v 54 w(deco)s(de)3350
+2373 y Fv([F)-8 b(unction])-3599 b Fn(int)53 b(punycode_decode)d
+Fm(\()p Fl(size)p 1371 2373 28 4 v 41 w(t)31 b Fk(input_length)12
+b Fl(,)34 b(const)d(c)m(har)g Fh([])f Fk(input)12 b Fl(,)565
+2482 y(size)p 712 2482 V 41 w(t)31 b(*)f Fk(output_length)12
+b Fl(,)34 b(pun)m(yco)s(de)p 2018 2482 V 40 w(uin)m(t)c
+Fh([])g Fk(output)12 b Fl(,)32 b(unsigned)d(c)m(har)i
+Fh([])565 2592 y Fk(case_flags)12 b Fm(\))390 2702 y
+Fl(input)p 609 2702 V 39 w(length)p Fv(:)41 b(The)30
b(n)m(um)m(b)s(er)f(of)i(ASCI)s(I)e(co)s(de)h(p)s(oin)m(ts)g(in)g(the)h
-Fr(input)e Fx(arra)m(y)-8 b(.)390 2828 y Fn(input)r Fx(:)40
+Fp(input)e Fv(arra)m(y)-8 b(.)390 2828 y Fl(input)r Fv(:)40
b(An)30 b(arra)m(y)h(of)f(ASCI)s(I)f(co)s(de)i(p)s(oin)m(ts)f
-(\(0..7F\).)390 2954 y Fn(output)p 664 2954 V 40 w(length)p
-Fx(:)42 b(The)30 b(caller)i(passes)f(in)g(the)g(maxim)m(um)f(n)m(um)m
+(\(0..7F\).)390 2954 y Fl(output)p 664 2954 V 40 w(length)p
+Fv(:)42 b(The)30 b(caller)i(passes)f(in)g(the)g(maxim)m(um)f(n)m(um)m
(b)s(er)g(of)h(co)s(de)g(p)s(oin)m(ts)g(that)g(it)h(can)390
-3064 y(receiv)m(e)41 b(in)m(to)e(the)g Fr(output)e Fx(arra)m(y)i
+3064 y(receiv)m(e)41 b(in)m(to)e(the)g Fp(output)e Fv(arra)m(y)i
(\(whic)m(h)g(is)g(also)g(the)g(maxim)m(um)g(n)m(um)m(b)s(er)e(of)i
(\015ags)g(that)g(it)390 3173 y(can)h(receiv)m(e)i(in)m(to)f(the)f
-Fr(case_flags)d Fx(arra)m(y)-8 b(,)43 b(if)d Fr(case_flags)d
-Fx(is)j(not)g(a)g Fr(NULL)f Fx(p)s(oin)m(ter\).)70 b(On)390
+Fp(case_flags)d Fv(arra)m(y)-8 b(,)43 b(if)d Fp(case_flags)d
+Fv(is)j(not)g(a)g Fp(NULL)f Fv(p)s(oin)m(ter\).)70 b(On)390
3283 y(successful)39 b(return)e(it)j(will)f(con)m(tain)h(the)f(n)m(um)m
(b)s(er)f(of)h(co)s(de)g(p)s(oin)m(ts)g(actually)h(output)f(\(whic)m(h)
390 3392 y(is)c(also)h(the)f(n)m(um)m(b)s(er)e(of)i(\015ags)g(actually)
(cannot)g(exceed)h(the)g(maxim)m(um)e(p)s(ossible)h(v)-5
b(alue)29 b(of)f(a)g(pun)m(yco)s(de)p 3246 3721 V 39
w(uin)m(t,)h(ev)m(en)g(if)390 3831 y(the)i(supplied)e
-Fr(output_length)d Fx(is)31 b(greater)g(than)g(that.)390
-3957 y Fn(output)r Fx(:)40 b(An)28 b(arra)m(y)h(of)g(co)s(de)g(p)s(oin)
-m(ts)g(lik)m(e)h(the)f(input)f(argumen)m(t)h(of)g Fr
-(punycode_encode\(\))24 b Fx(\(see)390 4067 y(ab)s(o)m(v)m(e\).)390
-4193 y Fn(case)p 557 4193 V 41 w(\015ags)t Fx(:)49 b(A)35
-b Fr(NULL)e Fx(p)s(oin)m(ter)h(\(if)h(the)g(\015ags)f(are)h(not)g
+Fp(output_length)d Fv(is)31 b(greater)g(than)g(that.)390
+3957 y Fl(output)r Fv(:)40 b(An)28 b(arra)m(y)h(of)g(co)s(de)g(p)s(oin)
+m(ts)g(lik)m(e)h(the)f(input)f(argumen)m(t)h(of)g Fp
+(punycode_encode\(\))24 b Fv(\(see)390 4067 y(ab)s(o)m(v)m(e\).)390
+4193 y Fl(case)p 557 4193 V 41 w(\015ags)t Fv(:)49 b(A)35
+b Fp(NULL)e Fv(p)s(oin)m(ter)h(\(if)h(the)g(\015ags)f(are)h(not)g
(needed)f(b)m(y)g(the)h(caller\))h(or)e(an)h(arra)m(y)g(of)390
4303 y(b)s(o)s(olean)26 b(v)-5 b(alues)25 b(parallel)i(to)g(the)e
-Fr(output)f Fx(arra)m(y)-8 b(.)40 b(Nonzero)27 b(\(true,)g(\015agged\))
+Fp(output)f Fv(arra)m(y)-8 b(.)40 b(Nonzero)27 b(\(true,)g(\015agged\))
f(suggests)h(that)f(the)390 4412 y(corresp)s(onding)37
b(Unico)s(de)h(c)m(haracter)h(b)s(e)e(forced)h(to)g(upp)s(ercase)f(b)m
(y)h(the)g(caller)h(\(if)f(p)s(ossible\),)390 4522 y(and)26
(applying)f(the)h(\015ags)g(w)m(ould)f(b)s(e)f(harmless.)390
4867 y(Con)m(v)m(erts)47 b(Pun)m(yco)s(de)g(to)g(a)h(sequence)f(of)g
(co)s(de)g(p)s(oin)m(ts)f(\(presumed)g(to)i(b)s(e)e(Unico)s(de)h(co)s
-(de)390 4977 y(p)s(oin)m(ts\).)390 5103 y Fl(Return)34
-b(v)-5 b(alue:)49 b Fx(The)33 b(return)g(v)-5 b(alue)35
-b(can)g(b)s(e)e(an)m(y)i(of)f(the)h Fr(Punycode_status)30
-b Fx(v)-5 b(alues)34 b(de\014ned)390 5213 y(ab)s(o)m(v)m(e.)74
-b(If)41 b(not)h Fr(PUNYCODE_SUCCESS)p Fx(,)d(then)i Fr(output_length)p
-Fx(,)g Fr(output)p Fx(,)h(and)f Fr(case_flags)390 5322
-y Fx(migh)m(t)31 b(con)m(tain)h(garbage.)p eop end
+(de)390 4977 y(p)s(oin)m(ts\).)390 5103 y Fj(Return)34
+b(v)-5 b(alue:)49 b Fv(The)33 b(return)g(v)-5 b(alue)35
+b(can)g(b)s(e)e(an)m(y)i(of)f(the)h Fp(Punycode_status)30
+b Fv(v)-5 b(alues)34 b(de\014ned)390 5213 y(ab)s(o)m(v)m(e.)74
+b(If)41 b(not)h Fp(PUNYCODE_SUCCESS)p Fv(,)d(then)i Fp(output_length)p
+Fv(,)g Fp(output)p Fv(,)h(and)f Fp(case_flags)390 5322
+y Fv(migh)m(t)31 b(con)m(tain)h(garbage.)p eop end
%%Page: 24 29
-TeXDict begin 24 28 bop 150 -116 a Fx(Chapter)30 b(5:)41
+TeXDict begin 24 28 bop 150 -116 a Fv(Chapter)30 b(5:)41
b(Pun)m(yco)s(de)30 b(F)-8 b(unctions)2241 b(24)150 299
-y Fw(5.4)68 b(Error)45 b(Handling)150 523 y Fq(pun)m(yco)s(de)p
-668 523 37 5 v 54 w(strerror)3350 720 y Fx([F)-8 b(unction])-3599
-b Fp(const)54 b(char)f(*)g(punycode_strerror)e Fo(\()p
-Fn(Pun)m(yco)s(de)p 2194 720 28 4 v 40 w(status)30 b
-Fm(rc)12 b Fo(\))390 829 y Fn(rc)6 b Fx(:)40 b(an)30
-b Fr(Punycode_status)d Fx(return)i(co)s(de.)390 964 y(Con)m(v)m(ert)35
+y Fu(5.4)68 b(Error)45 b(Handling)150 523 y Fo(pun)m(yco)s(de)p
+668 523 37 5 v 54 w(strerror)3350 720 y Fv([F)-8 b(unction])-3599
+b Fn(const)54 b(char)f(*)g(punycode_strerror)e Fm(\()p
+Fl(Pun)m(yco)s(de)p 2194 720 28 4 v 40 w(status)30 b
+Fk(rc)12 b Fm(\))390 829 y Fl(rc)6 b Fv(:)40 b(an)30
+b Fp(Punycode_status)d Fv(return)i(co)s(de.)390 964 y(Con)m(v)m(ert)35
b(a)f(return)e(co)s(de)i(in)m(teger)i(to)e(a)g(text)h(string.)51
b(This)33 b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)390
1073 y(diagnostic)e(message)f(to)g(the)g(user.)390 1208
-y Fl(PUNYCODE)p 932 1208 28 5 v 39 w(SUCCESS:)k Fx(Successful)j(op)s
+y Fj(PUNYCODE)p 932 1208 28 5 v 39 w(SUCCESS:)k Fv(Successful)j(op)s
(eration.)63 b(This)37 b(v)-5 b(alue)38 b(is)g(guaran)m(teed)h(to)f
(alw)m(a)m(ys)390 1318 y(b)s(e)33 b(zero,)j(the)e(remaining)g(ones)g
(are)g(only)g(guaran)m(teed)h(to)g(hold)e(non-zero)i(v)-5
b(alues,)35 b(for)e(logical)390 1427 y(comparison)e(purp)s(oses.)390
-1562 y Fl(PUNYCODE)p 932 1562 V 39 w(BAD)p 1175 1562
-V 39 w(INPUT:)g Fx(Input)e(is)i(in)m(v)-5 b(alid.)390
-1696 y Fl(PUNYCODE)p 932 1696 V 39 w(BIG)p 1143 1696
-V 40 w(OUTPUT:)31 b Fx(Output)f(w)m(ould)g(exceed)h(the)g(space)g(pro)m
-(vided.)390 1831 y Fl(PUNYCODE)p 932 1831 V 39 w(O)m(VERFLO)m(W:)g
-Fx(Input)e(needs)h(wider)g(in)m(tegers)h(to)g(pro)s(cess.)390
-1965 y Fl(Return)e(v)-5 b(alue:)40 b Fx(Returns)29 b(a)g(p)s(oin)m(ter)
+1562 y Fj(PUNYCODE)p 932 1562 V 39 w(BAD)p 1175 1562
+V 39 w(INPUT:)g Fv(Input)e(is)i(in)m(v)-5 b(alid.)390
+1696 y Fj(PUNYCODE)p 932 1696 V 39 w(BIG)p 1143 1696
+V 40 w(OUTPUT:)31 b Fv(Output)f(w)m(ould)g(exceed)h(the)g(space)g(pro)m
+(vided.)390 1831 y Fj(PUNYCODE)p 932 1831 V 39 w(O)m(VERFLO)m(W:)g
+Fv(Input)e(needs)h(wider)g(in)m(tegers)h(to)g(pro)s(cess.)390
+1965 y Fj(Return)e(v)-5 b(alue:)40 b Fv(Returns)29 b(a)g(p)s(oin)m(ter)
h(to)g(a)f(statically)j(allo)s(cated)f(string)f(con)m(taining)h(a)e
(descrip-)390 2075 y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e
-(co)s(de)h Fr(rc)p Fx(.)p eop end
+(co)s(de)h Fp(rc)p Fv(.)p eop end
%%Page: 25 30
-TeXDict begin 25 29 bop 150 -116 a Fx(Chapter)30 b(6:)41
-b(IDNA)31 b(F)-8 b(unctions)2390 b(25)150 299 y Fu(6)80
-b(IDNA)54 b(F)-13 b(unctions)150 580 y Fx(Un)m(til)30
+TeXDict begin 25 29 bop 150 -116 a Fv(Chapter)30 b(6:)41
+b(IDNA)31 b(F)-8 b(unctions)2390 b(25)150 299 y Fs(6)80
+b(IDNA)54 b(F)-13 b(unctions)150 580 y Fv(Un)m(til)30
b(no)m(w,)g(there)f(has)g(b)s(een)f(no)h(standard)f(metho)s(d)h(for)g
(domain)g(names)g(to)g(use)g(c)m(haracters)i(outside)150
690 y(the)26 b(ASCI)s(I)f(rep)s(ertoire.)39 b(The)26
(DNS,)g(so)f(that)150 1238 y(IDNs)f(can)h(b)s(e)e(in)m(tro)s(duced)h
(with)g(no)g(c)m(hanges)h(to)g(the)f(existing)h(infrastructure.)38
b(IDNA)26 b(is)f(only)g(mean)m(t)150 1347 y(for)30 b(pro)s(cessing)g
-(domain)h(names,)f(not)h(free)f(text.)150 1603 y Fw(6.1)68
-b(Header)46 b(\014le)f Fj(idna.h)150 1763 y Fx(T)-8 b(o)31
+(domain)h(names,)f(not)h(free)f(text.)150 1603 y Fu(6.1)68
+b(Header)46 b(\014le)f Fi(idna.h)150 1763 y Fv(T)-8 b(o)31
b(use)f(the)g(functions)g(explained)h(in)f(this)g(c)m(hapter,)i(y)m(ou)
-e(need)g(to)i(include)e(the)g(\014le)h(`)p Fr(idna.h)p
-Fx(')e(using:)390 1913 y Fr(#include)46 b(<idna.h>)150
-2169 y Fw(6.2)68 b(Con)l(trol)46 b(Flags)150 2328 y Fx(The)32
-b(IDNA)h Fr(flags)e Fx(parameter)j(can)f(tak)m(e)h(on)e(the)h(follo)m
+e(need)g(to)i(include)e(the)g(\014le)h(`)p Fp(idna.h)p
+Fv(')e(using:)390 1913 y Fp(#include)46 b(<idna.h>)150
+2169 y Fu(6.2)68 b(Con)l(trol)46 b(Flags)150 2328 y Fv(The)32
+b(IDNA)h Fp(flags)e Fv(parameter)j(can)f(tak)m(e)h(on)e(the)h(follo)m
(wing)h(v)-5 b(alues,)34 b(or)f(a)g(bit-wise)g(inclusiv)m(e)g(or)g(of)
150 2438 y(an)m(y)e(subset)f(of)g(the)h(parameters:)3211
-2653 y([Return)e(co)s(de])-3599 b Fp(Idna_flags)55 b
-(IDNA_ALLOW_UNASSIGNED)390 2763 y Fx(Allo)m(w)32 b(unassigned)d(Unico)s
+2653 y([Return)e(co)s(de])-3599 b Fn(Idna_flags)55 b
+(IDNA_ALLOW_UNASSIGNED)390 2763 y Fv(Allo)m(w)32 b(unassigned)d(Unico)s
(de)i(co)s(de)f(p)s(oin)m(ts.)3211 2979 y([Return)f(co)s(de])-3599
-b Fp(Idna_flags)55 b(IDNA_USE_STD3_ASCII_R)q(ULE)q(S)390
-3088 y Fx(Chec)m(k)31 b(output)f(to)h(mak)m(e)g(sure)f(it)h(is)f(a)h
-(STD3)f(conforming)h(host)f(name.)150 3344 y Fw(6.3)68
-b(Pre\014x)45 b(String)3449 3569 y Fx([Macro])-3598 b
-Fp(#define)54 b(IDNA_ACE_PREFIX)390 3679 y Fx(String)30
-b(with)g(the)h(o\016cial)g(IDNA)g(pre\014x,)f Fr(xn--)p
-Fx(.)150 3935 y Fw(6.4)68 b(Core)46 b(F)-11 b(unctions)150
-4094 y Fx(The)22 b(idea)g(b)s(ehind)f(the)h(IDNA)h(function)f(names)g
-(are)g(as)h(follo)m(ws:)38 b(the)22 b Fr(idna_to_ascii_4i)c
-Fx(and)j Fr(idna_)150 4204 y(to_unicode_44i)26 b Fx(functions)j(are)h
-(the)g(core)g(IDNA)h(primitiv)m(es.)41 b(The)29 b Fr(4)g
-Fx(indicate)i(that)f(the)g(function)150 4313 y(tak)m(es)e(UCS-4)f
+b Fn(Idna_flags)55 b(IDNA_USE_STD3_ASCII_R)q(ULE)q(S)390
+3088 y Fv(Chec)m(k)31 b(output)f(to)h(mak)m(e)g(sure)f(it)h(is)f(a)h
+(STD3)f(conforming)h(host)f(name.)150 3344 y Fu(6.3)68
+b(Pre\014x)45 b(String)3449 3569 y Fv([Macro])-3598 b
+Fn(#define)54 b(IDNA_ACE_PREFIX)390 3679 y Fv(String)30
+b(with)g(the)h(o\016cial)g(IDNA)g(pre\014x,)f Fp(xn--)p
+Fv(.)150 3935 y Fu(6.4)68 b(Core)46 b(F)-11 b(unctions)150
+4094 y Fv(The)22 b(idea)g(b)s(ehind)f(the)h(IDNA)h(function)f(names)g
+(are)g(as)h(follo)m(ws:)38 b(the)22 b Fp(idna_to_ascii_4i)c
+Fv(and)j Fp(idna_)150 4204 y(to_unicode_44i)26 b Fv(functions)j(are)h
+(the)g(core)g(IDNA)h(primitiv)m(es.)41 b(The)29 b Fp(4)g
+Fv(indicate)i(that)f(the)g(function)150 4313 y(tak)m(es)e(UCS-4)f
(strings)g(\(i.e.,)i(Unico)s(de)e(co)s(de)g(p)s(oin)m(ts)f(enco)s(ded)h
(in)f(a)i(32-bit)g(unsigned)d(in)m(teger)j(t)m(yp)s(e\))g(of)150
-4423 y(the)k(sp)s(eci\014ed)g(length.)46 b(The)32 b Fr(i)f
-Fx(indicate)i(that)g(the)f(data)h(is)f(written)g(\\inline")i(in)m(to)f
-(the)f(bu\013er.)45 b(This)150 4532 y(means)35 b(the)h(caller)g(is)g
-(resp)s(onsible)e(for)h(allo)s(cating)j(\(and)d(deallo)s(cating\))j
-(the)d(string,)i(and)e(pro)m(viding)150 4642 y(the)40
+4423 y(the)k(sp)s(eci\014ed)g(length.)46 b(The)32 b Fp(i)f
+Fv(indicate)i(that)g(the)f(data)h(is)f(written)g(\\inline")i(in)m(to)f
+(the)f(bu\013er.)45 b(This)150 4532 y(means)33 b(the)g(caller)h(is)f
+(resp)s(onsible)f(for)g(allo)s(cating)k(\(and)c(de-allo)s(cating\))k
+(the)d(string,)h(and)e(pro)m(viding)150 4642 y(the)40
b(library)f(with)h(the)g(allo)s(cated)i(length)e(of)g(the)g(string.)69
b(The)40 b(output)f(length)h(is)g(written)g(in)g(the)150
4751 y(output)33 b(length)h(v)-5 b(ariable.)51 b(The)33
-b(remaining)h(functions)f(all)i(con)m(tain)f(the)g Fr(z)f
-Fx(indicator,)j(whic)m(h)d(means)150 4861 y(the)h(strings)g(are)g(zero)
+b(remaining)h(functions)f(all)i(con)m(tain)f(the)g Fp(z)f
+Fv(indicator,)j(whic)m(h)d(means)150 4861 y(the)h(strings)g(are)g(zero)
h(terminated.)52 b(All)34 b(output)g(strings)g(are)g(allo)s(cated)i(b)m
(y)e(the)g(library)-8 b(,)35 b(and)e(m)m(ust)150 4971
-y(b)s(e)k(deallo)s(cated)i(b)m(y)f(the)f(caller.)64 b(The)37
-b Fr(4)g Fx(indicator)h(again)h(means)e(that)h(the)g(string)g(is)f
-(UCS-4,)j(the)150 5080 y Fr(8)35 b Fx(means)h(the)f(strings)h(are)g
-(UTF-8)g(and)f(the)h Fr(l)f Fx(indicator)h(means)f(the)h(strings)f(are)
+y(b)s(e)i(de-allo)s(cated)j(b)m(y)e(the)g(caller.)58
+b(The)35 b Fp(4)h Fv(indicator)g(again)h(means)f(that)g(the)g(string)g
+(is)f(UCS-4,)j(the)150 5080 y Fp(8)d Fv(means)h(the)f(strings)h(are)g
+(UTF-8)g(and)f(the)h Fp(l)f Fv(indicator)h(means)f(the)h(strings)f(are)
h(enco)s(ded)g(in)f(the)150 5190 y(enco)s(ding)30 b(used)g(b)m(y)g(the)
h(curren)m(t)f(lo)s(cale.)275 5340 y(The)f(functions)h(pro)m(vided)g
(are)h(the)g(follo)m(wing)g(en)m(try)g(p)s(oin)m(ts:)p
eop end
%%Page: 26 31
-TeXDict begin 26 30 bop 150 -116 a Fx(Chapter)30 b(6:)41
-b(IDNA)31 b(F)-8 b(unctions)2390 b(26)150 299 y Fq(idna)p
+TeXDict begin 26 30 bop 150 -116 a Fv(Chapter)30 b(6:)41
+b(IDNA)31 b(F)-8 b(unctions)2390 b(26)150 299 y Fo(idna)p
389 299 37 5 v 54 w(to)p 552 299 V 54 w(ascii)p 837 299
-V 54 w(4i)3350 487 y Fx([F)-8 b(unction])-3599 b Fp(int)53
-b(idna_to_ascii_4i)e Fo(\()p Fn(const)31 b(uin)m(t32)p
-1770 487 28 4 v 41 w(t)f(*)h Fm(in)12 b Fn(,)31 b(size)p
-2265 487 V 41 w(t)f Fm(inlen)12 b Fn(,)32 b(c)m(har)f(*)g
-Fm(out)12 b Fn(,)565 597 y(in)m(t)31 b Fm(flags)12 b
-Fo(\))390 706 y Fn(in)p Fx(:)40 b(input)30 b(arra)m(y)h(with)f(unico)s
-(de)g(co)s(de)g(p)s(oin)m(ts.)390 837 y Fn(inlen)p Fx(:)41
+V 54 w(4i)3350 487 y Fv([F)-8 b(unction])-3599 b Fn(int)53
+b(idna_to_ascii_4i)e Fm(\()p Fl(const)31 b(uin)m(t32)p
+1770 487 28 4 v 41 w(t)f(*)h Fk(in)12 b Fl(,)31 b(size)p
+2265 487 V 41 w(t)f Fk(inlen)12 b Fl(,)32 b(c)m(har)f(*)g
+Fk(out)12 b Fl(,)565 597 y(in)m(t)31 b Fk(flags)12 b
+Fm(\))390 706 y Fl(in)p Fv(:)40 b(input)30 b(arra)m(y)h(with)f(unico)s
+(de)g(co)s(de)g(p)s(oin)m(ts.)390 837 y Fl(inlen)p Fv(:)41
b(length)30 b(of)h(input)e(arra)m(y)i(with)f(unico)s(de)g(co)s(de)h(p)s
-(oin)m(ts.)390 967 y Fn(out)r Fx(:)54 b(output)37 b(zero)h(terminated)g
+(oin)m(ts.)390 967 y Fl(out)r Fv(:)54 b(output)37 b(zero)h(terminated)g
(string)f(that)g(m)m(ust)g(ha)m(v)m(e)i(ro)s(om)d(for)h(at)h(least)h
(63)e(c)m(haracters)390 1076 y(plus)29 b(the)i(terminating)g(zero.)390
-1207 y Fn(\015ags)t Fx(:)91 b(an)56 b Fr(Idna_flags)d
-Fx(v)-5 b(alue,)63 b(e.g.,)g Fr(IDNA_ALLOW_UNASSIGNED)50
-b Fx(or)56 b Fr(IDNA_USE_STD3_)390 1316 y(ASCII_RULES)p
-Fx(.)390 1446 y(The)34 b(T)-8 b(oASCI)s(I)33 b(op)s(eration)i(tak)m(es)
+1207 y Fl(\015ags)t Fv(:)91 b(an)56 b Fp(Idna_flags)d
+Fv(v)-5 b(alue,)63 b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50
+b Fv(or)56 b Fp(IDNA_USE_STD3_)390 1316 y(ASCII_RULES)p
+Fv(.)390 1446 y(The)34 b(T)-8 b(oASCI)s(I)33 b(op)s(eration)i(tak)m(es)
h(a)f(sequence)g(of)f(Unico)s(de)h(co)s(de)g(p)s(oin)m(ts)f(that)h(mak)
m(e)g(up)f(one)390 1556 y(domain)k(lab)s(el)h(and)e(transforms)h(it)g
(in)m(to)i(a)e(sequence)h(of)f(co)s(de)h(p)s(oin)m(ts)f(in)g(the)g
(fail\).)48 b(Applying)31 b(the)i(T)-8 b(oASCI)s(I)31
b(op)s(eration)i(m)m(ultiple)f(times)390 2933 y(has)e(exactly)i(the)f
(same)g(e\013ect)g(as)g(applying)f(it)h(just)f(once.)390
-3063 y Fl(Return)g(v)-5 b(alue:)41 b Fx(Returns)30 b(0)g(on)h(success,)
-f(or)h(an)f Fr(Idna_rc)e Fx(error)i(co)s(de.)150 3254
-y Fq(idna)p 389 3254 37 5 v 54 w(to)p 552 3254 V 54 w(unico)s(de)p
-1019 3254 V 55 w(44i)3350 3442 y Fx([F)-8 b(unction])-3599
-b Fp(int)53 b(idna_to_unicode_44i)e Fo(\()p Fn(const)32
-b(uin)m(t32)p 1927 3442 28 4 v 41 w(t)e(*)h Fm(in)12
-b Fn(,)31 b(size)p 2422 3442 V 41 w(t)f Fm(inlen)12 b
-Fn(,)32 b(uin)m(t32)p 3106 3442 V 41 w(t)565 3552 y(*)f
-Fm(out)12 b Fn(,)31 b(size)p 1012 3552 V 41 w(t)f(*)h
-Fm(outlen)12 b Fn(,)32 b(in)m(t)f Fm(flags)12 b Fo(\))390
-3661 y Fn(in)p Fx(:)40 b(input)30 b(arra)m(y)h(with)f(unico)s(de)g(co)s
-(de)g(p)s(oin)m(ts.)390 3791 y Fn(inlen)p Fx(:)41 b(length)30
+3063 y Fj(Return)g(v)-5 b(alue:)41 b Fv(Returns)30 b(0)g(on)h(success,)
+f(or)h(an)f Fp(Idna_rc)e Fv(error)i(co)s(de.)150 3254
+y Fo(idna)p 389 3254 37 5 v 54 w(to)p 552 3254 V 54 w(unico)s(de)p
+1019 3254 V 55 w(44i)3350 3442 y Fv([F)-8 b(unction])-3599
+b Fn(int)53 b(idna_to_unicode_44i)e Fm(\()p Fl(const)32
+b(uin)m(t32)p 1927 3442 28 4 v 41 w(t)e(*)h Fk(in)12
+b Fl(,)31 b(size)p 2422 3442 V 41 w(t)f Fk(inlen)12 b
+Fl(,)32 b(uin)m(t32)p 3106 3442 V 41 w(t)565 3552 y(*)f
+Fk(out)12 b Fl(,)31 b(size)p 1012 3552 V 41 w(t)f(*)h
+Fk(outlen)12 b Fl(,)32 b(in)m(t)f Fk(flags)12 b Fm(\))390
+3661 y Fl(in)p Fv(:)40 b(input)30 b(arra)m(y)h(with)f(unico)s(de)g(co)s
+(de)g(p)s(oin)m(ts.)390 3791 y Fl(inlen)p Fv(:)41 b(length)30
b(of)h(input)e(arra)m(y)i(with)f(unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)
-390 3922 y Fn(out)r Fx(:)41 b(output)30 b(arra)m(y)h(with)f(unico)s(de)
-g(co)s(de)g(p)s(oin)m(ts.)390 4052 y Fn(outlen)p Fx(:)50
+390 3922 y Fl(out)r Fv(:)41 b(output)30 b(arra)m(y)h(with)f(unico)s(de)
+g(co)s(de)g(p)s(oin)m(ts.)390 4052 y Fl(outlen)p Fv(:)50
b(on)35 b(input,)g(maxim)m(um)g(size)h(of)f(output)f(arra)m(y)i(with)e
(unico)s(de)h(co)s(de)g(p)s(oin)m(ts,)h(on)f(exit,)390
4162 y(actual)d(size)f(of)f(output)g(arra)m(y)h(with)f(unico)s(de)g(co)
-s(de)h(p)s(oin)m(ts.)390 4292 y Fn(\015ags)t Fx(:)91
-b(an)56 b Fr(Idna_flags)d Fx(v)-5 b(alue,)63 b(e.g.,)g
-Fr(IDNA_ALLOW_UNASSIGNED)50 b Fx(or)56 b Fr(IDNA_USE_STD3_)390
-4401 y(ASCII_RULES)p Fx(.)390 4532 y(The)28 b(T)-8 b(oUnico)s(de)30
+s(de)h(p)s(oin)m(ts.)390 4292 y Fl(\015ags)t Fv(:)91
+b(an)56 b Fp(Idna_flags)d Fv(v)-5 b(alue,)63 b(e.g.,)g
+Fp(IDNA_ALLOW_UNASSIGNED)50 b Fv(or)56 b Fp(IDNA_USE_STD3_)390
+4401 y(ASCII_RULES)p Fv(.)390 4532 y(The)28 b(T)-8 b(oUnico)s(de)30
b(op)s(eration)g(tak)m(es)g(a)f(sequence)h(of)f(Unico)s(de)g(co)s(de)g
(p)s(oin)m(ts)g(that)h(mak)m(e)g(up)e(one)390 4641 y(domain)g(lab)s(el)
h(and)e(returns)g(a)i(sequence)f(of)g(Unico)s(de)h(co)s(de)f(p)s(oin)m
b(can.)41 b(Note)28 b(that)g(the)g(n)m(um)m(b)s(er)e(of)i(o)s(ctets)g
(needed)p eop end
%%Page: 27 32
-TeXDict begin 27 31 bop 150 -116 a Fx(Chapter)30 b(6:)41
+TeXDict begin 27 31 bop 150 -116 a Fv(Chapter)30 b(6:)41
b(IDNA)31 b(F)-8 b(unctions)2390 b(27)390 299 y(to)32
b(represen)m(t)g(a)g(sequence)g(of)g(co)s(de)g(p)s(oin)m(ts)f(dep)s
(ends)f(on)i(the)g(particular)g(c)m(haracter)h(enco)s(ding)390
(wUnassigned)h(\015ag,)390 653 y(and)29 b(the)g(UseSTD3ASCI)s(IRules)g
(\015ag.)40 b(The)29 b(output)g(of)h(T)-8 b(oUnico)s(de)30
b(is)f(alw)m(a)m(ys)i(a)f(sequence)g(of)390 763 y(Unico)s(de)h(co)s(de)
-f(p)s(oin)m(ts.)390 898 y Fl(Return)g(v)-5 b(alue:)40
-b Fx(Returns)29 b Fr(Idna_rc)f Fx(error)i(condition,)h(but)e(it)h(m)m
+f(p)s(oin)m(ts.)390 898 y Fj(Return)g(v)-5 b(alue:)40
+b Fv(Returns)29 b Fp(Idna_rc)f Fv(error)i(condition,)h(but)e(it)h(m)m
(ust)g(only)g(b)s(e)g(used)f(for)g(debug-)390 1007 y(ging)37
b(purp)s(oses.)58 b(The)36 b(output)g(bu\013er)f(is)i(alw)m(a)m(ys)h
(guaran)m(teed)g(to)f(con)m(tain)h(the)f(correct)g(data)390
(c)h(induced)e(errors\).)39 b(NB!)28 b(This)e(means)h(that)h(y)m(ou)390
1226 y(normally)e(ignore)h(the)f(return)f(co)s(de)h(from)f(this)h
(function,)h(as)f(c)m(hec)m(king)h(it)g(means)f(breaking)g(the)390
-1336 y(standard.)150 1569 y Fw(6.5)68 b(Simpli\014ed)45
-b(T)-11 b(oASCI)t(I)44 b(In)l(terface)150 1793 y Fq(idna)p
+1336 y(standard.)150 1569 y Fu(6.5)68 b(Simpli\014ed)45
+b(T)-11 b(oASCI)t(I)44 b(In)l(terface)150 1793 y Fo(idna)p
389 1793 37 5 v 54 w(to)p 552 1793 V 54 w(ascii)p 837
-1793 V 54 w(4z)3350 1991 y Fx([F)-8 b(unction])-3599
-b Fp(int)53 b(idna_to_ascii_4z)e Fo(\()p Fn(const)31
-b(uin)m(t32)p 1770 1991 28 4 v 41 w(t)f(*)h Fm(input)12
-b Fn(,)32 b(c)m(har)f(**)g Fm(output)12 b Fn(,)32 b(in)m(t)565
-2100 y Fm(flags)12 b Fo(\))390 2210 y Fn(input)r Fx(:)40
+1793 V 54 w(4z)3350 1991 y Fv([F)-8 b(unction])-3599
+b Fn(int)53 b(idna_to_ascii_4z)e Fm(\()p Fl(const)31
+b(uin)m(t32)p 1770 1991 28 4 v 41 w(t)f(*)h Fk(input)12
+b Fl(,)32 b(c)m(har)f(**)g Fk(output)12 b Fl(,)32 b(in)m(t)565
+2100 y Fk(flags)12 b Fm(\))390 2210 y Fl(input)r Fv(:)40
b(zero)31 b(terminated)g(input)e(Unico)s(de)i(string.)390
-2345 y Fn(output)r Fx(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s
-(cated)i(output)e(string.)390 2480 y Fn(\015ags)t Fx(:)91
-b(an)56 b Fr(Idna_flags)d Fx(v)-5 b(alue,)63 b(e.g.,)g
-Fr(IDNA_ALLOW_UNASSIGNED)50 b Fx(or)56 b Fr(IDNA_USE_STD3_)390
-2589 y(ASCII_RULES)p Fx(.)390 2724 y(Con)m(v)m(ert)25
+2345 y Fl(output)r Fv(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s
+(cated)i(output)e(string.)390 2480 y Fl(\015ags)t Fv(:)91
+b(an)56 b Fp(Idna_flags)d Fv(v)-5 b(alue,)63 b(e.g.,)g
+Fp(IDNA_ALLOW_UNASSIGNED)50 b Fv(or)56 b Fp(IDNA_USE_STD3_)390
+2589 y(ASCII_RULES)p Fv(.)390 2724 y(Con)m(v)m(ert)25
b(UCS-4)g(domain)f(name)g(to)h(ASCI)s(I)e(string.)39
b(The)23 b(domain)i(name)f(ma)m(y)h(con)m(tain)h(sev)m(eral)390
2834 y(lab)s(els,)31 b(separated)g(b)m(y)f(dots.)41 b(The)30
b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m(y)e(the)h
-(caller.)390 2969 y Fl(Return)f(v)-5 b(alue:)41 b Fx(Returns)30
-b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f(error)g(co)s(de.)150
-3169 y Fq(idna)p 389 3169 37 5 v 54 w(to)p 552 3169 V
-54 w(ascii)p 837 3169 V 54 w(8z)3350 3366 y Fx([F)-8
-b(unction])-3599 b Fp(int)53 b(idna_to_ascii_8z)e Fo(\()p
-Fn(const)31 b(c)m(har)g(*)f Fm(input)12 b Fn(,)32 b(c)m(har)f(**)g
-Fm(output)12 b Fn(,)32 b(in)m(t)565 3476 y Fm(flags)12
-b Fo(\))390 3585 y Fn(input)r Fx(:)40 b(zero)31 b(terminated)g(input)e
-(UTF-8)i(string.)390 3720 y Fn(output)r Fx(:)40 b(p)s(oin)m(ter)31
+(caller.)390 2969 y Fj(Return)f(v)-5 b(alue:)41 b Fv(Returns)30
+b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f(error)g(co)s(de.)150
+3169 y Fo(idna)p 389 3169 37 5 v 54 w(to)p 552 3169 V
+54 w(ascii)p 837 3169 V 54 w(8z)3350 3366 y Fv([F)-8
+b(unction])-3599 b Fn(int)53 b(idna_to_ascii_8z)e Fm(\()p
+Fl(const)31 b(c)m(har)g(*)f Fk(input)12 b Fl(,)32 b(c)m(har)f(**)g
+Fk(output)12 b Fl(,)32 b(in)m(t)565 3476 y Fk(flags)12
+b Fm(\))390 3585 y Fl(input)r Fv(:)40 b(zero)31 b(terminated)g(input)e
+(UTF-8)i(string.)390 3720 y Fl(output)r Fv(:)40 b(p)s(oin)m(ter)31
b(to)g(newly)f(allo)s(cated)i(output)e(string.)390 3855
-y Fn(\015ags)t Fx(:)91 b(an)56 b Fr(Idna_flags)d Fx(v)-5
-b(alue,)63 b(e.g.,)g Fr(IDNA_ALLOW_UNASSIGNED)50 b Fx(or)56
-b Fr(IDNA_USE_STD3_)390 3965 y(ASCII_RULES)p Fx(.)390
+y Fl(\015ags)t Fv(:)91 b(an)56 b Fp(Idna_flags)d Fv(v)-5
+b(alue,)63 b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50 b Fv(or)56
+b Fp(IDNA_USE_STD3_)390 3965 y(ASCII_RULES)p Fv(.)390
4100 y(Con)m(v)m(ert)24 b(UTF-8)h(domain)e(name)h(to)g(ASCI)s(I)e
(string.)38 b(The)24 b(domain)f(name)h(ma)m(y)g(con)m(tain)h(sev)m
(eral)390 4209 y(lab)s(els,)31 b(separated)g(b)m(y)f(dots.)41
b(The)30 b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m
-(y)e(the)h(caller.)390 4344 y Fl(Return)f(v)-5 b(alue:)41
-b Fx(Returns)30 b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f(error)g(co)
-s(de.)150 4544 y Fq(idna)p 389 4544 V 54 w(to)p 552 4544
-V 54 w(ascii)p 837 4544 V 54 w(lz)3350 4741 y Fx([F)-8
-b(unction])-3599 b Fp(int)53 b(idna_to_ascii_lz)e Fo(\()p
-Fn(const)31 b(c)m(har)g(*)f Fm(input)12 b Fn(,)32 b(c)m(har)f(**)g
-Fm(output)12 b Fn(,)32 b(in)m(t)565 4851 y Fm(flags)12
-b Fo(\))390 4960 y Fn(input)r Fx(:)40 b(zero)31 b(terminated)g(input)e
+(y)e(the)h(caller.)390 4344 y Fj(Return)f(v)-5 b(alue:)41
+b Fv(Returns)30 b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f(error)g(co)
+s(de.)150 4544 y Fo(idna)p 389 4544 V 54 w(to)p 552 4544
+V 54 w(ascii)p 837 4544 V 54 w(lz)3350 4741 y Fv([F)-8
+b(unction])-3599 b Fn(int)53 b(idna_to_ascii_lz)e Fm(\()p
+Fl(const)31 b(c)m(har)g(*)f Fk(input)12 b Fl(,)32 b(c)m(har)f(**)g
+Fk(output)12 b Fl(,)32 b(in)m(t)565 4851 y Fk(flags)12
+b Fm(\))390 4960 y Fl(input)r Fv(:)40 b(zero)31 b(terminated)g(input)e
(string)i(enco)s(ded)f(in)g(the)g(curren)m(t)g(lo)s(cale's)j(c)m
-(haracter)f(set.)390 5095 y Fn(output)r Fx(:)40 b(p)s(oin)m(ter)31
+(haracter)f(set.)390 5095 y Fl(output)r Fv(:)40 b(p)s(oin)m(ter)31
b(to)g(newly)f(allo)s(cated)i(output)e(string.)390 5230
-y Fn(\015ags)t Fx(:)91 b(an)56 b Fr(Idna_flags)d Fx(v)-5
-b(alue,)63 b(e.g.,)g Fr(IDNA_ALLOW_UNASSIGNED)50 b Fx(or)56
-b Fr(IDNA_USE_STD3_)390 5340 y(ASCII_RULES)p Fx(.)p eop
+y Fl(\015ags)t Fv(:)91 b(an)56 b Fp(Idna_flags)d Fv(v)-5
+b(alue,)63 b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50 b Fv(or)56
+b Fp(IDNA_USE_STD3_)390 5340 y(ASCII_RULES)p Fv(.)p eop
end
%%Page: 28 33
-TeXDict begin 28 32 bop 150 -116 a Fx(Chapter)30 b(6:)41
+TeXDict begin 28 32 bop 150 -116 a Fv(Chapter)30 b(6:)41
b(IDNA)31 b(F)-8 b(unctions)2390 b(28)390 299 y(Con)m(v)m(ert)37
b(domain)f(name)g(in)f(the)h(lo)s(cale's)i(enco)s(ding)e(to)h(ASCI)s(I)
d(string.)58 b(The)35 b(domain)h(name)390 408 y(ma)m(y)27
b(con)m(tain)g(sev)m(eral)h(lab)s(els,)f(separated)g(b)m(y)f(dots.)39
b(The)26 b(output)f(bu\013er)h(m)m(ust)g(b)s(e)f(deallo)s(cated)390
-518 y(b)m(y)30 b(the)h(caller.)390 651 y Fl(Return)f(v)-5
-b(alue:)41 b Fx(Returns)30 b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f
-(error)g(co)s(de.)150 881 y Fw(6.6)68 b(Simpli\014ed)45
-b(T)-11 b(oUnico)t(de)45 b(In)l(terface)150 1104 y Fq(idna)p
+518 y(b)m(y)30 b(the)h(caller.)390 651 y Fj(Return)f(v)-5
+b(alue:)41 b Fv(Returns)30 b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f
+(error)g(co)s(de.)150 881 y Fu(6.6)68 b(Simpli\014ed)45
+b(T)-11 b(oUnico)t(de)45 b(In)l(terface)150 1104 y Fo(idna)p
389 1104 37 5 v 54 w(to)p 552 1104 V 54 w(unico)s(de)p
-1019 1104 V 55 w(4z4z)3350 1298 y Fx([F)-8 b(unction])-3599
-b Fp(int)53 b(idna_to_unicode_4z4z)f Fo(\()p Fn(const)31
-b(uin)m(t32)p 1979 1298 28 4 v 41 w(t)g(*)f Fm(input)12
-b Fn(,)32 b(uin)m(t32)p 2739 1298 V 41 w(t)f(**)565 1408
-y Fm(output)12 b Fn(,)32 b(in)m(t)f Fm(flags)12 b Fo(\))390
-1517 y Fn(input)r Fx(:)40 b(zero-terminated)32 b(Unico)s(de)e(string.)
-390 1651 y Fn(output)r Fx(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s
-(cated)i(output)e(Unico)s(de)h(string.)390 1784 y Fn(\015ags)t
-Fx(:)91 b(an)56 b Fr(Idna_flags)d Fx(v)-5 b(alue,)63
-b(e.g.,)g Fr(IDNA_ALLOW_UNASSIGNED)50 b Fx(or)56 b Fr(IDNA_USE_STD3_)
-390 1893 y(ASCII_RULES)p Fx(.)390 2027 y(Con)m(v)m(ert)34
+1019 1104 V 55 w(4z4z)3350 1298 y Fv([F)-8 b(unction])-3599
+b Fn(int)53 b(idna_to_unicode_4z4z)f Fm(\()p Fl(const)31
+b(uin)m(t32)p 1979 1298 28 4 v 41 w(t)g(*)f Fk(input)12
+b Fl(,)32 b(uin)m(t32)p 2739 1298 V 41 w(t)f(**)565 1408
+y Fk(output)12 b Fl(,)32 b(in)m(t)f Fk(flags)12 b Fm(\))390
+1517 y Fl(input)r Fv(:)40 b(zero-terminated)32 b(Unico)s(de)e(string.)
+390 1651 y Fl(output)r Fv(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s
+(cated)i(output)e(Unico)s(de)h(string.)390 1784 y Fl(\015ags)t
+Fv(:)91 b(an)56 b Fp(Idna_flags)d Fv(v)-5 b(alue,)63
+b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50 b Fv(or)56 b Fp(IDNA_USE_STD3_)
+390 1893 y(ASCII_RULES)p Fv(.)390 2027 y(Con)m(v)m(ert)34
b(p)s(ossibly)d(A)m(CE)i(enco)s(ded)g(domain)f(name)h(in)f(UCS-4)h
(format)g(in)m(to)h(a)f(UCS-4)g(string.)390 2136 y(The)f(domain)g(name)
g(ma)m(y)h(con)m(tain)g(sev)m(eral)h(lab)s(els,)f(separated)g(b)m(y)f
(dots.)46 b(The)32 b(output)g(bu\013er)390 2246 y(m)m(ust)e(b)s(e)g
-(deallo)s(cated)i(b)m(y)f(the)f(caller.)390 2379 y Fl(Return)g(v)-5
-b(alue:)41 b Fx(Returns)30 b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f
-(error)g(co)s(de.)150 2576 y Fq(idna)p 389 2576 37 5
+(deallo)s(cated)i(b)m(y)f(the)f(caller.)390 2379 y Fj(Return)g(v)-5
+b(alue:)41 b Fv(Returns)30 b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f
+(error)g(co)s(de.)150 2576 y Fo(idna)p 389 2576 37 5
v 54 w(to)p 552 2576 V 54 w(unico)s(de)p 1019 2576 V
-55 w(8z4z)3350 2770 y Fx([F)-8 b(unction])-3599 b Fp(int)53
-b(idna_to_unicode_8z4z)f Fo(\()p Fn(const)31 b(c)m(har)g(*)f
-Fm(input)12 b Fn(,)32 b(uin)m(t32)p 2583 2770 28 4 v
-41 w(t)f(**)g Fm(output)12 b Fn(,)565 2879 y(in)m(t)31
-b Fm(flags)12 b Fo(\))390 2989 y Fn(input)r Fx(:)40 b(zero-terminated)
-32 b(UTF-8)f(string.)390 3122 y Fn(output)r Fx(:)40 b(p)s(oin)m(ter)31
+55 w(8z4z)3350 2770 y Fv([F)-8 b(unction])-3599 b Fn(int)53
+b(idna_to_unicode_8z4z)f Fm(\()p Fl(const)31 b(c)m(har)g(*)f
+Fk(input)12 b Fl(,)32 b(uin)m(t32)p 2583 2770 28 4 v
+41 w(t)f(**)g Fk(output)12 b Fl(,)565 2879 y(in)m(t)31
+b Fk(flags)12 b Fm(\))390 2989 y Fl(input)r Fv(:)40 b(zero-terminated)
+32 b(UTF-8)f(string.)390 3122 y Fl(output)r Fv(:)40 b(p)s(oin)m(ter)31
b(to)g(newly)f(allo)s(cated)i(output)e(Unico)s(de)h(string.)390
-3255 y Fn(\015ags)t Fx(:)91 b(an)56 b Fr(Idna_flags)d
-Fx(v)-5 b(alue,)63 b(e.g.,)g Fr(IDNA_ALLOW_UNASSIGNED)50
-b Fx(or)56 b Fr(IDNA_USE_STD3_)390 3365 y(ASCII_RULES)p
-Fx(.)390 3498 y(Con)m(v)m(ert)33 b(p)s(ossibly)e(A)m(CE)h(enco)s(ded)g
+3255 y Fl(\015ags)t Fv(:)91 b(an)56 b Fp(Idna_flags)d
+Fv(v)-5 b(alue,)63 b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50
+b Fv(or)56 b Fp(IDNA_USE_STD3_)390 3365 y(ASCII_RULES)p
+Fv(.)390 3498 y(Con)m(v)m(ert)33 b(p)s(ossibly)e(A)m(CE)h(enco)s(ded)g
(domain)f(name)i(in)e(UTF-8)i(format)f(in)m(to)h(a)g(UCS-4)f(string.)
390 3608 y(The)g(domain)g(name)g(ma)m(y)h(con)m(tain)g(sev)m(eral)h
(lab)s(els,)f(separated)g(b)m(y)f(dots.)46 b(The)32 b(output)g
(bu\013er)390 3717 y(m)m(ust)e(b)s(e)g(deallo)s(cated)i(b)m(y)f(the)f
-(caller.)390 3851 y Fl(Return)g(v)-5 b(alue:)41 b Fx(Returns)30
-b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f(error)g(co)s(de.)150
-4047 y Fq(idna)p 389 4047 37 5 v 54 w(to)p 552 4047 V
-54 w(unico)s(de)p 1019 4047 V 55 w(8z8z)3350 4242 y Fx([F)-8
-b(unction])-3599 b Fp(int)53 b(idna_to_unicode_8z8z)f
-Fo(\()p Fn(const)31 b(c)m(har)g(*)f Fm(input)12 b Fn(,)32
-b(c)m(har)f(**)g Fm(output)12 b Fn(,)32 b(in)m(t)565
-4351 y Fm(flags)12 b Fo(\))390 4461 y Fn(input)r Fx(:)40
-b(zero-terminated)32 b(UTF-8)f(string.)390 4594 y Fn(output)r
-Fx(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s(cated)i(output)e
-(UTF-8)h(string.)390 4727 y Fn(\015ags)t Fx(:)91 b(an)56
-b Fr(Idna_flags)d Fx(v)-5 b(alue,)63 b(e.g.,)g Fr
-(IDNA_ALLOW_UNASSIGNED)50 b Fx(or)56 b Fr(IDNA_USE_STD3_)390
-4837 y(ASCII_RULES)p Fx(.)390 4970 y(Con)m(v)m(ert)32
+(caller.)390 3851 y Fj(Return)g(v)-5 b(alue:)41 b Fv(Returns)30
+b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f(error)g(co)s(de.)150
+4047 y Fo(idna)p 389 4047 37 5 v 54 w(to)p 552 4047 V
+54 w(unico)s(de)p 1019 4047 V 55 w(8z8z)3350 4242 y Fv([F)-8
+b(unction])-3599 b Fn(int)53 b(idna_to_unicode_8z8z)f
+Fm(\()p Fl(const)31 b(c)m(har)g(*)f Fk(input)12 b Fl(,)32
+b(c)m(har)f(**)g Fk(output)12 b Fl(,)32 b(in)m(t)565
+4351 y Fk(flags)12 b Fm(\))390 4461 y Fl(input)r Fv(:)40
+b(zero-terminated)32 b(UTF-8)f(string.)390 4594 y Fl(output)r
+Fv(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s(cated)i(output)e
+(UTF-8)h(string.)390 4727 y Fl(\015ags)t Fv(:)91 b(an)56
+b Fp(Idna_flags)d Fv(v)-5 b(alue,)63 b(e.g.,)g Fp
+(IDNA_ALLOW_UNASSIGNED)50 b Fv(or)56 b Fp(IDNA_USE_STD3_)390
+4837 y(ASCII_RULES)p Fv(.)390 4970 y(Con)m(v)m(ert)32
b(p)s(ossibly)e(A)m(CE)i(enco)s(ded)f(domain)g(name)g(in)g(UTF-8)h
(format)g(in)m(to)g(a)g(UTF-8)g(string.)390 5080 y(The)g(domain)g(name)
g(ma)m(y)h(con)m(tain)g(sev)m(eral)h(lab)s(els,)f(separated)g(b)m(y)f
(dots.)46 b(The)32 b(output)g(bu\013er)390 5189 y(m)m(ust)e(b)s(e)g
-(deallo)s(cated)i(b)m(y)f(the)f(caller.)390 5322 y Fl(Return)g(v)-5
-b(alue:)41 b Fx(Returns)30 b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f
+(deallo)s(cated)i(b)m(y)f(the)f(caller.)390 5322 y Fj(Return)g(v)-5
+b(alue:)41 b Fv(Returns)30 b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f
(error)g(co)s(de.)p eop end
%%Page: 29 34
-TeXDict begin 29 33 bop 150 -116 a Fx(Chapter)30 b(6:)41
-b(IDNA)31 b(F)-8 b(unctions)2390 b(29)150 299 y Fq(idna)p
+TeXDict begin 29 33 bop 150 -116 a Fv(Chapter)30 b(6:)41
+b(IDNA)31 b(F)-8 b(unctions)2390 b(29)150 299 y Fo(idna)p
389 299 37 5 v 54 w(to)p 552 299 V 54 w(unico)s(de)p
-1019 299 V 55 w(8zlz)3350 491 y Fx([F)-8 b(unction])-3599
-b Fp(int)53 b(idna_to_unicode_8zlz)f Fo(\()p Fn(const)31
-b(c)m(har)g(*)f Fm(input)12 b Fn(,)32 b(c)m(har)f(**)g
-Fm(output)12 b Fn(,)32 b(in)m(t)565 600 y Fm(flags)12
-b Fo(\))390 710 y Fn(input)r Fx(:)40 b(zero-terminated)32
-b(UTF-8)f(string.)390 842 y Fn(output)r Fx(:)71 b(p)s(oin)m(ter)45
+1019 299 V 55 w(8zlz)3350 491 y Fv([F)-8 b(unction])-3599
+b Fn(int)53 b(idna_to_unicode_8zlz)f Fm(\()p Fl(const)31
+b(c)m(har)g(*)f Fk(input)12 b Fl(,)32 b(c)m(har)f(**)g
+Fk(output)12 b Fl(,)32 b(in)m(t)565 600 y Fk(flags)12
+b Fm(\))390 710 y Fl(input)r Fv(:)40 b(zero-terminated)32
+b(UTF-8)f(string.)390 842 y Fl(output)r Fv(:)71 b(p)s(oin)m(ter)45
b(to)h(newly)g(allo)s(cated)h(output)e(string)h(enco)s(ded)f(in)g(the)h
(curren)m(t)f(lo)s(cale's)390 952 y(c)m(haracter)32 b(set.)390
-1084 y Fn(\015ags)t Fx(:)91 b(an)56 b Fr(Idna_flags)d
-Fx(v)-5 b(alue,)63 b(e.g.,)g Fr(IDNA_ALLOW_UNASSIGNED)50
-b Fx(or)56 b Fr(IDNA_USE_STD3_)390 1193 y(ASCII_RULES)p
-Fx(.)390 1325 y(Con)m(v)m(ert)30 b(p)s(ossibly)e(A)m(CE)h(enco)s(ded)g
+1084 y Fl(\015ags)t Fv(:)91 b(an)56 b Fp(Idna_flags)d
+Fv(v)-5 b(alue,)63 b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50
+b Fv(or)56 b Fp(IDNA_USE_STD3_)390 1193 y(ASCII_RULES)p
+Fv(.)390 1325 y(Con)m(v)m(ert)30 b(p)s(ossibly)e(A)m(CE)h(enco)s(ded)g
(domain)g(name)g(in)g(UTF-8)g(format)h(in)m(to)g(a)f(string)g(enco)s
(ded)390 1435 y(in)35 b(the)h(curren)m(t)f(lo)s(cale's)i(c)m(haracter)g
(set.)57 b(The)35 b(domain)g(name)h(ma)m(y)g(con)m(tain)h(sev)m(eral)f
(lab)s(els,)390 1545 y(separated)31 b(b)m(y)f(dots.)41
b(The)30 b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m
-(y)f(the)f(caller.)390 1677 y Fl(Return)g(v)-5 b(alue:)41
-b Fx(Returns)30 b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f(error)g(co)
-s(de.)150 1871 y Fq(idna)p 389 1871 V 54 w(to)p 552 1871
+(y)f(the)f(caller.)390 1677 y Fj(Return)g(v)-5 b(alue:)41
+b Fv(Returns)30 b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f(error)g(co)
+s(de.)150 1871 y Fo(idna)p 389 1871 V 54 w(to)p 552 1871
V 54 w(unico)s(de)p 1019 1871 V 55 w(lzlz)3350 2063 y
-Fx([F)-8 b(unction])-3599 b Fp(int)53 b(idna_to_unicode_lzlz)f
-Fo(\()p Fn(const)31 b(c)m(har)g(*)f Fm(input)12 b Fn(,)32
-b(c)m(har)f(**)g Fm(output)12 b Fn(,)32 b(in)m(t)565
-2173 y Fm(flags)12 b Fo(\))390 2282 y Fn(input)r Fx(:)40
+Fv([F)-8 b(unction])-3599 b Fn(int)53 b(idna_to_unicode_lzlz)f
+Fm(\()p Fl(const)31 b(c)m(har)g(*)f Fk(input)12 b Fl(,)32
+b(c)m(har)f(**)g Fk(output)12 b Fl(,)32 b(in)m(t)565
+2173 y Fk(flags)12 b Fm(\))390 2282 y Fl(input)r Fv(:)40
b(zero-terminated)32 b(string)e(enco)s(ded)g(in)g(the)h(curren)m(t)f
-(lo)s(cale's)i(c)m(haracter)g(set.)390 2414 y Fn(output)r
-Fx(:)71 b(p)s(oin)m(ter)45 b(to)h(newly)g(allo)s(cated)h(output)e
+(lo)s(cale's)i(c)m(haracter)g(set.)390 2414 y Fl(output)r
+Fv(:)71 b(p)s(oin)m(ter)45 b(to)h(newly)g(allo)s(cated)h(output)e
(string)h(enco)s(ded)f(in)g(the)h(curren)m(t)f(lo)s(cale's)390
-2524 y(c)m(haracter)32 b(set.)390 2656 y Fn(\015ags)t
-Fx(:)91 b(an)56 b Fr(Idna_flags)d Fx(v)-5 b(alue,)63
-b(e.g.,)g Fr(IDNA_ALLOW_UNASSIGNED)50 b Fx(or)56 b Fr(IDNA_USE_STD3_)
-390 2765 y(ASCII_RULES)p Fx(.)390 2898 y(Con)m(v)m(ert)25
+2524 y(c)m(haracter)32 b(set.)390 2656 y Fl(\015ags)t
+Fv(:)91 b(an)56 b Fp(Idna_flags)d Fv(v)-5 b(alue,)63
+b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50 b Fv(or)56 b Fp(IDNA_USE_STD3_)
+390 2765 y(ASCII_RULES)p Fv(.)390 2898 y(Con)m(v)m(ert)25
b(p)s(ossibly)e(A)m(CE)h(enco)s(ded)g(domain)g(name)g(in)g(the)g(lo)s
(cale's)i(c)m(haracter)g(set)e(in)m(to)h(a)g(string)390
3007 y(enco)s(ded)30 b(in)g(the)h(curren)m(t)f(lo)s(cale's)i(c)m
(haracter)g(set.)42 b(The)30 b(domain)g(name)h(ma)m(y)g(con)m(tain)h
(sev)m(eral)390 3117 y(lab)s(els,)f(separated)g(b)m(y)f(dots.)41
b(The)30 b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m
-(y)e(the)h(caller.)390 3249 y Fl(Return)f(v)-5 b(alue:)41
-b Fx(Returns)30 b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f(error)g(co)
-s(de.)150 3476 y Fw(6.7)68 b(Error)45 b(Handling)150
-3698 y Fq(idna)p 389 3698 V 54 w(strerror)3350 3890 y
-Fx([F)-8 b(unction])-3599 b Fp(const)54 b(char)f(*)g(idna_strerror)c
-Fo(\()p Fn(Idna)p 1776 3890 28 4 v 40 w(rc)30 b Fm(rc)12
-b Fo(\))390 4000 y Fn(rc)6 b Fx(:)40 b(an)30 b Fr(Idna_rc)f
-Fx(return)g(co)s(de.)390 4132 y(Con)m(v)m(ert)35 b(a)f(return)e(co)s
+(y)e(the)h(caller.)390 3249 y Fj(Return)f(v)-5 b(alue:)41
+b Fv(Returns)30 b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f(error)g(co)
+s(de.)150 3476 y Fu(6.7)68 b(Error)45 b(Handling)150
+3698 y Fo(idna)p 389 3698 V 54 w(strerror)3350 3890 y
+Fv([F)-8 b(unction])-3599 b Fn(const)54 b(char)f(*)g(idna_strerror)c
+Fm(\()p Fl(Idna)p 1776 3890 28 4 v 40 w(rc)30 b Fk(rc)12
+b Fm(\))390 4000 y Fl(rc)6 b Fv(:)40 b(an)30 b Fp(Idna_rc)f
+Fv(return)g(co)s(de.)390 4132 y(Con)m(v)m(ert)35 b(a)f(return)e(co)s
(de)i(in)m(teger)i(to)e(a)g(text)h(string.)51 b(This)33
b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)390 4241
y(diagnostic)e(message)f(to)g(the)g(user.)390 4373 y
-Fl(IDNA)p 642 4373 28 5 v 40 w(SUCCESS:)e Fx(Successful)j(op)s
+Fj(IDNA)p 642 4373 28 5 v 40 w(SUCCESS:)e Fv(Successful)j(op)s
(eration.)47 b(This)31 b(v)-5 b(alue)33 b(is)f(guaran)m(teed)i(to)f
(alw)m(a)m(ys)g(b)s(e)f(zero,)390 4483 y(the)23 b(remaining)f(ones)h
(are)g(only)g(guaran)m(teed)g(to)g(hold)g(non-zero)g(v)-5
b(alues,)24 b(for)f(logical)i(comparison)390 4593 y(purp)s(oses.)390
-4725 y Fl(IDNA)p 642 4725 V 40 w(STRINGPREP)p 1296 4725
-V 40 w(ERR)m(OR:)31 b Fx(Error)f(during)f(string)h(preparation.)390
-4857 y Fl(IDNA)p 642 4857 V 40 w(PUNYCODE)p 1218 4857
-V 39 w(ERR)m(OR:)h Fx(Error)e(during)g(pun)m(yco)s(de)h(op)s(eration.)
-390 4989 y Fl(IDNA)p 642 4989 V 40 w(CONT)-8 b(AINS)p
-1169 4989 V 40 w(NON)p 1419 4989 V 40 w(LDH:)80 b Fx(F)-8
+4725 y Fj(IDNA)p 642 4725 V 40 w(STRINGPREP)p 1296 4725
+V 40 w(ERR)m(OR:)31 b Fv(Error)f(during)f(string)h(preparation.)390
+4857 y Fj(IDNA)p 642 4857 V 40 w(PUNYCODE)p 1218 4857
+V 39 w(ERR)m(OR:)h Fv(Error)e(during)g(pun)m(yco)s(de)h(op)s(eration.)
+390 4989 y Fj(IDNA)p 642 4989 V 40 w(CONT)-8 b(AINS)p
+1169 4989 V 40 w(NON)p 1419 4989 V 40 w(LDH:)80 b Fv(F)-8
b(or)81 b(IDNA)p 2211 4989 28 4 v 41 w(USE)p 2433 4989
V 39 w(STD3)p 2703 4989 V 40 w(ASCI)s(I)p 2997 4989 V
39 w(R)m(ULES,)f(indicate)390 5098 y(that)31 b(the)g(string)f(con)m
(tains)h(non-LDH)g(ASCI)s(I)e(c)m(haracters.)390 5230
-y Fl(IDNA)p 642 5230 28 5 v 40 w(CONT)-8 b(AINS)p 1169
-5230 V 40 w(MINUS:)52 b Fx(F)-8 b(or)52 b(IDNA)p 2022
+y Fj(IDNA)p 642 5230 28 5 v 40 w(CONT)-8 b(AINS)p 1169
+5230 V 40 w(MINUS:)52 b Fv(F)-8 b(or)52 b(IDNA)p 2022
5230 28 4 v 40 w(USE)p 2243 5230 V 40 w(STD3)p 2514 5230
V 40 w(ASCI)s(I)p 2808 5230 V 39 w(R)m(ULES,)f(indicate)h(that)390
5340 y(the)31 b(string)f(con)m(tains)h(a)g(leading)g(or)g(trailing)g(h)
-m(yphen-min)m(us)e(\(U)p Fr(+)p Fx(002D\).)p eop end
+m(yphen-min)m(us)e(\(U)p Fp(+)p Fv(002D\).)p eop end
%%Page: 30 35
-TeXDict begin 30 34 bop 150 -116 a Fx(Chapter)30 b(6:)41
-b(IDNA)31 b(F)-8 b(unctions)2390 b(30)390 299 y Fl(IDNA)p
+TeXDict begin 30 34 bop 150 -116 a Fv(Chapter)30 b(6:)41
+b(IDNA)31 b(F)-8 b(unctions)2390 b(30)390 299 y Fj(IDNA)p
642 299 28 5 v 40 w(INV)-10 b(ALID)p 1078 299 V 39 w(LENGTH:)47
-b Fx(The)f(\014nal)g(output)g(string)g(is)h(not)g(within)f(the)g
+b Fv(The)f(\014nal)g(output)g(string)g(is)h(not)g(within)f(the)g
(\(inclusiv)m(e\))390 408 y(range)31 b(1)f(to)i(63)f(c)m(haracters.)390
-543 y Fl(IDNA)p 642 543 V 40 w(NO)p 821 543 V 40 w(A)m(CE)p
-1053 543 V 40 w(PREFIX:)i Fx(The)h(string)f(do)s(es)h(not)g(con)m(tain)
+543 y Fj(IDNA)p 642 543 V 40 w(NO)p 821 543 V 40 w(A)m(CE)p
+1053 543 V 40 w(PREFIX:)i Fv(The)h(string)f(do)s(es)h(not)g(con)m(tain)
h(the)f(A)m(CE)g(pre\014x)f(\(for)h(T)-8 b(oUni-)390
-653 y(co)s(de\).)390 787 y Fl(IDNA)p 642 787 V 40 w(R)m(OUNDTRIP)p
+653 y(co)s(de\).)390 787 y Fj(IDNA)p 642 787 V 40 w(R)m(OUNDTRIP)p
1257 787 V 41 w(VERIFY)p 1658 787 V 39 w(ERR)m(OR:)37
-b Fx(The)g(T)-8 b(oASCI)s(I)36 b(op)s(eration)h(on)g(output)f(string)
+b Fv(The)g(T)-8 b(oASCI)s(I)36 b(op)s(eration)h(on)g(output)f(string)
390 897 y(do)s(es)30 b(not)h(equal)g(the)f(input.)390
-1031 y Fl(IDNA)p 642 1031 V 40 w(CONT)-8 b(AINS)p 1169
-1031 V 40 w(A)m(CE)p 1401 1031 V 39 w(PREFIX:)79 b Fx(The)g(input)f
+1031 y Fj(IDNA)p 642 1031 V 40 w(CONT)-8 b(AINS)p 1169
+1031 V 40 w(A)m(CE)p 1401 1031 V 39 w(PREFIX:)79 b Fv(The)g(input)f
(con)m(tains)j(the)e(A)m(CE)h(pre\014x)e(\(for)390 1141
-y(T)-8 b(oASCI)s(I\).)390 1275 y Fl(IDNA)p 642 1275 V
-40 w(ICONV)p 992 1275 V 40 w(ERR)m(OR:)31 b Fx(Could)e(not)i(con)m(v)m
+y(T)-8 b(oASCI)s(I\).)390 1275 y Fj(IDNA)p 642 1275 V
+40 w(ICONV)p 992 1275 V 40 w(ERR)m(OR:)31 b Fv(Could)e(not)i(con)m(v)m
(ert)h(string)e(in)g(lo)s(cale)i(enco)s(ding.)390 1410
-y Fl(IDNA)p 642 1410 V 40 w(MALLOC)p 1081 1410 V 39 w(ERR)m(OR:)f
-Fx(Could)e(not)i(allo)s(cate)i(bu\013er)c(\(this)i(is)f(t)m(ypically)i
-(a)f(fatal)h(error\).)390 1544 y Fl(IDNA)p 642 1544 V
-40 w(DLOPEN)p 1068 1544 V 39 w(ERR)m(OR:)j Fx(Could)f(not)h(dlop)s(en)e
+y Fj(IDNA)p 642 1410 V 40 w(MALLOC)p 1081 1410 V 39 w(ERR)m(OR:)f
+Fv(Could)e(not)i(allo)s(cate)i(bu\013er)c(\(this)i(is)f(t)m(ypically)i
+(a)f(fatal)h(error\).)390 1544 y Fj(IDNA)p 642 1544 V
+40 w(DLOPEN)p 1068 1544 V 39 w(ERR)m(OR:)j Fv(Could)f(not)h(dlop)s(en)e
(the)i(lib)s(cidn)e(DSO)h(\(only)h(used)f(in)m(ternally)390
-1654 y(in)c(lib)s(c\).)390 1788 y Fl(Return)f(v)-5 b(alue:)40
-b Fx(Returns)29 b(a)g(p)s(oin)m(ter)h(to)g(a)f(statically)j(allo)s
+1654 y(in)c(lib)s(c\).)390 1788 y Fj(Return)f(v)-5 b(alue:)40
+b Fv(Returns)29 b(a)g(p)s(oin)m(ter)h(to)g(a)f(statically)j(allo)s
(cated)f(string)f(con)m(taining)h(a)e(descrip-)390 1898
y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e(co)s(de)h
-Fr(rc)p Fx(.)p eop end
+Fp(rc)p Fv(.)p eop end
%%Page: 31 36
-TeXDict begin 31 35 bop 150 -116 a Fx(Chapter)30 b(7:)41
-b(TLD)30 b(F)-8 b(unctions)2437 b(31)150 299 y Fu(7)80
-b(TLD)54 b(F)-13 b(unctions)150 531 y Fx(Organizations)40
-b(that)f(manage)g(some)g(T)-8 b(op)38 b(Lev)m(el)i(Domains)f(\()p
-Fk(TLD)p Fx(s\))g(ha)m(v)m(e)g(published)e(tables)i(with)150
-640 y(c)m(haracters)d(they)f(accept)h(within)e(the)g(domain.)54
-b(The)34 b(reason)g(ma)m(y)i(b)s(e)d(to)j(reduce)e(complexit)m(y)i
-(that)150 750 y(come)30 b(from)f(using)f(the)h(full)g(Unico)s(de)g
-(range,)h(and)f(to)g(protect)h(themselv)m(es)h(from)d(future)g(\(bac)m
-(kw)m(ards)150 859 y(incompatible\))36 b(c)m(hanges)g(in)e(the)h(IDN)g
-(or)g(Unico)s(de)g(sp)s(eci\014cations.)55 b(Libidn)33
-b(implemen)m(t)j(an)e(infras-)150 969 y(tructure)29 b(for)g(de\014ning)
-f(and)g(c)m(hec)m(king)j(strings)e(against)i(suc)m(h)d(tables.)42
-b(Libidn)27 b(also)j(ship)f(some)g(tables)150 1079 y(from)d
-Fk(TLD)p Fx(s)g(that)h(w)m(e)f(ha)m(v)m(e)i(managed)e(to)h(get)g(p)s
-(ermission)e(to)i(use)f(them)g(from.)39 b(Because)28
-b(these)e(tables)150 1188 y(are)i(ev)m(en)g(less)g(static)h(than)e
-(Unico)s(de)h(or)f(StringPrep)f(tables,)k(it)e(is)f(lik)m(ely)i(that)f
-(they)g(will)f(b)s(e)g(up)s(dated)150 1298 y(from)33
-b(time)h(to)g(time)g(\(ev)m(en)h(in)e(bac)m(kw)m(ards)h(incompatib)s(e)
-g(w)m(a)m(ys\).)51 b(The)33 b(Libidn)f(in)m(terface)j(pro)m(vide)f(a)
-150 1407 y(\\v)m(ersion")39 b(\014eld)d(for)h(eac)m(h)i
-Fk(TLD)e Fx(table,)j(whic)m(h)d(can)h(b)s(e)e(compared)h(for)g(equalit)
-m(y)i(to)f(guaran)m(tee)h(the)150 1517 y(same)31 b(op)s(eration)g(o)m
-(v)m(er)g(time.)275 1651 y(F)-8 b(rom)25 b(a)g(design)f(p)s(oin)m(t)h
-(of)g(view,)h(y)m(ou)f(can)g(regard)f(the)h Fk(TLD)g
-Fx(tables)g(for)f(IDN)h(as)g(the)g(\\lo)s(calization")150
-1760 y(step)30 b(that)h(come)h(after)f(the)f(\\in)m
-(ternationalization")35 b(step)30 b(pro)m(vided)g(b)m(y)h(the)f(IETF)g
-(standards.)275 1894 y(The)35 b(TLD)i(functionalit)m(y)h(rely)e(on)h
-(up-to-date)g(tables.)60 b(The)36 b(latest)i(v)m(ersion)f(of)f(Libidn)f
-(aim)i(to)150 2004 y(pro)m(vide)28 b(these,)h(but)d(tables)j(with)e
-(unclear)h(cop)m(ying)g(conditions,)h(or)f(generally)h(exp)s(erimen)m
-(tal)f(tables,)150 2114 y(are)j(not)f(included.)40 b(Some)31
-b(suc)m(h)f(tables)h(can)g(b)s(e)e(found)g(at)j Fr
-(http://tldchk.berlios.d)o(e)p Fx(.)150 2345 y Fw(7.1)68
-b(Header)46 b(\014le)f Fj(tld.h)150 2505 y Fx(T)-8 b(o)31
-b(use)f(the)g(functions)g(explained)h(in)f(this)g(c)m(hapter,)i(y)m(ou)
-e(need)g(to)i(include)e(the)g(\014le)h(`)p Fr(tld.h)p
-Fx(')e(using:)390 2639 y Fr(#include)46 b(<tld.h>)150
-2870 y Fw(7.2)68 b(Core)46 b(F)-11 b(unctions)150 3094
-y Fq(tld)p 309 3094 37 5 v 54 w(c)m(hec)m(k)p 656 3094
-V 52 w(4t)3350 3290 y Fx([F)j(unction])-3599 b Fp(int)53
-b(tld_check_4t)c Fo(\()p Fn(const)32 b(uin)m(t32)p 1561
-3290 28 4 v 41 w(t)e(*)h Fm(in)12 b Fn(,)31 b(size)p
-2056 3290 V 41 w(t)f Fm(inlen)12 b Fn(,)32 b(size)p 2632
-3290 V 41 w(t)e(*)h Fm(errpos)12 b Fn(,)565 3399 y(const)31
-b(Tld)p 951 3399 V 39 w(table)h(*)e Fm(tld)12 b Fo(\))390
-3509 y Fn(in)p Fx(:)40 b(Arra)m(y)31 b(of)g(unico)s(de)e(co)s(de)i(p)s
+TeXDict begin 31 35 bop 150 -116 a Fv(Chapter)30 b(7:)41
+b(TLD)30 b(F)-8 b(unctions)2437 b(31)150 299 y Fs(7)80
+b(TLD)54 b(F)-13 b(unctions)150 531 y Fv(Organizations)38
+b(that)g(manage)f(some)h(T)-8 b(op)36 b(Lev)m(el)j(Domains)e(\(TLDs\))g
+(ha)m(v)m(e)i(published)c(tables)i(with)150 640 y(c)m(haracters)f(they)
+f(accept)h(within)e(the)g(domain.)54 b(The)34 b(reason)g(ma)m(y)i(b)s
+(e)d(to)j(reduce)e(complexit)m(y)i(that)150 750 y(come)30
+b(from)f(using)f(the)h(full)g(Unico)s(de)g(range,)h(and)f(to)g(protect)
+h(themselv)m(es)h(from)d(future)g(\(bac)m(kw)m(ards)150
+859 y(incompatible\))36 b(c)m(hanges)g(in)e(the)h(IDN)g(or)g(Unico)s
+(de)g(sp)s(eci\014cations.)55 b(Libidn)33 b(implemen)m(t)j(an)e
+(infras-)150 969 y(tructure)29 b(for)g(de\014ning)f(and)g(c)m(hec)m
+(king)j(strings)e(against)i(suc)m(h)d(tables.)42 b(Libidn)27
+b(also)j(ship)f(some)g(tables)150 1079 y(from)c(TLDs)f(that)i(w)m(e)f
+(ha)m(v)m(e)h(managed)g(to)g(get)g(p)s(ermission)e(to)h(use)g(them)g
+(from.)38 b(Because)27 b(these)e(tables)150 1188 y(are)j(ev)m(en)g
+(less)g(static)h(than)e(Unico)s(de)h(or)f(StringPrep)f(tables,)k(it)e
+(is)f(lik)m(ely)i(that)f(they)g(will)f(b)s(e)g(up)s(dated)150
+1298 y(from)k(time)i(to)g(time)f(\(ev)m(en)h(in)f(bac)m(kw)m(ards)g
+(incompatible)h(w)m(a)m(ys\).)47 b(The)31 b(Libidn)g(in)m(terface)i
+(pro)m(vide)g(a)150 1407 y(\\v)m(ersion")k(\014eld)f(for)g(eac)m(h)h
+(TLD)f(table,)i(whic)m(h)e(can)h(b)s(e)e(compared)h(for)g(equalit)m(y)h
+(to)g(guaran)m(tee)h(the)150 1517 y(same)31 b(op)s(eration)g(o)m(v)m
+(er)g(time.)275 1651 y(F)-8 b(rom)24 b(a)g(design)f(p)s(oin)m(t)h(of)f
+(view,)j(y)m(ou)e(can)f(regard)h(the)g(TLD)f(tables)h(for)g(IDN)g(as)f
+(the)h(\\lo)s(calization")150 1760 y(step)30 b(that)h(come)h(after)f
+(the)f(\\in)m(ternationalization")35 b(step)30 b(pro)m(vided)g(b)m(y)h
+(the)f(IETF)g(standards.)275 1894 y(The)35 b(TLD)i(functionalit)m(y)h
+(rely)e(on)h(up-to-date)g(tables.)60 b(The)36 b(latest)i(v)m(ersion)f
+(of)f(Libidn)f(aim)i(to)150 2004 y(pro)m(vide)28 b(these,)h(but)d
+(tables)j(with)e(unclear)h(cop)m(ying)g(conditions,)h(or)f(generally)h
+(exp)s(erimen)m(tal)f(tables,)150 2114 y(are)22 b(not)g(included.)37
+b(Some)22 b(suc)m(h)g(tables)g(can)h(b)s(e)e(found)f(at)j
+Fp(https://github.com/gnut)o(hor/)o(tldc)o(hk)p Fv(.)150
+2345 y Fu(7.1)68 b(Header)46 b(\014le)f Fi(tld.h)150
+2505 y Fv(T)-8 b(o)31 b(use)f(the)g(functions)g(explained)h(in)f(this)g
+(c)m(hapter,)i(y)m(ou)e(need)g(to)i(include)e(the)g(\014le)h(`)p
+Fp(tld.h)p Fv(')e(using:)390 2639 y Fp(#include)46 b(<tld.h>)150
+2870 y Fu(7.2)68 b(Core)46 b(F)-11 b(unctions)150 3094
+y Fo(tld)p 309 3094 37 5 v 54 w(c)m(hec)m(k)p 656 3094
+V 52 w(4t)3350 3290 y Fv([F)j(unction])-3599 b Fn(int)53
+b(tld_check_4t)c Fm(\()p Fl(const)32 b(uin)m(t32)p 1561
+3290 28 4 v 41 w(t)e(*)h Fk(in)12 b Fl(,)31 b(size)p
+2056 3290 V 41 w(t)f Fk(inlen)12 b Fl(,)32 b(size)p 2632
+3290 V 41 w(t)e(*)h Fk(errpos)12 b Fl(,)565 3399 y(const)31
+b(Tld)p 951 3399 V 39 w(table)h(*)e Fk(tld)12 b Fm(\))390
+3509 y Fl(in)p Fv(:)40 b(Arra)m(y)31 b(of)g(unico)s(de)e(co)s(de)i(p)s
(oin)m(ts)f(to)h(pro)s(cess.)41 b(Do)s(es)31 b(not)f(need)g(to)h(b)s(e)
-f(zero)h(terminated.)390 3643 y Fn(inlen)p Fx(:)41 b(Num)m(b)s(er)29
+f(zero)h(terminated.)390 3643 y Fl(inlen)p Fv(:)41 b(Num)m(b)s(er)29
b(of)h(unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)390 3777
-y Fn(errp)s(os)t Fx(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m
-(haracter)i(is)e(returned)g(here.)390 3911 y Fn(tld)t
-Fx(:)60 b(A)40 b Fr(Tld_table)d Fx(data)k(structure)e(represen)m(ting)h
+y Fl(errp)s(os)t Fv(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m
+(haracter)i(is)e(returned)g(here.)390 3911 y Fl(tld)t
+Fv(:)60 b(A)40 b Fp(Tld_table)d Fv(data)k(structure)e(represen)m(ting)h
(the)h(restrictions)f(for)g(whic)m(h)g(the)g(input)390
4020 y(should)29 b(b)s(e)h(tested.)390 4154 y(T)-8 b(est)36
b(eac)m(h)g(of)f(the)h(co)s(de)f(p)s(oin)m(ts)g(in)g
-Fr(in)f Fx(for)h(whether)g(or)g(not)g(they)g(are)h(allo)m(w)m(ed)h(b)m
-(y)e(the)g(data)390 4264 y(structure)g(in)h Fr(tld)p
-Fx(,)g(return)f(the)h(p)s(osition)g(of)g(the)g(\014rst)f(c)m(haracter)j
+Fp(in)f Fv(for)h(whether)g(or)g(not)g(they)g(are)h(allo)m(w)m(ed)h(b)m
+(y)e(the)g(data)390 4264 y(structure)g(in)h Fp(tld)p
+Fv(,)g(return)f(the)h(p)s(osition)g(of)g(the)g(\014rst)f(c)m(haracter)j
(for)d(whic)m(h)h(this)g(is)g(not)g(the)390 4374 y(case)31
-b(in)f Fr(errpos)p Fx(.)390 4508 y Fl(Return)h(v)-5 b(alue:)44
-b Fx(Returns)31 b(the)h Fr(Tld_rc)e Fx(v)-5 b(alue)32
-b Fr(TLD_SUCCESS)c Fx(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5
-b(alid)32 b(or)390 4617 y(when)27 b Fr(tld)f Fx(is)i(n)m(ull,)g
-Fr(TLD_INVALID)d Fx(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
+b(in)f Fp(errpos)p Fv(.)390 4508 y Fj(Return)h(v)-5 b(alue:)44
+b Fv(Returns)31 b(the)h Fp(Tld_rc)e Fv(v)-5 b(alue)32
+b Fp(TLD_SUCCESS)c Fv(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5
+b(alid)32 b(or)390 4617 y(when)27 b Fp(tld)f Fv(is)i(n)m(ull,)g
+Fp(TLD_INVALID)d Fv(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 4727 y(on)j(general)i(failure)e
-(conditions.)150 4925 y Fq(tld)p 309 4925 37 5 v 54 w(c)m(hec)m(k)p
-656 4925 V 52 w(4tz)3350 5121 y Fx([F)-8 b(unction])-3599
-b Fp(int)53 b(tld_check_4tz)d Fo(\()p Fn(const)31 b(uin)m(t32)p
-1613 5121 28 4 v 41 w(t)g(*)f Fm(in)12 b Fn(,)31 b(size)p
-2108 5121 V 41 w(t)g(*)f Fm(errpos)12 b Fn(,)32 b(const)565
-5230 y(Tld)p 713 5230 V 40 w(table)f(*)g Fm(tld)12 b
-Fo(\))390 5340 y Fn(in)p Fx(:)40 b(Zero)31 b(terminated)g(arra)m(y)g
+(conditions.)150 4925 y Fo(tld)p 309 4925 37 5 v 54 w(c)m(hec)m(k)p
+656 4925 V 52 w(4tz)3350 5121 y Fv([F)-8 b(unction])-3599
+b Fn(int)53 b(tld_check_4tz)d Fm(\()p Fl(const)31 b(uin)m(t32)p
+1613 5121 28 4 v 41 w(t)g(*)f Fk(in)12 b Fl(,)31 b(size)p
+2108 5121 V 41 w(t)g(*)f Fk(errpos)12 b Fl(,)32 b(const)565
+5230 y(Tld)p 713 5230 V 40 w(table)f(*)g Fk(tld)12 b
+Fm(\))390 5340 y Fl(in)p Fv(:)40 b(Zero)31 b(terminated)g(arra)m(y)g
(of)f(unico)s(de)g(co)s(de)h(p)s(oin)m(ts)f(to)h(pro)s(cess.)p
eop end
%%Page: 32 37
-TeXDict begin 32 36 bop 150 -116 a Fx(Chapter)30 b(7:)41
-b(TLD)30 b(F)-8 b(unctions)2437 b(32)390 299 y Fn(errp)s(os)t
-Fx(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m(haracter)i(is)e
-(returned)g(here.)390 461 y Fn(tld)t Fx(:)60 b(A)40 b
-Fr(Tld_table)d Fx(data)k(structure)e(represen)m(ting)h(the)h
+TeXDict begin 32 36 bop 150 -116 a Fv(Chapter)30 b(7:)41
+b(TLD)30 b(F)-8 b(unctions)2437 b(32)390 299 y Fl(errp)s(os)t
+Fv(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m(haracter)i(is)e
+(returned)g(here.)390 461 y Fl(tld)t Fv(:)60 b(A)40 b
+Fp(Tld_table)d Fv(data)k(structure)e(represen)m(ting)h(the)h
(restrictions)f(for)g(whic)m(h)g(the)g(input)390 570
y(should)29 b(b)s(e)h(tested.)390 732 y(T)-8 b(est)36
b(eac)m(h)g(of)f(the)h(co)s(de)f(p)s(oin)m(ts)g(in)g
-Fr(in)f Fx(for)h(whether)g(or)g(not)g(they)g(are)h(allo)m(w)m(ed)h(b)m
-(y)e(the)g(data)390 842 y(structure)g(in)h Fr(tld)p Fx(,)g(return)f
+Fp(in)f Fv(for)h(whether)g(or)g(not)g(they)g(are)h(allo)m(w)m(ed)h(b)m
+(y)e(the)g(data)390 842 y(structure)g(in)h Fp(tld)p Fv(,)g(return)f
(the)h(p)s(osition)g(of)g(the)g(\014rst)f(c)m(haracter)j(for)d(whic)m
-(h)h(this)g(is)g(not)g(the)390 951 y(case)31 b(in)f Fr(errpos)p
-Fx(.)390 1113 y Fl(Return)h(v)-5 b(alue:)44 b Fx(Returns)31
-b(the)h Fr(Tld_rc)e Fx(v)-5 b(alue)32 b Fr(TLD_SUCCESS)c
-Fx(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5 b(alid)32
-b(or)390 1223 y(when)27 b Fr(tld)f Fx(is)i(n)m(ull,)g
-Fr(TLD_INVALID)d Fx(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
+(h)h(this)g(is)g(not)g(the)390 951 y(case)31 b(in)f Fp(errpos)p
+Fv(.)390 1113 y Fj(Return)h(v)-5 b(alue:)44 b Fv(Returns)31
+b(the)h Fp(Tld_rc)e Fv(v)-5 b(alue)32 b Fp(TLD_SUCCESS)c
+Fv(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5 b(alid)32
+b(or)390 1223 y(when)27 b Fp(tld)f Fv(is)i(n)m(ull,)g
+Fp(TLD_INVALID)d Fv(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 1332 y(on)j(general)i(failure)e
-(conditions.)150 1606 y Fw(7.3)68 b(Utilit)l(y)47 b(F)-11
-b(unctions)150 1830 y Fq(tld)p 309 1830 37 5 v 54 w(get)p
-528 1830 V 54 w(4)3350 2054 y Fx([F)j(unction])-3599
-b Fp(int)53 b(tld_get_4)48 b Fo(\()p Fn(const)32 b(uin)m(t32)p
-1404 2054 28 4 v 41 w(t)e(*)h Fm(in)12 b Fn(,)31 b(size)p
-1899 2054 V 41 w(t)f Fm(inlen)12 b Fn(,)32 b(c)m(har)f(**)g
-Fm(out)12 b Fo(\))390 2163 y Fn(in)p Fx(:)40 b(Arra)m(y)31
+(conditions.)150 1606 y Fu(7.3)68 b(Utilit)l(y)47 b(F)-11
+b(unctions)150 1830 y Fo(tld)p 309 1830 37 5 v 54 w(get)p
+528 1830 V 54 w(4)3350 2054 y Fv([F)j(unction])-3599
+b Fn(int)53 b(tld_get_4)48 b Fm(\()p Fl(const)32 b(uin)m(t32)p
+1404 2054 28 4 v 41 w(t)e(*)h Fk(in)12 b Fl(,)31 b(size)p
+1899 2054 V 41 w(t)f Fk(inlen)12 b Fl(,)32 b(c)m(har)f(**)g
+Fk(out)12 b Fm(\))390 2163 y Fl(in)p Fv(:)40 b(Arra)m(y)31
b(of)g(unico)s(de)e(co)s(de)i(p)s(oin)m(ts)f(to)h(pro)s(cess.)41
b(Do)s(es)31 b(not)f(need)g(to)h(b)s(e)f(zero)h(terminated.)390
-2325 y Fn(inlen)p Fx(:)41 b(Num)m(b)s(er)29 b(of)h(unico)s(de)g(co)s
-(de)h(p)s(oin)m(ts.)390 2487 y Fn(out)r Fx(:)41 b(Zero)30
+2325 y Fl(inlen)p Fv(:)41 b(Num)m(b)s(er)29 b(of)h(unico)s(de)g(co)s
+(de)h(p)s(oin)m(ts.)390 2487 y Fl(out)r Fv(:)41 b(Zero)30
b(terminated)h(ascii)h(result)e(string)g(p)s(oin)m(ter.)390
-2649 y(Isolate)i(the)e(top-lev)m(el)j(domain)d(of)h Fr(in)f
-Fx(and)f(return)h(it)h(as)f(an)h(ASCI)s(I)d(string)j(in)f
-Fr(out)p Fx(.)390 2811 y Fl(Return)38 b(v)-5 b(alue:)56
-b Fx(Return)37 b Fr(TLD_SUCCESS)d Fx(on)k(success,)i(or)e(the)g
-(corresp)s(onding)f Fr(Tld_rc)f Fx(error)390 2920 y(co)s(de)31
-b(otherwise.)150 3147 y Fq(tld)p 309 3147 37 5 v 54 w(get)p
-528 3147 V 54 w(4z)3350 3371 y Fx([F)-8 b(unction])-3599
-b Fp(int)53 b(tld_get_4z)c Fo(\()p Fn(const)31 b(uin)m(t32)p
-1456 3371 28 4 v 41 w(t)g(*)f Fm(in)12 b Fn(,)31 b(c)m(har)g(**)g
-Fm(out)12 b Fo(\))390 3480 y Fn(in)p Fx(:)40 b(Zero)31
+2649 y(Isolate)i(the)e(top-lev)m(el)j(domain)d(of)h Fp(in)f
+Fv(and)f(return)h(it)h(as)f(an)h(ASCI)s(I)d(string)j(in)f
+Fp(out)p Fv(.)390 2811 y Fj(Return)38 b(v)-5 b(alue:)56
+b Fv(Return)37 b Fp(TLD_SUCCESS)d Fv(on)k(success,)i(or)e(the)g
+(corresp)s(onding)f Fp(Tld_rc)f Fv(error)390 2920 y(co)s(de)31
+b(otherwise.)150 3147 y Fo(tld)p 309 3147 37 5 v 54 w(get)p
+528 3147 V 54 w(4z)3350 3371 y Fv([F)-8 b(unction])-3599
+b Fn(int)53 b(tld_get_4z)c Fm(\()p Fl(const)31 b(uin)m(t32)p
+1456 3371 28 4 v 41 w(t)g(*)f Fk(in)12 b Fl(,)31 b(c)m(har)g(**)g
+Fk(out)12 b Fm(\))390 3480 y Fl(in)p Fv(:)40 b(Zero)31
b(terminated)g(arra)m(y)g(of)f(unico)s(de)g(co)s(de)h(p)s(oin)m(ts)f
-(to)h(pro)s(cess.)390 3642 y Fn(out)r Fx(:)41 b(Zero)30
+(to)h(pro)s(cess.)390 3642 y Fl(out)r Fv(:)41 b(Zero)30
b(terminated)h(ascii)h(result)e(string)g(p)s(oin)m(ter.)390
-3804 y(Isolate)i(the)e(top-lev)m(el)j(domain)d(of)h Fr(in)f
-Fx(and)f(return)h(it)h(as)f(an)h(ASCI)s(I)d(string)j(in)f
-Fr(out)p Fx(.)390 3966 y Fl(Return)38 b(v)-5 b(alue:)56
-b Fx(Return)37 b Fr(TLD_SUCCESS)d Fx(on)k(success,)i(or)e(the)g
-(corresp)s(onding)f Fr(Tld_rc)f Fx(error)390 4075 y(co)s(de)31
-b(otherwise.)150 4302 y Fq(tld)p 309 4302 37 5 v 54 w(get)p
-528 4302 V 54 w(z)3350 4526 y Fx([F)-8 b(unction])-3599
-b Fp(int)53 b(tld_get_z)48 b Fo(\()p Fn(const)32 b(c)m(har)e(*)h
-Fm(in)12 b Fn(,)31 b(c)m(har)g(**)g Fm(out)12 b Fo(\))390
-4635 y Fn(in)p Fx(:)40 b(Zero)31 b(terminated)g(c)m(haracter)h(arra)m
-(y)e(to)i(pro)s(cess.)390 4797 y Fn(out)r Fx(:)41 b(Zero)30
+3804 y(Isolate)i(the)e(top-lev)m(el)j(domain)d(of)h Fp(in)f
+Fv(and)f(return)h(it)h(as)f(an)h(ASCI)s(I)d(string)j(in)f
+Fp(out)p Fv(.)390 3966 y Fj(Return)38 b(v)-5 b(alue:)56
+b Fv(Return)37 b Fp(TLD_SUCCESS)d Fv(on)k(success,)i(or)e(the)g
+(corresp)s(onding)f Fp(Tld_rc)f Fv(error)390 4075 y(co)s(de)31
+b(otherwise.)150 4302 y Fo(tld)p 309 4302 37 5 v 54 w(get)p
+528 4302 V 54 w(z)3350 4526 y Fv([F)-8 b(unction])-3599
+b Fn(int)53 b(tld_get_z)48 b Fm(\()p Fl(const)32 b(c)m(har)e(*)h
+Fk(in)12 b Fl(,)31 b(c)m(har)g(**)g Fk(out)12 b Fm(\))390
+4635 y Fl(in)p Fv(:)40 b(Zero)31 b(terminated)g(c)m(haracter)h(arra)m
+(y)e(to)i(pro)s(cess.)390 4797 y Fl(out)r Fv(:)41 b(Zero)30
b(terminated)h(ascii)h(result)e(string)g(p)s(oin)m(ter.)390
-4959 y(Isolate)f(the)e(top-lev)m(el)j(domain)d(of)g Fr(in)g
-Fx(and)g(return)f(it)i(as)f(an)g(ASCI)s(I)f(string)h(in)g
-Fr(out)p Fx(.)39 b(The)27 b(input)390 5069 y(string)j
-Fr(in)g Fx(ma)m(y)h(b)s(e)f(UTF-8,)h(ISO-8859-1)i(or)d(an)m(y)h(ASCI)s
+4959 y(Isolate)f(the)e(top-lev)m(el)j(domain)d(of)g Fp(in)g
+Fv(and)g(return)f(it)i(as)f(an)g(ASCI)s(I)f(string)h(in)g
+Fp(out)p Fv(.)39 b(The)27 b(input)390 5069 y(string)j
+Fp(in)g Fv(ma)m(y)h(b)s(e)f(UTF-8,)h(ISO-8859-1)i(or)d(an)m(y)h(ASCI)s
(I)d(compatible)k(c)m(haracter)g(enco)s(ding.)390 5230
-y Fl(Return)38 b(v)-5 b(alue:)56 b Fx(Return)37 b Fr(TLD_SUCCESS)d
-Fx(on)k(success,)i(or)e(the)g(corresp)s(onding)f Fr(Tld_rc)f
-Fx(error)390 5340 y(co)s(de)31 b(otherwise.)p eop end
+y Fj(Return)38 b(v)-5 b(alue:)56 b Fv(Return)37 b Fp(TLD_SUCCESS)d
+Fv(on)k(success,)i(or)e(the)g(corresp)s(onding)f Fp(Tld_rc)f
+Fv(error)390 5340 y(co)s(de)31 b(otherwise.)p eop end
%%Page: 33 38
-TeXDict begin 33 37 bop 150 -116 a Fx(Chapter)30 b(7:)41
-b(TLD)30 b(F)-8 b(unctions)2437 b(33)150 299 y Fq(tld)p
+TeXDict begin 33 37 bop 150 -116 a Fv(Chapter)30 b(7:)41
+b(TLD)30 b(F)-8 b(unctions)2437 b(33)150 299 y Fo(tld)p
309 299 37 5 v 54 w(get)p 528 299 V 54 w(table)3350 515
-y Fx([F)-8 b(unction])-3599 b Fp(const)54 b(Tld_table)h(*)d
-(tld_get_table)e Fo(\()p Fn(const)30 b(c)m(har)g(*)f
-Fm(tld)12 b Fn(,)30 b(const)g(Tld)p 2970 515 28 4 v 39
-w(table)565 625 y(**)h Fm(tables)12 b Fo(\))390 735 y
-Fn(tld)t Fx(:)40 b(TLD)31 b(name)f(\(e.g.)42 b Fr(")p
-Fx(com)p Fr(")p Fx(\))31 b(as)f(zero)i(terminated)f(ASCI)s(I)d(b)m(yte)
-j(string.)390 889 y Fn(tables)t Fx(:)41 b(Zero)31 b(terminated)f(arra)m
-(y)h(of)g Fr(Tld_table)d Fx(info-structures)i(for)g(TLDs.)390
+y Fv([F)-8 b(unction])-3599 b Fn(const)54 b(Tld_table)h(*)d
+(tld_get_table)e Fm(\()p Fl(const)30 b(c)m(har)g(*)f
+Fk(tld)12 b Fl(,)30 b(const)g(Tld)p 2970 515 28 4 v 39
+w(table)565 625 y(**)h Fk(tables)12 b Fm(\))390 735 y
+Fl(tld)t Fv(:)40 b(TLD)31 b(name)f(\(e.g.)42 b Fp(")p
+Fv(com)p Fp(")p Fv(\))31 b(as)f(zero)i(terminated)f(ASCI)s(I)d(b)m(yte)
+j(string.)390 889 y Fl(tables)t Fv(:)41 b(Zero)31 b(terminated)f(arra)m
+(y)h(of)g Fp(Tld_table)d Fv(info-structures)i(for)g(TLDs.)390
1043 y(Get)25 b(the)g(TLD)f(table)i(for)e(a)h(named)f(TLD)g(b)m(y)g
(searc)m(hing)h(through)f(the)h(giv)m(en)g(TLD)f(table)i(arra)m(y)-8
-b(.)390 1197 y Fl(Return)29 b(v)-5 b(alue:)40 b Fx(Return)29
-b(structure)g(corresp)s(onding)f(to)i(TLD)f Fr(tld)f
-Fx(b)m(y)h(going)i(thru)d Fr(tables)p Fx(,)g(or)390 1307
-y(return)h Fr(NULL)g Fx(if)i(no)f(suc)m(h)g(structure)g(is)g(found.)150
-1526 y Fq(tld)p 309 1526 37 5 v 54 w(default)p 734 1526
-V 54 w(table)3350 1742 y Fx([F)-8 b(unction])-3599 b
-Fp(const)54 b(Tld_table)h(*)d(tld_default_table)f Fo(\()p
-Fn(const)31 b(c)m(har)g(*)g Fm(tld)12 b Fn(,)31 b(const)565
-1852 y(Tld)p 713 1852 28 4 v 40 w(table)g(**)g Fm(overrides)12
-b Fo(\))390 1961 y Fn(tld)t Fx(:)40 b(TLD)31 b(name)f(\(e.g.)42
-b Fr(")p Fx(com)p Fr(")p Fx(\))31 b(as)f(zero)i(terminated)f(ASCI)s(I)d
-(b)m(yte)j(string.)390 2116 y Fn(o)m(v)m(errides)t Fx(:)48
+b(.)390 1197 y Fj(Return)29 b(v)-5 b(alue:)40 b Fv(Return)29
+b(structure)g(corresp)s(onding)f(to)i(TLD)f Fp(tld)f
+Fv(b)m(y)h(going)i(thru)d Fp(tables)p Fv(,)g(or)390 1307
+y(return)h Fp(NULL)g Fv(if)i(no)f(suc)m(h)g(structure)g(is)g(found.)150
+1526 y Fo(tld)p 309 1526 37 5 v 54 w(default)p 734 1526
+V 54 w(table)3350 1742 y Fv([F)-8 b(unction])-3599 b
+Fn(const)54 b(Tld_table)h(*)d(tld_default_table)f Fm(\()p
+Fl(const)31 b(c)m(har)g(*)g Fk(tld)12 b Fl(,)31 b(const)565
+1852 y(Tld)p 713 1852 28 4 v 40 w(table)g(**)g Fk(overrides)12
+b Fm(\))390 1961 y Fl(tld)t Fv(:)40 b(TLD)31 b(name)f(\(e.g.)42
+b Fp(")p Fv(com)p Fp(")p Fv(\))31 b(as)f(zero)i(terminated)f(ASCI)s(I)d
+(b)m(yte)j(string.)390 2116 y Fl(o)m(v)m(errides)t Fv(:)48
b(Additional)34 b(zero)g(terminated)g(arra)m(y)g(of)g
-Fr(Tld_table)d Fx(info-structures)i(for)g(TLDs,)390 2225
-y(or)d Fr(NULL)g Fx(to)h(only)f(use)g(library)g(deault)h(tables.)390
+Fp(Tld_table)d Fv(info-structures)i(for)g(TLDs,)390 2225
+y(or)d Fp(NULL)g Fv(to)h(only)f(use)g(library)g(deault)h(tables.)390
2379 y(Get)h(the)f(TLD)g(table)h(for)f(a)g(named)f(TLD,)i(using)e(the)h
(in)m(ternal)h(defaults,)f(p)s(ossibly)f(o)m(v)m(errided)390
2489 y(b)m(y)g(the)h(\(optional\))h(supplied)d(tables.)390
-2643 y Fl(Return)24 b(v)-5 b(alue:)38 b Fx(Return)24
-b(structure)g(corresp)s(onding)g(to)h(TLD)f Fr(tld_str)p
-Fx(,)g(\014rst)g(lo)s(oking)i(through)390 2753 y Fr(overrides)i
-Fx(then)i(thru)f(built-in)h(list,)i(or)e Fr(NULL)f Fx(if)i(no)f(suc)m
-(h)g(structure)g(found.)150 3015 y Fw(7.4)68 b(High-Lev)l(el)46
+2643 y Fj(Return)24 b(v)-5 b(alue:)38 b Fv(Return)24
+b(structure)g(corresp)s(onding)g(to)h(TLD)f Fp(tld_str)p
+Fv(,)g(\014rst)g(lo)s(oking)i(through)390 2753 y Fp(overrides)i
+Fv(then)i(thru)f(built-in)h(list,)i(or)e Fp(NULL)f Fv(if)i(no)f(suc)m
+(h)g(structure)g(found.)150 3015 y Fu(7.4)68 b(High-Lev)l(el)46
b(W)-11 b(rapp)t(er)45 b(F)-11 b(unctions)150 3239 y
-Fq(tld)p 309 3239 37 5 v 54 w(c)m(hec)m(k)p 656 3239
-V 52 w(4)3350 3455 y Fx([F)j(unction])-3599 b Fp(int)53
-b(tld_check_4)c Fo(\()p Fn(const)31 b(uin)m(t32)p 1508
-3455 28 4 v 41 w(t)g(*)g Fm(in)12 b Fn(,)30 b(size)p
-2003 3455 V 41 w(t)h Fm(inlen)12 b Fn(,)32 b(size)p 2580
-3455 V 40 w(t)f(*)g Fm(errpos)12 b Fn(,)565 3565 y(const)31
-b(Tld)p 951 3565 V 39 w(table)h(**)f Fm(overrides)12
-b Fo(\))390 3675 y Fn(in)p Fx(:)40 b(Arra)m(y)31 b(of)g(unico)s(de)e
+Fo(tld)p 309 3239 37 5 v 54 w(c)m(hec)m(k)p 656 3239
+V 52 w(4)3350 3455 y Fv([F)j(unction])-3599 b Fn(int)53
+b(tld_check_4)c Fm(\()p Fl(const)31 b(uin)m(t32)p 1508
+3455 28 4 v 41 w(t)g(*)g Fk(in)12 b Fl(,)30 b(size)p
+2003 3455 V 41 w(t)h Fk(inlen)12 b Fl(,)32 b(size)p 2580
+3455 V 40 w(t)f(*)g Fk(errpos)12 b Fl(,)565 3565 y(const)31
+b(Tld)p 951 3565 V 39 w(table)h(**)f Fk(overrides)12
+b Fm(\))390 3675 y Fl(in)p Fv(:)40 b(Arra)m(y)31 b(of)g(unico)s(de)e
(co)s(de)i(p)s(oin)m(ts)f(to)h(pro)s(cess.)41 b(Do)s(es)31
b(not)f(need)g(to)h(b)s(e)f(zero)h(terminated.)390 3829
-y Fn(inlen)p Fx(:)41 b(Num)m(b)s(er)29 b(of)h(unico)s(de)g(co)s(de)h(p)
-s(oin)m(ts.)390 3983 y Fn(errp)s(os)t Fx(:)39 b(P)m(osition)32
+y Fl(inlen)p Fv(:)41 b(Num)m(b)s(er)29 b(of)h(unico)s(de)g(co)s(de)h(p)
+s(oin)m(ts.)390 3983 y Fl(errp)s(os)t Fv(:)39 b(P)m(osition)32
b(of)f(o\013ending)f(c)m(haracter)i(is)e(returned)g(here.)390
-4137 y Fn(o)m(v)m(errides)t Fx(:)48 b(A)34 b Fr(Tld_table)d
-Fx(arra)m(y)j(of)g(additional)h(domain)e(restriction)i(structures)e
+4137 y Fl(o)m(v)m(errides)t Fv(:)48 b(A)34 b Fp(Tld_table)d
+Fv(arra)m(y)j(of)g(additional)h(domain)e(restriction)i(structures)e
(that)h(com-)390 4247 y(plemen)m(t)d(and)f(sup)s(ersede)f(the)h
(built-in)g(information.)390 4401 y(T)-8 b(est)26 b(eac)m(h)h(of)f(the)
-g(co)s(de)g(p)s(oin)m(ts)g(in)f Fr(in)g Fx(for)h(whether)f(or)h(not)g
+g(co)s(de)g(p)s(oin)m(ts)g(in)f Fp(in)g Fv(for)h(whether)f(or)h(not)g
(they)g(are)g(allo)m(w)m(ed)h(b)m(y)f(the)g(informa-)390
-4511 y(tion)32 b(in)g Fr(overrides)d Fx(or)j(b)m(y)g(the)g(built-in)g
+4511 y(tion)32 b(in)g Fp(overrides)d Fv(or)j(b)m(y)g(the)g(built-in)g
(TLD)g(restriction)g(data.)46 b(When)32 b(data)h(for)e(the)i(same)390
4620 y(TLD)39 b(is)g(a)m(v)-5 b(ailable)41 b(b)s(oth)d(in)m(ternally)i
-(and)e(in)h Fr(overrides)p Fx(,)g(the)g(information)g(in)f
-Fr(overrides)390 4730 y Fx(tak)m(es)29 b(precedence.)40
+(and)e(in)h Fp(overrides)p Fv(,)g(the)g(information)g(in)f
+Fp(overrides)390 4730 y Fv(tak)m(es)29 b(precedence.)40
b(If)27 b(sev)m(eral)i(en)m(tries)g(for)e(a)h(sp)s(eci\014c)g(TLD)f
(are)h(found,)f(the)h(\014rst)f(one)h(is)f(used.)390
-4839 y(If)k Fr(overrides)e Fx(is)i Fr(NULL)p Fx(,)f(only)i(the)f
+4839 y(If)k Fp(overrides)e Fv(is)i Fp(NULL)p Fv(,)f(only)i(the)f
(built-in)g(information)h(is)f(used.)43 b(The)30 b(p)s(osition)i(of)f
(the)h(\014rst)390 4949 y(o\013ending)e(c)m(haracter)i(is)f(returned)e
-(in)h Fr(errpos)p Fx(.)390 5103 y Fl(Return)h(v)-5 b(alue:)44
-b Fx(Returns)31 b(the)h Fr(Tld_rc)e Fx(v)-5 b(alue)32
-b Fr(TLD_SUCCESS)c Fx(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5
-b(alid)32 b(or)390 5213 y(when)27 b Fr(tld)f Fx(is)i(n)m(ull,)g
-Fr(TLD_INVALID)d Fx(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
+(in)h Fp(errpos)p Fv(.)390 5103 y Fj(Return)h(v)-5 b(alue:)44
+b Fv(Returns)31 b(the)h Fp(Tld_rc)e Fv(v)-5 b(alue)32
+b Fp(TLD_SUCCESS)c Fv(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5
+b(alid)32 b(or)390 5213 y(when)27 b Fp(tld)f Fv(is)i(n)m(ull,)g
+Fp(TLD_INVALID)d Fv(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 5322 y(on)j(general)i(failure)e
(conditions.)p eop end
%%Page: 34 39
-TeXDict begin 34 38 bop 150 -116 a Fx(Chapter)30 b(7:)41
-b(TLD)30 b(F)-8 b(unctions)2437 b(34)150 299 y Fq(tld)p
+TeXDict begin 34 38 bop 150 -116 a Fv(Chapter)30 b(7:)41
+b(TLD)30 b(F)-8 b(unctions)2437 b(34)150 299 y Fo(tld)p
309 299 37 5 v 54 w(c)m(hec)m(k)p 656 299 V 52 w(4z)3350
-501 y Fx([F)-8 b(unction])-3599 b Fp(int)53 b(tld_check_4z)c
-Fo(\()p Fn(const)32 b(uin)m(t32)p 1561 501 28 4 v 41
-w(t)e(*)h Fm(in)12 b Fn(,)31 b(size)p 2056 501 V 41 w(t)f(*)h
-Fm(errpos)12 b Fn(,)32 b(const)565 610 y(Tld)p 713 610
-V 40 w(table)f(**)g Fm(overrides)12 b Fo(\))390 720 y
-Fn(in)p Fx(:)40 b(Zero-terminated)32 b(arra)m(y)f(of)f(unico)s(de)g(co)
-s(de)h(p)s(oin)m(ts)f(to)h(pro)s(cess.)390 860 y Fn(errp)s(os)t
-Fx(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m(haracter)i(is)e
-(returned)g(here.)390 999 y Fn(o)m(v)m(errides)t Fx(:)48
-b(A)34 b Fr(Tld_table)d Fx(arra)m(y)j(of)g(additional)h(domain)e
+501 y Fv([F)-8 b(unction])-3599 b Fn(int)53 b(tld_check_4z)c
+Fm(\()p Fl(const)32 b(uin)m(t32)p 1561 501 28 4 v 41
+w(t)e(*)h Fk(in)12 b Fl(,)31 b(size)p 2056 501 V 41 w(t)f(*)h
+Fk(errpos)12 b Fl(,)32 b(const)565 610 y(Tld)p 713 610
+V 40 w(table)f(**)g Fk(overrides)12 b Fm(\))390 720 y
+Fl(in)p Fv(:)40 b(Zero-terminated)32 b(arra)m(y)f(of)f(unico)s(de)g(co)
+s(de)h(p)s(oin)m(ts)f(to)h(pro)s(cess.)390 860 y Fl(errp)s(os)t
+Fv(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m(haracter)i(is)e
+(returned)g(here.)390 999 y Fl(o)m(v)m(errides)t Fv(:)48
+b(A)34 b Fp(Tld_table)d Fv(arra)m(y)j(of)g(additional)h(domain)e
(restriction)i(structures)e(that)h(com-)390 1109 y(plemen)m(t)d(and)f
(sup)s(ersede)f(the)h(built-in)g(information.)390 1248
y(T)-8 b(est)26 b(eac)m(h)h(of)f(the)g(co)s(de)g(p)s(oin)m(ts)g(in)f
-Fr(in)g Fx(for)h(whether)f(or)h(not)g(they)g(are)g(allo)m(w)m(ed)h(b)m
-(y)f(the)g(informa-)390 1358 y(tion)32 b(in)g Fr(overrides)d
-Fx(or)j(b)m(y)g(the)g(built-in)g(TLD)g(restriction)g(data.)46
+Fp(in)g Fv(for)h(whether)f(or)h(not)g(they)g(are)g(allo)m(w)m(ed)h(b)m
+(y)f(the)g(informa-)390 1358 y(tion)32 b(in)g Fp(overrides)d
+Fv(or)j(b)m(y)g(the)g(built-in)g(TLD)g(restriction)g(data.)46
b(When)32 b(data)h(for)e(the)i(same)390 1468 y(TLD)39
b(is)g(a)m(v)-5 b(ailable)41 b(b)s(oth)d(in)m(ternally)i(and)e(in)h
-Fr(overrides)p Fx(,)g(the)g(information)g(in)f Fr(overrides)390
-1577 y Fx(tak)m(es)29 b(precedence.)40 b(If)27 b(sev)m(eral)i(en)m
+Fp(overrides)p Fv(,)g(the)g(information)g(in)f Fp(overrides)390
+1577 y Fv(tak)m(es)29 b(precedence.)40 b(If)27 b(sev)m(eral)i(en)m
(tries)g(for)e(a)h(sp)s(eci\014c)g(TLD)f(are)h(found,)f(the)h(\014rst)f
-(one)h(is)f(used.)390 1687 y(If)k Fr(overrides)e Fx(is)i
-Fr(NULL)p Fx(,)f(only)i(the)f(built-in)g(information)h(is)f(used.)43
+(one)h(is)f(used.)390 1687 y(If)k Fp(overrides)e Fv(is)i
+Fp(NULL)p Fv(,)f(only)i(the)f(built-in)g(information)h(is)f(used.)43
b(The)30 b(p)s(osition)i(of)f(the)h(\014rst)390 1796
-y(o\013ending)e(c)m(haracter)i(is)f(returned)e(in)h Fr(errpos)p
-Fx(.)390 1936 y Fl(Return)h(v)-5 b(alue:)44 b Fx(Returns)31
-b(the)h Fr(Tld_rc)e Fx(v)-5 b(alue)32 b Fr(TLD_SUCCESS)c
-Fx(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5 b(alid)32
-b(or)390 2046 y(when)27 b Fr(tld)f Fx(is)i(n)m(ull,)g
-Fr(TLD_INVALID)d Fx(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
+y(o\013ending)e(c)m(haracter)i(is)f(returned)e(in)h Fp(errpos)p
+Fv(.)390 1936 y Fj(Return)h(v)-5 b(alue:)44 b Fv(Returns)31
+b(the)h Fp(Tld_rc)e Fv(v)-5 b(alue)32 b Fp(TLD_SUCCESS)c
+Fv(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5 b(alid)32
+b(or)390 2046 y(when)27 b Fp(tld)f Fv(is)i(n)m(ull,)g
+Fp(TLD_INVALID)d Fv(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 2155 y(on)j(general)i(failure)e
-(conditions.)150 2360 y Fq(tld)p 309 2360 37 5 v 54 w(c)m(hec)m(k)p
-656 2360 V 52 w(8z)3350 2562 y Fx([F)-8 b(unction])-3599
-b Fp(int)53 b(tld_check_8z)c Fo(\()p Fn(const)32 b(c)m(har)e(*)h
-Fm(in)12 b Fn(,)31 b(size)p 1900 2562 28 4 v 41 w(t)f(*)h
-Fm(errpos)12 b Fn(,)32 b(const)f(Tld)p 2843 2562 V 39
-w(table)h(**)565 2671 y Fm(overrides)12 b Fo(\))390 2781
-y Fn(in)p Fx(:)40 b(Zero-terminated)32 b(UTF8)f(string)f(to)h(pro)s
-(cess.)390 2920 y Fn(errp)s(os)t Fx(:)39 b(P)m(osition)32
+(conditions.)150 2360 y Fo(tld)p 309 2360 37 5 v 54 w(c)m(hec)m(k)p
+656 2360 V 52 w(8z)3350 2562 y Fv([F)-8 b(unction])-3599
+b Fn(int)53 b(tld_check_8z)c Fm(\()p Fl(const)32 b(c)m(har)e(*)h
+Fk(in)12 b Fl(,)31 b(size)p 1900 2562 28 4 v 41 w(t)f(*)h
+Fk(errpos)12 b Fl(,)32 b(const)f(Tld)p 2843 2562 V 39
+w(table)h(**)565 2671 y Fk(overrides)12 b Fm(\))390 2781
+y Fl(in)p Fv(:)40 b(Zero-terminated)32 b(UTF8)f(string)f(to)h(pro)s
+(cess.)390 2920 y Fl(errp)s(os)t Fv(:)39 b(P)m(osition)32
b(of)f(o\013ending)f(c)m(haracter)i(is)e(returned)g(here.)390
-3060 y Fn(o)m(v)m(errides)t Fx(:)48 b(A)34 b Fr(Tld_table)d
-Fx(arra)m(y)j(of)g(additional)h(domain)e(restriction)i(structures)e
+3060 y Fl(o)m(v)m(errides)t Fv(:)48 b(A)34 b Fp(Tld_table)d
+Fv(arra)m(y)j(of)g(additional)h(domain)e(restriction)i(structures)e
(that)h(com-)390 3170 y(plemen)m(t)d(and)f(sup)s(ersede)f(the)h
(built-in)g(information.)390 3309 y(T)-8 b(est)21 b(eac)m(h)h(of)f(the)
-g(c)m(haracters)h(in)e Fr(in)h Fx(for)f(whether)g(or)h(not)g(they)g
+g(c)m(haracters)h(in)e Fp(in)h Fv(for)f(whether)g(or)h(not)g(they)g
(are)g(allo)m(w)m(ed)h(b)m(y)f(the)g(information)390
-3419 y(in)29 b Fr(overrides)e Fx(or)j(b)m(y)f(the)h(built-in)f(TLD)h
+3419 y(in)29 b Fp(overrides)e Fv(or)j(b)m(y)f(the)h(built-in)f(TLD)h
(restriction)g(data.)41 b(When)30 b(data)g(for)f(the)h(same)g(TLD)390
3528 y(is)38 b(a)m(v)-5 b(ailable)40 b(b)s(oth)e(in)m(ternally)g(and)g
-(in)f Fr(overrides)p Fx(,)h(the)g(information)g(in)g
-Fr(overrides)d Fx(tak)m(es)390 3638 y(precedence.)56
+(in)f Fp(overrides)p Fv(,)h(the)g(information)g(in)g
+Fp(overrides)d Fv(tak)m(es)390 3638 y(precedence.)56
b(If)34 b(sev)m(eral)j(en)m(tries)f(for)f(a)g(sp)s(eci\014c)g(TLD)h
(are)f(found,)g(the)h(\014rst)e(one)i(is)f(used.)54 b(If)390
-3748 y Fr(overrides)35 b Fx(is)i Fr(NULL)p Fx(,)h(only)g(the)f
+3748 y Fp(overrides)35 b Fv(is)i Fp(NULL)p Fv(,)h(only)g(the)f
(built-in)g(information)h(is)f(used.)61 b(The)36 b(p)s(osition)i(of)f
(the)h(\014rst)390 3857 y(o\013ending)32 b(c)m(haracter)i(is)e
-(returned)f(in)h Fr(errpos)p Fx(.)44 b(Note)34 b(that)f(the)f(error)g
+(returned)f(in)h Fp(errpos)p Fv(.)44 b(Note)34 b(that)f(the)f(error)g
(p)s(osition)g(refers)g(to)h(the)390 3967 y(deco)s(ded)d(c)m(haracter)i
(o\013set)f(rather)g(than)f(the)g(b)m(yte)h(p)s(osition)g(in)f(the)g
-(string.)390 4106 y Fl(Return)35 b(v)-5 b(alue:)52 b
-Fx(Returns)35 b(the)g Fr(Tld_rc)f Fx(v)-5 b(alue)36 b
-Fr(TLD_SUCCESS)d Fx(if)i(all)i(c)m(haracters)g(are)f(v)-5
-b(alid)36 b(or)390 4216 y(when)27 b Fr(tld)f Fx(is)i(n)m(ull,)g
-Fr(TLD_INVALID)d Fx(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
+(string.)390 4106 y Fj(Return)35 b(v)-5 b(alue:)52 b
+Fv(Returns)35 b(the)g Fp(Tld_rc)f Fv(v)-5 b(alue)36 b
+Fp(TLD_SUCCESS)d Fv(if)i(all)i(c)m(haracters)g(are)f(v)-5
+b(alid)36 b(or)390 4216 y(when)27 b Fp(tld)f Fv(is)i(n)m(ull,)g
+Fp(TLD_INVALID)d Fv(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 4326 y(on)j(general)i(failure)e
-(conditions.)150 4530 y Fq(tld)p 309 4530 37 5 v 54 w(c)m(hec)m(k)p
-656 4530 V 52 w(lz)3350 4732 y Fx([F)-8 b(unction])-3599
-b Fp(int)53 b(tld_check_lz)c Fo(\()p Fn(const)32 b(c)m(har)e(*)h
-Fm(in)12 b Fn(,)31 b(size)p 1900 4732 28 4 v 41 w(t)f(*)h
-Fm(errpos)12 b Fn(,)32 b(const)f(Tld)p 2843 4732 V 39
-w(table)h(**)565 4842 y Fm(overrides)12 b Fo(\))390 4951
-y Fn(in)p Fx(:)40 b(Zero-terminated)32 b(string)e(in)g(the)h(curren)m
+(conditions.)150 4530 y Fo(tld)p 309 4530 37 5 v 54 w(c)m(hec)m(k)p
+656 4530 V 52 w(lz)3350 4732 y Fv([F)-8 b(unction])-3599
+b Fn(int)53 b(tld_check_lz)c Fm(\()p Fl(const)32 b(c)m(har)e(*)h
+Fk(in)12 b Fl(,)31 b(size)p 1900 4732 28 4 v 41 w(t)f(*)h
+Fk(errpos)12 b Fl(,)32 b(const)f(Tld)p 2843 4732 V 39
+w(table)h(**)565 4842 y Fk(overrides)12 b Fm(\))390 4951
+y Fl(in)p Fv(:)40 b(Zero-terminated)32 b(string)e(in)g(the)h(curren)m
(t)f(lo)s(cales)i(enco)s(ding)e(to)h(pro)s(cess.)390
-5091 y Fn(errp)s(os)t Fx(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m
-(haracter)i(is)e(returned)g(here.)390 5230 y Fn(o)m(v)m(errides)t
-Fx(:)48 b(A)34 b Fr(Tld_table)d Fx(arra)m(y)j(of)g(additional)h(domain)
+5091 y Fl(errp)s(os)t Fv(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m
+(haracter)i(is)e(returned)g(here.)390 5230 y Fl(o)m(v)m(errides)t
+Fv(:)48 b(A)34 b Fp(Tld_table)d Fv(arra)m(y)j(of)g(additional)h(domain)
e(restriction)i(structures)e(that)h(com-)390 5340 y(plemen)m(t)d(and)f
(sup)s(ersede)f(the)h(built-in)g(information.)p eop end
%%Page: 35 40
-TeXDict begin 35 39 bop 150 -116 a Fx(Chapter)30 b(7:)41
+TeXDict begin 35 39 bop 150 -116 a Fv(Chapter)30 b(7:)41
b(TLD)30 b(F)-8 b(unctions)2437 b(35)390 299 y(T)-8 b(est)21
-b(eac)m(h)h(of)f(the)g(c)m(haracters)h(in)e Fr(in)h Fx(for)f(whether)g
+b(eac)m(h)h(of)f(the)g(c)m(haracters)h(in)e Fp(in)h Fv(for)f(whether)g
(or)h(not)g(they)g(are)g(allo)m(w)m(ed)h(b)m(y)f(the)g(information)390
-408 y(in)29 b Fr(overrides)e Fx(or)j(b)m(y)f(the)h(built-in)f(TLD)h
+408 y(in)29 b Fp(overrides)e Fv(or)j(b)m(y)f(the)h(built-in)f(TLD)h
(restriction)g(data.)41 b(When)30 b(data)g(for)f(the)h(same)g(TLD)390
518 y(is)38 b(a)m(v)-5 b(ailable)40 b(b)s(oth)e(in)m(ternally)g(and)g
-(in)f Fr(overrides)p Fx(,)h(the)g(information)g(in)g
-Fr(overrides)d Fx(tak)m(es)390 628 y(precedence.)56 b(If)34
+(in)f Fp(overrides)p Fv(,)h(the)g(information)g(in)g
+Fp(overrides)d Fv(tak)m(es)390 628 y(precedence.)56 b(If)34
b(sev)m(eral)j(en)m(tries)f(for)f(a)g(sp)s(eci\014c)g(TLD)h(are)f
(found,)g(the)h(\014rst)e(one)i(is)f(used.)54 b(If)390
-737 y Fr(overrides)35 b Fx(is)i Fr(NULL)p Fx(,)h(only)g(the)f(built-in)
+737 y Fp(overrides)35 b Fv(is)i Fp(NULL)p Fv(,)h(only)g(the)f(built-in)
g(information)h(is)f(used.)61 b(The)36 b(p)s(osition)i(of)f(the)h
(\014rst)390 847 y(o\013ending)32 b(c)m(haracter)i(is)e(returned)f(in)h
-Fr(errpos)p Fx(.)44 b(Note)34 b(that)f(the)f(error)g(p)s(osition)g
+Fp(errpos)p Fv(.)44 b(Note)34 b(that)f(the)f(error)g(p)s(osition)g
(refers)g(to)h(the)390 956 y(deco)s(ded)d(c)m(haracter)i(o\013set)f
(rather)g(than)f(the)g(b)m(yte)h(p)s(osition)g(in)f(the)g(string.)390
-1091 y Fl(Return)35 b(v)-5 b(alue:)52 b Fx(Returns)35
-b(the)g Fr(Tld_rc)f Fx(v)-5 b(alue)36 b Fr(TLD_SUCCESS)d
-Fx(if)i(all)i(c)m(haracters)g(are)f(v)-5 b(alid)36 b(or)390
-1200 y(when)27 b Fr(tld)f Fx(is)i(n)m(ull,)g Fr(TLD_INVALID)d
-Fx(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k(or)c(additional)
+1091 y Fj(Return)35 b(v)-5 b(alue:)52 b Fv(Returns)35
+b(the)g Fp(Tld_rc)f Fv(v)-5 b(alue)36 b Fp(TLD_SUCCESS)d
+Fv(if)i(all)i(c)m(haracters)g(are)f(v)-5 b(alid)36 b(or)390
+1200 y(when)27 b Fp(tld)f Fv(is)i(n)m(ull,)g Fp(TLD_INVALID)d
+Fv(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k(or)c(additional)
i(error)e(co)s(des)390 1310 y(on)j(general)i(failure)e(conditions.)150
-1543 y Fw(7.5)68 b(Error)45 b(Handling)150 1767 y Fq(tld)p
-309 1767 37 5 v 54 w(strerror)3350 1963 y Fx([F)-8 b(unction])-3599
-b Fp(const)54 b(char)f(*)g(tld_strerror)c Fo(\()p Fn(Tld)p
-1686 1963 28 4 v 40 w(rc)30 b Fm(rc)12 b Fo(\))390 2073
-y Fn(rc)6 b Fx(:)40 b(tld)31 b(return)e(co)s(de)390 2208
+1543 y Fu(7.5)68 b(Error)45 b(Handling)150 1767 y Fo(tld)p
+309 1767 37 5 v 54 w(strerror)3350 1963 y Fv([F)-8 b(unction])-3599
+b Fn(const)54 b(char)f(*)g(tld_strerror)c Fm(\()p Fl(Tld)p
+1686 1963 28 4 v 40 w(rc)30 b Fk(rc)12 b Fm(\))390 2073
+y Fl(rc)6 b Fv(:)40 b(tld)31 b(return)e(co)s(de)390 2208
y(Con)m(v)m(ert)35 b(a)f(return)e(co)s(de)i(in)m(teger)i(to)e(a)g(text)
h(string.)51 b(This)33 b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)
390 2317 y(diagnostic)e(message)f(to)g(the)g(user.)390
-2452 y Fl(TLD)p 584 2452 28 5 v 39 w(SUCCESS:)21 b Fx(Successful)h(op)s
+2452 y Fj(TLD)p 584 2452 28 5 v 39 w(SUCCESS:)21 b Fv(Successful)h(op)s
(eration.)39 b(This)22 b(v)-5 b(alue)23 b(is)g(guaran)m(teed)h(to)g
(alw)m(a)m(ys)g(b)s(e)e(zero,)k(the)390 2561 y(remaining)36
b(ones)g(are)h(only)f(guaran)m(teed)h(to)g(hold)f(non-zero)g(v)-5
b(alues,)38 b(for)e(logical)j(comparison)390 2671 y(purp)s(oses.)390
-2805 y Fl(TLD)p 584 2805 V 39 w(INV)-10 b(ALID:)30 b
-Fx(In)m(v)-5 b(alid)30 b(c)m(haracter)i(found.)390 2940
-y Fl(TLD)p 584 2940 V 39 w(NOD)m(A)-8 b(T)g(A:)32 b Fx(No)f(input)e
-(data)i(w)m(as)g(pro)m(vided.)390 3074 y Fl(TLD)p 584
-3074 V 39 w(MALLOC)p 1022 3074 V 39 w(ERR)m(OR:)g Fx(Error)f(during)f
-(memory)h(allo)s(cation.)390 3209 y Fl(TLD)p 584 3209
-V 39 w(ICONV)p 933 3209 V 40 w(ERR)m(OR:)h Fx(Error)f(during)f(icon)m
-(v)i(string)g(con)m(v)m(ersion.)390 3343 y Fl(TLD)p 584
-3343 V 39 w(NO)p 762 3343 V 41 w(TLD:)f Fx(No)h(top-lev)m(el)h(domain)f
-(found)e(in)h(domain)g(string.)390 3478 y Fl(Return)f(v)-5
-b(alue:)40 b Fx(Returns)29 b(a)g(p)s(oin)m(ter)h(to)g(a)f(statically)j
+2805 y Fj(TLD)p 584 2805 V 39 w(INV)-10 b(ALID:)30 b
+Fv(In)m(v)-5 b(alid)30 b(c)m(haracter)i(found.)390 2940
+y Fj(TLD)p 584 2940 V 39 w(NOD)m(A)-8 b(T)g(A:)32 b Fv(No)f(input)e
+(data)i(w)m(as)g(pro)m(vided.)390 3074 y Fj(TLD)p 584
+3074 V 39 w(MALLOC)p 1022 3074 V 39 w(ERR)m(OR:)g Fv(Error)f(during)f
+(memory)h(allo)s(cation.)390 3209 y Fj(TLD)p 584 3209
+V 39 w(ICONV)p 933 3209 V 40 w(ERR)m(OR:)h Fv(Error)f(during)f(icon)m
+(v)i(string)g(con)m(v)m(ersion.)390 3343 y Fj(TLD)p 584
+3343 V 39 w(NO)p 762 3343 V 41 w(TLD:)f Fv(No)h(top-lev)m(el)h(domain)f
+(found)e(in)h(domain)g(string.)390 3478 y Fj(Return)f(v)-5
+b(alue:)40 b Fv(Returns)29 b(a)g(p)s(oin)m(ter)h(to)g(a)f(statically)j
(allo)s(cated)f(string)f(con)m(taining)h(a)e(descrip-)390
3587 y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e(co)s(de)h
-Fr(rc)p Fx(.)p eop end
+Fp(rc)p Fv(.)p eop end
%%Page: 36 41
-TeXDict begin 36 40 bop 150 -116 a Fx(Chapter)30 b(8:)41
-b(PR29)31 b(F)-8 b(unctions)2409 b(36)150 299 y Fu(8)80
-b(PR29)54 b(F)-13 b(unctions)150 561 y Fx(A)42 b(de\014ciency)f(in)g
+TeXDict begin 36 40 bop 150 -116 a Fv(Chapter)30 b(8:)41
+b(PR29)31 b(F)-8 b(unctions)2409 b(36)150 299 y Fs(8)80
+b(PR29)54 b(F)-13 b(unctions)150 561 y Fv(A)42 b(de\014ciency)f(in)g
(the)h(sp)s(eci\014cation)g(of)g(Unico)s(de)f(Normalization)j(F)-8
b(orms)42 b(has)f(b)s(een)g(found.)72 b(The)150 671 y(consequence)36
b(is)g(that)g(some)g(strings)f(can)h(b)s(e)f(normalized)h(in)m(to)h
(o)s(ccur)e(in)h(natural)g(languages)i(\(due)e(to)g(di\013eren)m(t)h
(linguistic)150 1438 y(uses)30 b(of)g(the)h(in)m(v)m(olv)m(ed)h(c)m
(haracters\).)275 1582 y(A)e(full)g(discussion)g(of)g(the)h(problem)f
-(ma)m(y)h(b)s(e)e(found)h(at:)275 1726 y Fr(http://www.unicode.org/)o
-(rev)o(iew/)o(pr-2)o(9.h)o(tml)275 1870 y Fx(The)35 b(PR29)h(functions)
+(ma)m(y)h(b)s(e)e(found)h(at:)275 1726 y Fp(http://www.unicode.org/)o
+(rev)o(iew/)o(pr-2)o(9.h)o(tml)275 1870 y Fv(The)35 b(PR29)h(functions)
f(b)s(elo)m(w)h(allo)m(w)h(y)m(ou)f(to)g(detect)h(the)f(problem)e
(sequence.)57 b(So)36 b(when)e(w)m(ould)150 1980 y(y)m(ou)40
b(w)m(an)m(t)h(to)f(use)g(these)g(functions?)69 b(F)-8
(readers)g(ma)m(y)h(b)s(e)e(in)m(terested)i(in)f(kno)m(wing)g(more)g
(ab)s(out)f(the)i(implemen)m(ta-)150 3220 y(tion)f(asp)s(ects)g(of)f
(the)h(PR29)g(\015a)m(w.)40 b(See)31 b(App)s(endix)e(A)h([PR29)h
-(discussion],)g(page)g(64.)150 3466 y Fw(8.1)68 b(Header)46
-b(\014le)f Fj(pr29.h)150 3626 y Fx(T)-8 b(o)31 b(use)f(the)g(functions)
+(discussion],)g(page)g(64.)150 3466 y Fu(8.1)68 b(Header)46
+b(\014le)f Fi(pr29.h)150 3626 y Fv(T)-8 b(o)31 b(use)f(the)g(functions)
g(explained)h(in)f(this)g(c)m(hapter,)i(y)m(ou)e(need)g(to)i(include)e
-(the)g(\014le)h(`)p Fr(pr29.h)p Fx(')e(using:)390 3770
-y Fr(#include)46 b(<pr29.h>)150 4016 y Fw(8.2)68 b(Core)46
-b(F)-11 b(unctions)150 4241 y Fq(pr29)p 399 4241 37 5
-v 55 w(4)3350 4447 y Fx([F)j(unction])-3599 b Fp(int)53
-b(pr29_4)47 b Fo(\()p Fn(const)32 b(uin)m(t32)p 1247
-4447 28 4 v 41 w(t)e(*)h Fm(in)12 b Fn(,)31 b(size)p
-1742 4447 V 41 w(t)f Fm(len)12 b Fo(\))390 4556 y Fn(in)p
-Fx(:)40 b(input)30 b(arra)m(y)h(with)f(unico)s(de)g(co)s(de)g(p)s(oin)m
-(ts.)390 4700 y Fn(len)p Fx(:)41 b(length)31 b(of)f(input)g(arra)m(y)g
+(the)g(\014le)h(`)p Fp(pr29.h)p Fv(')e(using:)390 3770
+y Fp(#include)46 b(<pr29.h>)150 4016 y Fu(8.2)68 b(Core)46
+b(F)-11 b(unctions)150 4241 y Fo(pr29)p 399 4241 37 5
+v 55 w(4)3350 4447 y Fv([F)j(unction])-3599 b Fn(int)53
+b(pr29_4)47 b Fm(\()p Fl(const)32 b(uin)m(t32)p 1247
+4447 28 4 v 41 w(t)e(*)h Fk(in)12 b Fl(,)31 b(size)p
+1742 4447 V 41 w(t)f Fk(len)12 b Fm(\))390 4556 y Fl(in)p
+Fv(:)40 b(input)30 b(arra)m(y)h(with)f(unico)s(de)g(co)s(de)g(p)s(oin)m
+(ts.)390 4700 y Fl(len)p Fv(:)41 b(length)31 b(of)f(input)g(arra)m(y)g
(with)h(unico)s(de)e(co)s(de)i(p)s(oin)m(ts.)390 4844
y(Chec)m(k)23 b(the)g(input)f(to)i(see)f(if)g(it)g(ma)m(y)g(b)s(e)g
(normalized)g(in)m(to)h(di\013eren)m(t)f(strings)g(b)m(y)f(di\013eren)m
(t)i(NFK)m(C)390 4954 y(implemen)m(tations,)32 b(due)e(to)h(an)f
(anomaly)h(in)f(the)h(NFK)m(C)g(sp)s(eci\014cations.)390
-5098 y Fl(Return)47 b(v)-5 b(alue:)75 b Fx(Returns)47
-b(the)g Fr(Pr29_rc)e Fx(v)-5 b(alue)48 b Fr(PR29_SUCCESS)c
-Fx(on)k(success,)k(and)46 b Fr(PR29_)390 5208 y(PROBLEM)28
-b Fx(if)i(the)g(input)g(sequence)g(is)g(a)h Fr(")p Fx(problem)e
-(sequence)p Fr(")h Fx(\(i.e.,)i(ma)m(y)f(b)s(e)e(normalized)i(in)m(to)
+5098 y Fj(Return)47 b(v)-5 b(alue:)75 b Fv(Returns)47
+b(the)g Fp(Pr29_rc)e Fv(v)-5 b(alue)48 b Fp(PR29_SUCCESS)c
+Fv(on)k(success,)k(and)46 b Fp(PR29_)390 5208 y(PROBLEM)28
+b Fv(if)i(the)g(input)g(sequence)g(is)g(a)h Fp(")p Fv(problem)e
+(sequence)p Fp(")h Fv(\(i.e.,)i(ma)m(y)f(b)s(e)e(normalized)i(in)m(to)
390 5317 y(di\013eren)m(t)g(strings)f(b)m(y)g(di\013eren)m(t)h
(implemen)m(tations\).)p eop end
%%Page: 37 42
-TeXDict begin 37 41 bop 150 -116 a Fx(Chapter)30 b(8:)41
-b(PR29)31 b(F)-8 b(unctions)2409 b(37)150 299 y Fw(8.3)68
-b(Utilit)l(y)47 b(F)-11 b(unctions)150 523 y Fq(pr29)p
-399 523 37 5 v 55 w(4z)3350 720 y Fx([F)j(unction])-3599
-b Fp(int)53 b(pr29_4z)48 b Fo(\()p Fn(const)31 b(uin)m(t32)p
-1299 720 28 4 v 41 w(t)g(*)f Fm(in)12 b Fo(\))390 829
-y Fn(in)p Fx(:)40 b(zero)32 b(terminated)e(arra)m(y)h(of)g(Unico)s(de)f
+TeXDict begin 37 41 bop 150 -116 a Fv(Chapter)30 b(8:)41
+b(PR29)31 b(F)-8 b(unctions)2409 b(37)150 299 y Fu(8.3)68
+b(Utilit)l(y)47 b(F)-11 b(unctions)150 523 y Fo(pr29)p
+399 523 37 5 v 55 w(4z)3350 720 y Fv([F)j(unction])-3599
+b Fn(int)53 b(pr29_4z)48 b Fm(\()p Fl(const)31 b(uin)m(t32)p
+1299 720 28 4 v 41 w(t)g(*)f Fk(in)12 b Fm(\))390 829
+y Fl(in)p Fv(:)40 b(zero)32 b(terminated)e(arra)m(y)h(of)g(Unico)s(de)f
(co)s(de)h(p)s(oin)m(ts.)390 964 y(Chec)m(k)23 b(the)g(input)f(to)i
(see)f(if)g(it)g(ma)m(y)g(b)s(e)g(normalized)g(in)m(to)h(di\013eren)m
(t)f(strings)g(b)m(y)f(di\013eren)m(t)i(NFK)m(C)390 1073
y(implemen)m(tations,)32 b(due)e(to)h(an)f(anomaly)h(in)f(the)h(NFK)m
-(C)g(sp)s(eci\014cations.)390 1208 y Fl(Return)47 b(v)-5
-b(alue:)75 b Fx(Returns)47 b(the)g Fr(Pr29_rc)e Fx(v)-5
-b(alue)48 b Fr(PR29_SUCCESS)c Fx(on)k(success,)k(and)46
-b Fr(PR29_)390 1318 y(PROBLEM)28 b Fx(if)i(the)g(input)g(sequence)g(is)
-g(a)h Fr(")p Fx(problem)e(sequence)p Fr(")h Fx(\(i.e.,)i(ma)m(y)f(b)s
+(C)g(sp)s(eci\014cations.)390 1208 y Fj(Return)47 b(v)-5
+b(alue:)75 b Fv(Returns)47 b(the)g Fp(Pr29_rc)e Fv(v)-5
+b(alue)48 b Fp(PR29_SUCCESS)c Fv(on)k(success,)k(and)46
+b Fp(PR29_)390 1318 y(PROBLEM)28 b Fv(if)i(the)g(input)g(sequence)g(is)
+g(a)h Fp(")p Fv(problem)e(sequence)p Fp(")h Fv(\(i.e.,)i(ma)m(y)f(b)s
(e)e(normalized)i(in)m(to)390 1427 y(di\013eren)m(t)g(strings)f(b)m(y)g
-(di\013eren)m(t)h(implemen)m(tations\).)150 1626 y Fq(pr29)p
-399 1626 37 5 v 55 w(8z)3350 1823 y Fx([F)-8 b(unction])-3599
-b Fp(int)53 b(pr29_8z)48 b Fo(\()p Fn(const)31 b(c)m(har)g(*)g
-Fm(in)12 b Fo(\))390 1933 y Fn(in)p Fx(:)40 b(zero)32
+(di\013eren)m(t)h(implemen)m(tations\).)150 1626 y Fo(pr29)p
+399 1626 37 5 v 55 w(8z)3350 1823 y Fv([F)-8 b(unction])-3599
+b Fn(int)53 b(pr29_8z)48 b Fm(\()p Fl(const)31 b(c)m(har)g(*)g
+Fk(in)12 b Fm(\))390 1933 y Fl(in)p Fv(:)40 b(zero)32
b(terminated)e(input)g(UTF-8)h(string.)390 2067 y(Chec)m(k)23
b(the)g(input)f(to)i(see)f(if)g(it)g(ma)m(y)g(b)s(e)g(normalized)g(in)m
(to)h(di\013eren)m(t)f(strings)g(b)m(y)f(di\013eren)m(t)i(NFK)m(C)390
2177 y(implemen)m(tations,)32 b(due)e(to)h(an)f(anomaly)h(in)f(the)h
-(NFK)m(C)g(sp)s(eci\014cations.)390 2311 y Fl(Return)47
-b(v)-5 b(alue:)75 b Fx(Returns)47 b(the)g Fr(Pr29_rc)e
-Fx(v)-5 b(alue)48 b Fr(PR29_SUCCESS)c Fx(on)k(success,)k(and)46
-b Fr(PR29_)390 2421 y(PROBLEM)28 b Fx(if)i(the)g(input)g(sequence)g(is)
-g(a)h Fr(")p Fx(problem)e(sequence)p Fr(")h Fx(\(i.e.,)i(ma)m(y)f(b)s
+(NFK)m(C)g(sp)s(eci\014cations.)390 2311 y Fj(Return)47
+b(v)-5 b(alue:)75 b Fv(Returns)47 b(the)g Fp(Pr29_rc)e
+Fv(v)-5 b(alue)48 b Fp(PR29_SUCCESS)c Fv(on)k(success,)k(and)46
+b Fp(PR29_)390 2421 y(PROBLEM)28 b Fv(if)i(the)g(input)g(sequence)g(is)
+g(a)h Fp(")p Fv(problem)e(sequence)p Fp(")h Fv(\(i.e.,)i(ma)m(y)f(b)s
(e)e(normalized)i(in)m(to)390 2531 y(di\013eren)m(t)37
b(strings)e(b)m(y)h(di\013eren)m(t)h(implemen)m(tations\),)i(or)d
-Fr(PR29_STRINGPREP_ERROR)31 b Fx(if)36 b(there)390 2640
+Fp(PR29_STRINGPREP_ERROR)31 b Fv(if)36 b(there)390 2640
y(w)m(as)31 b(a)g(problem)e(con)m(v)m(erting)j(the)f(string)f(from)g
-(UTF-8)i(to)f(UCS-4.)150 2873 y Fw(8.4)68 b(Error)45
-b(Handling)150 3097 y Fq(pr29)p 399 3097 V 55 w(strerror)3350
-3293 y Fx([F)-8 b(unction])-3599 b Fp(const)54 b(char)f(*)g
-(pr29_strerror)c Fo(\()p Fn(Pr29)p 1784 3293 28 4 v 41
-w(rc)30 b Fm(rc)12 b Fo(\))390 3403 y Fn(rc)6 b Fx(:)40
-b(an)30 b Fr(Pr29_rc)f Fx(return)g(co)s(de.)390 3538
+(UTF-8)i(to)f(UCS-4.)150 2873 y Fu(8.4)68 b(Error)45
+b(Handling)150 3097 y Fo(pr29)p 399 3097 V 55 w(strerror)3350
+3293 y Fv([F)-8 b(unction])-3599 b Fn(const)54 b(char)f(*)g
+(pr29_strerror)c Fm(\()p Fl(Pr29)p 1784 3293 28 4 v 41
+w(rc)30 b Fk(rc)12 b Fm(\))390 3403 y Fl(rc)6 b Fv(:)40
+b(an)30 b Fp(Pr29_rc)f Fv(return)g(co)s(de.)390 3538
y(Con)m(v)m(ert)35 b(a)f(return)e(co)s(de)i(in)m(teger)i(to)e(a)g(text)
h(string.)51 b(This)33 b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)
390 3647 y(diagnostic)e(message)f(to)g(the)g(user.)390
-3782 y Fl(PR29)p 617 3782 28 5 v 41 w(SUCCESS:)h Fx(Successful)h(op)s
+3782 y Fj(PR29)p 617 3782 28 5 v 41 w(SUCCESS:)h Fv(Successful)h(op)s
(eration.)53 b(This)33 b(v)-5 b(alue)35 b(is)f(guaran)m(teed)i(to)f
(alw)m(a)m(ys)g(b)s(e)f(zero,)390 3891 y(the)23 b(remaining)f(ones)h
(are)g(only)g(guaran)m(teed)g(to)g(hold)g(non-zero)g(v)-5
b(alues,)24 b(for)f(logical)i(comparison)390 4001 y(purp)s(oses.)390
-4135 y Fl(PR29)p 617 4135 V 41 w(PR)m(OBLEM:)31 b Fx(A)f(problem)g
-(sequence)h(w)m(as)f(encoun)m(tered.)390 4270 y Fl(PR29)p
+4135 y Fj(PR29)p 617 4135 V 41 w(PR)m(OBLEM:)31 b Fv(A)f(problem)g
+(sequence)h(w)m(as)f(encoun)m(tered.)390 4270 y Fj(PR29)p
617 4270 V 41 w(STRINGPREP)p 1272 4270 V 40 w(ERR)m(OR:)35
-b Fx(The)f(c)m(haracter)h(set)g(con)m(v)m(ersion)g(failed)g(\(only)g
-(for)e Fr(pr29_)390 4379 y(8\(\))c Fx(and)h Fr(pr29_8z\(\))p
-Fx(\).)390 4514 y Fl(Return)f(v)-5 b(alue:)40 b Fx(Returns)29
-b(a)g(p)s(oin)m(ter)h(to)g(a)f(statically)j(allo)s(cated)f(string)f
-(con)m(taining)h(a)e(descrip-)390 4623 y(tion)i(of)f(the)h(error)f
-(with)g(the)h(return)e(co)s(de)h Fr(rc)p Fx(.)p eop end
+b Fv(The)f(c)m(haracter)h(set)g(con)m(v)m(ersion)g(failed)g(\(only)g
+(for)e Fp(pr29_)390 4379 y(8z\(\))p Fv(\).)390 4514 y
+Fj(Return)c(v)-5 b(alue:)40 b Fv(Returns)29 b(a)g(p)s(oin)m(ter)h(to)g
+(a)f(statically)j(allo)s(cated)f(string)f(con)m(taining)h(a)e(descrip-)
+390 4623 y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e(co)s(de)h
+Fp(rc)p Fv(.)p eop end
%%Page: 38 43
-TeXDict begin 38 42 bop 150 -116 a Fx(Chapter)30 b(9:)41
-b(Examples)2661 b(38)150 299 y Fu(9)80 b(Examples)150
-537 y Fx(This)26 b(c)m(hapter)h(con)m(tains)h(example)f(co)s(de)g(whic)
+TeXDict begin 38 42 bop 150 -116 a Fv(Chapter)30 b(9:)41
+b(Examples)2661 b(38)150 299 y Fs(9)80 b(Examples)150
+537 y Fv(This)26 b(c)m(hapter)h(con)m(tains)h(example)f(co)s(de)g(whic)
m(h)g(illustrate)h(ho)m(w)e(`Libidn')g(can)h(b)s(e)f(used)g(when)g
(writing)150 646 y(y)m(our)k(o)m(wn)h(application.)150
-880 y Fw(9.1)68 b(Example)46 b(1)150 1040 y Fx(This)30
+880 y Fu(9.1)68 b(Example)46 b(1)150 1040 y Fv(This)30
b(example)h(demonstrates)f(ho)m(w)h(the)f(stringprep)g(functions)g(are)
-g(used.)150 1176 y Fr(/*)47 b(example.c)e(---)i(Example)f(code)h
+g(used.)150 1176 y Fp(/*)47 b(example.c)e(---)i(Example)f(code)h
(showing)f(how)h(to)g(use)g(stringprep\(\).)198 1285
y(*)g(Copyright)e(\(C\))i(2002,)g(2003,)f(2004,)g(2005,)h(2006,)f
-(2007,)h(2008,)f(2009)h(Simon)f(Josefsson)198 1395 y(*)198
-1504 y(*)h(This)g(file)f(is)i(part)e(of)h(GNU)g(Libidn.)198
-1614 y(*)198 1724 y(*)g(This)g(program)f(is)h(free)f(software:)93
-b(you)47 b(can)g(redistribute)e(it)i(and/or)f(modify)198
-1833 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f
-(Public)g(License)g(as)h(published)e(by)198 1943 y(*)i(the)g(Free)g
+(2007,)h(2008,)f(2009,)g(2010,)198 1395 y(*)h(2011)g(Simon)f(Josefsson)
+198 1504 y(*)198 1614 y(*)h(This)g(file)f(is)i(part)e(of)h(GNU)g
+(Libidn.)198 1724 y(*)198 1833 y(*)g(This)g(program)f(is)h(free)f
+(software:)93 b(you)47 b(can)g(redistribute)e(it)i(and/or)f(modify)198
+1943 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f
+(Public)g(License)g(as)h(published)e(by)198 2052 y(*)i(the)g(Free)g
(Software)e(Foundation,)g(either)h(version)g(3)h(of)h(the)e(License,)g
-(or)198 2052 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
-2162 y(*)198 2271 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
-(hope)f(that)h(it)g(will)g(be)g(useful,)198 2381 y(*)g(but)g(WITHOUT)f
+(or)198 2162 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
+2271 y(*)198 2381 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
+(hope)f(that)h(it)g(will)g(be)g(useful,)198 2491 y(*)g(but)g(WITHOUT)f
(ANY)h(WARRANTY;)e(without)h(even)h(the)f(implied)g(warranty)g(of)198
-2491 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
-(PURPOSE.)93 b(See)47 b(the)198 2600 y(*)g(GNU)g(General)f(Public)g
-(License)g(for)h(more)f(details.)198 2710 y(*)198 2819
+2600 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
+(PURPOSE.)93 b(See)47 b(the)198 2710 y(*)g(GNU)g(General)f(Public)g
+(License)g(for)h(more)f(details.)198 2819 y(*)198 2929
y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)i(the)f(GNU)f
-(General)g(Public)g(License)198 2929 y(*)h(along)g(with)f(this)h
+(General)g(Public)g(License)198 3039 y(*)h(along)g(with)f(this)h
(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o(ses/)o
-(>.)198 3039 y(*)198 3148 y(*/)150 3367 y(#include)f(<stdio.h>)150
-3477 y(#include)g(<stdlib.h>)150 3587 y(#include)g(<string.h>)150
-3696 y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
-3806 y(#include)h(<stringprep.h>)150 4025 y(/*)198 4134
+(>.)198 3148 y(*)198 3258 y(*/)150 3477 y(#include)f(<stdio.h>)150
+3587 y(#include)g(<stdlib.h>)150 3696 y(#include)g(<string.h>)150
+3806 y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
+3915 y(#include)h(<stringprep.h>)150 4134 y(/*)198 4244
y(*)h(Compiling)e(using)i(libtool)f(and)h(pkg-config)e(is)i
-(recommended:)198 4244 y(*)198 4354 y(*)g($)h(libtool)d(cc)j(-o)f
+(recommended:)198 4354 y(*)198 4463 y(*)g($)h(libtool)d(cc)j(-o)f
(example)f(example.c)f(`pkg-config)g(--cflags)g(--libs)h(libidn`)198
-4463 y(*)h($)h(./example)198 4573 y(*)f(Input)g(string)f(encoded)f(as)j
-(`ISO-8859-1':)92 b(a)198 4682 y(*)47 b(Before)f(locale2utf8)f
-(\(length)h(2\):)94 b(aa)48 b(0a)198 4792 y(*)f(Before)f(stringprep)f
-(\(length)h(3\):)95 b(c2)47 b(aa)g(0a)198 4902 y(*)g(After)g
-(stringprep)e(\(length)g(2\):)95 b(61)47 b(0a)198 5011
-y(*)g($)198 5121 y(*)198 5230 y(*/)p eop end
+4573 y(*)h($)h(./example)198 4682 y(*)f(Input)g(string)f(encoded)f(as)j
+(`ISO-8859-1':)92 b(a)198 4792 y(*)47 b(Before)f(locale2utf8)f
+(\(length)h(2\):)94 b(aa)48 b(0a)198 4902 y(*)f(Before)f(stringprep)f
+(\(length)h(3\):)95 b(c2)47 b(aa)g(0a)198 5011 y(*)g(After)g
+(stringprep)e(\(length)g(2\):)95 b(61)47 b(0a)198 5121
+y(*)g($)198 5230 y(*)198 5340 y(*/)p eop end
%%Page: 39 44
-TeXDict begin 39 43 bop 150 -116 a Fx(Chapter)30 b(9:)41
-b(Examples)2661 b(39)150 299 y Fr(int)150 408 y(main)47
-b(\(void\))150 518 y({)245 628 y(char)g(buf[BUFSIZ];)245
-737 y(char)g(*p;)245 847 y(int)g(rc;)245 956 y(size_t)g(i;)245
-1176 y(setlocale)f(\(LC_ALL,)f(""\);)245 1395 y(printf)i(\("Input)e
+TeXDict begin 39 43 bop 150 -116 a Fv(Chapter)30 b(9:)41
+b(Examples)2661 b(39)150 408 y Fp(int)150 518 y(main)47
+b(\(void\))150 628 y({)245 737 y(char)g(buf[BUFSIZ];)245
+847 y(char)g(*p;)245 956 y(int)g(rc;)245 1066 y(size_t)g(i;)245
+1285 y(setlocale)f(\(LC_ALL,)f(""\);)245 1504 y(printf)i(\("Input)e
(string)h(encoded)g(as)h(`\045s':)95 b(",)47 b(stringprep_locale_chars)
-o(et)42 b(\(\)\);)245 1504 y(fflush)47 b(\(stdout\);)245
-1614 y(fgets)g(\(buf,)f(BUFSIZ,)g(stdin\);)245 1833 y(printf)h
-(\("Before)e(locale2utf8)g(\(length)h(\045d\):)94 b(",)47
-b(strlen)f(\(buf\)\);)245 1943 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f
-(\(buf\);)g(i++\))341 2052 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i
-(0xFF\);)245 2162 y(printf)f(\("\\n"\);)245 2381 y(p)h(=)f
-(stringprep_locale_to_utf8)41 b(\(buf\);)245 2491 y(if)48
-b(\(p\))341 2600 y({)436 2710 y(strcpy)e(\(buf,)h(p\);)436
-2819 y(free)g(\(p\);)341 2929 y(})245 3039 y(else)341
-3148 y(printf)f(\("Could)g(not)h(convert)f(string)g(to)h(UTF-8,)f
-(continuing)f(anyway...\\n"\);)245 3367 y(printf)i(\("Before)e
-(stringprep)g(\(length)h(\045d\):)94 b(",)47 b(strlen)g(\(buf\)\);)245
-3477 y(for)g(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
-3587 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
-3696 y(printf)f(\("\\n"\);)245 3915 y(rc)h(=)f(stringprep)e(\(buf,)h
-(BUFSIZ,)g(0,)h(stringprep_nameprep\);)245 4025 y(if)h(\(rc)f(!=)g
-(STRINGPREP_OK\))341 4134 y(printf)f(\("Stringprep)e(failed)j
+o(et)42 b(\(\)\);)245 1614 y(fflush)47 b(\(stdout\);)245
+1724 y(fgets)g(\(buf,)f(BUFSIZ,)g(stdin\);)245 1943 y(printf)h
+(\("Before)e(locale2utf8)g(\(length)h(\045ld\):)94 b(",)47
+b(strlen)f(\(buf\)\);)245 2052 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f
+(\(buf\);)g(i++\))341 2162 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i
+(0xFF\);)245 2271 y(printf)f(\("\\n"\);)245 2491 y(p)h(=)f
+(stringprep_locale_to_utf8)41 b(\(buf\);)245 2600 y(if)48
+b(\(p\))341 2710 y({)436 2819 y(strcpy)e(\(buf,)h(p\);)436
+2929 y(free)g(\(p\);)341 3039 y(})245 3148 y(else)341
+3258 y(printf)f(\("Could)g(not)h(convert)f(string)g(to)h(UTF-8,)f
+(continuing)f(anyway...\\n"\);)245 3477 y(printf)i(\("Before)e
+(stringprep)g(\(length)h(\045ld\):)94 b(",)47 b(strlen)f(\(buf\)\);)245
+3587 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
+3696 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
+3806 y(printf)f(\("\\n"\);)245 4025 y(rc)h(=)f(stringprep)e(\(buf,)h
+(BUFSIZ,)g(0,)h(stringprep_nameprep\);)245 4134 y(if)h(\(rc)f(!=)g
+(STRINGPREP_OK\))341 4244 y(printf)f(\("Stringprep)e(failed)j
(\(\045d\):)94 b(\045s\\n",)46 b(rc,)h(stringprep_strerror)42
-b(\(rc\)\);)245 4244 y(else)341 4354 y({)436 4463 y(printf)k(\("After)g
-(stringprep)f(\(length)h(\045d\):)94 b(",)48 b(strlen)e(\(buf\)\);)436
-4573 y(for)h(\(i)g(=)h(0;)f(i)h(<)f(strlen)f(\(buf\);)g(i++\))532
-4682 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)436
-4792 y(printf)e(\("\\n"\);)341 4902 y(})245 5121 y(return)h(0;)150
-5230 y(})p eop end
+b(\(rc\)\);)245 4354 y(else)341 4463 y({)436 4573 y(printf)k(\("After)g
+(stringprep)f(\(length)h(\045ld\):)94 b(",)47 b(strlen)f(\(buf\)\);)436
+4682 y(for)h(\(i)g(=)h(0;)f(i)h(<)f(strlen)f(\(buf\);)g(i++\))532
+4792 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)436
+4902 y(printf)e(\("\\n"\);)341 5011 y(})245 5230 y(return)h(0;)150
+5340 y(})p eop end
%%Page: 40 45
-TeXDict begin 40 44 bop 150 -116 a Fx(Chapter)30 b(9:)41
-b(Examples)2661 b(40)150 299 y Fw(9.2)68 b(Example)46
-b(2)150 458 y Fx(This)30 b(example)h(demonstrates)f(ho)m(w)h(the)f(pun)
-m(yco)s(de)g(functions)g(are)h(used.)150 628 y Fr(/*)47
+TeXDict begin 40 44 bop 150 -116 a Fv(Chapter)30 b(9:)41
+b(Examples)2661 b(40)150 299 y Fu(9.2)68 b(Example)46
+b(2)150 458 y Fv(This)30 b(example)h(demonstrates)f(ho)m(w)h(the)f(pun)
+m(yco)s(de)g(functions)g(are)h(used.)150 628 y Fp(/*)47
b(example2.c)e(---)i(Example)f(code)h(showing)e(how)i(to)g(use)g
(punycode.)198 737 y(*)g(Copyright)e(\(C\))i(2002,)g(2003,)f(2004,)g
-(2005,)h(2006,)f(2007,)h(2008,)f(2009)h(Simon)f(Josefsson)198
-847 y(*)h(Copyright)e(\(C\))i(2002)95 b(Adam)46 b(M.)i(Costello)198
-956 y(*)198 1066 y(*)f(This)g(file)f(is)i(part)e(of)h(GNU)g(Libidn.)198
-1176 y(*)198 1285 y(*)g(This)g(program)f(is)h(free)f(software:)93
-b(you)47 b(can)g(redistribute)e(it)i(and/or)f(modify)198
-1395 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f
-(Public)g(License)g(as)h(published)e(by)198 1504 y(*)i(the)g(Free)g
-(Software)e(Foundation,)g(either)h(version)g(3)h(of)h(the)e(License,)g
-(or)198 1614 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
-1724 y(*)198 1833 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
-(hope)f(that)h(it)g(will)g(be)g(useful,)198 1943 y(*)g(but)g(WITHOUT)f
+(2005,)h(2006,)f(2007,)h(2008,)f(2009,)g(2010,)198 847
+y(*)h(2011)g(Simon)f(Josefsson)198 956 y(*)h(Copyright)e(\(C\))i(2002)
+95 b(Adam)46 b(M.)i(Costello)198 1066 y(*)198 1176 y(*)f(This)g(file)f
+(is)i(part)e(of)h(GNU)g(Libidn.)198 1285 y(*)198 1395
+y(*)g(This)g(program)f(is)h(free)f(software:)93 b(you)47
+b(can)g(redistribute)e(it)i(and/or)f(modify)198 1504
+y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f(Public)g
+(License)g(as)h(published)e(by)198 1614 y(*)i(the)g(Free)g(Software)e
+(Foundation,)g(either)h(version)g(3)h(of)h(the)e(License,)g(or)198
+1724 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
+1833 y(*)198 1943 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
+(hope)f(that)h(it)g(will)g(be)g(useful,)198 2052 y(*)g(but)g(WITHOUT)f
(ANY)h(WARRANTY;)e(without)h(even)h(the)f(implied)g(warranty)g(of)198
-2052 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
-(PURPOSE.)93 b(See)47 b(the)198 2162 y(*)g(GNU)g(General)f(Public)g
-(License)g(for)h(more)f(details.)198 2271 y(*)198 2381
+2162 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
+(PURPOSE.)93 b(See)47 b(the)198 2271 y(*)g(GNU)g(General)f(Public)g
+(License)g(for)h(more)f(details.)198 2381 y(*)198 2491
y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)i(the)f(GNU)f
-(General)g(Public)g(License)198 2491 y(*)h(along)g(with)f(this)h
+(General)g(Public)g(License)198 2600 y(*)h(along)g(with)f(this)h
(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o(ses/)o
-(>.)198 2600 y(*)198 2710 y(*/)150 2929 y(#include)f(<locale.h>)617
-b(/*)47 b(setlocale\(\))e(*/)150 3148 y(/*)198 3258 y(*)i(This)g(file)f
+(>.)198 2710 y(*)198 2819 y(*/)150 3039 y(#include)f(<locale.h>)617
+b(/*)47 b(setlocale\(\))e(*/)150 3258 y(/*)198 3367 y(*)i(This)g(file)f
(is)i(derived)d(from)i(RFC)g(3492)g(written)e(by)j(Adam)e(M.)h
-(Costello.)198 3367 y(*)198 3477 y(*)g(Disclaimer)e(and)i(license:)93
+(Costello.)198 3477 y(*)198 3587 y(*)g(Disclaimer)e(and)i(license:)93
b(Regarding)46 b(this)g(entire)g(document)g(or)h(any)198
-3587 y(*)g(portion)f(of)h(it)g(\(including)e(the)i(pseudocode)e(and)i
-(C)h(code\),)e(the)h(author)198 3696 y(*)g(makes)g(no)g(guarantees)e
+3696 y(*)g(portion)f(of)h(it)g(\(including)e(the)i(pseudocode)e(and)i
+(C)h(code\),)e(the)h(author)198 3806 y(*)g(makes)g(no)g(guarantees)e
(and)i(is)g(not)g(responsible)d(for)j(any)g(damage)f(resulting)198
-3806 y(*)h(from)g(its)g(use.)190 b(The)46 b(author)h(grants)f
-(irrevocable)e(permission)h(to)j(anyone)198 3915 y(*)f(to)g(use,)g
+3915 y(*)h(from)g(its)g(use.)190 b(The)46 b(author)h(grants)f
+(irrevocable)e(permission)h(to)j(anyone)198 4025 y(*)f(to)g(use,)g
(modify,)f(and)h(distribute)e(it)i(in)g(any)g(way)g(that)g(does)f(not)h
-(diminish)198 4025 y(*)g(the)g(rights)f(of)h(anyone)f(else)h(to)g(use,)
-g(modify,)f(and)h(distribute)e(it,)198 4134 y(*)i(provided)f(that)g
+(diminish)198 4134 y(*)g(the)g(rights)f(of)h(anyone)f(else)h(to)g(use,)
+g(modify,)f(and)h(distribute)e(it,)198 4244 y(*)i(provided)f(that)g
(redistributed)f(derivative)g(works)h(do)h(not)g(contain)198
-4244 y(*)g(misleading)e(author)h(or)h(version)f(information.)188
-b(Derivative)45 b(works)h(need)198 4354 y(*)h(not)g(be)g(licensed)f
-(under)g(similar)g(terms.)198 4463 y(*)198 4573 y(*/)150
-4792 y(#include)g(<assert.h>)150 4902 y(#include)g(<stdio.h>)150
-5011 y(#include)g(<stdlib.h>)150 5121 y(#include)g(<string.h>)150
-5340 y(#include)g(<punycode.h>)p eop end
+4354 y(*)g(misleading)e(author)h(or)h(version)f(information.)188
+b(Derivative)45 b(works)h(need)198 4463 y(*)h(not)g(be)g(licensed)f
+(under)g(similar)g(terms.)198 4573 y(*)198 4682 y(*/)150
+4902 y(#include)g(<assert.h>)150 5011 y(#include)g(<stdio.h>)150
+5121 y(#include)g(<stdlib.h>)150 5230 y(#include)g(<string.h>)p
+eop end
%%Page: 41 46
-TeXDict begin 41 45 bop 150 -116 a Fx(Chapter)30 b(9:)41
-b(Examples)2661 b(41)150 408 y Fr(/*)47 b(For)g(testing,)f(we'll)g
-(just)h(set)g(some)f(compile-time)f(limits)h(rather)g(than)g(*/)150
-518 y(/*)h(use)g(malloc\(\),)e(and)i(set)g(a)h(compile-time)c(option)i
-(rather)g(than)h(using)f(a)95 b(*/)150 628 y(/*)47 b(command-line)e
-(option.)4293 b(*/)150 847 y(enum)150 956 y({)245 1066
-y(unicode_max_length)43 b(=)48 b(256,)245 1176 y(ace_max_length)c(=)k
-(256)150 1285 y(};)150 1504 y(static)e(void)150 1614
-y(usage)g(\(char)h(**argv\))150 1724 y({)245 1833 y(fprintf)f
-(\(stderr,)675 1943 y("\\n")675 2052 y("\045s)h(-e)g(reads)f(code)h
-(points)f(and)h(writes)f(a)i(Punycode)d(string.\\n")675
-2162 y("\045s)i(-d)g(reads)f(a)i(Punycode)d(string)i(and)f(writes)h
-(code)f(points.\\n")675 2271 y("\\n")675 2381 y("Input)g(and)h(output)f
-(are)h(plain)f(text)h(in)g(the)g(native)f(character)f(set.\\n")675
-2491 y("Code)h(points)g(are)h(in)h(the)e(form)h(u+hex)f(separated)g(by)
-h(whitespace.\\n")675 2600 y("Although)e(the)i(specification)d(allows)i
-(Punycode)g(strings)g(to)h(contain\\n")675 2710 y("any)g(characters)e
-(from)h(the)h(ASCII)g(repertoire,)d(this)j(test)g(code\\n")675
-2819 y("supports)e(only)i(the)g(printable)e(characters,)g(and)i(needs)f
-(the)h(Punycode\\n")675 2929 y("string)f(to)h(be)g(followed)f(by)h(a)g
-(newline.\\n")675 3039 y("The)g(case)f(of)h(the)g(u)h(in)f(u+hex)f(is)i
-(the)e(force-to-uppercase)d(flag.\\n",)675 3148 y(argv[0],)j
-(argv[0]\);)245 3258 y(exit)h(\(EXIT_FAILURE\);)150 3367
-y(})150 3587 y(static)f(void)150 3696 y(fail)h(\(const)f(char)g(*msg\))
-150 3806 y({)245 3915 y(fputs)h(\(msg,)f(stderr\);)245
-4025 y(exit)h(\(EXIT_FAILURE\);)150 4134 y(})150 4354
-y(static)f(const)g(char)h(too_big[])e(=)245 4463 y("input)i(or)g
-(output)f(is)h(too)g(large,)f(recompile)f(with)i(larger)f(limits\\n";)
-150 4573 y(static)g(const)g(char)h(invalid_input[])d(=)j("invalid)f
-(input\\n";)150 4682 y(static)g(const)g(char)h(overflow[])e(=)j
-("arithmetic)c(overflow\\n";)150 4792 y(static)i(const)g(char)h
-(io_error[])e(=)j("I/O)e(error\\n";)150 5011 y(/*)h(The)g(following)e
+TeXDict begin 41 45 bop 150 -116 a Fv(Chapter)30 b(9:)41
+b(Examples)2661 b(41)150 299 y Fp(#include)46 b(<punycode.h>)150
+518 y(/*)h(For)g(testing,)f(we'll)g(just)h(set)g(some)f(compile-time)f
+(limits)h(rather)g(than)g(*/)150 628 y(/*)h(use)g(malloc\(\),)e(and)i
+(set)g(a)h(compile-time)c(option)i(rather)g(than)h(using)f(a)95
+b(*/)150 737 y(/*)47 b(command-line)e(option.)4293 b(*/)150
+956 y(enum)150 1066 y({)245 1176 y(unicode_max_length)43
+b(=)48 b(256,)245 1285 y(ace_max_length)c(=)k(256)150
+1395 y(};)150 1614 y(static)e(void)150 1724 y(usage)g(\(char)h
+(**argv\))150 1833 y({)245 1943 y(fprintf)f(\(stderr,)675
+2052 y("\\n")675 2162 y("\045s)h(-e)g(reads)f(code)h(points)f(and)h
+(writes)f(a)i(Punycode)d(string.\\n")675 2271 y("\045s)i(-d)g(reads)f
+(a)i(Punycode)d(string)i(and)f(writes)h(code)f(points.\\n")675
+2381 y("\\n")675 2491 y("Input)g(and)h(output)f(are)h(plain)f(text)h
+(in)g(the)g(native)f(character)f(set.\\n")675 2600 y("Code)h(points)g
+(are)h(in)h(the)e(form)h(u+hex)f(separated)g(by)h(whitespace.\\n")675
+2710 y("Although)e(the)i(specification)d(allows)i(Punycode)g(strings)g
+(to)h(contain\\n")675 2819 y("any)g(characters)e(from)h(the)h(ASCII)g
+(repertoire,)d(this)j(test)g(code\\n")675 2929 y("supports)e(only)i
+(the)g(printable)e(characters,)g(and)i(needs)f(the)h(Punycode\\n")675
+3039 y("string)f(to)h(be)g(followed)f(by)h(a)g(newline.\\n")675
+3148 y("The)g(case)f(of)h(the)g(u)h(in)f(u+hex)f(is)i(the)e
+(force-to-uppercase)d(flag.\\n",)675 3258 y(argv[0],)j(argv[0]\);)245
+3367 y(exit)h(\(EXIT_FAILURE\);)150 3477 y(})150 3696
+y(static)f(void)150 3806 y(fail)h(\(const)f(char)g(*msg\))150
+3915 y({)245 4025 y(fputs)h(\(msg,)f(stderr\);)245 4134
+y(exit)h(\(EXIT_FAILURE\);)150 4244 y(})150 4463 y(static)f(const)g
+(char)h(too_big[])e(=)245 4573 y("input)i(or)g(output)f(is)h(too)g
+(large,)f(recompile)f(with)i(larger)f(limits\\n";)150
+4682 y(static)g(const)g(char)h(invalid_input[])d(=)j("invalid)f
+(input\\n";)150 4792 y(static)g(const)g(char)h(overflow[])e(=)j
+("arithmetic)c(overflow\\n";)150 4902 y(static)i(const)g(char)h
+(io_error[])e(=)j("I/O)e(error\\n";)150 5121 y(/*)h(The)g(following)e
(string)h(is)i(used)e(to)h(convert)f(printable)g(*/)150
-5121 y(/*)h(characters)e(between)h(ASCII)g(and)h(the)g(native)f
-(charset:)189 b(*/)150 5340 y(static)46 b(const)g(char)h(print_ascii[])
-d(=)k("\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n)o(\\n\\n)o(\\n\\n)o(\\n")41
-b("\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n)o(\\n\\)o(n\\n\\)o(n")h(")47
-b(!\\"#$\045&'\(\)*+,-./")c("0123456789:;<=>?")g("\\0x40")93
-b(/*)48 b(at)f(sign)f(*/)p eop end
+5230 y(/*)h(characters)e(between)h(ASCII)g(and)h(the)g(native)f
+(charset:)189 b(*/)p eop end
%%Page: 42 47
-TeXDict begin 42 46 bop 150 -116 a Fx(Chapter)30 b(9:)41
-b(Examples)2661 b(42)245 299 y Fr("ABCDEFGHIJKLMNO")245
-408 y("PQRSTUVWXYZ[\\\\]^_")43 b("`abcdefghijklmno")g
-("pqrstuvwxyz{|}~\\n";)150 628 y(int)150 737 y(main)k(\(int)f(argc,)h
-(char)f(**argv\))150 847 y({)245 956 y(enum)h(punycode_status)d
-(status;)245 1066 y(int)j(r;)245 1176 y(size_t)g(input_length,)d
-(output_length,)g(j;)245 1285 y(unsigned)i(char)h
-(case_flags[unicode_max_)o(leng)o(th])o(;)245 1504 y(setlocale)f
-(\(LC_ALL,)f(""\);)245 1724 y(if)j(\(argc)e(!=)h(2\))341
-1833 y(usage)f(\(argv\);)245 1943 y(if)i(\(argv[1][0])c(!=)k('-'\))341
-2052 y(usage)e(\(argv\);)245 2162 y(if)i(\(argv[1][2])c(!=)k(0\))341
-2271 y(usage)e(\(argv\);)245 2491 y(if)i(\(argv[1][1])c(==)k('e'\))341
-2600 y({)436 2710 y(uint32_t)e(input[unicode_max_length)o(];)436
-2819 y(unsigned)g(long)h(codept;)436 2929 y(char)g
+TeXDict begin 42 46 bop 150 -116 a Fv(Chapter)30 b(9:)41
+b(Examples)2661 b(42)150 299 y Fp(static)46 b(const)g(char)h
+(print_ascii[])d(=)k("\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n)o(\\n\\n)o
+(\\n\\n)o(\\n")41 b("\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n)o(\\n\\)o
+(n\\n\\)o(n")h(")47 b(!\\"#$\045&'\(\)*+,-./")c("0123456789:;<=>?")g
+("\\0x40")93 b(/*)48 b(at)f(sign)f(*/)245 408 y("ABCDEFGHIJKLMNO")245
+518 y("PQRSTUVWXYZ[\\\\]^_")d("`abcdefghijklmno")g
+("pqrstuvwxyz{|}~\\n";)150 737 y(int)150 847 y(main)k(\(int)f(argc,)h
+(char)f(**argv\))150 956 y({)245 1066 y(enum)h(punycode_status)d
+(status;)245 1176 y(int)j(r;)245 1285 y(size_t)g(input_length,)d
+(output_length,)g(j;)245 1395 y(unsigned)i(char)h
+(case_flags[unicode_max_)o(leng)o(th])o(;)245 1614 y(setlocale)f
+(\(LC_ALL,)f(""\);)245 1833 y(if)j(\(argc)e(!=)h(2\))341
+1943 y(usage)f(\(argv\);)245 2052 y(if)i(\(argv[1][0])c(!=)k('-'\))341
+2162 y(usage)e(\(argv\);)245 2271 y(if)i(\(argv[1][2])c(!=)k(0\))341
+2381 y(usage)e(\(argv\);)245 2600 y(if)i(\(argv[1][1])c(==)k('e'\))341
+2710 y({)436 2819 y(uint32_t)e(input[unicode_max_length)o(];)436
+2929 y(unsigned)g(long)h(codept;)436 3039 y(char)g
(output[ace_max_length)42 b(+)47 b(1],)g(uplus[3];)436
-3039 y(int)g(c;)436 3258 y(/*)h(Read)e(the)h(input)f(code)h(points:)94
-b(*/)436 3477 y(input_length)45 b(=)i(0;)436 3696 y(for)g(\(;;\))532
-3806 y({)627 3915 y(r)h(=)f(scanf)g(\("\0452s\045lx",)e(uplus,)h
-(&codept\);)627 4025 y(if)h(\(ferror)f(\(stdin\)\))723
-4134 y(fail)g(\(io_error\);)627 4244 y(if)h(\(r)h(==)f(EOF)g(||)g(r)g
-(==)h(0\))723 4354 y(break;)627 4573 y(if)f(\(r)h(!=)f(2)g(||)g
+3148 y(int)g(c;)436 3367 y(/*)h(Read)e(the)h(input)f(code)h(points:)94
+b(*/)436 3587 y(input_length)45 b(=)i(0;)436 3806 y(for)g(\(;;\))532
+3915 y({)627 4025 y(r)h(=)f(scanf)g(\("\0452s\045lx",)e(uplus,)h
+(&codept\);)627 4134 y(if)h(\(ferror)f(\(stdin\)\))723
+4244 y(fail)g(\(io_error\);)627 4354 y(if)h(\(r)h(==)f(EOF)g(||)g(r)g
+(==)h(0\))723 4463 y(break;)627 4682 y(if)f(\(r)h(!=)f(2)g(||)g
(uplus[1])f(!=)h('+')g(||)g(codept)f(>)i(\(uint32_t\))d(-)i(1\))723
-4682 y({)818 4792 y(fail)g(\(invalid_input\);)723 4902
-y(})627 5121 y(if)g(\(input_length)e(==)i(unicode_max_length\))723
-5230 y(fail)f(\(too_big\);)p eop end
+4792 y({)818 4902 y(fail)g(\(invalid_input\);)723 5011
+y(})627 5230 y(if)g(\(input_length)e(==)i(unicode_max_length\))723
+5340 y(fail)f(\(too_big\);)p eop end
%%Page: 43 48
-TeXDict begin 43 47 bop 150 -116 a Fx(Chapter)30 b(9:)41
-b(Examples)2661 b(43)627 299 y Fr(if)47 b(\(uplus[0])f(==)h('u'\))723
-408 y(case_flags[input_length)o(])42 b(=)47 b(0;)627
-518 y(else)g(if)g(\(uplus[0])e(==)j('U'\))723 628 y
-(case_flags[input_length)o(])42 b(=)47 b(1;)627 737 y(else)723
-847 y(fail)f(\(invalid_input\);)627 1066 y(input[input_length++])c(=)48
-b(codept;)532 1176 y(})436 1395 y(/*)g(Encode:)93 b(*/)436
-1614 y(output_length)45 b(=)i(ace_max_length;)436 1724
+TeXDict begin 43 47 bop 150 -116 a Fv(Chapter)30 b(9:)41
+b(Examples)2661 b(43)627 408 y Fp(if)47 b(\(uplus[0])f(==)h('u'\))723
+518 y(case_flags[input_length)o(])42 b(=)47 b(0;)627
+628 y(else)g(if)g(\(uplus[0])e(==)j('U'\))723 737 y
+(case_flags[input_length)o(])42 b(=)47 b(1;)627 847 y(else)723
+956 y(fail)f(\(invalid_input\);)627 1176 y(input[input_length++])c(=)48
+b(codept;)532 1285 y(})436 1504 y(/*)g(Encode:)93 b(*/)436
+1724 y(output_length)45 b(=)i(ace_max_length;)436 1833
y(status)f(=)i(punycode_encode)c(\(input_length,)f(input,)k
-(case_flags,)1677 1833 y(&output_length,)d(output\);)436
-1943 y(if)k(\(status)d(==)j(punycode_bad_input\))532
-2052 y(fail)e(\(invalid_input\);)436 2162 y(if)i(\(status)d(==)j
-(punycode_big_output\))532 2271 y(fail)e(\(too_big\);)436
-2381 y(if)i(\(status)d(==)j(punycode_overflow\))532 2491
-y(fail)e(\(overflow\);)436 2600 y(assert)g(\(status)g(==)h
-(punycode_success\);)436 2819 y(/*)h(Convert)d(to)j(native)e(charset)f
-(and)i(output:)94 b(*/)436 3039 y(for)47 b(\(j)g(=)h(0;)f(j)h(<)f
-(output_length;)d(++j\))532 3148 y({)627 3258 y(c)k(=)f(output[j];)627
-3367 y(assert)f(\(c)i(>=)f(0)g(&&)g(c)h(<=)f(127\);)627
-3477 y(if)g(\(print_ascii[c])d(==)j(0\))723 3587 y(fail)f
-(\(invalid_input\);)627 3696 y(output[j])g(=)h(print_ascii[c];)532
-3806 y(})436 4025 y(output[j])f(=)h(0;)436 4134 y(r)h(=)f(puts)g
-(\(output\);)436 4244 y(if)h(\(r)f(==)g(EOF\))532 4354
-y(fail)f(\(io_error\);)436 4463 y(return)g(EXIT_SUCCESS;)341
-4573 y(})245 4792 y(if)i(\(argv[1][1])c(==)k('d'\))341
-4902 y({)436 5011 y(char)f(input[ace_max_length)42 b(+)48
-b(2],)f(*p,)g(*pp;)436 5121 y(uint32_t)f(output[unicode_max_lengt)o
-(h];)436 5340 y(/*)i(Read)e(the)h(Punycode)f(input)g(string)g(and)h
-(convert)f(to)h(ASCII:)f(*/)p eop end
+(case_flags,)1677 1943 y(&output_length,)d(output\);)436
+2052 y(if)k(\(status)d(==)j(punycode_bad_input\))532
+2162 y(fail)e(\(invalid_input\);)436 2271 y(if)i(\(status)d(==)j
+(punycode_big_output\))532 2381 y(fail)e(\(too_big\);)436
+2491 y(if)i(\(status)d(==)j(punycode_overflow\))532 2600
+y(fail)e(\(overflow\);)436 2710 y(assert)g(\(status)g(==)h
+(punycode_success\);)436 2929 y(/*)h(Convert)d(to)j(native)e(charset)f
+(and)i(output:)94 b(*/)436 3148 y(for)47 b(\(j)g(=)h(0;)f(j)h(<)f
+(output_length;)d(++j\))532 3258 y({)627 3367 y(c)k(=)f(output[j];)627
+3477 y(assert)f(\(c)i(>=)f(0)g(&&)g(c)h(<=)f(127\);)627
+3587 y(if)g(\(print_ascii[c])d(==)j(0\))723 3696 y(fail)f
+(\(invalid_input\);)627 3806 y(output[j])g(=)h(print_ascii[c];)532
+3915 y(})436 4134 y(output[j])f(=)h(0;)436 4244 y(r)h(=)f(puts)g
+(\(output\);)436 4354 y(if)h(\(r)f(==)g(EOF\))532 4463
+y(fail)f(\(io_error\);)436 4573 y(return)g(EXIT_SUCCESS;)341
+4682 y(})245 4902 y(if)i(\(argv[1][1])c(==)k('d'\))341
+5011 y({)436 5121 y(char)f(input[ace_max_length)42 b(+)48
+b(2],)f(*p,)g(*pp;)436 5230 y(uint32_t)f(output[unicode_max_lengt)o
+(h];)p eop end
%%Page: 44 49
-TeXDict begin 44 48 bop 150 -116 a Fx(Chapter)30 b(9:)41
-b(Examples)2661 b(44)436 408 y Fr(fgets)47 b(\(input,)f(ace_max_length)
-d(+)48 b(2,)f(stdin\);)436 518 y(if)h(\(ferror)d(\(stdin\)\))532
-628 y(fail)h(\(io_error\);)436 737 y(if)i(\(feof)e(\(stdin\)\))532
-847 y(fail)g(\(invalid_input\);)436 956 y(input_length)f(=)i(strlen)f
-(\(input\))g(-)i(1;)436 1066 y(if)g(\(input[input_length])42
-b(!=)47 b('\\n'\))532 1176 y(fail)f(\(too_big\);)436
-1285 y(input[input_length])d(=)k(0;)436 1504 y(for)g(\(p)g(=)h(input;)e
-(*p)h(!=)g(0;)h(++p\))532 1614 y({)627 1724 y(pp)f(=)h(strchr)e
-(\(print_ascii,)e(*p\);)627 1833 y(if)j(\(pp)g(==)h(0\))723
-1943 y(fail)e(\(invalid_input\);)627 2052 y(*p)h(=)h(pp)f(-)h
-(print_ascii;)532 2162 y(})436 2381 y(/*)g(Decode:)93
-b(*/)436 2600 y(output_length)45 b(=)i(unicode_max_length;)436
-2710 y(status)f(=)i(punycode_decode)c(\(input_length,)f(input,)k
-(&output_length,)1677 2819 y(output,)f(case_flags\);)436
-2929 y(if)i(\(status)d(==)j(punycode_bad_input\))532
-3039 y(fail)e(\(invalid_input\);)436 3148 y(if)i(\(status)d(==)j
-(punycode_big_output\))532 3258 y(fail)e(\(too_big\);)436
-3367 y(if)i(\(status)d(==)j(punycode_overflow\))532 3477
-y(fail)e(\(overflow\);)436 3587 y(assert)g(\(status)g(==)h
-(punycode_success\);)436 3806 y(/*)h(Output)e(the)h(result:)93
-b(*/)436 4025 y(for)47 b(\(j)g(=)h(0;)f(j)h(<)f(output_length;)d(++j\))
-532 4134 y({)627 4244 y(r)k(=)f(printf)f(\("\045s+\04504lX\\n",)1200
-4354 y(case_flags[j])e(?)95 b("U")47 b(:)95 b("u",)47
-b(\(unsigned)e(long\))i(output[j]\);)627 4463 y(if)g(\(r)h(<)f(0\))723
-4573 y(fail)f(\(io_error\);)532 4682 y(})436 4902 y(return)g
-(EXIT_SUCCESS;)341 5011 y(})245 5230 y(usage)h(\(argv\);)245
-5340 y(return)g(EXIT_SUCCESS;)473 b(/*)47 b(not)g(reached,)f(but)h
-(quiets)f(compiler)f(warning)h(*/)p eop end
+TeXDict begin 44 48 bop 150 -116 a Fv(Chapter)30 b(9:)41
+b(Examples)2661 b(44)436 299 y Fp(/*)48 b(Read)e(the)h(Punycode)f
+(input)g(string)g(and)h(convert)f(to)h(ASCII:)f(*/)436
+518 y(fgets)h(\(input,)f(ace_max_length)d(+)48 b(2,)f(stdin\);)436
+628 y(if)h(\(ferror)d(\(stdin\)\))532 737 y(fail)h(\(io_error\);)436
+847 y(if)i(\(feof)e(\(stdin\)\))532 956 y(fail)g(\(invalid_input\);)436
+1066 y(input_length)f(=)i(strlen)f(\(input\))g(-)i(1;)436
+1176 y(if)g(\(input[input_length])42 b(!=)47 b('\\n'\))532
+1285 y(fail)f(\(too_big\);)436 1395 y(input[input_length])d(=)k(0;)436
+1614 y(for)g(\(p)g(=)h(input;)e(*p)h(!=)g(0;)h(++p\))532
+1724 y({)627 1833 y(pp)f(=)h(strchr)e(\(print_ascii,)e(*p\);)627
+1943 y(if)j(\(pp)g(==)h(0\))723 2052 y(fail)e(\(invalid_input\);)627
+2162 y(*p)h(=)h(pp)f(-)h(print_ascii;)532 2271 y(})436
+2491 y(/*)g(Decode:)93 b(*/)436 2710 y(output_length)45
+b(=)i(unicode_max_length;)436 2819 y(status)f(=)i(punycode_decode)c
+(\(input_length,)f(input,)k(&output_length,)1677 2929
+y(output,)f(case_flags\);)436 3039 y(if)i(\(status)d(==)j
+(punycode_bad_input\))532 3148 y(fail)e(\(invalid_input\);)436
+3258 y(if)i(\(status)d(==)j(punycode_big_output\))532
+3367 y(fail)e(\(too_big\);)436 3477 y(if)i(\(status)d(==)j
+(punycode_overflow\))532 3587 y(fail)e(\(overflow\);)436
+3696 y(assert)g(\(status)g(==)h(punycode_success\);)436
+3915 y(/*)h(Output)e(the)h(result:)93 b(*/)436 4134 y(for)47
+b(\(j)g(=)h(0;)f(j)h(<)f(output_length;)d(++j\))532 4244
+y({)627 4354 y(r)k(=)f(printf)f(\("\045s+\04504lX\\n",)1200
+4463 y(case_flags[j])e(?)95 b("U")47 b(:)95 b("u",)47
+b(\(unsigned)e(long\))i(output[j]\);)627 4573 y(if)g(\(r)h(<)f(0\))723
+4682 y(fail)f(\(io_error\);)532 4792 y(})436 5011 y(return)g
+(EXIT_SUCCESS;)341 5121 y(})245 5340 y(usage)h(\(argv\);)p
+eop end
%%Page: 45 50
-TeXDict begin 45 49 bop 150 -116 a Fx(Chapter)30 b(9:)41
-b(Examples)2661 b(45)150 299 y Fr(})150 544 y Fw(9.3)68
-b(Example)46 b(3)150 704 y Fx(This)40 b(example)i(demonstrates)g(ho)m
-(w)f(the)g(library)g(is)g(used)g(to)h(con)m(v)m(ert)h(in)m
-(ternationalized)g(domain)150 813 y(names)30 b(in)m(to)i(ASCI)s(I)c
-(compatible)k(names.)150 956 y Fr(/*)47 b(example3.c)e(---)i(Example)f
-(ToASCII\(\))f(code)i(showing)f(how)h(to)g(use)g(Libidn.)198
-1066 y(*)g(Copyright)e(\(C\))i(2002,)g(2003,)f(2004,)g(2005,)h(2006,)f
-(2007,)h(2008,)f(2009)h(Simon)f(Josefsson)198 1176 y(*)198
-1285 y(*)h(This)g(file)f(is)i(part)e(of)h(GNU)g(Libidn.)198
-1395 y(*)198 1504 y(*)g(This)g(program)f(is)h(free)f(software:)93
+TeXDict begin 45 49 bop 150 -116 a Fv(Chapter)30 b(9:)41
+b(Examples)2661 b(45)245 299 y Fp(return)47 b(EXIT_SUCCESS;)473
+b(/*)47 b(not)g(reached,)f(but)h(quiets)f(compiler)f(warning)h(*/)150
+408 y(})150 654 y Fu(9.3)68 b(Example)46 b(3)150 813
+y Fv(This)40 b(example)i(demonstrates)g(ho)m(w)f(the)g(library)g(is)g
+(used)g(to)h(con)m(v)m(ert)h(in)m(ternationalized)g(domain)150
+923 y(names)30 b(in)m(to)i(ASCI)s(I)c(compatible)k(names.)150
+1066 y Fp(/*)47 b(example3.c)e(---)i(Example)f(ToASCII\(\))f(code)i
+(showing)f(how)h(to)g(use)g(Libidn.)198 1176 y(*)g(Copyright)e(\(C\))i
+(2002,)g(2003,)f(2004,)g(2005,)h(2006,)f(2007,)h(2008,)f(2009,)g(2010,)
+198 1285 y(*)h(2011)g(Simon)f(Josefsson)198 1395 y(*)198
+1504 y(*)h(This)g(file)f(is)i(part)e(of)h(GNU)g(Libidn.)198
+1614 y(*)198 1724 y(*)g(This)g(program)f(is)h(free)f(software:)93
b(you)47 b(can)g(redistribute)e(it)i(and/or)f(modify)198
-1614 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f
-(Public)g(License)g(as)h(published)e(by)198 1724 y(*)i(the)g(Free)g
+1833 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f
+(Public)g(License)g(as)h(published)e(by)198 1943 y(*)i(the)g(Free)g
(Software)e(Foundation,)g(either)h(version)g(3)h(of)h(the)e(License,)g
-(or)198 1833 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
-1943 y(*)198 2052 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
-(hope)f(that)h(it)g(will)g(be)g(useful,)198 2162 y(*)g(but)g(WITHOUT)f
+(or)198 2052 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
+2162 y(*)198 2271 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
+(hope)f(that)h(it)g(will)g(be)g(useful,)198 2381 y(*)g(but)g(WITHOUT)f
(ANY)h(WARRANTY;)e(without)h(even)h(the)f(implied)g(warranty)g(of)198
-2271 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
-(PURPOSE.)93 b(See)47 b(the)198 2381 y(*)g(GNU)g(General)f(Public)g
-(License)g(for)h(more)f(details.)198 2491 y(*)198 2600
+2491 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
+(PURPOSE.)93 b(See)47 b(the)198 2600 y(*)g(GNU)g(General)f(Public)g
+(License)g(for)h(more)f(details.)198 2710 y(*)198 2819
y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)i(the)f(GNU)f
-(General)g(Public)g(License)198 2710 y(*)h(along)g(with)f(this)h
+(General)g(Public)g(License)198 2929 y(*)h(along)g(with)f(this)h
(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o(ses/)o
-(>.)198 2819 y(*)198 2929 y(*/)150 3148 y(#include)f(<stdio.h>)150
-3258 y(#include)g(<stdlib.h>)150 3367 y(#include)g(<string.h>)150
-3477 y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
-3587 y(#include)h(<stringprep.h>)425 b(/*)47 b
-(stringprep_locale_charset\()o(\))42 b(*/)150 3696 y(#include)k
+(>.)198 3039 y(*)198 3148 y(*/)150 3367 y(#include)f(<stdio.h>)150
+3477 y(#include)g(<stdlib.h>)150 3587 y(#include)g(<string.h>)150
+3696 y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
+3806 y(#include)h(<stringprep.h>)425 b(/*)47 b
+(stringprep_locale_charset\()o(\))42 b(*/)150 3915 y(#include)k
(<idna.h>)713 b(/*)47 b(idna_to_ascii_lz\(\))c(*/)150
-3915 y(/*)198 4025 y(*)k(Compiling)e(using)i(libtool)f(and)h
-(pkg-config)e(is)i(recommended:)198 4134 y(*)198 4244
+4134 y(/*)198 4244 y(*)k(Compiling)e(using)i(libtool)f(and)h
+(pkg-config)e(is)i(recommended:)198 4354 y(*)198 4463
y(*)g($)h(libtool)d(cc)j(-o)f(example3)e(example3.c)g(`pkg-config)g
-(--cflags)h(--libs)g(libidn`)198 4354 y(*)h($)h(./example3)198
-4463 y(*)f(Input)g(domain)f(encoded)f(as)j(`ISO-8859-1':)92
-b(www.raksmorgaasa.exampl)o(e)198 4573 y(*)47 b(Read)g(string)f
+(--cflags)h(--libs)g(libidn`)198 4573 y(*)h($)h(./example3)198
+4682 y(*)f(Input)g(domain)f(encoded)f(as)j(`ISO-8859-1':)92
+b(www.raksmorgaasa.exampl)o(e)198 4792 y(*)47 b(Read)g(string)f
(\(length)g(23\):)94 b(77)47 b(77)g(77)h(2e)f(72)g(e4)g(6b)g(73)h(6d)f
(f6)g(72)g(67)g(e5)g(73)h(aa)f(2e)g(65)g(78)g(61)h(6d)f(70)g(6c)g(65)
-198 4682 y(*)g(ACE)g(label)f(\(length)g(33\):)95 b
-('www.xn--rksmrgsa-0zap8)o(p.ex)o(amp)o(le')198 4792
+198 4902 y(*)g(ACE)g(label)f(\(length)g(33\):)95 b
+('www.xn--rksmrgsa-0zap8)o(p.ex)o(amp)o(le')198 5011
y(*)47 b(77)g(77)h(77)f(2e)g(78)g(6e)g(2d)g(2d)h(72)f(6b)g(73)g(6d)g
(72)h(67)f(73)g(61)g(2d)g(30)g(7a)h(61)f(70)g(38)g(70)g(2e)h(65)f(78)g
-(61)g(6d)g(70)g(6c)h(65)198 4902 y(*)f($)198 5011 y(*)198
-5121 y(*/)150 5340 y(int)p eop end
+(61)g(6d)g(70)g(6c)h(65)198 5121 y(*)f($)198 5230 y(*)198
+5340 y(*/)p eop end
%%Page: 46 51
-TeXDict begin 46 50 bop 150 -116 a Fx(Chapter)30 b(9:)41
-b(Examples)2661 b(46)150 299 y Fr(main)47 b(\(void\))150
-408 y({)245 518 y(char)g(buf[BUFSIZ];)245 628 y(char)g(*p;)245
-737 y(int)g(rc;)245 847 y(size_t)g(i;)245 1066 y(setlocale)f(\(LC_ALL,)
-f(""\);)245 1285 y(printf)i(\("Input)e(domain)h(encoded)g(as)h
-(`\045s':)95 b(",)47 b(stringprep_locale_chars)o(et)42
-b(\(\)\);)245 1395 y(fflush)47 b(\(stdout\);)245 1504
-y(fgets)g(\(buf,)f(BUFSIZ,)g(stdin\);)245 1614 y(buf[strlen)f(\(buf\))i
-(-)g(1])g(=)h('\\0';)245 1833 y(printf)f(\("Read)f(string)g(\(length)g
-(\045d\):)94 b(",)47 b(strlen)f(\(buf\)\);)245 1943 y(for)h(\(i)h(=)f
-(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341 2052 y(printf)g(\("\04502x)
-g(",)h(buf[i])f(&)i(0xFF\);)245 2162 y(printf)f(\("\\n"\);)245
-2381 y(rc)h(=)f(idna_to_ascii_lz)c(\(buf,)k(&p,)g(0\);)245
-2491 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341 2600 y({)436
-2710 y(printf)f(\("ToASCII\(\))f(failed)h(\(\045d\):)94
+TeXDict begin 46 50 bop 150 -116 a Fv(Chapter)30 b(9:)41
+b(Examples)2661 b(46)150 408 y Fp(int)150 518 y(main)47
+b(\(void\))150 628 y({)245 737 y(char)g(buf[BUFSIZ];)245
+847 y(char)g(*p;)245 956 y(int)g(rc;)245 1066 y(size_t)g(i;)245
+1285 y(setlocale)f(\(LC_ALL,)f(""\);)245 1504 y(printf)i(\("Input)e
+(domain)h(encoded)g(as)h(`\045s':)95 b(",)47 b(stringprep_locale_chars)
+o(et)42 b(\(\)\);)245 1614 y(fflush)47 b(\(stdout\);)245
+1724 y(fgets)g(\(buf,)f(BUFSIZ,)g(stdin\);)245 1833 y(buf[strlen)f
+(\(buf\))i(-)g(1])g(=)h('\\0';)245 2052 y(printf)f(\("Read)f(string)g
+(\(length)g(\045ld\):)94 b(",)47 b(strlen)f(\(buf\)\);)245
+2162 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
+2271 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
+2381 y(printf)f(\("\\n"\);)245 2600 y(rc)h(=)f(idna_to_ascii_lz)c
+(\(buf,)k(&p,)g(0\);)245 2710 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341
+2819 y({)436 2929 y(printf)f(\("ToASCII\(\))f(failed)h(\(\045d\):)94
b(\045s\\n",)46 b(rc,)h(idna_strerror)e(\(rc\)\);)436
-2819 y(exit)i(\(1\);)341 2929 y(})245 3148 y(printf)g(\("ACE)f(label)g
-(\(length)g(\045d\):)94 b('\045s'\\n",)46 b(strlen)g(\(p\),)h(p\);)245
-3258 y(for)g(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(p\);)h(i++\))341
-3367 y(printf)f(\("\04502x)g(",)h(p[i])g(&)g(0xFF\);)245
-3477 y(printf)g(\("\\n"\);)245 3696 y(free)g(\(p\);)245
-3915 y(return)g(0;)150 4025 y(})150 4270 y Fw(9.4)68
-b(Example)46 b(4)150 4430 y Fx(This)30 b(example)h(demonstrates)f(ho)m
+3039 y(return)h(EXIT_FAILURE;)341 3148 y(})245 3367 y(printf)h(\("ACE)f
+(label)g(\(length)g(\045ld\):)94 b('\045s'\\n",)46 b(strlen)g(\(p\),)g
+(p\);)245 3477 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(p\);)h(i++\))
+341 3587 y(printf)f(\("\04502x)g(",)h(p[i])g(&)g(0xFF\);)245
+3696 y(printf)g(\("\\n"\);)245 3915 y(free)g(\(p\);)245
+4134 y(return)g(0;)150 4244 y(})150 4489 y Fu(9.4)68
+b(Example)46 b(4)150 4649 y Fv(This)30 b(example)h(demonstrates)f(ho)m
(w)h(the)f(library)g(is)h(used)e(to)i(con)m(v)m(ert)h(ASCI)s(I)d
-(compatible)j(names)e(to)150 4539 y(in)m(ternationalized)j(domain)d
-(names.)150 4682 y Fr(/*)47 b(example4.c)e(---)i(Example)f
+(compatible)j(names)e(to)150 4758 y(in)m(ternationalized)j(domain)d
+(names.)150 4902 y Fp(/*)47 b(example4.c)e(---)i(Example)f
(ToUnicode\(\))f(code)h(showing)g(how)h(to)g(use)g(Libidn.)198
-4792 y(*)g(Copyright)e(\(C\))i(2002,)g(2003,)f(2004,)g(2005,)h(2006,)f
-(2007,)h(2008,)f(2009)h(Simon)f(Josefsson)198 4902 y(*)198
-5011 y(*)h(This)g(file)f(is)i(part)e(of)h(GNU)g(Libidn.)198
-5121 y(*)198 5230 y(*)g(This)g(program)f(is)h(free)f(software:)93
-b(you)47 b(can)g(redistribute)e(it)i(and/or)f(modify)198
-5340 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f
-(Public)g(License)g(as)h(published)e(by)p eop end
+5011 y(*)g(Copyright)e(\(C\))i(2002,)g(2003,)f(2004,)g(2005,)h(2006,)f
+(2007,)h(2008,)f(2009,)g(2010,)198 5121 y(*)h(2011)g(Simon)f(Josefsson)
+198 5230 y(*)198 5340 y(*)h(This)g(file)f(is)i(part)e(of)h(GNU)g
+(Libidn.)p eop end
%%Page: 47 52
-TeXDict begin 47 51 bop 150 -116 a Fx(Chapter)30 b(9:)41
-b(Examples)2661 b(47)198 299 y Fr(*)47 b(the)g(Free)g(Software)e
-(Foundation,)g(either)h(version)g(3)h(of)h(the)e(License,)g(or)198
-408 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
-518 y(*)198 628 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
-(hope)f(that)h(it)g(will)g(be)g(useful,)198 737 y(*)g(but)g(WITHOUT)f
-(ANY)h(WARRANTY;)e(without)h(even)h(the)f(implied)g(warranty)g(of)198
-847 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
-(PURPOSE.)93 b(See)47 b(the)198 956 y(*)g(GNU)g(General)f(Public)g
-(License)g(for)h(more)f(details.)198 1066 y(*)198 1176
-y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)i(the)f(GNU)f
-(General)g(Public)g(License)198 1285 y(*)h(along)g(with)f(this)h
-(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o(ses/)o
-(>.)198 1395 y(*)198 1504 y(*/)150 1724 y(#include)f(<stdio.h>)150
-1833 y(#include)g(<stdlib.h>)150 1943 y(#include)g(<string.h>)150
-2052 y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
-2162 y(#include)h(<stringprep.h>)425 b(/*)47 b
-(stringprep_locale_charset\()o(\))42 b(*/)150 2271 y(#include)k
+TeXDict begin 47 51 bop 150 -116 a Fv(Chapter)30 b(9:)41
+b(Examples)2661 b(47)198 299 y Fp(*)198 408 y(*)47 b(This)g(program)f
+(is)h(free)f(software:)93 b(you)47 b(can)g(redistribute)e(it)i(and/or)f
+(modify)198 518 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g
+(General)f(Public)g(License)g(as)h(published)e(by)198
+628 y(*)i(the)g(Free)g(Software)e(Foundation,)g(either)h(version)g(3)h
+(of)h(the)e(License,)g(or)198 737 y(*)h(\(at)g(your)g(option\))f(any)g
+(later)h(version.)198 847 y(*)198 956 y(*)g(This)g(program)f(is)h
+(distributed)e(in)i(the)g(hope)f(that)h(it)g(will)g(be)g(useful,)198
+1066 y(*)g(but)g(WITHOUT)f(ANY)h(WARRANTY;)e(without)h(even)h(the)f
+(implied)g(warranty)g(of)198 1176 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)
+f(FOR)h(A)g(PARTICULAR)e(PURPOSE.)93 b(See)47 b(the)198
+1285 y(*)g(GNU)g(General)f(Public)g(License)g(for)h(more)f(details.)198
+1395 y(*)198 1504 y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)
+i(the)f(GNU)f(General)g(Public)g(License)198 1614 y(*)h(along)g(with)f
+(this)h(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o
+(ses/)o(>.)198 1724 y(*)198 1833 y(*/)150 2052 y(#include)f(<stdio.h>)
+150 2162 y(#include)g(<stdlib.h>)150 2271 y(#include)g(<string.h>)150
+2381 y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
+2491 y(#include)h(<stringprep.h>)425 b(/*)47 b
+(stringprep_locale_charset\()o(\))42 b(*/)150 2600 y(#include)k
(<idna.h>)713 b(/*)47 b(idna_to_unicode_lzlz\(\))42 b(*/)150
-2491 y(/*)198 2600 y(*)47 b(Compiling)e(using)i(libtool)f(and)h
-(pkg-config)e(is)i(recommended:)198 2710 y(*)198 2819
+2819 y(/*)198 2929 y(*)47 b(Compiling)e(using)i(libtool)f(and)h
+(pkg-config)e(is)i(recommended:)198 3039 y(*)198 3148
y(*)g($)h(libtool)d(cc)j(-o)f(example4)e(example4.c)g(`pkg-config)g
-(--cflags)h(--libs)g(libidn`)198 2929 y(*)h($)h(./example4)198
-3039 y(*)f(Input)g(domain)f(encoded)f(as)j(`ISO-8859-1':)92
-b(www.xn--rksmrgsa-0zap8p)o(.ex)o(ampl)o(e)198 3148 y(*)47
+(--cflags)h(--libs)g(libidn`)198 3258 y(*)h($)h(./example4)198
+3367 y(*)f(Input)g(domain)f(encoded)f(as)j(`ISO-8859-1':)92
+b(www.xn--rksmrgsa-0zap8p)o(.ex)o(ampl)o(e)198 3477 y(*)47
b(Read)g(string)f(\(length)g(33\):)94 b(77)47 b(77)g(77)h(2e)f(78)g(6e)
g(2d)g(2d)h(72)f(6b)g(73)g(6d)g(72)g(67)h(73)f(61)g(2d)g(30)g(7a)h(61)f
(70)g(38)g(70)g(2e)g(65)h(78)f(61)g(6d)g(70)g(6c)g(65)198
-3258 y(*)g(ACE)g(label)f(\(length)g(23\):)95 b('www.raksmorgaasa.examp)
-o(le')198 3367 y(*)47 b(77)g(77)h(77)f(2e)g(72)g(e4)g(6b)g(73)h(6d)f
+3587 y(*)g(ACE)g(label)f(\(length)g(23\):)95 b('www.raksmorgaasa.examp)
+o(le')198 3696 y(*)47 b(77)g(77)h(77)f(2e)g(72)g(e4)g(6b)g(73)h(6d)f
(f6)g(72)g(67)g(e5)h(73)f(61)g(2e)g(65)g(78)g(61)h(6d)f(70)g(6c)g(65)
-198 3477 y(*)g($)198 3587 y(*)198 3696 y(*/)150 3915
-y(int)150 4025 y(main)g(\(void\))150 4134 y({)245 4244
-y(char)g(buf[BUFSIZ];)245 4354 y(char)g(*p;)245 4463
-y(int)g(rc;)245 4573 y(size_t)g(i;)245 4792 y(setlocale)f(\(LC_ALL,)f
-(""\);)245 5011 y(printf)i(\("Input)e(domain)h(encoded)g(as)h(`\045s':)
-95 b(",)47 b(stringprep_locale_chars)o(et)42 b(\(\)\);)245
-5121 y(fflush)47 b(\(stdout\);)245 5230 y(fgets)g(\(buf,)f(BUFSIZ,)g
-(stdin\);)245 5340 y(buf[strlen)f(\(buf\))i(-)g(1])g(=)h('\\0';)p
+198 3806 y(*)g($)198 3915 y(*)198 4025 y(*/)150 4244
+y(int)150 4354 y(main)g(\(void\))150 4463 y({)245 4573
+y(char)g(buf[BUFSIZ];)245 4682 y(char)g(*p;)245 4792
+y(int)g(rc;)245 4902 y(size_t)g(i;)245 5121 y(setlocale)f(\(LC_ALL,)f
+(""\);)245 5340 y(printf)i(\("Input)e(domain)h(encoded)g(as)h(`\045s':)
+95 b(",)47 b(stringprep_locale_chars)o(et)42 b(\(\)\);)p
eop end
%%Page: 48 53
-TeXDict begin 48 52 bop 150 -116 a Fx(Chapter)30 b(9:)41
-b(Examples)2661 b(48)245 408 y Fr(printf)47 b(\("Read)f(string)g
-(\(length)g(\045d\):)94 b(",)47 b(strlen)f(\(buf\)\);)245
-518 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
-628 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
-737 y(printf)f(\("\\n"\);)245 956 y(rc)h(=)f(idna_to_unicode_lzlz)42
-b(\(buf,)47 b(&p,)g(0\);)245 1066 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341
-1176 y({)436 1285 y(printf)f(\("ToUnicode\(\))f(failed)h(\(\045d\):)94
+TeXDict begin 48 52 bop 150 -116 a Fv(Chapter)30 b(9:)41
+b(Examples)2661 b(48)245 299 y Fp(fflush)47 b(\(stdout\);)245
+408 y(fgets)g(\(buf,)f(BUFSIZ,)g(stdin\);)245 518 y(buf[strlen)f
+(\(buf\))i(-)g(1])g(=)h('\\0';)245 737 y(printf)f(\("Read)f(string)g
+(\(length)g(\045ld\):)94 b(",)47 b(strlen)f(\(buf\)\);)245
+847 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
+956 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
+1066 y(printf)f(\("\\n"\);)245 1285 y(rc)h(=)f(idna_to_unicode_lzlz)42
+b(\(buf,)47 b(&p,)g(0\);)245 1395 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341
+1504 y({)436 1614 y(printf)f(\("ToUnicode\(\))f(failed)h(\(\045d\):)94
b(\045s\\n",)46 b(rc,)h(idna_strerror)d(\(rc\)\);)436
-1395 y(exit)j(\(1\);)341 1504 y(})245 1724 y(printf)g(\("ACE)f(label)g
-(\(length)g(\045d\):)94 b('\045s'\\n",)46 b(strlen)g(\(p\),)h(p\);)245
-1833 y(for)g(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(p\);)h(i++\))341
-1943 y(printf)f(\("\04502x)g(",)h(p[i])g(&)g(0xFF\);)245
-2052 y(printf)g(\("\\n"\);)245 2271 y(free)g(\(p\);)245
-2491 y(return)g(0;)150 2600 y(})150 2846 y Fw(9.5)68
-b(Example)46 b(5)150 3005 y Fx(This)31 b(example)h(demonstrates)f(ho)m
+1724 y(return)i(EXIT_FAILURE;)341 1833 y(})245 2052 y(printf)h(\("ACE)f
+(label)g(\(length)g(\045ld\):)94 b('\045s'\\n",)46 b(strlen)g(\(p\),)g
+(p\);)245 2162 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(p\);)h(i++\))
+341 2271 y(printf)f(\("\04502x)g(",)h(p[i])g(&)g(0xFF\);)245
+2381 y(printf)g(\("\\n"\);)245 2600 y(free)g(\(p\);)245
+2819 y(return)g(0;)150 2929 y(})150 3174 y Fu(9.5)68
+b(Example)46 b(5)150 3334 y Fv(This)31 b(example)h(demonstrates)f(ho)m
(w)h(the)f(library)g(is)h(used)e(to)i(c)m(hec)m(k)h(a)f(string)f(for)h
-(in)m(v)-5 b(alid)31 b(c)m(haracters)150 3115 y(within)f(a)h(sp)s
-(eci\014c)f(TLD.)150 3258 y Fr(/*)47 b(example5.c)e(---)i(Example)f
-(TLD)h(checking.)198 3367 y(*)g(Copyright)e(\(C\))i(2004,)g(2005,)f
-(2006,)g(2007,)h(2008,)f(2009)h(Simon)f(Josefsson)198
-3477 y(*)198 3587 y(*)h(This)g(file)f(is)i(part)e(of)h(GNU)g(Libidn.)
-198 3696 y(*)198 3806 y(*)g(This)g(program)f(is)h(free)f(software:)93
-b(you)47 b(can)g(redistribute)e(it)i(and/or)f(modify)198
-3915 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f
-(Public)g(License)g(as)h(published)e(by)198 4025 y(*)i(the)g(Free)g
-(Software)e(Foundation,)g(either)h(version)g(3)h(of)h(the)e(License,)g
-(or)198 4134 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
-4244 y(*)198 4354 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
-(hope)f(that)h(it)g(will)g(be)g(useful,)198 4463 y(*)g(but)g(WITHOUT)f
-(ANY)h(WARRANTY;)e(without)h(even)h(the)f(implied)g(warranty)g(of)198
-4573 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
-(PURPOSE.)93 b(See)47 b(the)198 4682 y(*)g(GNU)g(General)f(Public)g
-(License)g(for)h(more)f(details.)198 4792 y(*)198 4902
-y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)i(the)f(GNU)f
-(General)g(Public)g(License)198 5011 y(*)h(along)g(with)f(this)h
-(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o(ses/)o
-(>.)198 5121 y(*)198 5230 y(*/)p eop end
+(in)m(v)-5 b(alid)31 b(c)m(haracters)150 3443 y(within)f(a)h(sp)s
+(eci\014c)f(TLD.)150 3587 y Fp(/*)47 b(example5.c)e(---)i(Example)f
+(TLD)h(checking.)198 3696 y(*)g(Copyright)e(\(C\))i(2004,)g(2005,)f
+(2006,)g(2007,)h(2008,)f(2009,)h(2010,)f(2011)h(Simon)198
+3806 y(*)g(Josefsson)198 3915 y(*)198 4025 y(*)g(This)g(file)f(is)i
+(part)e(of)h(GNU)g(Libidn.)198 4134 y(*)198 4244 y(*)g(This)g(program)f
+(is)h(free)f(software:)93 b(you)47 b(can)g(redistribute)e(it)i(and/or)f
+(modify)198 4354 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g
+(General)f(Public)g(License)g(as)h(published)e(by)198
+4463 y(*)i(the)g(Free)g(Software)e(Foundation,)g(either)h(version)g(3)h
+(of)h(the)e(License,)g(or)198 4573 y(*)h(\(at)g(your)g(option\))f(any)g
+(later)h(version.)198 4682 y(*)198 4792 y(*)g(This)g(program)f(is)h
+(distributed)e(in)i(the)g(hope)f(that)h(it)g(will)g(be)g(useful,)198
+4902 y(*)g(but)g(WITHOUT)f(ANY)h(WARRANTY;)e(without)h(even)h(the)f
+(implied)g(warranty)g(of)198 5011 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)
+f(FOR)h(A)g(PARTICULAR)e(PURPOSE.)93 b(See)47 b(the)198
+5121 y(*)g(GNU)g(General)f(Public)g(License)g(for)h(more)f(details.)198
+5230 y(*)198 5340 y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)
+i(the)f(GNU)f(General)g(Public)g(License)p eop end
%%Page: 49 54
-TeXDict begin 49 53 bop 150 -116 a Fx(Chapter)30 b(9:)41
-b(Examples)2661 b(49)150 299 y Fr(#include)46 b(<stdio.h>)150
-408 y(#include)g(<stdlib.h>)150 518 y(#include)g(<string.h>)150
-737 y(/*)h(Get)g(stringprep_locale_charset)o(,)42 b(etc.)94
-b(*/)150 847 y(#include)46 b(<stringprep.h>)150 1066
-y(/*)h(Get)g(idna_to_ascii_8z,)c(etc.)95 b(*/)150 1176
-y(#include)46 b(<idna.h>)150 1395 y(/*)h(Get)g(tld_check_4z.)92
-b(*/)150 1504 y(#include)46 b(<tld.h>)150 1724 y(/*)198
-1833 y(*)h(Compiling)e(using)i(libtool)f(and)h(pkg-config)e(is)i
-(recommended:)198 1943 y(*)198 2052 y(*)g($)h(libtool)d(cc)j(-o)f
+TeXDict begin 49 53 bop 150 -116 a Fv(Chapter)30 b(9:)41
+b(Examples)2661 b(49)198 299 y Fp(*)47 b(along)g(with)f(this)h
+(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o(ses/)o
+(>.)198 408 y(*)198 518 y(*/)150 737 y(#include)f(<stdio.h>)150
+847 y(#include)g(<stdlib.h>)150 956 y(#include)g(<string.h>)150
+1176 y(/*)h(Get)g(stringprep_locale_charset)o(,)42 b(etc.)94
+b(*/)150 1285 y(#include)46 b(<stringprep.h>)150 1504
+y(/*)h(Get)g(idna_to_ascii_8z,)c(etc.)95 b(*/)150 1614
+y(#include)46 b(<idna.h>)150 1833 y(/*)h(Get)g(tld_check_4z.)92
+b(*/)150 1943 y(#include)46 b(<tld.h>)150 2162 y(/*)198
+2271 y(*)h(Compiling)e(using)i(libtool)f(and)h(pkg-config)e(is)i
+(recommended:)198 2381 y(*)198 2491 y(*)g($)h(libtool)d(cc)j(-o)f
(example5)e(example5.c)g(`pkg-config)g(--cflags)h(--libs)g(libidn`)198
-2162 y(*)h($)h(./example5)198 2271 y(*)f(Input)g(domain)f(encoded)f(as)
-j(`UTF-8':)93 b(fooss.no)198 2381 y(*)47 b(Read)g(string)f(\(length)g
+2600 y(*)h($)h(./example5)198 2710 y(*)f(Input)g(domain)f(encoded)f(as)
+j(`UTF-8':)93 b(fooss.no)198 2819 y(*)47 b(Read)g(string)f(\(length)g
(8\):)94 b(66)48 b(6f)f(6f)g(c3)g(9f)g(2e)g(6e)h(6f)198
-2491 y(*)f(ToASCII)f(string)g(\(length)g(8\):)95 b(fooss.no)198
-2600 y(*)47 b(ToUnicode)e(string:)94 b(U+0066)46 b(U+006f)g(U+006f)g
-(U+0073)g(U+0073)g(U+002e)h(U+006e)f(U+006f)198 2710
-y(*)h(Domain)f(accepted)g(by)h(TLD)g(check)198 2819 y(*)198
-2929 y(*)g($)h(./example5)198 3039 y(*)f(Input)g(domain)f(encoded)f(as)
-j(`UTF-8':)93 b(greuroeuron.no)198 3148 y(*)47 b(Read)g(string)f
+2929 y(*)f(ToASCII)f(string)g(\(length)g(8\):)95 b(fooss.no)198
+3039 y(*)47 b(ToUnicode)e(string:)94 b(U+0066)46 b(U+006f)g(U+006f)g
+(U+0073)g(U+0073)g(U+002e)h(U+006e)f(U+006f)198 3148
+y(*)h(Domain)f(accepted)g(by)h(TLD)g(check)198 3258 y(*)198
+3367 y(*)g($)h(./example5)198 3477 y(*)f(Input)g(domain)f(encoded)f(as)
+j(`UTF-8':)93 b(greuroeuron.no)198 3587 y(*)47 b(Read)g(string)f
(\(length)g(12\):)94 b(67)47 b(72)g(e2)h(82)f(ac)g(e2)g(82)g(ac)h(6e)f
-(2e)g(6e)g(6f)198 3258 y(*)g(ToASCII)f(string)g(\(length)g(16\):)94
-b(xn--grn-l50aa.no)198 3367 y(*)47 b(ToUnicode)e(string:)94
+(2e)g(6e)g(6f)198 3696 y(*)g(ToASCII)f(string)g(\(length)g(16\):)94
+b(xn--grn-l50aa.no)198 3806 y(*)47 b(ToUnicode)e(string:)94
b(U+0067)46 b(U+0072)g(U+20ac)g(U+20ac)g(U+006e)g(U+002e)h(U+006e)f
-(U+006f)198 3477 y(*)h(Domain)f(rejected)g(by)h(TLD)g(check,)f(Unicode)
-g(position)f(2)198 3587 y(*)198 3696 y(*/)150 3915 y(int)150
-4025 y(main)i(\(void\))150 4134 y({)245 4244 y(char)g(buf[BUFSIZ];)245
-4354 y(char)g(*p;)245 4463 y(uint32_t)f(*r;)245 4573
-y(int)h(rc;)245 4682 y(size_t)g(errpos,)e(i;)245 4902
+(U+006f)198 3915 y(*)h(Domain)f(rejected)g(by)h(TLD)g(check,)f(Unicode)
+g(position)f(2)198 4025 y(*)198 4134 y(*/)150 4354 y(int)150
+4463 y(main)i(\(void\))150 4573 y({)245 4682 y(char)g(buf[BUFSIZ];)245
+4792 y(char)g(*p;)245 4902 y(uint32_t)f(*r;)245 5011
+y(int)h(rc;)245 5121 y(size_t)g(errpos,)e(i;)245 5340
y(printf)i(\("Input)e(domain)h(encoded)g(as)h(`\045s':)95
-b(",)47 b(stringprep_locale_chars)o(et)42 b(\(\)\);)245
-5011 y(fflush)47 b(\(stdout\);)245 5121 y(fgets)g(\(buf,)f(BUFSIZ,)g
-(stdin\);)245 5230 y(buf[strlen)f(\(buf\))i(-)g(1])g(=)h('\\0';)p
+b(",)47 b(stringprep_locale_chars)o(et)42 b(\(\)\);)p
eop end
%%Page: 50 55
-TeXDict begin 50 54 bop 150 -116 a Fx(Chapter)30 b(9:)41
-b(Examples)2661 b(50)245 299 y Fr(printf)47 b(\("Read)f(string)g
-(\(length)g(\045d\):)94 b(",)47 b(strlen)f(\(buf\)\);)245
-408 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
-518 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
-628 y(printf)f(\("\\n"\);)245 847 y(p)h(=)f(stringprep_locale_to_utf8)
-41 b(\(buf\);)245 956 y(if)48 b(\(p\))341 1066 y({)436
-1176 y(strcpy)e(\(buf,)h(p\);)436 1285 y(free)g(\(p\);)341
-1395 y(})245 1504 y(else)341 1614 y(printf)f(\("Could)g(not)h(convert)f
-(string)g(to)h(UTF-8,)f(continuing)f(anyway...\\n"\);)245
-1833 y(rc)j(=)f(idna_to_ascii_8z)c(\(buf,)k(&p,)g(0\);)245
-1943 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341 2052 y({)436
-2162 y(printf)f(\("idna_to_ascii_8z)d(failed)j(\(\045d\):)94
-b(\045s\\n",)47 b(rc,)f(idna_strerror)f(\(rc\)\);)436
-2271 y(return)h(2;)341 2381 y(})245 2600 y(printf)h(\("ToASCII)e
-(string)h(\(length)g(\045d\):)94 b(\045s\\n",)46 b(strlen)g(\(p\),)h
-(p\);)245 2819 y(rc)h(=)f(idna_to_unicode_8z4z)42 b(\(p,)47
-b(&r,)g(0\);)245 2929 y(free)g(\(p\);)245 3039 y(if)h(\(rc)f(!=)g
-(IDNA_SUCCESS\))341 3148 y({)436 3258 y(printf)f
+TeXDict begin 50 54 bop 150 -116 a Fv(Chapter)30 b(9:)41
+b(Examples)2661 b(50)245 299 y Fp(fflush)47 b(\(stdout\);)245
+408 y(fgets)g(\(buf,)f(BUFSIZ,)g(stdin\);)245 518 y(buf[strlen)f
+(\(buf\))i(-)g(1])g(=)h('\\0';)245 737 y(printf)f(\("Read)f(string)g
+(\(length)g(\045ld\):)94 b(",)47 b(strlen)f(\(buf\)\);)245
+847 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
+956 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
+1066 y(printf)f(\("\\n"\);)245 1285 y(p)h(=)f
+(stringprep_locale_to_utf8)41 b(\(buf\);)245 1395 y(if)48
+b(\(p\))341 1504 y({)436 1614 y(strcpy)e(\(buf,)h(p\);)436
+1724 y(free)g(\(p\);)341 1833 y(})245 1943 y(else)341
+2052 y(printf)f(\("Could)g(not)h(convert)f(string)g(to)h(UTF-8,)f
+(continuing)f(anyway...\\n"\);)245 2271 y(rc)j(=)f(idna_to_ascii_8z)c
+(\(buf,)k(&p,)g(0\);)245 2381 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341
+2491 y({)436 2600 y(printf)f(\("idna_to_ascii_8z)d(failed)j(\(\045d\):)
+94 b(\045s\\n",)47 b(rc,)f(idna_strerror)f(\(rc\)\);)436
+2710 y(return)h(2;)341 2819 y(})245 3039 y(printf)h(\("ToASCII)e
+(string)h(\(length)g(\045ld\):)94 b(\045s\\n",)46 b(strlen)g(\(p\),)h
+(p\);)245 3258 y(rc)h(=)f(idna_to_unicode_8z4z)42 b(\(p,)47
+b(&r,)g(0\);)245 3367 y(free)g(\(p\);)245 3477 y(if)h(\(rc)f(!=)g
+(IDNA_SUCCESS\))341 3587 y({)436 3696 y(printf)f
(\("idna_to_unicode_8z4z)c(failed)k(\(\045d\):)94 b(\045s\\n",)818
-3367 y(rc,)47 b(idna_strerror)d(\(rc\)\);)436 3477 y(return)i(2;)341
-3587 y(})245 3806 y(printf)h(\("ToUnicode)d(string:)94
-b("\);)245 3915 y(for)47 b(\(i)h(=)f(0;)g(r[i];)g(i++\))341
-4025 y(printf)f(\("U+\04504x)g(",)h(r[i]\);)245 4134
-y(printf)g(\("\\n"\);)245 4354 y(rc)h(=)f(tld_check_4z)e(\(r,)h
-(&errpos,)g(NULL\);)245 4463 y(free)h(\(r\);)245 4573
-y(if)h(\(rc)f(==)g(TLD_INVALID\))341 4682 y({)436 4792
+3806 y(rc,)47 b(idna_strerror)d(\(rc\)\);)436 3915 y(return)i(2;)341
+4025 y(})245 4244 y(printf)h(\("ToUnicode)d(string:)94
+b("\);)245 4354 y(for)47 b(\(i)h(=)f(0;)g(r[i];)g(i++\))341
+4463 y(printf)f(\("U+\04504x)g(",)h(r[i]\);)245 4573
+y(printf)g(\("\\n"\);)245 4792 y(rc)h(=)f(tld_check_4z)e(\(r,)h
+(&errpos,)g(NULL\);)245 4902 y(free)h(\(r\);)245 5011
+y(if)h(\(rc)f(==)g(TLD_INVALID\))341 5121 y({)436 5230
y(printf)f(\("Domain)g(rejected)g(by)h(TLD)g(check,)f(Unicode)g
-(position)f(\045d\\n",)h(errpos\);)436 4902 y(return)g(1;)341
-5011 y(})245 5121 y(else)h(if)g(\(rc)g(!=)g(TLD_SUCCESS\))341
-5230 y({)436 5340 y(printf)f(\("tld_check_4z\(\))e(failed)i(\(\045d\):)
-94 b(\045s\\n",)46 b(rc,)h(tld_strerror)d(\(rc\)\);)p
+(position)f(\045ld\\n",)h(errpos\);)436 5340 y(return)g(1;)p
eop end
%%Page: 51 56
-TeXDict begin 51 55 bop 150 -116 a Fx(Chapter)30 b(9:)41
-b(Examples)2661 b(51)436 299 y Fr(return)46 b(2;)341
-408 y(})245 628 y(printf)h(\("Domain)e(accepted)h(by)h(TLD)g
-(check\\n"\);)245 847 y(return)g(0;)150 956 y(})p eop
-end
+TeXDict begin 51 55 bop 150 -116 a Fv(Chapter)30 b(9:)41
+b(Examples)2661 b(51)341 299 y Fp(})245 408 y(else)47
+b(if)g(\(rc)g(!=)g(TLD_SUCCESS\))341 518 y({)436 628
+y(printf)f(\("tld_check_4z\(\))e(failed)i(\(\045d\):)94
+b(\045s\\n",)46 b(rc,)h(tld_strerror)d(\(rc\)\);)436
+737 y(return)i(2;)341 847 y(})245 1066 y(printf)h(\("Domain)e(accepted)
+h(by)h(TLD)g(check\\n"\);)245 1285 y(return)g(0;)150
+1395 y(})p eop end
%%Page: 52 57
-TeXDict begin 52 56 bop 150 -116 a Fx(Chapter)30 b(10:)41
-b(In)m(v)m(oking)32 b(idn)2500 b(52)150 299 y Fu(10)80
-b(In)l(v)l(oking)52 b(idn)150 648 y Fw(10.1)68 b(Name)150
-807 y Fx(GNU)31 b(Libidn)e(\(idn\))h({)h(In)m(ternationalized)h(Domain)
-g(Names)f(command)f(line)g(to)s(ol)150 1047 y Fw(10.2)68
-b(Description)150 1206 y Fr(idn)34 b Fx(allo)m(ws)j(in)m
-(ternationalized)h(string)d(preparation)g(\(`)p Fr(stringprep)p
-Fx('\),)h(enco)s(ding)f(and)g(deco)s(ding)g(of)150 1316
+TeXDict begin 52 56 bop 150 -116 a Fv(Chapter)30 b(10:)41
+b(In)m(v)m(oking)32 b(idn)2500 b(52)150 299 y Fs(10)80
+b(In)l(v)l(oking)52 b(idn)150 648 y Fu(10.1)68 b(Name)150
+807 y Fv(GNU)31 b(Libidn)e(\(idn\))h({)h(In)m(ternationalized)h(Domain)
+g(Names)f(command)f(line)g(to)s(ol)150 1047 y Fu(10.2)68
+b(Description)150 1206 y Fp(idn)34 b Fv(allo)m(ws)j(in)m
+(ternationalized)h(string)d(preparation)g(\(`)p Fp(stringprep)p
+Fv('\),)h(enco)s(ding)f(and)g(deco)s(ding)g(of)150 1316
y(pun)m(yco)s(de)h(data,)j(and)d(IDNA)h(T)-8 b(oASCI)s(I/T)g(oUnico)s
(de)37 b(op)s(erations)g(to)g(b)s(e)f(p)s(erformed)f(on)h(the)h(com-)
150 1425 y(mand)30 b(line.)275 1564 y(If)i(strings)h(are)g(sp)s
(eci\014ed)f(on)h(the)g(command)f(line,)i(they)g(are)f(used)f(as)h
(input)f(and)g(the)h(computed)150 1674 y(output)h(is)g(prin)m(ted)f(to)
-i(standard)e(output)h Fr(stdout)p Fx(.)49 b(If)34 b(no)g(strings)g(are)
+i(standard)e(output)h Fp(stdout)p Fv(.)49 b(If)34 b(no)g(strings)g(are)
g(sp)s(eci\014ed)f(on)h(the)g(command)150 1784 y(line,)42
b(the)d(program)g(read)f(data,)k(line)e(b)m(y)f(line,)i(from)e(the)g
-(standard)f(input)g Fr(stdin)p Fx(,)i(and)e(prin)m(t)h(the)150
+(standard)f(input)g Fp(stdin)p Fv(,)i(and)e(prin)m(t)h(the)150
1893 y(computed)g(output)g(to)h(standard)f(output.)67
b(What)40 b(pro)s(cessing)f(is)h(p)s(erformed)e(\(e.g.,)43
b(T)-8 b(oASCI)s(I,)39 b(or)150 2003 y(Pun)m(yco)s(de)32
(of)150 2112 y(the)d(applications)g(is)g(ab)s(orted.)275
2252 y(All)e(strings)g(are)g(exp)s(ected)g(to)h(b)s(e)e(enco)s(ded)h
(in)f(the)h(preferred)f(c)m(harset)i(used)e(b)m(y)h(y)m(our)g(lo)s
-(cale.)42 b(Use)150 2361 y Fr(--debug)c Fx(to)j(\014nd)e(out)i(what)f
+(cale.)42 b(Use)150 2361 y Fp(--debug)c Fv(to)j(\014nd)e(out)i(what)f
(this)g(c)m(harset)h(is.)71 b(Y)-8 b(ou)40 b(can)h(o)m(v)m(erride)g
(the)g(c)m(harset)g(used)f(b)m(y)g(setting)150 2471 y(en)m(vironmen)m
-(t)31 b(v)-5 b(ariable)31 b Fr(CHARSET)p Fx(.)275 2610
+(t)31 b(v)-5 b(ariable)31 b Fp(CHARSET)p Fv(.)275 2610
y(T)-8 b(o)38 b(pro)s(cess)g(a)g(string)g(that)h(starts)f(with)g
-Fr(-)p Fx(,)i(for)e(example)g Fr(-foo)p Fx(,)h(use)f
-Fr(--)g Fx(to)g(signal)h(the)f(end)g(of)150 2720 y(parameters,)31
-b(as)g(in)f Fr(idn)f(--quiet)g(-a)g(--)h(-foo)p Fx(.)150
-2959 y Fw(10.3)68 b(Options)150 3119 y Fr(idn)29 b Fx(recognizes)k
-(these)d(commands:)245 3258 y Fr(-h,)47 b(--help)715
+Fp(-)p Fv(,)i(for)e(example)g Fp(-foo)p Fv(,)h(use)f
+Fp(--)g Fv(to)g(signal)h(the)f(end)g(of)150 2720 y(parameters,)31
+b(as)g(in)f Fp(idn)f(--quiet)g(-a)g(--)h(-foo)p Fv(.)150
+2959 y Fu(10.3)68 b(Options)150 3119 y Fp(idn)29 b Fv(recognizes)k
+(these)d(commands:)245 3258 y Fp(-h,)47 b(--help)715
b(Print)46 b(help)h(and)g(exit)245 3477 y(-V,)g(--version)571
b(Print)46 b(version)g(and)h(exit)245 3696 y(-s,)g(--stringprep)427
b(Prepare)45 b(string)i(according)e(to)i(nameprep)f(profile)245
f(rules)1534 5340 y(Only)h(for)g(--idna-to-ascii)c(and)k
(--idna-to-unicode)p eop end
%%Page: 53 58
-TeXDict begin 53 57 bop 150 -116 a Fx(Chapter)30 b(10:)41
-b(In)m(v)m(oking)32 b(idn)2500 b(53)245 408 y Fr(-n,)47
+TeXDict begin 53 57 bop 150 -116 a Fv(Chapter)30 b(10:)41
+b(In)m(v)m(oking)32 b(idn)2500 b(53)245 408 y Fp(-n,)47
b(--nfkc)715 b(Normalize)45 b(string)h(according)f(to)i(Unicode)f(v3.2)
h(NFKC)245 628 y(-p,)g(--profile=STRING)235 b(Use)47
b(specified)e(stringprep)g(profile)h(instead)1534 737
y(`iSCSI',)g(`Nodeprep',)e(`Resourceprep',)1534 956 y(`trace',)i
(`SASLprep')436 1176 y(--debug)667 b(Print)46 b(debugging)f
(information)436 1395 y(--quiet)667 b(Silent)46 b(operation)150
-1673 y Fw(10.4)68 b(En)l(vironmen)l(t)46 b(V)-11 b(ariables)150
-1832 y Fx(The)25 b Fn(CHARSET)31 b Fx(en)m(vironmen)m(t)26
+1673 y Fu(10.4)68 b(En)l(vironmen)l(t)46 b(V)-11 b(ariables)150
+1832 y Fv(The)25 b Fl(CHARSET)31 b Fv(en)m(vironmen)m(t)26
b(v)-5 b(ariable)26 b(can)g(b)s(e)f(used)f(to)j(o)m(v)m(erride)f(what)g
(c)m(haracter)h(set)f(to)g(b)s(e)f(used)150 1942 y(for)35
b(deco)s(ding)f(incoming)i(data)f(\(i.e.,)j(on)c(the)h(command)g(line)g
b(If)27 b(y)m(our)h(system)g(is)h(set)f(up)f(correctly)-8
b(,)31 b(ho)m(w)m(ev)m(er,)f(the)150 2161 y(application)i(will)e(guess)
h(whic)m(h)f(c)m(haracter)i(set)f(is)f(used)g(automatically)-8
-b(.)44 b(Example)30 b(usage:)390 2326 y Fr($)47 b(CHARSET=ISO-8859-1)c
-(idn)k(--punycode-encode)390 2435 y(...)150 2713 y Fw(10.5)68
-b(Examples)150 2872 y Fx(Standard)29 b(usage,)i(reading)g(input)e(from)
-h(standard)g(input:)390 3037 y Fr(jas@latte:~$)44 b(idn)390
+b(.)44 b(Example)30 b(usage:)390 2326 y Fp($)47 b(CHARSET=ISO-8859-1)c
+(idn)k(--punycode-encode)390 2435 y(...)150 2713 y Fu(10.5)68
+b(Examples)150 2872 y Fv(Standard)29 b(usage,)i(reading)g(input)e(from)
+h(standard)g(input:)390 3037 y Fp(jas@latte:~$)44 b(idn)390
3147 y(libidn)i(0.3.5)390 3256 y(Copyright)f(2002,)i(2003)f(Simon)h
(Josefsson.)390 3366 y(GNU)g(Libidn)f(comes)g(with)h(NO)g(WARRANTY,)e
(to)j(the)f(extent)f(permitted)f(by)i(law.)390 3475 y(You)g(may)g
(input)h(string)f(on)h(a)g(line)g(by)g(itself,)f(terminated)f(by)i(a)h
(newline)d(character.)390 3914 y(r\177)-48 b(aksm\177)g(org\027)g
(as.se)390 4023 y(xn--rksmrgs-5wao1o.se)390 4133 y(jas@latte:~$)275
-4298 y Fx(Reading)30 b(input)g(from)g(command)g(line,)h(and)f
+4298 y Fv(Reading)30 b(input)g(from)g(command)g(line,)h(and)f
(disabling)g(cop)m(yrigh)m(t)i(and)d(license)j(information:)390
-4463 y Fr(jas@latte:~$)44 b(idn)j(--quiet)f(r\177)-48
+4463 y Fp(jas@latte:~$)44 b(idn)j(--quiet)f(r\177)-48
b(aksm\177)g(org\027)g(as.se)44 b(bl\027)-48 b(ab\032rgr\034d.no)390
4572 y(xn--rksmrgs-5wao1o.se)390 4682 y(xn--blbrgrd-fxak7p.no)390
-4791 y(jas@latte:~$)275 4956 y Fx(Accessing)31 b(a)g(sp)s(eci\014c)f
-(StringPrep)f(pro\014le)h(directly:)390 5121 y Fr(jas@latte:~$)44
+4791 y(jas@latte:~$)275 4956 y Fv(Accessing)31 b(a)g(sp)s(eci\014c)f
+(StringPrep)f(pro\014le)h(directly:)390 5121 y Fp(jas@latte:~$)44
b(idn)j(--quiet)f(--profile=SASLprep)d(--stringprep)h(te\031t)3302
-5082 y Fh(a)p 3302 5095 36 4 v 390 5230 a Fr(te\031ta)390
+5082 y Fg(a)p 3302 5095 36 4 v 390 5230 a Fp(te\031ta)390
5340 y(jas@latte:~$)p eop end
%%Page: 54 59
-TeXDict begin 54 58 bop 150 -116 a Fx(Chapter)30 b(10:)41
-b(In)m(v)m(oking)32 b(idn)2500 b(54)150 299 y Fw(10.6)68
-b(T)-11 b(roublesho)t(oting)150 458 y Fx(Getting)32 b(c)m(haracter)g
+TeXDict begin 54 58 bop 150 -116 a Fv(Chapter)30 b(10:)41
+b(In)m(v)m(oking)32 b(idn)2500 b(54)150 299 y Fu(10.6)68
+b(T)-11 b(roublesho)t(oting)150 458 y Fv(Getting)32 b(c)m(haracter)g
(data)f(enco)s(ded)g(righ)m(t,)g(and)f(making)h(sure)f(Libidn)f(use)h
(the)h(same)g(enco)s(ding,)g(can)150 568 y(b)s(e)i(di\016cult.)50
b(The)33 b(reason)g(for)h(this)f(is)g(that)h(most)g(systems)g(enco)s
(de)f(c)m(haracter)i(data)f(in)g(more)f(than)150 677
y(one)e(c)m(haracter)g(enco)s(ding,)g(i.e.,)g(using)f
-Fr(UTF-8)f Fx(together)j(with)d Fr(ISO-8859-1)f Fx(or)i
-Fr(ISO-2022-JP)p Fx(.)38 b(This)150 787 y(problem)g(is)h(lik)m(ely)h
+Fp(UTF-8)f Fv(together)j(with)d Fp(ISO-8859-1)f Fv(or)i
+Fp(ISO-2022-JP)p Fv(.)38 b(This)150 787 y(problem)g(is)h(lik)m(ely)h
(to)f(con)m(tin)m(ue)h(to)f(exist)h(un)m(til)e(only)h(one)g(c)m
(haracter)h(enco)s(ding)f(come)g(out)g(as)g(the)150 897
y(ev)m(olutionary)32 b(winner,)d(or)i(\(more)g(lik)m(ely)-8
b(,)32 b(at)f(least)h(to)f(some)g(exten)m(ts\))h(forev)m(er.)275
1027 y(The)d(\014rst)h(step)g(to)h(troublesho)s(oting)f(c)m(haracter)i
(enco)s(ding)e(problems)g(with)g(Libidn)f(is)h(to)h(use)f(the)150
-1137 y(`)p Fr(--debug)p Fx(')24 b(parameter)j(to)f(\014nd)e(out)i(whic)
-m(h)g(c)m(haracter)h(set)g(enco)s(ding)f(`)p Fr(idn)p
-Fx(')f(b)s(eliev)m(e)i(y)m(our)f(lo)s(cale)h(uses.)390
-1268 y Fr(jas@latte:~$)44 b(idn)j(--debug)f(--quiet)g("")390
+1137 y(`)p Fp(--debug)p Fv(')24 b(parameter)j(to)f(\014nd)e(out)i(whic)
+m(h)g(c)m(haracter)h(set)g(enco)s(ding)f(`)p Fp(idn)p
+Fv(')f(b)s(eliev)m(e)i(y)m(our)f(lo)s(cale)h(uses.)390
+1268 y Fp(jas@latte:~$)44 b(idn)j(--debug)f(--quiet)g("")390
1377 y(system)g(locale)g(uses)h(charset)f(`UTF-8'.)390
-1597 y(jas@latte:~$)275 1727 y Fx(If)27 b(it)i(prin)m(ts)f
-Fr(ANSI_X3.4-1968)c Fx(\(i.e.,)30 b Fr(US-ASCII)p Fx(\),)d(this)h
+1597 y(jas@latte:~$)275 1727 y Fv(If)27 b(it)i(prin)m(ts)f
+Fp(ANSI_X3.4-1968)c Fv(\(i.e.,)30 b Fp(US-ASCII)p Fv(\),)d(this)h
(indicate)h(y)m(ou)g(ha)m(v)m(e)g(not)g(con\014gured)e(y)m(our)150
1837 y(lo)s(cale)40 b(prop)s(erly)-8 b(.)66 b(T)-8 b(o)39
b(con\014gure)f(the)h(lo)s(cale,)k(y)m(ou)c(can,)j(for)c(example,)k
-(use)c(`)p Fr(LANG=sv_SE.UTF-8;)150 1946 y(export)29
-b(LANG)p Fx(')g(at)i(a)g Fr(/bin/sh)d Fx(prompt,)i(to)g(set)h(up)e(y)m
+(use)c(`)p Fp(LANG=sv_SE.UTF-8;)150 1946 y(export)29
+b(LANG)p Fv(')g(at)i(a)g Fp(/bin/sh)d Fv(prompt,)i(to)g(set)h(up)e(y)m
(our)i(lo)s(cale)h(for)e(a)g(Sw)m(edish)g(en)m(vironmen)m(t)g(using)150
-2056 y Fr(UTF-8)f Fx(as)i(the)f(enco)s(ding.)275 2187
-y(Sometimes)36 b(`)p Fr(idn)p Fx(')g(app)s(ear)g(to)h(b)s(e)e(unable)h
+2056 y Fp(UTF-8)f Fv(as)i(the)f(enco)s(ding.)275 2187
+y(Sometimes)36 b(`)p Fp(idn)p Fv(')g(app)s(ear)g(to)h(b)s(e)e(unable)h
(to)h(translate)g(from)f(y)m(our)g(system)g(lo)s(cale)i(in)m(to)f
-Fr(UTF-8)150 2296 y Fx(\(whic)m(h)30 b(is)h(used)e(in)m(ternally\),)j
+Fp(UTF-8)150 2296 y Fv(\(whic)m(h)30 b(is)h(used)e(in)m(ternally\),)j
(and)e(y)m(ou)h(get)g(an)g(error)f(lik)m(e)h(the)g(follo)m(wing:)390
-2427 y Fr(jas@latte:~$)44 b(idn)j(--quiet)f(foo)390 2537
+2427 y Fp(jas@latte:~$)44 b(idn)j(--quiet)f(foo)390 2537
y(idn:)h(could)f(not)h(convert)f(from)g(ISO-8859-1)f(to)j(UTF-8.)390
-2646 y(jas@latte:~$)275 2777 y Fx(The)95 b(simplest)h(explanation)h(is)
+2646 y(jas@latte:~$)275 2777 y Fv(The)95 b(simplest)h(explanation)h(is)
e(that)i(y)m(ou)f(ha)m(v)m(en't)h(installed)g(the)e(`)p
-Fr(iconv)p Fx(')g(con-)150 2887 y(v)m(ersion)88 b(to)s(ols.)214
-b(Y)-8 b(ou)89 b(can)f(\014nd)e(it)j(as)f(a)g(standalone)h(library)e
-(in)h Fk(GNU)g Fx(Libicon)m(v)150 2996 y(\()p Fr
-(http://www.gnu.org/softwar)o(e/l)o(ibic)o(onv/)o Fx(\).)271
-b(On)109 b(man)m(y)g Fk(GNU)p Fx(/Lin)m(ux)h(systems,)150
-3106 y(this)38 b(library)g(is)h(part)f(of)g(the)h(system,)h(but)e(y)m
-(ou)h(ma)m(y)g(ha)m(v)m(e)g(to)g(install)h(additional)f(pac)m(k)-5
-b(ages)40 b(\(e.g.,)150 3215 y(`)p Fr(glibc-locale)p
-Fx(')28 b(for)i(Debian\))h(to)g(b)s(e)f(able)h(to)g(use)f(it.)275
-3346 y(Another)i(explanation)i(is)f(that)g(the)g(error)g(is)g(correct)h
-(and)e(y)m(ou)h(are)g(feeding)g(`)p Fr(idn)p Fx(')g(in)m(v)-5
-b(alid)33 b(data.)150 3456 y(This)e(can)i(happ)s(en)d(inadv)m(erten)m
-(tly)k(if)e(y)m(ou)g(are)h(not)f(careful)g(with)g(the)g(c)m(haracter)i
-(set)f(enco)s(dings)f(y)m(ou)150 3565 y(use.)65 b(F)-8
-b(or)40 b(example,)i(if)c(y)m(our)h(shell)g(run)e(in)i(a)g
-Fr(ISO-8859-1)d Fx(en)m(vironmen)m(t,)41 b(and)e(y)m(ou)g(in)m(v)m(ok)m
-(e)h(`)p Fr(idn)p Fx(')150 3675 y(with)29 b(the)h(`)p
-Fr(CHARSET)p Fx(')e(en)m(vironmen)m(t)h(v)-5 b(ariable)31
-b(as)e(follo)m(ws,)i(y)m(ou)f(will)g(feed)f(it)h Fr(ISO-8859-1)c
-Fx(c)m(haracters)150 3785 y(but)42 b(force)h(it)g(to)g(b)s(eliev)m(e)g
-(they)g(are)g Fr(UTF-8)p Fx(.)75 b(Naturally)43 b(this)g(will)f(lead)h
-(to)g(an)g(error,)i(unless)d(the)150 3894 y(b)m(yte)33
-b(sequences)g(happ)s(en)e(to)j(b)s(e)e(parsable)h(as)g
-Fr(UTF-8)p Fx(.)46 b(Note)34 b(that)g(ev)m(en)f(if)g(y)m(ou)g(don't)g
-(get)g(an)g(error,)150 4004 y(the)f(output)g(ma)m(y)h(b)s(e)e
-(incorrect)i(in)f(this)g(situation,)i(b)s(ecause)e Fr(ISO-8859-1)e
-Fx(and)h Fr(UTF-8)g Fx(do)s(es)h(not)g(in)150 4113 y(general)f(enco)s
-(de)g(the)f(same)h(c)m(haracters)h(as)f(the)f(same)h(b)m(yte)g
-(sequences.)390 4244 y Fr(jas@latte:~$)44 b(idn)j(--quiet)f(--debug)g
-("")390 4354 y(system)g(locale)g(uses)h(charset)f(`ISO-8859-1'.)390
-4573 y(jas@latte:~$)e(CHARSET=UTF-8)h(idn)i(--quiet)e(--debug)h(r\177)
--48 b(aksm\177)g(org\027)g(as)390 4682 y(system)46 b(locale)g(uses)h
-(charset)f(`UTF-8'.)390 4792 y(input[0])g(=)h(U+0072)390
-4902 y(input[1])f(=)h(U+4af3)390 5011 y(input[2])f(=)h(U+006d)390
-5121 y(input[3])f(=)h(U+1b29e5)390 5230 y(input[4])f(=)h(U+0073)390
-5340 y(output[0])e(=)j(U+0078)p eop end
+Fp(iconv)p Fv(')g(con-)150 2887 y(v)m(ersion)87 b(to)s(ols.)210
+b(Y)-8 b(ou)87 b(can)g(\014nd)e(it)j(as)e(a)h(standalone)h(library)e
+(in)g(GNU)h(Libicon)m(v)150 2996 y(\()p Fp(http://www.gnu.org/softwar)o
+(e/l)o(ibic)o(onv/)o Fv(\).)262 b(On)106 b(man)m(y)g(GNU/Lin)m(ux)h
+(systems,)150 3106 y(this)38 b(library)g(is)h(part)f(of)g(the)h
+(system,)h(but)e(y)m(ou)h(ma)m(y)g(ha)m(v)m(e)g(to)g(install)h
+(additional)f(pac)m(k)-5 b(ages)40 b(\(e.g.,)150 3215
+y(`)p Fp(glibc-locale)p Fv(')28 b(for)i(Debian\))h(to)g(b)s(e)f(able)h
+(to)g(use)f(it.)275 3346 y(Another)i(explanation)i(is)f(that)g(the)g
+(error)g(is)g(correct)h(and)e(y)m(ou)h(are)g(feeding)g(`)p
+Fp(idn)p Fv(')g(in)m(v)-5 b(alid)33 b(data.)150 3456
+y(This)21 b(can)i(happ)s(en)d(inadv)m(erten)m(tly)k(if)e(y)m(ou)h(are)f
+(not)h(careful)f(with)g(the)h(c)m(haracter)h(set)e(enco)s(ding)g(y)m
+(ou)h(use.)150 3565 y(F)-8 b(or)29 b(example,)g(if)f(y)m(our)g(shell)h
+(run)d(in)i(a)h Fp(ISO-8859-1)c Fv(en)m(vironmen)m(t,)k(and)f(y)m(ou)g
+(in)m(v)m(ok)m(e)i(`)p Fp(idn)p Fv(')e(with)g(the)150
+3675 y(`)p Fp(CHARSET)p Fv(')e(en)m(vironmen)m(t)i(v)-5
+b(ariable)28 b(as)g(follo)m(ws,)h(y)m(ou)f(will)g(feed)f(it)h
+Fp(ISO-8859-1)d Fv(c)m(haracters)k(but)d(force)150 3785
+y(it)k(to)h(b)s(eliev)m(e)g(they)f(are)g Fp(UTF-8)p Fv(.)39
+b(Naturally)31 b(this)f(will)g(lead)g(to)h(an)e(error,)h(unless)f(the)h
+(b)m(yte)h(sequences)150 3894 y(happ)s(en)36 b(to)i(b)s(e)e(v)-5
+b(alid)38 b Fp(UTF-8)p Fv(.)60 b(Note)39 b(that)f(ev)m(en)g(if)f(y)m
+(ou)g(don't)h(get)g(an)f(error,)i(the)f(output)f(ma)m(y)h(b)s(e)150
+4004 y(incorrect)c(in)e(this)g(situation,)j(b)s(ecause)e
+Fp(ISO-8859-1)c Fv(and)j Fp(UTF-8)g Fv(do)s(es)g(not)h(in)f(general)i
+(enco)s(de)f(the)150 4113 y(same)e(c)m(haracters)h(as)e(the)h(same)g(b)
+m(yte)g(sequences.)390 4244 y Fp(jas@latte:~$)44 b(idn)j(--quiet)f
+(--debug)g("")390 4354 y(system)g(locale)g(uses)h(charset)f
+(`ISO-8859-1'.)390 4573 y(jas@latte:~$)e(CHARSET=UTF-8)h(idn)i(--quiet)
+e(--debug)h(r\177)-48 b(aksm\177)g(org\027)g(as)390 4682
+y(system)46 b(locale)g(uses)h(charset)f(`UTF-8'.)390
+4792 y(input[0])g(=)h(U+0072)390 4902 y(input[1])f(=)h(U+4af3)390
+5011 y(input[2])f(=)h(U+006d)390 5121 y(input[3])f(=)h(U+1b29e5)390
+5230 y(input[4])f(=)h(U+0073)390 5340 y(output[0])e(=)j(U+0078)p
+eop end
%%Page: 55 60
-TeXDict begin 55 59 bop 150 -116 a Fx(Chapter)30 b(10:)41
-b(In)m(v)m(oking)32 b(idn)2500 b(55)390 299 y Fr(output[1])45
+TeXDict begin 55 59 bop 150 -116 a Fv(Chapter)30 b(10:)41
+b(In)m(v)m(oking)32 b(idn)2500 b(55)390 299 y Fp(output[1])45
b(=)j(U+006e)390 408 y(output[2])d(=)j(U+002d)390 518
y(output[3])d(=)j(U+002d)390 628 y(output[4])d(=)j(U+0072)390
737 y(output[5])d(=)j(U+006d)390 847 y(output[6])d(=)j(U+0073)390
1833 y(output[15])e(=)i(U+0035)390 1943 y(output[16])e(=)i(U+0035)390
2052 y(output[17])e(=)i(U+0032)390 2162 y(output[18])e(=)i(U+0061)390
2271 y(xn--rms-hi6d597552a)390 2381 y(jas@latte:~$)275
-2516 y Fx(The)35 b(sense)g(moral)i(here)e(is)h(to)g(forget)h(ab)s(out)e
-(`)p Fr(CHARSET)p Fx(')g(\(con\014gure)h(y)m(our)f(lo)s(cales)i(prop)s
+2516 y Fv(The)35 b(sense)g(moral)i(here)e(is)h(to)g(forget)h(ab)s(out)e
+(`)p Fp(CHARSET)p Fv(')g(\(con\014gure)h(y)m(our)f(lo)s(cales)i(prop)s
(erly)e(in-)150 2625 y(stead\))c(unless)f(y)m(ou)g(kno)m(w)h(what)f(y)m
(ou)h(are)f(doing,)h(and)f(if)g(y)m(ou)h(w)m(an)m(t)g(to)g(use)f(it,)h
(do)f(it)h(carefully)-8 b(,)31 b(after)150 2735 y(v)m(erifying)g(with)f
-(`)p Fr(--debug)p Fx(')f(that)i(y)m(ou)g(get)g(the)g(desired)f
+(`)p Fp(--debug)p Fv(')f(that)i(y)m(ou)g(get)g(the)g(desired)f
(results.)p eop end
%%Page: 56 61
-TeXDict begin 56 60 bop 150 -116 a Fx(Chapter)30 b(11:)41
-b(Emacs)31 b(API)2546 b(56)150 299 y Fu(11)80 b(Emacs)54
-b(API)150 563 y Fx(Included)32 b(in)h(Libidn)g(are)g(`)p
-Fr(punycode.el)p Fx(')e(and)i(`)p Fr(idna.el)p Fx(')f(that)i(pro)m
+TeXDict begin 56 60 bop 150 -116 a Fv(Chapter)30 b(11:)41
+b(Emacs)31 b(API)2546 b(56)150 299 y Fs(11)80 b(Emacs)54
+b(API)150 563 y Fv(Included)32 b(in)h(Libidn)g(are)g(`)p
+Fp(punycode.el)p Fv(')e(and)i(`)p Fp(idna.el)p Fv(')f(that)i(pro)m
(vides)f(an)h(Emacs)f(Lisp)g(API)g(to)150 673 y(\(a)28
b(limited)g(set)g(of)7 b(\))27 b(the)h(Libidn)e(API.)h(This)f(section)j
(describ)s(es)d(the)h(API.)h(Curren)m(tly)e(the)h(IDNA)h(API)150
-783 y(alw)m(a)m(ys)k(set)f(the)g Fr(UseSTD3ASCIIRules)25
-b Fx(\015ag)31 b(and)f(clear)h(the)g Fr(AllowUnassigned)26
-b Fx(\015ag,)31 b(in)f(the)h(future)150 892 y(there)g(ma)m(y)g(b)s(e)e
+783 y(alw)m(a)m(ys)k(set)f(the)g Fp(UseSTD3ASCIIRules)25
+b Fv(\015ag)31 b(and)f(clear)h(the)g Fp(AllowUnassigned)26
+b Fv(\015ag,)31 b(in)f(the)h(future)150 892 y(there)g(ma)m(y)g(b)s(e)e
(functionalit)m(y)j(to)f(sp)s(ecify)f(these)h(\015ags)g(via)g(the)f
-(API.)150 1140 y Fw(11.1)68 b(Pun)l(yco)t(de)45 b(Emacs)g(API)3371
-1359 y Fx([V)-8 b(ariable])-3598 b Fp(punycode-program)390
-1469 y Fx(Name)34 b(of)g(the)g(GNU)g(Libidn)f(`)p Fr(idn)p
-Fx(')g(application.)52 b(The)33 b(default)h(is)f(`)p
-Fr(idn)p Fx('.)50 b(This)33 b(v)-5 b(ariable)35 b(can)390
+(API.)150 1140 y Fu(11.1)68 b(Pun)l(yco)t(de)45 b(Emacs)g(API)3371
+1359 y Fv([V)-8 b(ariable])-3598 b Fn(punycode-program)390
+1469 y Fv(Name)34 b(of)g(the)g(GNU)g(Libidn)f(`)p Fp(idn)p
+Fv(')g(application.)52 b(The)33 b(default)h(is)f(`)p
+Fp(idn)p Fv('.)50 b(This)33 b(v)-5 b(ariable)35 b(can)390
1578 y(b)s(e)30 b(customized.)3371 1783 y([V)-8 b(ariable])-3598
-b Fp(punycode-environment)390 1892 y Fx(List)34 b(of)g(en)m(vironmen)m
+b Fn(punycode-environment)390 1892 y Fv(List)34 b(of)g(en)m(vironmen)m
(t)h(v)-5 b(ariable)35 b(de\014nitions)e(prep)s(ended)f(to)j(`)p
-Fr(process-environment)p Fx('.)46 b(The)390 2002 y(default)31
-b(is)f(`)p Fr(\("CHARSET=UTF-8"\))p Fx('.)36 b(This)30
+Fp(process-environment)p Fv('.)46 b(The)390 2002 y(default)31
+b(is)f(`)p Fp(\("CHARSET=UTF-8"\))p Fv('.)36 b(This)30
b(v)-5 b(ariable)31 b(can)g(b)s(e)f(customized.)3371
-2206 y([V)-8 b(ariable])-3598 b Fp(punycode-encode-parame)q(ter)q(s)390
-2316 y Fx(List)62 b(of)g(parameters)g(passed)f(to)i Fn(pun)m(yco)s
-(de-program)e Fx(to)h(in)m(v)m(ok)m(e)i(pun)m(yco)s(de)d(enco)s(ding)
+2206 y([V)-8 b(ariable])-3598 b Fn(punycode-encode-parame)q(ter)q(s)390
+2316 y Fv(List)62 b(of)g(parameters)g(passed)f(to)i Fl(pun)m(yco)s
+(de-program)e Fv(to)h(in)m(v)m(ok)m(e)i(pun)m(yco)s(de)d(enco)s(ding)
390 2426 y(mo)s(de.)67 b(The)39 b(default)h(is)g(`)p
-Fr(\("--quiet")27 b("--punycode-encode"\))p Fx('.)63
+Fp(\("--quiet")27 b("--punycode-encode"\))p Fv('.)63
b(This)39 b(v)-5 b(ariable)40 b(can)g(b)s(e)390 2535
-y(customized.)3371 2740 y([V)-8 b(ariable])-3598 b Fp
-(punycode-decode-parame)q(ter)q(s)390 2849 y Fx(P)m(arameters)40
-b(passed)e(to)i Fn(pun)m(yco)s(de-program)e Fx(to)i(in)m(v)m(ok)m(e)h
+y(customized.)3371 2740 y([V)-8 b(ariable])-3598 b Fn
+(punycode-decode-parame)q(ter)q(s)390 2849 y Fv(P)m(arameters)40
+b(passed)e(to)i Fl(pun)m(yco)s(de-program)e Fv(to)i(in)m(v)m(ok)m(e)h
(pun)m(yco)s(de)d(deco)s(ding)h(mo)s(de.)65 b(The)390
-2959 y(default)31 b(is)f(`)p Fr(\("--quiet")e("--punycode-decode"\))p
-Fx('.)35 b(This)30 b(v)-5 b(ariable)31 b(can)g(b)s(e)e(customized.)3350
-3164 y([F)-8 b(unction])-3599 b Fp(punycode-encode)50
-b Fn(string)390 3273 y Fx(Returns)29 b(a)i(Pun)m(yco)s(de)f(enco)s
-(ding)g(of)h(the)g Fn(string)8 b Fx(,)30 b(after)h(con)m(v)m(erting)h
+2959 y(default)31 b(is)f(`)p Fp(\("--quiet")e("--punycode-decode"\))p
+Fv('.)35 b(This)30 b(v)-5 b(ariable)31 b(can)g(b)s(e)e(customized.)3350
+3164 y([F)-8 b(unction])-3599 b Fn(punycode-encode)50
+b Fl(string)390 3273 y Fv(Returns)29 b(a)i(Pun)m(yco)s(de)f(enco)s
+(ding)g(of)h(the)g Fl(string)8 b Fv(,)30 b(after)h(con)m(v)m(erting)h
(the)f(input)e(in)m(to)i(UTF-8.)3350 3478 y([F)-8 b(unction])-3599
-b Fp(punycode-decode)50 b Fn(string)390 3587 y Fx(Returns)37
+b Fn(punycode-decode)50 b Fl(string)390 3587 y Fv(Returns)37
b(a)h(p)s(ossibly)g(m)m(ultib)m(yte)h(string)f(whic)m(h)g(is)g(the)g
-(deco)s(ding)g(of)g(the)g Fn(string)46 b Fx(whic)m(h)38
+(deco)s(ding)g(of)g(the)g Fl(string)46 b Fv(whic)m(h)38
b(is)g(a)390 3697 y(pun)m(yco)s(de)30 b(enco)s(ded)g(string.)150
-3944 y Fw(11.2)68 b(IDNA)45 b(Emacs)g(API)3371 4164 y
-Fx([V)-8 b(ariable])-3598 b Fp(idna-program)390 4273
-y Fx(Name)34 b(of)g(the)g(GNU)g(Libidn)f(`)p Fr(idn)p
-Fx(')g(application.)52 b(The)33 b(default)h(is)f(`)p
-Fr(idn)p Fx('.)50 b(This)33 b(v)-5 b(ariable)35 b(can)390
+3944 y Fu(11.2)68 b(IDNA)45 b(Emacs)g(API)3371 4164 y
+Fv([V)-8 b(ariable])-3598 b Fn(idna-program)390 4273
+y Fv(Name)34 b(of)g(the)g(GNU)g(Libidn)f(`)p Fp(idn)p
+Fv(')g(application.)52 b(The)33 b(default)h(is)f(`)p
+Fp(idn)p Fv('.)50 b(This)33 b(v)-5 b(ariable)35 b(can)390
4383 y(b)s(e)30 b(customized.)3371 4587 y([V)-8 b(ariable])-3598
-b Fp(idna-environment)390 4697 y Fx(List)34 b(of)g(en)m(vironmen)m(t)h
+b Fn(idna-environment)390 4697 y Fv(List)34 b(of)g(en)m(vironmen)m(t)h
(v)-5 b(ariable)35 b(de\014nitions)e(prep)s(ended)f(to)j(`)p
-Fr(process-environment)p Fx('.)46 b(The)390 4807 y(default)31
-b(is)f(`)p Fr(\("CHARSET=UTF-8"\))p Fx('.)36 b(This)30
+Fp(process-environment)p Fv('.)46 b(The)390 4807 y(default)31
+b(is)f(`)p Fp(\("CHARSET=UTF-8"\))p Fv('.)36 b(This)30
b(v)-5 b(ariable)31 b(can)g(b)s(e)f(customized.)3371
-5011 y([V)-8 b(ariable])-3598 b Fp(idna-to-ascii-paramete)q(rs)390
-5121 y Fx(List)31 b(of)f(parameters)h(passed)f(to)h Fn(idna-program)f
-Fx(to)i(in)m(v)m(ok)m(e)g(IDNA)f(T)-8 b(oASCI)s(I)29
+5011 y([V)-8 b(ariable])-3598 b Fn(idna-to-ascii-paramete)q(rs)390
+5121 y Fv(List)31 b(of)f(parameters)h(passed)f(to)h Fl(idna-program)f
+Fv(to)i(in)m(v)m(ok)m(e)g(IDNA)f(T)-8 b(oASCI)s(I)29
b(mo)s(de.)41 b(The)30 b(de-)390 5230 y(fault)k(is)g(`)p
-Fr(\("--quiet")28 b("--idna-to-ascii")d("--usestd3asciirules"\))p
-Fx('.)45 b(This)33 b(v)-5 b(ariable)390 5340 y(can)31
+Fp(\("--quiet")28 b("--idna-to-ascii")d("--usestd3asciirules"\))p
+Fv('.)45 b(This)33 b(v)-5 b(ariable)390 5340 y(can)31
b(b)s(e)e(customized.)p eop end
%%Page: 57 62
-TeXDict begin 57 61 bop 150 -116 a Fx(Chapter)30 b(11:)41
+TeXDict begin 57 61 bop 150 -116 a Fv(Chapter)30 b(11:)41
b(Emacs)31 b(API)2546 b(57)3371 299 y([V)-8 b(ariable])-3598
-b Fp(idna-to-unicode-parame)q(ter)q(s)390 408 y Fx(P)m(arameters)38
-b(passed)e Fn(idna-program)g Fx(to)h(in)m(v)m(ok)m(e)i(IDNA)e(T)-8
+b Fn(idna-to-unicode-parame)q(ter)q(s)390 408 y Fv(P)m(arameters)38
+b(passed)e Fl(idna-program)g Fv(to)h(in)m(v)m(ok)m(e)i(IDNA)e(T)-8
b(oUnico)s(de)37 b(mo)s(de.)59 b(The)36 b(default)h(is)390
-518 y(`)p Fr(\("--quiet")28 b("--idna-to-unicode")d
-("--usestd3asciirules"\))p Fx('.)73 b(This)43 b(v)-5
+518 y(`)p Fp(\("--quiet")28 b("--idna-to-unicode")d
+("--usestd3asciirules"\))p Fv('.)73 b(This)43 b(v)-5
b(ariable)44 b(can)390 628 y(b)s(e)30 b(customized.)3350
-812 y([F)-8 b(unction])-3599 b Fp(idna-to-ascii)49 b
-Fn(string)390 922 y Fx(Returns)26 b(an)h(ASCI)s(I)e(Compatible)j(Enco)s
+812 y([F)-8 b(unction])-3599 b Fn(idna-to-ascii)49 b
+Fl(string)390 922 y Fv(Returns)26 b(an)h(ASCI)s(I)e(Compatible)j(Enco)s
(ding)e(\(A)m(CE\))i(of)f(the)h(string)e(computed)h(b)m(y)g(the)g(IDNA)
390 1031 y(T)-8 b(oASCI)s(I)29 b(op)s(eration)i(on)f(the)h(input)e
-Fn(string)8 b Fx(,)31 b(after)g(con)m(v)m(erting)h(the)e(input)g(to)h
-(UTF-8.)3350 1215 y([F)-8 b(unction])-3599 b Fp(idna-to-unicode)50
-b Fn(string)390 1325 y Fx(Returns)43 b(a)g(p)s(ossibly)g(m)m(ultib)m
+Fl(string)8 b Fv(,)31 b(after)g(con)m(v)m(erting)h(the)e(input)g(to)h
+(UTF-8.)3350 1215 y([F)-8 b(unction])-3599 b Fn(idna-to-unicode)50
+b Fl(string)390 1325 y Fv(Returns)43 b(a)g(p)s(ossibly)g(m)m(ultib)m
(yte)i(string)e(whic)m(h)g(is)h(the)g(output)f(of)g(the)h(IDNA)g(T)-8
b(oUnico)s(de)390 1435 y(op)s(eration)31 b(computed)f(on)g(the)h(input)
-e Fn(string)8 b Fx(.)p eop end
+e Fl(string)8 b Fv(.)p eop end
%%Page: 58 63
-TeXDict begin 58 62 bop 150 -116 a Fx(Chapter)30 b(12:)41
-b(Ja)m(v)-5 b(a)32 b(API)2627 b(58)150 299 y Fu(12)80
-b(Ja)l(v)-9 b(a)55 b(API)150 559 y Fx(Libidn)31 b(has)h(b)s(een)g(p)s
+TeXDict begin 58 62 bop 150 -116 a Fv(Chapter)30 b(12:)41
+b(Ja)m(v)-5 b(a)32 b(API)2627 b(58)150 299 y Fs(12)80
+b(Ja)l(v)-9 b(a)55 b(API)150 559 y Fv(Libidn)31 b(has)h(b)s(een)g(p)s
(orted)g(to)h(the)f(Ja)m(v)-5 b(a)34 b(programming)e(language,)j(and)c
(as)i(a)g(consequence)g(most)g(of)150 669 y(the)27 b(API)f(is)g(a)m(v)
-5 b(ailable)29 b(to)e(nativ)m(e)h(Ja)m(v)-5 b(a)27 b(applications.)41
921 y(The)c(Ja)m(v)-5 b(a)28 b(library)-8 b(,)27 b(if)g(Libidn)f(has)g
(b)s(een)g(built)h(with)f(Ja)m(v)-5 b(a)28 b(supp)s(ort)d(\(see)j
(Section)f(1.7)h([Do)m(wnload-)150 1031 y(ing)h(and)f(Installing],)i
-(page)f(6\),)h(will)f(b)s(e)f(placed)i(in)e(`)p Fr
-(java/libidn-1.15.jar)p Fx('.)35 b(The)28 b(source)h(co)s(de)g(is)150
-1141 y(lo)s(cated)j(in)e(`)p Fr(java/gnu/inet/encoding/)p
-Fx('.)150 1386 y Fw(12.1)68 b(Ov)l(erview)150 1546 y
-Fx(This)37 b(pac)m(k)-5 b(age)40 b(pro)m(vides)f(a)f(Ja)m(v)-5
+(page)f(6\),)h(will)f(b)s(e)f(placed)i(in)e(`)p Fp
+(java/libidn-1.23.jar)p Fv('.)35 b(The)28 b(source)h(co)s(de)g(is)150
+1141 y(lo)s(cated)j(in)e(`)p Fp(java/gnu/inet/encoding/)p
+Fv('.)150 1386 y Fu(12.1)68 b(Ov)l(erview)150 1546 y
+Fv(This)37 b(pac)m(k)-5 b(age)40 b(pro)m(vides)f(a)f(Ja)m(v)-5
b(a)39 b(implemen)m(tation)h(of)e(the)h(In)m(ternationalized)h(Domain)f
(Names)f(in)150 1655 y(Applications)43 b(\(IDNA\))g(standard.)75
b(It)42 b(is)g(written)g(en)m(tirely)i(in)d(Ja)m(v)-5
1908 y(The)i(gn)m(u.inet.enco)s(ding.IDNA)k(class)e(o\013ers)g(t)m(w)m
(o)g(public)f(functions,)h(toASCI)s(I)f(and)g(toUnico)s(de)150
2017 y(whic)m(h)c(can)h(b)s(e)f(used)f(as)i(follo)m(ws:)390
-2161 y Fr(gnu.inet.encoding.IDNA.t)o(oASC)o(II\(")o(bl\177)-49
+2161 y Fp(gnu.inet.encoding.IDNA.t)o(oASC)o(II\(")o(bl\177)-49
b(ods.z)o(\177)h(ug"\))o(;)390 2270 y(gnu.inet.encoding.IDNA.t)o(oUni)o
(code)o(\("x)o(n--b)o(lds-)o(6qa)o(.xn-)o(-zg-)o(xka)o("\);)150
-2516 y Fw(12.2)68 b(Miscellaneous)47 b(Programs)150 2675
-y Fx(The)31 b(`)p Fr(misc/)p Fx(')f(directory)i(con)m(tains)h(sev)m
+2516 y Fu(12.2)68 b(Miscellaneous)47 b(Programs)150 2675
+y Fv(The)31 b(`)p Fp(misc/)p Fv(')f(directory)i(con)m(tains)h(sev)m
(eral)g(programs)e(that)h(are)g(related)g(to)g(the)g(Ja)m(v)-5
b(a)32 b(part)g(of)f(GNU)150 2785 y(Libidn,)e(but)h(that)h(don't)f
(need)h(to)g(b)s(e)e(included)h(in)g(the)h(main)f(source)g(tree.)150
-2993 y Fq(12.2.1)63 b(GenerateRF)m(C3454)150 3140 y Fx(This)43
+2993 y Fo(12.2.1)63 b(GenerateRF)m(C3454)150 3140 y Fv(This)43
b(program)h(parses)g(RF)m(C3454)i(and)e(creates)h(the)f(RF)m(C3454.ja)m
(v)-5 b(a)48 b(program)c(that)h(is)f(required)150 3249
y(during)29 b(the)i(StringPrep)e(phase.)275 3392 y(The)19
b(RF)m(C)i(can)f(b)s(e)g(found)f(at)i(v)-5 b(arious)20
-b(lo)s(cations,)k(for)c(example)h(at)g Fr(http://www.ietf.org/rfc/r)o
-(fc34)o(54.t)o(xt)p Fx(.)275 3536 y(In)m(v)m(ok)m(e)31
-b(the)g(program)f(as)h(follo)m(ws:)390 3679 y Fr($)47
+b(lo)s(cations,)k(for)c(example)h(at)g Fp(http://www.ietf.org/rfc/r)o
+(fc34)o(54.t)o(xt)p Fv(.)275 3536 y(In)m(v)m(ok)m(e)31
+b(the)g(program)f(as)h(follo)m(ws:)390 3679 y Fp($)47
b(java)g(GenerateRFC3454)390 3788 y(Creating)f(RFC3454.java...)d(Ok.)
-150 3996 y Fq(12.2.2)63 b(GenerateNFK)m(C)150 4143 y
-Fx(The)44 b(GenerateNFK)m(C)j(program)e(parses)f(the)h(Unico)s(de)g(c)m
+150 3996 y Fo(12.2.2)63 b(GenerateNFK)m(C)150 4143 y
+Fv(The)44 b(GenerateNFK)m(C)j(program)e(parses)f(the)h(Unico)s(de)g(c)m
(haracter)i(database)e(\014le)g(and)g(generates)150 4253
y(all)f(the)g(tables)g(required)e(for)h(NFK)m(C.)h(This)e(program)h
(requires)g(the)g(t)m(w)m(o)i(\014les)e(Unico)s(deData.txt)150
4472 y(\(Stringprep\))30 b(de\014nes)f(that)i(Unico)s(de)g(v)m(ersion)g
(3.2)g(is)f(to)i(b)s(e)d(used,)h(not)h(the)f(latest)i(v)m(ersion.)275
4615 y(The)d(Unico)s(de)i(data)g(\014les)f(can)h(b)s(e)f(found)f(at)i
-Fr(http://www.unicode.org/P)o(ubli)o(c/)p Fx(.)275 4758
+Fp(http://www.unicode.org/P)o(ubli)o(c/)p Fv(.)275 4758
y(In)m(v)m(ok)m(e)g(the)g(program)f(as)h(follo)m(ws:)390
-4902 y Fr($)47 b(java)g(GenerateNFKC)390 5011 y(Creating)f
+4902 y Fp($)47 b(java)g(GenerateNFKC)390 5011 y(Creating)f
(CombiningClass.java...)41 b(Ok.)390 5121 y(Creating)46
b(DecompositionKeys.java.)o(..)41 b(Ok.)390 5230 y(Creating)46
b(DecompositionMappings.j)o(ava)o(...)41 b(Ok.)390 5340
y(Creating)46 b(Composition.java...)c(Ok.)p eop end
%%Page: 59 64
-TeXDict begin 59 63 bop 150 -116 a Fx(Chapter)30 b(12:)41
-b(Ja)m(v)-5 b(a)32 b(API)2627 b(59)150 299 y Fq(12.2.3)63
-b(T)-10 b(estIDNA)150 446 y Fx(The)22 b(T)-8 b(estIDNA)25
+TeXDict begin 59 63 bop 150 -116 a Fv(Chapter)30 b(12:)41
+b(Ja)m(v)-5 b(a)32 b(API)2627 b(59)150 299 y Fo(12.2.3)63
+b(T)-10 b(estIDNA)150 446 y Fv(The)22 b(T)-8 b(estIDNA)25
b(program)d(allo)m(ws)i(to)g(test)g(the)f(IDNA)g(implemen)m(tation)i
(man)m(ually)e(or)g(against)i(Simon)150 555 y(Josefsson's)30
b(test)i(v)m(ectors.)275 689 y(The)19 b(test)i(v)m(ectors)h(can)f(b)s
-(e)e(found)g(at)i(the)g(Libidn)e(homepage,)k Fr
-(http://www.gnu.org/softwa)o(re/l)o(ibid)o(n/)p Fx(.)275
-822 y(T)-8 b(o)30 b(test)i(the)e(tranformation)h(man)m(ually)-8
-b(,)32 b(use:)390 956 y Fr($)47 b(java)g(-cp)g(.:../libidn.jar)d
+(e)e(found)g(at)i(the)g(Libidn)e(homepage,)k Fp
+(http://www.gnu.org/softwa)o(re/l)o(ibid)o(n/)p Fv(.)275
+822 y(T)-8 b(o)30 b(test)i(the)e(transformation)h(man)m(ually)-8
+b(,)32 b(use:)390 956 y Fp($)47 b(java)g(-cp)g(.:../libidn.jar)d
(TestIDNA)h(-a)i(<string)f(to)h(test>)390 1066 y(Input:)f(<string)g(to)
h(test>)390 1175 y(Output:)f(<toASCII\(string)d(to)48
b(test\)>)390 1285 y($)f(java)g(-cp)g(.:../libidn.jar)d(TestIDNA)h(-u)i
(<string)f(to)h(test>)390 1394 y(Input:)f(<string)g(to)h(test>)390
1504 y(Output:)f(<toUnicode\(string)d(to)k(test\)>)275
-1637 y Fx(T)-8 b(o)30 b(test)i(against)f(draft-josefsson-idn-test-v)m
-(ectors.h)m(tml,)j(use:)390 1771 y Fr($)47 b(java)g(-cp)g
+1637 y Fv(T)-8 b(o)30 b(test)i(against)f(draft-josefsson-idn-test-v)m
+(ectors.h)m(tml,)j(use:)390 1771 y Fp($)47 b(java)g(-cp)g
(.:../libidn.jar)d(TestIDNA)h(-t)390 1881 y(No)i(errors)f(detected!)150
-2078 y Fq(12.2.4)63 b(T)-10 b(estNFK)m(C)150 2225 y Fx(The)29
+2078 y Fo(12.2.4)63 b(T)-10 b(estNFK)m(C)150 2225 y Fv(The)29
b(T)-8 b(estNFK)m(C)30 b(program)f(allo)m(ws)h(to)g(test)h(the)e(NFK)m
(C)g(implemen)m(tation)i(man)m(ually)f(or)f(against)i(the)150
2334 y(NormalizationT)-8 b(est.txt)34 b(\014le)d(from)f(the)g(Unico)s
(de)h(data)g(\014les.)275 2468 y(T)-8 b(o)30 b(test)i(the)e
(normalization)i(man)m(ually)-8 b(,)32 b(use:)390 2601
-y Fr($)47 b(java)g(-cp)g(.:../libidn.jar)d(TestNFKC)h(<string)h(to)h
+y Fp($)47 b(java)g(-cp)g(.:../libidn.jar)d(TestNFKC)h(<string)h(to)h
(test>)390 2711 y(Input:)f(<string)g(to)h(test>)390 2821
y(Output:)f(<nfkc)g(version)g(of)h(the)g(string)f(to)h(test>)275
-2954 y Fx(T)-8 b(o)30 b(test)i(against)f(NormalizationT)-8
-b(est.txt:)390 3088 y Fr($)47 b(java)g(-cp)g(.:../libidn.jar)d
+2954 y Fv(T)-8 b(o)30 b(test)i(against)f(NormalizationT)-8
+b(est.txt:)390 3088 y Fp($)47 b(java)g(-cp)g(.:../libidn.jar)d
(TestNFKC)390 3197 y(No)j(errors)f(detected!)150 3428
-y Fw(12.3)68 b(P)l(ossible)46 b(Problems)150 3587 y Fx(Bew)m(are)28
+y Fu(12.3)68 b(P)l(ossible)46 b(Problems)150 3587 y Fv(Bew)m(are)28
b(of)f(Bugs:)39 b(This)26 b(Ja)m(v)-5 b(a)27 b(API)g(needs)f(a)h(lot)h
-(more)e(testing,)j(esp)s(ecially)f(with)e Fr(")p Fx(exotic)p
-Fr(")i Fx(c)m(haracter)150 3697 y(sets.)41 b(While)31
+(more)e(testing,)j(esp)s(ecially)f(with)e Fp(")p Fv(exotic)p
+Fp(")i Fv(c)m(haracter)150 3697 y(sets.)41 b(While)31
b(it)g(w)m(orks)g(for)f(me,)g(it)h(ma)m(y)g(not)g(w)m(ork)f(for)g(y)m
(ou.)275 3830 y(Enco)s(ding)21 b(of)h(y)m(our)h(Ja)m(v)-5
b(a)23 b(sources:)36 b(If)22 b(y)m(ou)g(are)h(using)f(non-ASCI)s(I)e(c)
b(the)h(Basic)h(Multilingual)g(Plane\),)g(this)f(implemen)m(tation)h
(therefore)f(ignores)g(all)h(references)f(to)g(so-)150
4402 y(called)36 b(Supplemen)m(tary)f(Characters)g(\(U)p
-Fr(+)p Fx(10000)j(to)e(U)p Fr(+)p Fx(10FFFF\).)h(Starting)f(from)f(Ja)m
+Fp(+)p Fv(10000)j(to)e(U)p Fp(+)p Fv(10FFFF\).)h(Starting)f(from)f(Ja)m
(v)-5 b(a)36 b(1.5,)h(these)150 4512 y(c)m(haracters)32
b(will)f(also)g(b)s(e)f(supp)s(orted)e(b)m(y)j(Ja)m(v)-5
b(a,)31 b(but)f(this)g(will)h(require)f(c)m(hanges)h(to)h(this)e
(library)-8 b(.)41 b(See)150 4621 y(also)31 b(the)g(next)f(section.)150
-4852 y Fw(12.4)68 b(A)45 b(Note)h(on)e(Ja)l(v)-7 b(a)46
-b(and)f(Unico)t(de)150 5011 y Fx(This)25 b(library)f(uses)h(Ja)m(v)-5
-b(a's)27 b(builtin)e('c)m(har')h(datat)m(yp)s(e.)40 b(Up)25
-b(to)h(Ja)m(v)-5 b(a)26 b(1.4,)i(this)d(datat)m(yp)s(e)h(only)g(supp)s
-(orts)150 5121 y(16-bit)46 b(Unico)s(de)g(co)s(de)f(p)s(oin)m(ts,)k
-(also)e(called)f(the)f(Basic)i(Multilingual)g(Plane.)85
+4852 y Fu(12.4)68 b(A)45 b(Note)h(on)e(Ja)l(v)-7 b(a)46
+b(and)f(Unico)t(de)150 5011 y Fv(This)22 b(library)h(uses)f(Ja)m(v)-5
+b(a's)25 b(built-in)d('c)m(har')i(datat)m(yp)s(e.)40
+b(Up)22 b(to)i(Ja)m(v)-5 b(a)24 b(1.4,)i(this)d(datat)m(yp)s(e)h(only)f
+(supp)s(orts)150 5121 y(16-bit)46 b(Unico)s(de)g(co)s(de)f(p)s(oin)m
+(ts,)k(also)e(called)f(the)f(Basic)i(Multilingual)g(Plane.)85
b(F)-8 b(or)46 b(this)f(reason,)150 5230 y(this)35 b(library)h(do)s
(esn't)f(w)m(ork)h(for)f(Supplemen)m(tary)g(Characters)h(\(i.e.)57
-b(c)m(haracters)37 b(from)e(U)p Fr(+)p Fx(10000)j(to)150
-5340 y(U)p Fr(+)p Fx(10FFFF\).)33 b(All)e(references)g(to)g(suc)m(h)f
+b(c)m(haracters)37 b(from)e(U)p Fp(+)p Fv(10000)j(to)150
+5340 y(U)p Fp(+)p Fv(10FFFF\).)33 b(All)e(references)g(to)g(suc)m(h)f
(c)m(haracters)i(are)f(silen)m(tly)g(ignored.)p eop end
%%Page: 60 65
-TeXDict begin 60 64 bop 150 -116 a Fx(Chapter)30 b(12:)41
+TeXDict begin 60 64 bop 150 -116 a Fv(Chapter)30 b(12:)41
b(Ja)m(v)-5 b(a)32 b(API)2627 b(60)275 299 y(Starting)26
b(from)g(Ja)m(v)-5 b(a)28 b(1.5,)g(also)f(Supplemen)m(tary)f
(Characters)h(will)f(b)s(e)g(supp)s(orted.)38 b(Ho)m(w)m(ev)m(er,)29
(cumen)m(tation)h(of)f(ja)m(v)-5 b(a.lang.Character)26
b(in)d(the)h(JDK)g(API.)p eop end
%%Page: 61 66
-TeXDict begin 61 65 bop 150 -116 a Fx(Chapter)30 b(13:)41
-b(C#)30 b(API)2664 b(61)150 299 y Fu(13)80 b(C#)54 b(API)150
-533 y Fx(The)33 b(Libidn)g(library)h(has)f(b)s(een)h(p)s(orted)f(to)i
+TeXDict begin 61 65 bop 150 -116 a Fv(Chapter)30 b(13:)41
+b(C#)30 b(API)2664 b(61)150 299 y Fs(13)80 b(C#)54 b(API)150
+533 y Fv(The)33 b(Libidn)g(library)h(has)f(b)s(een)h(p)s(orted)f(to)i
(the)f(C#)f(language.)53 b(The)34 b(p)s(ort)f(reside)h(in)f(the)i
-(top-lev)m(el)150 643 y(`)p Fr(csharp/)p Fx(')27 b(directory)-8
+(top-lev)m(el)150 643 y(`)p Fp(csharp/)p Fv(')27 b(directory)-8
b(.)41 b(Curren)m(tly)-8 b(,)29 b(no)f(further)f(do)s(cumen)m(tation)i
(ab)s(out)f(the)g(implemen)m(tation)i(or)f(the)150 752
y(API)e(is)f(a)m(v)-5 b(ailable.)42 b(Ho)m(w)m(ev)m(er,)30
b(The)30 b(help)g(\014les)g(for)g(the)h(Ja)m(v)-5 b(a)31
b(API)f(ma)m(y)h(th)m(us)f(b)s(e)g(useful.)p eop end
%%Page: 62 67
-TeXDict begin 62 66 bop 150 -116 a Fx(Chapter)30 b(14:)41
-b(Ac)m(kno)m(wledgemen)m(ts)2251 b(62)150 299 y Fu(14)80
-b(Ac)l(kno)l(wledgemen)l(ts)150 533 y Fx(The)35 b(pun)m(yco)s(de)f
+TeXDict begin 62 66 bop 150 -116 a Fv(Chapter)30 b(14:)41
+b(Ac)m(kno)m(wledgemen)m(ts)2251 b(62)150 299 y Fs(14)80
+b(Ac)l(kno)l(wledgemen)l(ts)150 533 y Fv(The)35 b(pun)m(yco)s(de)f
(implemen)m(tation)j(w)m(as)f(tak)m(en)g(from)f(the)h(IETF)f(IDN)h(Pun)
m(yco)s(de)e(sp)s(eci\014cation,)k(b)m(y)150 643 y(Adam)f(M.)g
(Costello.)63 b(The)36 b(TLD)h(co)s(de)g(w)m(as)h(con)m(tributed)f(b)m
(Inc.)39 b(Some)28 b(functions)f(for)150 971 y(dealing)i(with)f(Unico)s
(de)g(\(see)h(nfk)m(c.c)g(and)e(toutf8.c\))j(w)m(ere)e(b)s(orro)m(w)m
(ed)g(from)g(GLib,)g(do)m(wnloaded)g(from)150 1081 y
-Fr(http://www.gtk.org/)p Fx(.)35 b(The)30 b(man)m(ual)h(b)s(orro)m(w)m
+Fp(http://www.gtk.org/)p Fv(.)35 b(The)30 b(man)m(ual)h(b)s(orro)m(w)m
(ed)f(text)h(from)f(Libgcrypt)g(b)m(y)h(W)-8 b(erner)30
b(Ko)s(c)m(h.)275 1215 y(Inspiration)g(for)g(man)m(y)h(things)g(that,)g
(consciously)h(or)e(not,)i(ha)m(v)m(e)f(gone)h(in)m(to)g(this)e(pac)m
49 b(the)g(\014le)150 1788 y(THANKS)30 b(in)g(the)g(top-lev)m(el)j
(directory)e(of)f(the)h(source)g(co)s(de.)p eop end
%%Page: 63 68
-TeXDict begin 63 67 bop 150 -116 a Fx(Chapter)30 b(15:)41
-b(History)2706 b(63)150 299 y Fu(15)80 b(History)150
-533 y Fx(The)41 b(complete)h(history)g(of)f(user)g(visible)g(c)m
-(hanges)h(is)g(stored)f(in)g(the)g(\014le)h(`)p Fr(NEWS)p
-Fx(')e(in)h(the)h(top-lev)m(el)150 643 y(directory)g(of)h(the)f(source)
+TeXDict begin 63 67 bop 150 -116 a Fv(Chapter)30 b(15:)41
+b(History)2706 b(63)150 299 y Fs(15)80 b(History)150
+533 y Fv(The)41 b(complete)h(history)g(of)f(user)g(visible)g(c)m
+(hanges)h(is)g(stored)f(in)g(the)g(\014le)h(`)p Fp(NEWS)p
+Fv(')e(in)h(the)h(top-lev)m(el)150 643 y(directory)g(of)h(the)f(source)
g(co)s(de)g(tree.)76 b(The)42 b(complete)h(history)f(of)g(mo)s
(di\014cations)g(to)h(eac)m(h)g(\014le)f(is)150 752 y(stored)h(in)g
-(the)g(\014le)g(`)p Fr(ChangeLog)p Fx(')e(in)i(the)g(same)h(directory)
+(the)g(\014le)g(`)p Fp(ChangeLog)p Fv(')e(in)i(the)g(same)h(directory)
-8 b(.)79 b(This)42 b(section)j(con)m(tain)f(a)f(condensed)150
862 y(v)m(ersion)31 b(of)f(that)h(information,)g(in)f(the)h(form)f(of)g
(\\milestones")j(for)d(the)g(pro)5 b(ject.)150 1021 y(Stringprep)29
(tations,)i(part)e(of)g(the)h(GNU)g(pro)5 b(ject.)630
1400 y(V)-8 b(ersion)31 b(0.1.0)h(released)f(on)g(2003-01-05.)150
1559 y(Uses)g(o\016cial)g(IDNA)g(A)m(CE)g(pre\014x)e
-Fr(xn--)p Fx(.)630 1669 y(V)-8 b(ersion)31 b(0.1.7)h(released)f(on)g
+Fp(xn--)p Fv(.)630 1669 y(V)-8 b(ersion)31 b(0.1.7)h(released)f(on)g
(2003-02-12.)150 1828 y(Command)e(line)i(in)m(terface.)630
1938 y(V)-8 b(ersion)31 b(0.1.11)i(released)e(on)f(2003-02-26.)150
2097 y(GNU)h(Lib)s(c)f(add-on)g(prop)s(osed.)630 2207
4628 y(V)-8 b(ersion)31 b(1.0)g(released)h(on)e(2007-07-31.)p
eop end
%%Page: 64 69
-TeXDict begin 64 68 bop 150 -116 a Fx(App)s(endix)29
-b(A:)h(PR29)h(discussion)2323 b(64)150 299 y Fu(App)t(endix)52
-b(A)81 b(PR29)54 b(discussion)150 500 y Fx(If)26 b(y)m(ou)h(wish)f(to)h
+TeXDict begin 64 68 bop 150 -116 a Fv(App)s(endix)29
+b(A:)h(PR29)h(discussion)2323 b(64)150 299 y Fs(App)t(endix)52
+b(A)81 b(PR29)54 b(discussion)150 500 y Fv(If)26 b(y)m(ou)h(wish)f(to)h
(exp)s(erimen)m(t)g(with)f(a)h(mo)s(di\014ed)f(Unico)s(de)h(NFK)m(C)g
(implemen)m(tation)h(according)f(to)h(the)150 609 y(PR29)j(prop)s
(osal,)g(y)m(ou)g(ma)m(y)g(\014nd)e(the)i(follo)m(wing)h(bug)e(rep)s
(eri\014ed)150 719 y(that)k(the)g(suggested)g(mo)s(di\014cations)g(are)
g(correct.)54 b(F)-8 b(or)35 b(reference,)i(I'm)d(including)g(m)m(y)h
(resp)s(onse)e(to)150 829 y(the)e(rep)s(ort)e(as)i(w)m(ell.)150
-956 y Fr(From:)46 b(Rick)h(McGowan)f(<rick@unicode.org>)150
+956 y Fp(From:)46 b(Rick)h(McGowan)f(<rick@unicode.org>)150
1066 y(Subject:)g(Possible)f(bug)i(and)g(status)f(of)h(PR)g(29)h
(change\(s\))150 1176 y(To:)f(bug-libidn@gnu.org)150
1285 y(Date:)f(Wed,)h(27)g(Oct)g(2004)g(14:49:17)e(-0700)150
(character)h(is)h(the)g(same)f(or)h(HIGHER)g(than)f(the)p
eop end
%%Page: 65 70
-TeXDict begin 65 69 bop 150 -116 a Fx(App)s(endix)29
-b(A:)h(PR29)h(discussion)2323 b(65)150 299 y Fr(current)46
+TeXDict begin 65 69 bop 150 -116 a Fv(App)s(endix)29
+b(A:)h(PR29)h(discussion)2323 b(65)150 299 y Fp(current)46
b(one.)g(It)i(now)f(checks)f(to)h(see)g(if)g(it's)g(non-zero)e(and)i
(not)g(equal.)150 518 y(The)g(above)f(line\(s\))g(should)g(perhaps)g
(be)h(changed)f(to:)627 737 y(if)h(\(i)h(>)f(0)h(&&)818
(apply.)150 5340 y(In)g(fact,)g(I)g(believe)f(that)g(would)h(I)g
(incorporate)e(the)i(changes)f(suggested)f(in)p eop end
%%Page: 66 71
-TeXDict begin 66 70 bop 150 -116 a Fx(App)s(endix)29
-b(A:)h(PR29)h(discussion)2323 b(66)150 299 y Fr(PR29,)46
+TeXDict begin 66 70 bop 150 -116 a Fv(App)s(endix)29
+b(A:)h(PR29)h(discussion)2323 b(66)150 299 y Fp(PR29,)46
b(I)i(would)e(in)h(fact)g(be)g(violating)e(the)i(IDN)g(specifications.)
150 518 y(Thanks)f(for)h(looking)f(into)g(the)h(code)g(and)g(finding)f
(the)h(place)f(where)g(the)150 628 y(change)g(could)g(be)i(made.)94
737 y(somewhere,)e(for)i(technically)e(interested)g(readers.)150
956 y(Regards,)150 1066 y(Simon)p eop end
%%Page: 67 72
-TeXDict begin 67 71 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 67 71 bop 150 -116 a Fv(App)s(endix)29
b(B:)i(On)e(Lab)s(el)h(Separators)2150 b(67)150 299 y
-Fu(App)t(endix)52 b(B)81 b(On)54 b(Lab)t(el)f(Separators)150
-533 y Fx(Some)43 b(strings)h(con)m(tains)g(c)m(haracters)h(whose)e(NFK)
+Fs(App)t(endix)52 b(B)81 b(On)54 b(Lab)t(el)f(Separators)150
+533 y Fv(Some)43 b(strings)h(con)m(tains)g(c)m(haracters)h(whose)e(NFK)
m(C)h(normalized)g(form)f(con)m(tain)h(the)g(ASCI)s(I)e(dot)150
643 y(\(0x2E,)30 b(\\."\).)42 b(Examples)28 b(of)h(these)g(c)m
-(haracters)h(are)f(U)p Fr(+)p Fx(2024)i(\(ONE)e(DOT)f(LEADER\))h(and)f
-(U)p Fr(+)p Fx(248C)150 752 y(\(DIGIT)37 b(FIVE)g(FULL)g(STOP\).)g(The)
+(haracters)h(are)f(U)p Fp(+)p Fv(2024)i(\(ONE)e(DOT)f(LEADER\))h(and)f
+(U)p Fp(+)p Fv(248C)150 752 y(\(DIGIT)37 b(FIVE)g(FULL)g(STOP\).)g(The)
f(strings)h(ha)m(v)m(e)h(the)f(in)m(teresting)i(prop)s(ert)m(y)d(that)h
(their)g(IDNA)150 862 y(T)-8 b(oASCI)s(I)29 b(output)h(will)h(con)m
(tain)h(em)m(b)s(edded)d(dots.)41 b(F)-8 b(or)31 b(example:)390
-996 y Fr(ToASCII)46 b(\(hi)h(U+248C)f(com\))g(=)i(hi5.com)390
+996 y Fp(ToASCII)46 b(\(hi)h(U+248C)f(com\))g(=)i(hi5.com)390
1106 y(ToASCII)e(\(r\177)-48 b(aksm\177)g(org\027)g(as)45
b(U+2024)h(com\))g(=)i(xn--rksmrgs.com-l8as9u)275 1240
-y Fx(This)36 b(demonstrate)i(the)g(t)m(w)m(o)h(general)g(cases:)56
+y Fv(This)36 b(demonstrate)i(the)g(t)m(w)m(o)h(general)g(cases:)56
b(The)37 b(\014rst)g(where)g(the)g(ASCI)s(I)f(dot)i(is)g(part)f(of)h
(an)150 1350 y(output)c(that)h(do)g(not)g(b)s(egin)f(with)g(the)h(IDN)g
-(pre\014x)f Fr(xn--)p Fx(.)52 b(The)34 b(second)h(example)g(illustrate)
+(pre\014x)f Fp(xn--)p Fv(.)52 b(The)34 b(second)h(example)g(illustrate)
h(when)150 1460 y(the)31 b(dot)f(is)h(part)f(of)g(IDN)h(pre\014xed)e
-(with)h Fr(xn--)p Fx(.)275 1594 y(The)e(input)h(strings)g(are,)h(from)f
+(with)h Fp(xn--)p Fv(.)275 1594 y(The)e(input)h(strings)g(are,)h(from)f
(the)g(DNS)h(p)s(oin)m(t)f(of)h(view,)g(a)f(single)h(lab)s(el.)41
b(The)29 b(IDNA)h(algorithm)150 1704 y(translate)39 b(one)e(lab)s(el)h
(at)g(a)g(time.)63 b(Th)m(us,)38 b(the)g(output)f(is)h(exp)s(ected)g
b(.)57 b(The)35 b(DNS)150 1923 y(proto)s(col)43 b(do)s(es)f(not)h(use)f
(the)g(dot)h(to)g(delimit)g(lab)s(els)g(on)f(the)g(wire,)k(rather)c(it)
h(uses)f(length-v)-5 b(alue)150 2032 y(pairs.)38 b(Th)m(us)24
-b(the)h(correct)g(query)f(w)m(ould)g(b)s(e)g(for)h Fr({7}hi5.com)c
-Fx(and)j Fr({22}xn--rksmrgs.com-l8as9)o(u)150 2142 y
-Fx(resp)s(ectiv)m(ely)-8 b(.)275 2276 y(Some)29 b(implemen)m(tations)
-1169 2243 y Fg(1)1237 2276 y Fx(ha)m(v)m(e)i(decided)e(that)h(these)g
+b(the)h(correct)g(query)f(w)m(ould)g(b)s(e)g(for)h Fp({7}hi5.com)c
+Fv(and)j Fp({22}xn--rksmrgs.com-l8as9)o(u)150 2142 y
+Fv(resp)s(ectiv)m(ely)-8 b(.)275 2276 y(Some)29 b(implemen)m(tations)
+1169 2243 y Ff(1)1237 2276 y Fv(ha)m(v)m(e)i(decided)e(that)h(these)g
(inputs)e(strings)h(are)h(p)s(oten)m(tially)h(confusing)150
-2386 y(for)25 b(the)f(user.)39 b(The)24 b(string)h Fr(hi)k(U+248C)g
-(com)24 b Fx(lo)s(oks)h(lik)m(e)h Fr(hi5.com)d Fx(on)i(systems)f(that)i
+2386 y(for)25 b(the)f(user.)39 b(The)24 b(string)h Fp(hi)k(U+248C)g
+(com)24 b Fv(lo)s(oks)h(lik)m(e)h Fp(hi5.com)d Fv(on)i(systems)f(that)i
(supp)s(ort)d(Unico)s(de)150 2496 y(prop)s(erly)-8 b(.)40
b(These)30 b(implemen)m(tations)i(do)e(not)h(follo)m(w)g(RF)m(C)g
-(3490.)43 b(They)29 b(yield:)390 2630 y Fr(ToASCII)46
+(3490.)43 b(They)29 b(yield:)390 2630 y Fp(ToASCII)46
b(\(hi)h(U+248C)f(com\))g(=)i(hi5.com)390 2740 y(ToASCII)e(\(r\177)-48
b(aksm\177)g(org\027)g(as)45 b(U+2024)h(com\))g(=)i
-(xn--rksmrgs-5wao1o.com)275 2874 y Fx(The)30 b(DNS)g(query)g(they)h(p)s
-(erform)e(are)i Fr({3}hi5{3}com)c Fx(and)j Fr({18}xn--rksmrgs-5wao1o{)o
-(3}co)o(m)150 2984 y Fx(resp)s(ectiv)m(ely)-8 b(.)45
+(xn--rksmrgs-5wao1o.com)275 2874 y Fv(The)30 b(DNS)g(query)g(they)h(p)s
+(erform)e(are)i Fp({3}hi5{3}com)c Fv(and)j Fp({18}xn--rksmrgs-5wao1o{)o
+(3}co)o(m)150 2984 y Fv(resp)s(ectiv)m(ely)-8 b(.)45
b(Arguably)-8 b(,)31 b(this)g(leads)h(to)g(a)f(b)s(etter)g(user)f(exp)s
(erience,)i(and)f(suggests)g(that)h(the)f(IDNA)150 3093
y(sp)s(eci\014cation)g(is)g(sub-optimal)f(in)g(this)g(area.)150
-3326 y Fw(B.1)67 b(Recommended)46 b(W)-11 b(ork)k(around)150
-3485 y Fx(It)29 b(has)g(b)s(een)g(suggested)h(to)g(normalize)g(the)g
+3326 y Fu(B.1)67 b(Recommended)46 b(W)-11 b(ork)k(around)150
+3485 y Fv(It)29 b(has)g(b)s(een)g(suggested)h(to)g(normalize)g(the)g
(en)m(tire)g(input)e(string)h(using)g(NFK)m(C)g(b)s(efore)g(passing)g
(it)h(to)150 3595 y(IDNA)37 b(T)-8 b(oASCI)s(I.)35 b(Y)-8
-b(ou)37 b(ma)m(y)g(use)f Fr(stringprep_utf8_nfkc_norm)o(ali)o(ze)30
-b Fx(or)36 b Fr(stringprep_ucs4_)150 3704 y(nfkc_normalize)p
-Fx(.)61 b(This)37 b(app)s(ears)h(to)h(lead)g(to)g(similar)g(b)s(eha)m
+b(ou)37 b(ma)m(y)g(use)f Fp(stringprep_utf8_nfkc_norm)o(ali)o(ze)30
+b Fv(or)36 b Fp(stringprep_ucs4_)150 3704 y(nfkc_normalize)p
+Fv(.)61 b(This)37 b(app)s(ears)h(to)h(lead)g(to)g(similar)g(b)s(eha)m
(viour)f(as)g(IE/Firefo)m(x,)k(whic)m(h)c(w)m(ould)150
3814 y(a)m(v)m(oid)32 b(the)e(problem,)h(but)e(this)h(needs)g(to)i(b)s
(e)d(con\014rmed.)40 b(F)-8 b(eel)32 b(free)f(to)g(discuss)e(the)i
(issue)f(with)g(us.)275 3949 y(Alternativ)m(e)f(w)m(ork)-5
b(arounds)26 b(are)h(b)s(eing)f(considered.)40 b(Ev)m(en)m(tually)28
b(Libidn)e(ma)m(y)i(implemen)m(t)f(a)g(new)150 4058 y(\015ag)42
-b(to)g(the)g Fr(idna_*)e Fx(functions)i(that)g(implemen)m(ts)g(a)g
+b(to)g(the)g Fp(idna_*)e Fv(functions)i(that)g(implemen)m(ts)g(a)g
(recommended)f(w)m(a)m(y)i(to)g(w)m(ork)e(around)g(this)150
-4168 y(problem.)p 150 5241 1200 4 v 199 5308 a Fg(1)275
-5340 y Ff(Notably)25 b(Microsoft's)j(In)n(ternet)d(Explorer)h(and)f
+4168 y(problem.)p 150 5241 1200 4 v 199 5308 a Ff(1)275
+5340 y Fe(Notably)25 b(Microsoft's)j(In)n(ternet)d(Explorer)h(and)f
(Mozilla's)k(Firefo)n(x,)e(but)e(not)g(Apple's)h(Safari.)p
eop end
%%Page: 68 73
-TeXDict begin 68 72 bop 150 -116 a Fx(App)s(endix)29
-b(C:)h(Cop)m(ying)g(Information)2143 b(68)150 299 y Fu(App)t(endix)52
-b(C)81 b(Cop)l(ying)51 b(Information)150 617 y Fw(C.1)68
+TeXDict begin 68 72 bop 150 -116 a Fv(App)s(endix)29
+b(C:)h(Cop)m(ying)g(Information)2143 b(68)150 299 y Fs(App)t(endix)52
+b(C)81 b(Cop)l(ying)51 b(Information)150 617 y Fu(C.1)68
b(GNU)45 b(F)-11 b(ree)45 b(Do)t(cumen)l(tation)h(License)1359
-754 y Fx(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
-886 y(Cop)m(yrigh)m(t)842 883 y(c)817 886 y Fv(\015)e
-Fx(2000,)j(2001,)f(2002,)g(2007,)h(2008)f(F)-8 b(ree)31
+754 y Fv(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
+886 y(Cop)m(yrigh)m(t)842 883 y(c)817 886 y Ft(\015)e
+Fv(2000,)j(2001,)f(2002,)g(2007,)h(2008)f(F)-8 b(ree)31
b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 995
-y Fr(http://fsf.org/)390 1214 y Fx(Ev)m(ery)m(one)g(is)g(p)s(ermitted)f
+y Fp(http://fsf.org/)390 1214 y Fv(Ev)m(ery)m(one)g(is)g(p)s(ermitted)f
(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)390
1324 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f
(is)f(not)h(allo)m(w)m(ed.)199 1456 y(0.)61 b(PREAMBLE)330
1588 y(The)37 b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g
(a)g(man)m(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330
-1698 y(useful)29 b(do)s(cumen)m(t)h Fn(free)36 b Fx(in)29
+1698 y(useful)29 b(do)s(cumen)m(t)h Fl(free)36 b Fv(in)29
b(the)i(sense)f(of)g(freedom:)41 b(to)31 b(assure)e(ev)m(ery)m(one)j
(the)e(e\013ectiv)m(e)j(freedom)330 1808 y(to)f(cop)m(y)g(and)f
(redistribute)g(it,)h(with)g(or)f(without)g(mo)s(difying)g(it,)i
(commercial,)h(philosophical,)f(ethical)f(or)e(p)s(olitical)i(p)s
(osition)f(regarding)330 5340 y(them.)p eop end
%%Page: 69 74
-TeXDict begin 69 73 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 69 73 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(69)330 299 y(The)25
b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g
(Sections)g(whose)f(titles)i(are)f(designated,)i(as)330
b(ransparen)m(t)34 b(if)g(used)g(for)g(an)m(y)g(substan)m(tial)h(amoun)
m(t)g(of)g(text.)53 b(A)35 b(cop)m(y)g(that)g(is)330
2334 y(not)c(\\T)-8 b(ransparen)m(t")31 b(is)f(called)i(\\Opaque".)330
-2475 y(Examples)53 b(of)g(suitable)h(formats)f(for)g(T)-8
-b(ransparen)m(t)53 b(copies)h(include)f(plain)g Fe(asci)r(i)g
-Fx(without)330 2585 y(markup,)37 b(T)-8 b(exinfo)36 b(input)f(format,)j
-(LaT)1759 2604 y(E)1810 2585 y(X)e(input)f(format,)j
-Fk(SGML)f Fx(or)f Fk(XML)g Fx(using)g(a)g(publicly)330
-2694 y(a)m(v)-5 b(ailable)42 b Fk(DTD)p Fx(,)g(and)d
-(standard-conforming)h(simple)g Fk(HTML)p Fx(,)g(P)m(ostScript)h(or)f
-Fk(PDF)g Fx(designed)330 2804 y(for)e(h)m(uman)g(mo)s(di\014cation.)65
-b(Examples)38 b(of)h(transparen)m(t)f(image)i(formats)e(include)g
-Fk(PNG)p Fx(,)h Fk(X)n(CF)330 2913 y Fx(and)h Fk(JPG)p
-Fx(.)g(Opaque)h(formats)g(include)f(proprietary)g(formats)h(that)h(can)
-f(b)s(e)f(read)g(and)h(edited)330 3023 y(only)54 b(b)m(y)f(proprietary)
-h(w)m(ord)f(pro)s(cessors,)59 b Fk(SGML)54 b Fx(or)f
-Fk(XML)h Fx(for)g(whic)m(h)f(the)h Fk(DTD)g Fx(and/or)330
-3133 y(pro)s(cessing)61 b(to)s(ols)h(are)f(not)g(generally)i(a)m(v)-5
-b(ailable,)71 b(and)60 b(the)h(mac)m(hine-generated)j
-Fk(HTML)p Fx(,)330 3242 y(P)m(ostScript)31 b(or)f Fk(PDF)h
-Fx(pro)s(duced)d(b)m(y)j(some)f(w)m(ord)g(pro)s(cessors)g(for)g(output)
-g(purp)s(oses)f(only)-8 b(.)330 3383 y(The)34 b(\\Title)h(P)m(age")i
-(means,)e(for)f(a)h(prin)m(ted)f(b)s(o)s(ok,)h(the)f(title)i(page)f
-(itself,)h(plus)e(suc)m(h)f(follo)m(wing)330 3493 y(pages)28
-b(as)g(are)g(needed)g(to)g(hold,)g(legibly)-8 b(,)30
-b(the)e(material)h(this)e(License)i(requires)e(to)h(app)s(ear)f(in)h
-(the)330 3602 y(title)g(page.)40 b(F)-8 b(or)28 b(w)m(orks)e(in)g
-(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h(an)m(y)e(title)j(page)e
-(as)g(suc)m(h,)g(\\Title)h(P)m(age")330 3712 y(means)j(the)f(text)i
-(near)e(the)h(most)g(prominen)m(t)g(app)s(earance)f(of)h(the)g(w)m
-(ork's)g(title,)h(preceding)f(the)330 3821 y(b)s(eginning)f(of)g(the)h
-(b)s(o)s(dy)e(of)h(the)h(text.)330 3962 y(The)j(\\publisher")g(means)h
-(an)m(y)f(p)s(erson)g(or)h(en)m(tit)m(y)h(that)f(distributes)f(copies)i
-(of)e(the)h(Do)s(cumen)m(t)330 4072 y(to)c(the)g(public.)330
-4213 y(A)f(section)h(\\En)m(titled)g(XYZ")f(means)f(a)h(named)g
-(subunit)e(of)h(the)h(Do)s(cumen)m(t)h(whose)e(title)i(either)330
-4322 y(is)d(precisely)g(XYZ)g(or)f(con)m(tains)i(XYZ)f(in)f(paren)m
-(theses)i(follo)m(wing)g(text)g(that)f(translates)h(XYZ)e(in)330
-4432 y(another)e(language.)40 b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g
-(sp)s(eci\014c)g(section)h(name)f(men)m(tioned)h(b)s(elo)m(w,)g(suc)m
-(h)330 4542 y(as)i(\\Ac)m(kno)m(wledgemen)m(ts",)33 b(\\Dedications",)e
-(\\Endorsemen)m(ts",)e(or)f(\\History".\))42 b(T)-8 b(o)29
-b(\\Preserv)m(e)330 4651 y(the)34 b(Title")h(of)e(suc)m(h)h(a)g
-(section)g(when)f(y)m(ou)h(mo)s(dify)e(the)i(Do)s(cumen)m(t)h(means)e
-(that)h(it)g(remains)g(a)330 4761 y(section)e(\\En)m(titled)f(XYZ")g
-(according)g(to)g(this)g(de\014nition.)330 4902 y(The)c(Do)s(cumen)m(t)
-i(ma)m(y)f(include)f(W)-8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to)
-g(the)g(notice)h(whic)m(h)e(states)i(that)330 5011 y(this)34
-b(License)g(applies)g(to)h(the)f(Do)s(cumen)m(t.)52 b(These)33
-b(W)-8 b(arran)m(t)m(y)36 b(Disclaimers)f(are)g(considered)e(to)330
-5121 y(b)s(e)k(included)g(b)m(y)g(reference)h(in)g(this)f(License,)j
-(but)d(only)h(as)g(regards)f(disclaiming)i(w)m(arran)m(ties:)330
-5230 y(an)m(y)e(other)g(implication)i(that)e(these)g(W)-8
-b(arran)m(t)m(y)39 b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g
-(and)f(has)h(no)330 5340 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h
-(this)f(License.)p eop end
+2475 y(Examples)49 b(of)f(suitable)i(formats)f(for)f(T)-8
+b(ransparen)m(t)48 b(copies)i(include)e(plain)h(ASCI)s(I)e(without)330
+2585 y(markup,)33 b(T)-8 b(exinfo)33 b(input)f(format,)i(LaT)1745
+2604 y(E)1795 2585 y(X)f(input)f(format,)j(SGML)d(or)h(XML)h(using)e(a)
+h(publicly)330 2694 y(a)m(v)-5 b(ailable)36 b(DTD,)e(and)f
+(standard-conforming)h(simple)f(HTML,)h(P)m(ostScript)g(or)g(PDF)g
+(designed)330 2804 y(for)h(h)m(uman)g(mo)s(di\014cation.)57
+b(Examples)35 b(of)h(transparen)m(t)f(image)i(formats)f(include)f(PNG,)
+h(X)m(CF)330 2913 y(and)j(JPG.)g(Opaque)g(formats)h(include)f
+(proprietary)g(formats)h(that)g(can)g(b)s(e)e(read)i(and)f(edited)330
+3023 y(only)33 b(b)m(y)g(proprietary)f(w)m(ord)h(pro)s(cessors,)g(SGML)
+g(or)g(XML)g(for)g(whic)m(h)g(the)g(DTD)g(and/or)g(pro-)330
+3133 y(cessing)26 b(to)s(ols)g(are)g(not)f(generally)i(a)m(v)-5
+b(ailable,)29 b(and)24 b(the)i(mac)m(hine-generated)h(HTML,)e(P)m
+(ostScript)330 3242 y(or)30 b(PDF)h(pro)s(duced)e(b)m(y)h(some)h(w)m
+(ord)f(pro)s(cessors)g(for)g(output)g(purp)s(oses)f(only)-8
+b(.)330 3383 y(The)34 b(\\Title)h(P)m(age")i(means,)e(for)f(a)h(prin)m
+(ted)f(b)s(o)s(ok,)h(the)f(title)i(page)f(itself,)h(plus)e(suc)m(h)f
+(follo)m(wing)330 3493 y(pages)28 b(as)g(are)g(needed)g(to)g(hold,)g
+(legibly)-8 b(,)30 b(the)e(material)h(this)e(License)i(requires)e(to)h
+(app)s(ear)f(in)h(the)330 3602 y(title)g(page.)40 b(F)-8
+b(or)28 b(w)m(orks)e(in)g(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h
+(an)m(y)e(title)j(page)e(as)g(suc)m(h,)g(\\Title)h(P)m(age")330
+3712 y(means)j(the)f(text)i(near)e(the)h(most)g(prominen)m(t)g(app)s
+(earance)f(of)h(the)g(w)m(ork's)g(title,)h(preceding)f(the)330
+3821 y(b)s(eginning)f(of)g(the)h(b)s(o)s(dy)e(of)h(the)h(text.)330
+3962 y(The)j(\\publisher")g(means)h(an)m(y)f(p)s(erson)g(or)h(en)m(tit)
+m(y)h(that)f(distributes)f(copies)i(of)e(the)h(Do)s(cumen)m(t)330
+4072 y(to)c(the)g(public.)330 4213 y(A)f(section)h(\\En)m(titled)g
+(XYZ")f(means)f(a)h(named)g(subunit)e(of)h(the)h(Do)s(cumen)m(t)h
+(whose)e(title)i(either)330 4322 y(is)d(precisely)g(XYZ)g(or)f(con)m
+(tains)i(XYZ)f(in)f(paren)m(theses)i(follo)m(wing)g(text)g(that)f
+(translates)h(XYZ)e(in)330 4432 y(another)e(language.)40
+b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g(sp)s(eci\014c)g(section)h(name)f
+(men)m(tioned)h(b)s(elo)m(w,)g(suc)m(h)330 4542 y(as)i(\\Ac)m(kno)m
+(wledgemen)m(ts",)33 b(\\Dedications",)e(\\Endorsemen)m(ts",)e(or)f
+(\\History".\))42 b(T)-8 b(o)29 b(\\Preserv)m(e)330 4651
+y(the)34 b(Title")h(of)e(suc)m(h)h(a)g(section)g(when)f(y)m(ou)h(mo)s
+(dify)e(the)i(Do)s(cumen)m(t)h(means)e(that)h(it)g(remains)g(a)330
+4761 y(section)e(\\En)m(titled)f(XYZ")g(according)g(to)g(this)g
+(de\014nition.)330 4902 y(The)c(Do)s(cumen)m(t)i(ma)m(y)f(include)f(W)
+-8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to)g(the)g(notice)h(whic)m
+(h)e(states)i(that)330 5011 y(this)34 b(License)g(applies)g(to)h(the)f
+(Do)s(cumen)m(t.)52 b(These)33 b(W)-8 b(arran)m(t)m(y)36
+b(Disclaimers)f(are)g(considered)e(to)330 5121 y(b)s(e)k(included)g(b)m
+(y)g(reference)h(in)g(this)f(License,)j(but)d(only)h(as)g(regards)f
+(disclaiming)i(w)m(arran)m(ties:)330 5230 y(an)m(y)e(other)g
+(implication)i(that)e(these)g(W)-8 b(arran)m(t)m(y)39
+b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330
+5340 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)p
+eop end
%%Page: 70 75
-TeXDict begin 70 74 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 70 74 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(70)199 299 y(2.)61
b(VERBA)-8 b(TIM)31 b(COPYING)330 445 y(Y)-8 b(ou)39
b(ma)m(y)f(cop)m(y)h(and)e(distribute)h(the)g(Do)s(cumen)m(t)h(in)f(an)
b(addition,)h(y)m(ou)f(m)m(ust)h(do)f(these)h(things)f(in)g(the)h(Mo)s
(di\014ed)e(V)-8 b(ersion:)p eop end
%%Page: 71 76
-TeXDict begin 71 75 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 71 75 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(71)357 299 y(A.)60
b(Use)33 b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m
(ers,)i(if)e(an)m(y\))g(a)g(title)h(distinct)f(from)g(that)g(of)g(the)
(Sections)g(and)f(con)m(tain)j(no)d(material)j(copied)e(from)f(the)h
(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)p eop end
%%Page: 72 77
-TeXDict begin 72 76 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 72 76 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(72)330 299 y(y)m(our)32
b(option)h(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e
(in)m(v)-5 b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)330
(other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
5340 y(that)d(do)s(cumen)m(t.)p eop end
%%Page: 73 78
-TeXDict begin 73 77 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 73 77 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(73)199 299 y(7.)61
b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h(W)m(ORKS)330
441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f(its)g(deriv)-5
(the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f
(an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end
%%Page: 74 79
-TeXDict begin 74 78 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 74 78 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(74)154 299 y(10.)61
b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330 433
y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43
g(time.)46 b(Suc)m(h)31 b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h
(in)g(spirit)330 653 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)m
(y)h(di\013er)f(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i
-(concerns.)330 762 y(See)c Fr(http://www.gnu.org/copy)o(left)o(/)p
-Fx(.)330 897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m
+(concerns.)330 762 y(See)c Fp(http://www.gnu.org/copy)o(left)o(/)p
+Fv(.)330 897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m
(en)g(a)g(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39
b(If)29 b(the)g(Do)s(cumen)m(t)330 1006 y(sp)s(eci\014es)45
b(that)h(a)g(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g
(time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is)
330 4005 y(eligible)h(for)e(relicensing.)p eop end
%%Page: 75 80
-TeXDict begin 75 79 bop 150 -116 a Fx(App)s(endix)29
-b(C:)h(Cop)m(ying)g(Information)2143 b(75)150 299 y Fw(ADDENDUM:)45
+TeXDict begin 75 79 bop 150 -116 a Fv(App)s(endix)29
+b(C:)h(Cop)m(ying)g(Information)2143 b(75)150 299 y Fu(ADDENDUM:)45
b(Ho)l(w)h(to)f(use)g(this)h(License)f(for)g(y)l(our)g(do)t(cumen)l(ts)
-150 458 y Fx(T)-8 b(o)35 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m
+150 458 y Fv(T)-8 b(o)35 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m
(t)g(y)m(ou)f(ha)m(v)m(e)i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)
f(License)h(in)g(the)150 568 y(do)s(cumen)m(t)30 b(and)g(put)g(the)g
(follo)m(wing)i(cop)m(yrigh)m(t)g(and)e(license)h(notices)g(just)f
(no)f(Front-Cover)h(Texts,)g(and)f(no)f(Back-Cover)468
1108 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f(license)i(is)f(included)h
(in)f(the)g(section)g(entitled)h(``GNU)468 1196 y(Free)g(Documentation)
-h(License''.)275 1323 y Fx(If)d(y)m(ou)h(ha)m(v)m(e)h(In)m(v)-5
+h(License''.)275 1323 y Fv(If)d(y)m(ou)h(ha)m(v)m(e)h(In)m(v)-5
b(arian)m(t)41 b(Sections,)i(F)-8 b(ron)m(t-Co)m(v)m(er)42
b(T)-8 b(exts)41 b(and)e(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts,)43
b(replace)e(the)150 1432 y(\\with)6 b(.)22 b(.)g(.)12
-b(T)-8 b(exts.")41 b(line)31 b(with)f(this:)547 1537
-y Fd(with)40 b(the)g(Invariant)h(Sections)g(being)g Fc(list)f(their)g
-(titles)9 b Fd(,)41 b(with)547 1624 y(the)f(Front-Cover)i(Texts)e
-(being)g Fc(list)9 b Fd(,)40 b(and)g(with)g(the)g(Back-Cover)i(Texts)
-547 1712 y(being)e Fc(list)9 b Fd(.)275 1839 y Fx(If)34
-b(y)m(ou)i(ha)m(v)m(e)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(without)f
-(Co)m(v)m(er)h(T)-8 b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g
-(of)g(the)150 1948 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g
-(alternativ)m(es)i(to)e(suit)f(the)h(situation.)275 2075
-y(If)23 b(y)m(our)h(do)s(cumen)m(t)f(con)m(tains)i(non)m(trivial)g
-(examples)g(of)f(program)f(co)s(de,)j(w)m(e)e(recommend)g(releasing)150
-2185 y(these)44 b(examples)f(in)g(parallel)h(under)e(y)m(our)h(c)m
-(hoice)i(of)e(free)g(soft)m(w)m(are)h(license,)k(suc)m(h)43
-b(as)g(the)g(GNU)150 2295 y(General)31 b(Public)f(License,)i(to)f(p)s
-(ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)150
-2512 y Fw(C.2)68 b(GNU)45 b(Lesser)g(General)h(Public)f(License)1417
-2654 y Fx(V)-8 b(ersion)31 b(2.1,)h(F)-8 b(ebruary)30
-b(1999)390 2781 y(Cop)m(yrigh)m(t)842 2778 y(c)817 2781
-y Fv(\015)g Fx(1991,)j(1999)f(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
-b(oundation,)31 b(Inc.)390 2891 y(51)g(F)-8 b(ranklin)31
-b(Street,)g(Fifth)g(Flo)s(or,)g(Boston,)g(MA)g(02110-1301,)k(USA)390
-3110 y(Ev)m(ery)m(one)c(is)g(p)s(ermitted)f(to)h(cop)m(y)g(and)f
-(distribute)g(v)m(erbatim)h(copies)390 3220 y(of)g(this)f(license)h(do)
-s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f(is)f(not)h(allo)m(w)m(ed.)390
-3439 y([This)f(is)g(the)h(\014rst)e(released)j(v)m(ersion)e(of)h(the)g
-(Lesser)f(GPL.)61 b(It)30 b(also)i(coun)m(ts)390 3549
-y(as)f(the)f(successor)h(of)f(the)h(GNU)g(Library)e(Public)i(License,)g
-(v)m(ersion)g(2,)g(hence)f(the)390 3658 y(v)m(ersion)h(n)m(um)m(b)s(er)
-e(2.1.])150 3843 y Fq(Pream)m(ble)150 3990 y Fx(The)e(licenses)i(for)f
-(most)g(soft)m(w)m(are)i(are)e(designed)g(to)h(tak)m(e)g(a)m(w)m(a)m(y)
-h(y)m(our)e(freedom)g(to)h(share)e(and)h(c)m(hange)150
-4099 y(it.)42 b(By)32 b(con)m(trast,)g(the)f(GNU)g(General)h(Public)f
-(Licenses)g(are)g(in)m(tended)g(to)g(guaran)m(tee)h(y)m(our)f(freedom)
-150 4209 y(to)g(share)f(and)g(c)m(hange)i(free)e(soft)m(w)m(are|to)j
-(mak)m(e)e(sure)f(the)g(soft)m(w)m(are)i(is)e(free)h(for)f(all)h(its)g
+b(T)-8 b(exts.")31 b(line)g(with)f(this:)547 1537 y Fd(with)40
+b(the)g(Invariant)h(Sections)g(being)g Fc(list)f(their)g(titles)9
+b Fd(,)41 b(with)547 1624 y(the)f(Front-Cover)i(Texts)e(being)g
+Fc(list)9 b Fd(,)40 b(and)g(with)g(the)g(Back-Cover)i(Texts)547
+1712 y(being)e Fc(list)9 b Fd(.)275 1839 y Fv(If)34 b(y)m(ou)i(ha)m(v)m
+(e)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(without)f(Co)m(v)m(er)h(T)-8
+b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g(of)g(the)150
+1948 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g(alternativ)m(es)i(to)e
+(suit)f(the)h(situation.)275 2075 y(If)23 b(y)m(our)h(do)s(cumen)m(t)f
+(con)m(tains)i(non)m(trivial)g(examples)g(of)f(program)f(co)s(de,)j(w)m
+(e)e(recommend)g(releasing)150 2185 y(these)44 b(examples)f(in)g
+(parallel)h(under)e(y)m(our)h(c)m(hoice)i(of)e(free)g(soft)m(w)m(are)h
+(license,)k(suc)m(h)43 b(as)g(the)g(GNU)150 2295 y(General)31
+b(Public)f(License,)i(to)f(p)s(ermit)e(their)i(use)f(in)g(free)g(soft)m
+(w)m(are.)150 2512 y Fu(C.2)68 b(GNU)45 b(Lesser)g(General)h(Public)f
+(License)1417 2654 y Fv(V)-8 b(ersion)31 b(2.1,)h(F)-8
+b(ebruary)30 b(1999)390 2781 y(Cop)m(yrigh)m(t)842 2778
+y(c)817 2781 y Ft(\015)g Fv(1991,)j(1999)f(F)-8 b(ree)31
+b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 2891
+y(51)g(F)-8 b(ranklin)31 b(Street,)g(Fifth)g(Flo)s(or,)g(Boston,)g(MA)g
+(02110-1301,)k(USA)390 3110 y(Ev)m(ery)m(one)c(is)g(p)s(ermitted)f(to)h
+(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)390
+3220 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f
+(is)f(not)h(allo)m(w)m(ed.)390 3439 y([This)f(is)g(the)h(\014rst)e
+(released)j(v)m(ersion)e(of)h(the)g(Lesser)f(GPL.)61
+b(It)30 b(also)i(coun)m(ts)390 3549 y(as)f(the)f(successor)h(of)f(the)h
+(GNU)g(Library)e(Public)i(License,)g(v)m(ersion)g(2,)g(hence)f(the)390
+3658 y(v)m(ersion)h(n)m(um)m(b)s(er)e(2.1.])150 3843
+y Fo(Pream)m(ble)150 3990 y Fv(The)e(licenses)i(for)f(most)g(soft)m(w)m
+(are)i(are)e(designed)g(to)h(tak)m(e)g(a)m(w)m(a)m(y)h(y)m(our)e
+(freedom)g(to)h(share)e(and)h(c)m(hange)150 4099 y(it.)42
+b(By)32 b(con)m(trast,)g(the)f(GNU)g(General)h(Public)f(Licenses)g(are)
+g(in)m(tended)g(to)g(guaran)m(tee)h(y)m(our)f(freedom)150
+4209 y(to)g(share)f(and)g(c)m(hange)i(free)e(soft)m(w)m(are|to)j(mak)m
+(e)e(sure)f(the)g(soft)m(w)m(are)i(is)e(free)h(for)f(all)h(its)g
(users.)275 4336 y(This)40 b(license,)45 b(the)c(Lesser)g(General)h
(Public)f(License,)j(applies)d(to)h(some)f(sp)s(ecially)h(designated)
150 4446 y(soft)m(w)m(are|t)m(ypically)24 b(libraries|of)e(the)f(F)-8
5340 y(free)c(programs;)h(and)f(that)g(y)m(ou)h(are)g(informed)f(that)h
(y)m(ou)f(can)h(do)f(these)h(things.)p eop end
%%Page: 76 81
-TeXDict begin 76 80 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 76 80 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(76)275 299 y(T)-8
b(o)27 b(protect)h(y)m(our)e(righ)m(ts,)j(w)m(e)e(need)f(to)i(mak)m(e)g
(restrictions)f(that)h(forbid)e(distributors)f(to)j(den)m(y)f(y)m(ou)
(freedom.)50 b(The)33 b(Lesser)g(General)i(Public)e(License)h(p)s
(ermits)150 3806 y(more)d(lax)g(criteria)g(for)f(linking)h(other)f(co)s
(de)h(with)f(the)h(library)-8 b(.)275 3952 y(W)g(e)25
-b(call)i(this)d(license)i(the)f Fn(Lesser)31 b Fx(General)26
+b(call)i(this)d(license)i(the)f Fl(Lesser)31 b Fv(General)26
b(Public)e(License)h(b)s(ecause)g(it)g(do)s(es)g Fb(L)-5
-b(ess)33 b Fx(to)25 b(protect)h(the)150 4061 y(user's)c(freedom)h(than)
+b(ess)33 b Fv(to)25 b(protect)h(the)150 4061 y(user's)c(freedom)h(than)
g(the)g(ordinary)f(General)h(Public)g(License.)39 b(It)23
b(also)h(pro)m(vides)e(other)i(free)e(soft)m(w)m(are)150
4171 y(dev)m(elop)s(ers)36 b(Less)g(of)g(an)g(adv)-5
b(F)-8 b(or)33 b(example,)g(p)s(ermission)e(to)p eop
end
%%Page: 77 82
-TeXDict begin 77 81 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 77 81 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(77)150 299 y(use)33
b(the)g(GNU)g(C)f(Library)g(in)h(non-free)f(programs)h(enables)g(man)m
(y)g(more)g(p)s(eople)g(to)g(use)g(the)g(whole)150 408
(library".)62 b(The)37 b(former)g(con)m(tains)h(co)s(de)g(deriv)m(ed)g
(from)e(the)i(library)-8 b(,)40 b(whereas)d(the)h(latter)150
1223 y(m)m(ust)30 b(b)s(e)g(com)m(bined)h(with)f(the)g(library)g(in)g
-(order)g(to)h(run.)150 1397 y Fq(TERMS)41 b(AND)g(CONDITIONS)f(F)m(OR)h
+(order)g(to)h(run.)150 1397 y Fo(TERMS)41 b(AND)g(CONDITIONS)f(F)m(OR)h
(COPYING,)f(DISTRIBUTION)150 1522 y(AND)h(MODIFICA)-10
-b(TION)199 1669 y Fx(0.)61 b(This)21 b(License)h(Agreemen)m(t)h
+b(TION)199 1669 y Fv(0.)61 b(This)21 b(License)h(Agreemen)m(t)h
(applies)f(to)g(an)m(y)g(soft)m(w)m(are)h(library)e(or)g(other)h
(program)f(whic)m(h)h(con)m(tains)330 1778 y(a)40 b(notice)h(placed)f
(b)m(y)g(the)g(cop)m(yrigh)m(t)h(holder)e(or)h(other)g(authorized)g
(Section)i(1)e(ab)s(o)m(v)m(e,)i(pro)m(vided)e(that)h(y)m(ou)g(also)g
(meet)g(all)h(of)e(these)h(conditions:)p eop end
%%Page: 78 83
-TeXDict begin 78 82 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 78 82 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(78)379 299 y(a.)61
b(The)30 b(mo)s(di\014ed)f(w)m(ork)i(m)m(ust)f(itself)h(b)s(e)f(a)h
(soft)m(w)m(are)g(library)-8 b(.)374 436 y(b.)60 b(Y)-8
(corresp)s(onding)d(mac)m(hine-readable)i(source)f(co)s(de,)p
eop end
%%Page: 79 84
-TeXDict begin 79 83 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 79 83 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(79)330 299 y(whic)m(h)38
b(m)m(ust)g(b)s(e)f(distributed)g(under)f(the)j(terms)e(of)i(Sections)f
(1)h(and)e(2)h(ab)s(o)m(v)m(e)i(on)d(a)i(medium)330 408
(the)h(user)e(who)h(c)m(hanges)h(the)f(con)m(ten)m(ts)i(of)e
(de\014nitions)p eop end
%%Page: 80 85
-TeXDict begin 80 84 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 80 84 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(80)510 299 y(\014les)29
b(in)g(the)g(Library)f(will)h(not)h(necessarily)f(b)s(e)g(able)g(to)h
(recompile)g(the)f(application)i(to)e(use)510 408 y(the)i(mo)s
(p)s(ermission)g(to)h(mo)s(dify)f(or)g(distribute)g(the)h(Library)e(or)
i(its)f(deriv)-5 b(ativ)m(e)p eop end
%%Page: 81 86
-TeXDict begin 81 85 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 81 85 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(81)330 299 y(w)m(orks.)38
b(These)23 b(actions)h(are)g(prohibited)e(b)m(y)h(la)m(w)h(if)f(y)m(ou)
g(do)g(not)h(accept)g(this)f(License.)39 b(Therefore,)330
(conditions)g(either)h(of)g(that)g(v)m(ersion)g(or)f(of)h(an)m(y)f
(later)i(v)m(ersion)f(published)p eop end
%%Page: 82 87
-TeXDict begin 82 86 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 82 86 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(82)330 299 y(b)m(y)41
b(the)h(F)-8 b(ree)42 b(Soft)m(w)m(are)h(F)-8 b(oundation.)74
b(If)41 b(the)h(Library)e(do)s(es)i(not)f(sp)s(ecify)g(a)h(license)g(v)
(o)h(goals)g(of)f(preserving)f(the)h(free)g(status)g(of)g(all)h(deriv)
-5 b(ativ)m(es)32 b(of)f(our)f(free)h(soft-)330 1091
y(w)m(are)g(and)f(of)g(promoting)h(the)f(sharing)g(and)g(reuse)g(of)h
-(soft)m(w)m(are)h(generally)-8 b(.)330 1323 y Fw(NO)45
-b(W)-15 b(ARRANTY)154 1483 y Fx(15.)61 b(BECA)m(USE)47
+(soft)m(w)m(are)h(generally)-8 b(.)1674 1200 y Fj(NO)31
+b(W)-10 b(ARRANTY)154 1335 y Fv(15.)61 b(BECA)m(USE)47
b(THE)f(LIBRAR)-8 b(Y)48 b(IS)e(LICENSED)g(FREE)g(OF)h(CHAR)m(GE,)h
-(THERE)e(IS)g(NO)330 1592 y(W)-10 b(ARRANTY)33 b(F)m(OR)h(THE)e(LIBRAR)
+(THERE)e(IS)g(NO)330 1445 y(W)-10 b(ARRANTY)33 b(F)m(OR)h(THE)e(LIBRAR)
-8 b(Y,)34 b(TO)e(THE)g(EXTENT)h(PERMITTED)f(BY)h(APPLI-)330
-1702 y(CABLE)27 b(LA)-10 b(W.)27 b(EX)m(CEPT)g(WHEN)h(OTHER)-10
+1554 y(CABLE)27 b(LA)-10 b(W.)27 b(EX)m(CEPT)g(WHEN)h(OTHER)-10
b(WISE)25 b(ST)-8 b(A)g(TED)28 b(IN)e(WRITING)i(THE)e(COPY-)330
-1812 y(RIGHT)f(HOLDERS)f(AND/OR)i(OTHER)e(P)-8 b(AR)g(TIES)25
+1664 y(RIGHT)f(HOLDERS)f(AND/OR)i(OTHER)e(P)-8 b(AR)g(TIES)25
b(PR)m(O)m(VIDE)g(THE)g(LIBRAR)-8 b(Y)25 b(\\AS)g(IS")330
-1921 y(WITHOUT)40 b(W)-10 b(ARRANTY)42 b(OF)f(ANY)g(KIND,)g(EITHER)f
-(EXPRESSED)g(OR)h(IMPLIED,)330 2031 y(INCLUDING,)33 b(BUT)g(NOT)g
+1773 y(WITHOUT)40 b(W)-10 b(ARRANTY)42 b(OF)f(ANY)g(KIND,)g(EITHER)f
+(EXPRESSED)g(OR)h(IMPLIED,)330 1883 y(INCLUDING,)33 b(BUT)g(NOT)g
(LIMITED)f(TO,)g(THE)h(IMPLIED)g(W)-10 b(ARRANTIES)32
-b(OF)h(MER-)330 2140 y(CHANT)-8 b(ABILITY)28 b(AND)g(FITNESS)e(F)m(OR)i
+b(OF)h(MER-)330 1993 y(CHANT)-8 b(ABILITY)28 b(AND)g(FITNESS)e(F)m(OR)i
(A)g(P)-8 b(AR)g(TICULAR)27 b(PURPOSE.)g(THE)g(ENTIRE)330
-2250 y(RISK)f(AS)g(TO)g(THE)h(QUALITY)f(AND)h(PERF)m(ORMANCE)g(OF)g
-(THE)f(LIBRAR)-8 b(Y)28 b(IS)e(WITH)330 2359 y(YOU.)j(SHOULD)f(THE)h
+2102 y(RISK)f(AS)g(TO)g(THE)h(QUALITY)f(AND)h(PERF)m(ORMANCE)g(OF)g
+(THE)f(LIBRAR)-8 b(Y)28 b(IS)e(WITH)330 2212 y(YOU.)j(SHOULD)f(THE)h
(LIBRAR)-8 b(Y)29 b(PR)m(O)m(VE)g(DEFECTIVE,)f(YOU)h(ASSUME)f(THE)g
-(COST)330 2469 y(OF)i(ALL)g(NECESSAR)-8 b(Y)30 b(SER)-10
+(COST)330 2321 y(OF)i(ALL)g(NECESSAR)-8 b(Y)30 b(SER)-10
b(VICING,)30 b(REP)-8 b(AIR)30 b(OR)g(CORRECTION.)154
-2604 y(16.)61 b(IN)26 b(NO)g(EVENT)g(UNLESS)f(REQUIRED)h(BY)h
+2456 y(16.)61 b(IN)26 b(NO)g(EVENT)g(UNLESS)f(REQUIRED)h(BY)h
(APPLICABLE)f(LA)-10 b(W)26 b(OR)g(A)m(GREED)h(TO)f(IN)330
-2713 y(WRITING)37 b(WILL)f(ANY)i(COPYRIGHT)e(HOLDER,)h(OR)f(ANY)h
-(OTHER)f(P)-8 b(AR)g(TY)38 b(WHO)330 2823 y(MA)-8 b(Y)62
+2565 y(WRITING)37 b(WILL)f(ANY)i(COPYRIGHT)e(HOLDER,)h(OR)f(ANY)h
+(OTHER)f(P)-8 b(AR)g(TY)38 b(WHO)330 2675 y(MA)-8 b(Y)62
b(MODIFY)g(AND/OR)g(REDISTRIBUTE)e(THE)h(LIBRAR)-8 b(Y)62
-b(AS)f(PERMITTED)330 2932 y(ABO)m(VE,)40 b(BE)f(LIABLE)f(TO)g(YOU)h(F)m
+b(AS)f(PERMITTED)330 2785 y(ABO)m(VE,)40 b(BE)f(LIABLE)f(TO)g(YOU)h(F)m
(OR)g(D)m(AMA)m(GES,)h(INCLUDING)f(ANY)h(GENERAL,)330
-3042 y(SPECIAL,)e(INCIDENT)-8 b(AL)40 b(OR)e(CONSEQUENTIAL)g(D)m(AMA)m
-(GES)j(ARISING)e(OUT)g(OF)330 3152 y(THE)51 b(USE)g(OR)g(INABILITY)h
+2894 y(SPECIAL,)e(INCIDENT)-8 b(AL)40 b(OR)e(CONSEQUENTIAL)g(D)m(AMA)m
+(GES)j(ARISING)e(OUT)g(OF)330 3004 y(THE)51 b(USE)g(OR)g(INABILITY)h
(TO)f(USE)g(THE)g(LIBRAR)-8 b(Y)52 b(\(INCLUDING)h(BUT)e(NOT)330
-3261 y(LIMITED)29 b(TO)g(LOSS)f(OF)h(D)m(A)-8 b(T)g(A)31
+3113 y(LIMITED)29 b(TO)g(LOSS)f(OF)h(D)m(A)-8 b(T)g(A)31
b(OR)e(D)m(A)-8 b(T)g(A)31 b(BEING)f(RENDERED)g(INA)m(CCURA)-8
-b(TE)29 b(OR)330 3371 y(LOSSES)38 b(SUST)-8 b(AINED)40
+b(TE)29 b(OR)330 3223 y(LOSSES)38 b(SUST)-8 b(AINED)40
b(BY)h(YOU)f(OR)g(THIRD)g(P)-8 b(AR)g(TIES)40 b(OR)g(A)h(F)-10
-b(AILURE)40 b(OF)g(THE)330 3480 y(LIBRAR)-8 b(Y)48 b(TO)f(OPERA)-8
+b(AILURE)40 b(OF)g(THE)330 3333 y(LIBRAR)-8 b(Y)48 b(TO)f(OPERA)-8
b(TE)47 b(WITH)h(ANY)g(OTHER)f(SOFTW)-10 b(ARE\),)47
-b(EVEN)h(IF)f(SUCH)330 3590 y(HOLDER)33 b(OR)h(OTHER)f(P)-8
+b(EVEN)h(IF)f(SUCH)330 3442 y(HOLDER)33 b(OR)h(OTHER)f(P)-8
b(AR)g(TY)34 b(HAS)f(BEEN)h(AD)m(VISED)g(OF)g(THE)f(POSSIBILITY)f(OF)
-330 3699 y(SUCH)e(D)m(AMA)m(GES.)150 3932 y Fw(END)45
-b(OF)g(TERMS)f(AND)h(CONDITIONS)p eop end
+330 3552 y(SUCH)e(D)m(AMA)m(GES.)150 3751 y Fo(END)40
+b(OF)i(TERMS)f(AND)f(CONDITIONS)p eop end
%%Page: 83 88
-TeXDict begin 83 87 bop 150 -116 a Fx(App)s(endix)29
-b(C:)h(Cop)m(ying)g(Information)2143 b(83)150 299 y Fq(Ho)m(w)40
+TeXDict begin 83 87 bop 150 -116 a Fv(App)s(endix)29
+b(C:)h(Cop)m(ying)g(Information)2143 b(83)150 299 y Fo(Ho)m(w)40
b(to)h(Apply)g(These)h(T)-10 b(erms)42 b(to)f(Y)-10 b(our)41
-b(New)f(Libraries)150 446 y Fx(If)24 b(y)m(ou)i(dev)m(elop)g(a)f(new)f
+b(New)f(Libraries)150 446 y Fv(If)24 b(y)m(ou)i(dev)m(elop)g(a)f(new)f
(library)-8 b(,)27 b(and)d(y)m(ou)h(w)m(an)m(t)h(it)f(to)h(b)s(e)e(of)i
(the)f(greatest)h(p)s(ossible)f(use)g(to)g(the)g(public,)150
555 y(w)m(e)k(recommend)f(making)g(it)h(free)f(soft)m(w)m(are)i(that)f
2559 y(License)g(along)f(with)g(this)g(library;)i(if)d(not,)h(write)h
(to)e(the)h(Free)g(Software)390 2646 y(Foundation,)i(Inc.,)e(51)g
(Franklin)h(Street,)g(Fifth)f(Floor,)h(Boston,)f(MA)g(02110-1301,)390
-2733 y(USA.)275 2862 y Fx(Also)31 b(add)e(information)i(on)f(ho)m(w)h
+2733 y(USA.)275 2862 y Fv(Also)31 b(add)e(information)i(on)f(ho)m(w)h
(to)g(con)m(tact)i(y)m(ou)d(b)m(y)g(electronic)j(and)d(pap)s(er)f
(mail.)275 2990 y(Y)-8 b(ou)28 b(should)f(also)i(get)g(y)m(our)f(emplo)
m(y)m(er)h(\(if)f(y)m(ou)g(w)m(ork)g(as)h(a)f(programmer\))g(or)g(y)m
3403 y(`Frob')h(\(a)e(library)i(for)f(tweaking)h(knobs\))g(written)f
(by)g(James)h(Random)f(Hacker.)390 3577 y Fc(signature)h(of)f(Ty)g
(Coon)9 b Fd(,)40 b(1)f(April)h(1990)390 3665 y(Ty)g(Coon,)g(President)
-h(of)f(Vice)275 3793 y Fx(That's)30 b(all)h(there)g(is)f(to)h(it!)150
-4014 y Fw(C.3)68 b(GNU)45 b(General)h(Public)e(License)1477
-4154 y Fx(V)-8 b(ersion)31 b(3,)g(29)g(June)e(2007)390
-4283 y(Cop)m(yrigh)m(t)842 4280 y(c)817 4283 y Fv(\015)h
-Fx(2007)i(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation,)32
-b(Inc.)e Fr(http://fsf.org/)390 4502 y Fx(Ev)m(ery)m(one)h(is)g(p)s
+h(of)f(Vice)275 3793 y Fv(That's)30 b(all)h(there)g(is)f(to)h(it!)150
+4014 y Fu(C.3)68 b(GNU)45 b(General)h(Public)e(License)1477
+4154 y Fv(V)-8 b(ersion)31 b(3,)g(29)g(June)e(2007)390
+4283 y(Cop)m(yrigh)m(t)842 4280 y(c)817 4283 y Ft(\015)h
+Fv(2007)i(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation,)32
+b(Inc.)e Fp(http://fsf.org/)390 4502 y Fv(Ev)m(ery)m(one)h(is)g(p)s
(ermitted)f(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)g
(of)g(this)390 4612 y(license)g(do)s(cumen)m(t,)g(but)e(c)m(hanging)j
-(it)f(is)f(not)h(allo)m(w)m(ed.)150 4833 y Fw(Pream)l(ble)150
-4992 y Fx(The)g(GNU)g(General)h(Public)f(License)h(is)f(a)h(free,)f
+(it)f(is)f(not)h(allo)m(w)m(ed.)150 4833 y Fu(Pream)l(ble)150
+4992 y Fv(The)g(GNU)g(General)h(Public)f(License)h(is)f(a)h(free,)f
(cop)m(yleft)i(license)f(for)f(soft)m(w)m(are)i(and)d(other)i(kinds)e
(of)150 5102 y(w)m(orks.)275 5230 y(The)d(licenses)i(for)e(most)i(soft)
m(w)m(are)g(and)e(other)i(practical)g(w)m(orks)f(are)g(designed)g(to)h
(and)h(c)m(hange)h(the)f(w)m(orks.)51 b(By)35 b(con)m(trast,)h(the)e
(GNU)h(General)g(Public)e(License)i(is)p eop end
%%Page: 84 89
-TeXDict begin 84 88 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 84 88 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(84)150 299 y(in)m(tended)25
b(to)h(guaran)m(tee)h(y)m(our)e(freedom)g(to)h(share)f(and)f(c)m(hange)
j(all)f(v)m(ersions)f(of)h(a)f(program|to)h(mak)m(e)150
(that)h(paten)m(ts)g(cannot)150 4393 y(b)s(e)i(used)f(to)i(render)f
(the)g(program)g(non-free.)275 4539 y(The)f(precise)i(terms)f(and)g
(conditions)h(for)f(cop)m(ying,)i(distribution)d(and)h(mo)s
-(di\014cation)h(follo)m(w.)150 4790 y Fw(TERMS)44 b(AND)h(CONDITIONS)
-199 4949 y Fx(0.)61 b(De\014nitions.)330 5090 y(\\This)30
+(di\014cation)h(follo)m(w.)150 4790 y Fu(TERMS)44 b(AND)h(CONDITIONS)
+199 4949 y Fv(0.)61 b(De\014nitions.)330 5090 y(\\This)30
b(License")h(refers)f(to)i(v)m(ersion)e(3)h(of)g(the)f(GNU)h(General)g
(Public)g(License.)330 5230 y(\\Cop)m(yrigh)m(t")e(also)g(means)e(cop)m
(yrigh)m(t-lik)m(e)k(la)m(ws)d(that)g(apply)f(to)h(other)g(kinds)f(of)g
(w)m(orks,)h(suc)m(h)g(as)330 5340 y(semiconductor)j(masks.)p
eop end
%%Page: 85 90
-TeXDict begin 85 89 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 85 89 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(85)330 299 y(\\The)40
b(Program")h(refers)f(to)g(an)m(y)h(cop)m(yrigh)m(table)h(w)m(ork)e
(licensed)h(under)e(this)h(License.)70 b(Eac)m(h)330
b(example,)f(Corresp)s(onding)e(Source)i(includes)f(in)m(terface)i
(de\014nition)p eop end
%%Page: 86 91
-TeXDict begin 86 90 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 86 90 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(86)330 299 y(\014les)32
b(asso)s(ciated)i(with)d(source)i(\014les)f(for)g(the)g(w)m(ork,)h(and)
f(the)g(source)g(co)s(de)h(for)e(shared)h(libraries)330
(w)m(arran)m(t)m(y)h(protection)h(for)e(a)h(fee.)p eop
end
%%Page: 87 92
-TeXDict begin 87 91 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 87 91 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(87)199 299 y(5.)61
b(Con)m(v)m(eying)31 b(Mo)s(di\014ed)f(Source)g(V)-8
b(ersions.)330 427 y(Y)g(ou)27 b(ma)m(y)g(con)m(v)m(ey)h(a)f(w)m(ork)g
b(ject)31 b(co)s(de)e(with)g(suc)m(h)g(an)g(o\013er,)510
5340 y(in)h(accord)h(with)f(subsection)h(6b.)p eop end
%%Page: 88 93
-TeXDict begin 88 92 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 88 92 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(88)374 299 y(d.)60
b(Con)m(v)m(ey)37 b(the)f(ob)5 b(ject)37 b(co)s(de)f(b)m(y)g
(o\013ering)g(access)i(from)d(a)i(designated)f(place)h(\(gratis)g(or)f
b(to)g(a)g(net)m(w)m(ork)g(ma)m(y)g(b)s(e)e(denied)h(when)f(the)i(mo)s
(di\014cation)f(itself)p eop end
%%Page: 89 94
-TeXDict begin 89 93 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 89 93 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(89)330 299 y(materially)32
b(and)e(adv)m(ersely)h(a\013ects)h(the)e(op)s(eration)h(of)g(the)f(net)
m(w)m(ork)h(or)g(violates)h(the)f(rules)f(and)330 408
5340 y(the)g(further)e(restriction)i(do)s(es)f(not)h(surviv)m(e)f(suc)m
(h)g(relicensing)h(or)g(con)m(v)m(eying.)p eop end
%%Page: 90 95
-TeXDict begin 90 94 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 90 94 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(90)330 299 y(If)30
b(y)m(ou)g(add)g(terms)g(to)h(a)g(co)m(v)m(ered)h(w)m(ork)e(in)g
(accord)h(with)f(this)g(section,)i(y)m(ou)e(m)m(ust)g(place,)i(in)e
(predecessor)f(has)g(it)h(or)f(can)h(get)h(it)e(with)h(reasonable)g
(e\013orts.)p eop end
%%Page: 91 96
-TeXDict begin 91 95 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 91 95 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(91)330 299 y(Y)-8
b(ou)36 b(ma)m(y)g(not)g(imp)s(ose)f(an)m(y)h(further)e(restrictions)j
(on)e(the)h(exercise)g(of)g(the)g(righ)m(ts)g(gran)m(ted)g(or)330
(arrangemen)m(t)h(with)e(a)i(third)e(part)m(y)h(that)g(is)g(in)g(the)g
(business)f(of)p eop end
%%Page: 92 97
-TeXDict begin 92 96 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 92 96 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(92)330 299 y(distributing)30
b(soft)m(w)m(are,)i(under)d(whic)m(h)h(y)m(ou)h(mak)m(e)g(pa)m(ymen)m
(t)g(to)g(the)g(third)f(part)m(y)g(based)g(on)h(the)330
e(LA)-10 b(W.)47 b(EX)m(CEPT)f(WHEN)i(OTHER)-10 b(WISE)45
b(ST)-8 b(A)g(TED)47 b(IN)p eop end
%%Page: 93 98
-TeXDict begin 93 97 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 93 97 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(93)330 299 y(WRITING)34
b(THE)f(COPYRIGHT)g(HOLDERS)g(AND/OR)i(OTHER)e(P)-8 b(AR)g(TIES)33
b(PR)m(O)m(VIDE)330 408 y(THE)d(PR)m(OGRAM)i(\\AS)e(IS")h(WITHOUT)f(W)
(connection)h(with)330 3027 y(the)d(Program,)i(unless)d(a)h(w)m(arran)m
(t)m(y)h(or)f(assumption)g(of)g(liabilit)m(y)i(accompanies)f(a)g(cop)m
(y)g(of)f(the)330 3136 y(Program)c(in)f(return)f(for)h(a)h(fee.)150
-3368 y Fw(END)45 b(OF)g(TERMS)f(AND)h(CONDITIONS)150
+3368 y Fu(END)45 b(OF)g(TERMS)f(AND)h(CONDITIONS)150
3625 y(Ho)l(w)h(to)f(Apply)f(These)h(T)-11 b(erms)45
-b(to)g(Y)-11 b(our)44 b(New)i(Programs)150 3784 y Fx(If)20
+b(to)g(Y)-11 b(our)44 b(New)i(Programs)150 3784 y Fv(If)20
b(y)m(ou)i(dev)m(elop)f(a)h(new)e(program,)j(and)d(y)m(ou)i(w)m(an)m(t)
f(it)h(to)f(b)s(e)g(of)g(the)g(greatest)i(p)s(ossible)d(use)h(to)g(the)
g(public,)150 3894 y(the)28 b(b)s(est)f(w)m(a)m(y)i(to)g(ac)m(hiev)m(e)
y(MERCHANTABILITY)i(or)c(FITNESS)i(FOR)f(A)g(PARTICULAR)h(PURPOSE.)80
b(See)40 b(the)g(GNU)p eop end
%%Page: 94 99
-TeXDict begin 94 98 bop 150 -116 a Fx(App)s(endix)29
+TeXDict begin 94 98 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(94)390 299 y Fd(General)41
b(Public)f(License)h(for)f(more)g(details.)390 473 y(You)g(should)g
(have)h(received)g(a)e(copy)h(of)g(the)g(GNU)g(General)h(Public)f
(License)390 560 y(along)g(with)g(this)h(program.)80
b(If)40 b(not,)g(see)g(http://www.gnu.org/licenses/.)275
-695 y Fx(Also)31 b(add)e(information)i(on)f(ho)m(w)h(to)g(con)m(tact)i
+695 y Fv(Also)31 b(add)e(information)i(on)f(ho)m(w)h(to)g(con)m(tact)i
(y)m(ou)d(b)m(y)g(electronic)j(and)d(pap)s(er)f(mail.)275
829 y(If)e(the)i(program)f(do)s(es)f(terminal)i(in)m(teraction,)i(mak)m
(e)e(it)g(output)f(a)g(short)g(notice)i(lik)m(e)f(this)f(when)f(it)150
(ABSOLUTELY)i(NO)e(WARRANTY;)h(for)f(details)h(type)f(`show)g(w'.)390
1225 y(This)g(is)g(free)g(software,)h(and)f(you)g(are)g(welcome)h(to)e
(redistribute)j(it)390 1313 y(under)e(certain)h(conditions;)h(type)e
-(`show)g(c')g(for)g(details.)275 1447 y Fx(The)27 b(h)m(yp)s(othetical)
-i(commands)f(`)p Fr(show)h(w)p Fx(')f(and)f(`)p Fr(show)j(c)p
-Fx(')d(should)g(sho)m(w)h(the)g(appropriate)g(parts)g(of)150
+(`show)g(c')g(for)g(details.)275 1447 y Fv(The)27 b(h)m(yp)s(othetical)
+i(commands)f(`)p Fp(show)h(w)p Fv(')f(and)f(`)p Fp(show)j(c)p
+Fv(')d(should)g(sho)m(w)h(the)g(appropriate)g(parts)g(of)150
1557 y(the)i(General)h(Public)f(License.)41 b(Of)30 b(course,)h(y)m
(our)f(program's)g(commands)f(migh)m(t)i(b)s(e)f(di\013eren)m(t;)h(for)
f(a)150 1666 y(GUI)h(in)m(terface,)h(y)m(ou)f(w)m(ould)f(use)g(an)g
b(to)150 1910 y(sign)d(a)g(\\cop)m(yrigh)m(t)h(disclaimer")g(for)e(the)
h(program,)g(if)f(necessary)-8 b(.)48 b(F)-8 b(or)34
b(more)e(information)h(on)g(this,)150 2020 y(and)d(ho)m(w)g(to)h(apply)
-f(and)g(follo)m(w)i(the)e(GNU)h(GPL,)g(see)g Fr
-(http://www.gnu.org/licen)o(ses)o(/)p Fx(.)275 2154 y(The)44
+f(and)g(follo)m(w)i(the)e(GNU)h(GPL,)g(see)g Fp
+(http://www.gnu.org/licen)o(ses)o(/)p Fv(.)275 2154 y(The)44
b(GNU)h(General)g(Public)f(License)i(do)s(es)e(not)h(p)s(ermit)e
(incorp)s(orating)i(y)m(our)g(program)f(in)m(to)150 2264
y(proprietary)35 b(programs.)57 b(If)35 b(y)m(our)h(program)f(is)h(a)g
b(this)g(is)g(what)g(y)m(ou)g(w)m(an)m(t)150 2483 y(to)f(do,)g(use)f
(the)g(GNU)h(Lesser)g(General)g(Public)f(License)h(instead)g(of)f(this)
h(License.)40 b(But)30 b(\014rst,)f(please)150 2593 y(read)h
-Fr(http://www.gnu.org/philos)o(ophy)o(/why)o(-no)o(t-lg)o(pl.h)o(tml)o
-Fx(.)p eop end
+Fp(http://www.gnu.org/philos)o(ophy)o(/why)o(-no)o(t-lg)o(pl.h)o(tml)o
+Fv(.)p eop end
%%Page: 95 100
-TeXDict begin 95 99 bop 150 -116 a Fx(F)-8 b(unction)31
+TeXDict begin 95 99 bop 150 -116 a Fv(F)-8 b(unction)31
b(and)f(V)-8 b(ariable)32 b(Index)2370 b(95)150 299 y
-Fu(F)-13 b(unction)52 b(and)h(V)-13 b(ariable)53 b(Index)150
-610 y Fw(I)150 726 y Fd(idn_free)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)
+Fs(F)-13 b(unction)52 b(and)h(V)-13 b(ariable)53 b(Index)150
+610 y Fu(I)150 726 y Fd(idn_free)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38
-b Ff(13)150 814 y Fd(idna-to-ascii)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g
+b Fe(13)150 814 y Fd(idna-to-ascii)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Ff(57)150 901 y Fd(idna-to-unicode)11
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fe(57)150 901 y Fd(idna-to-unicode)11
b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
-b Ff(57)150 988 y Fd(idna_strerror)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g
+b Fe(57)150 988 y Fd(idna_strerror)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Ff(29)150 1076 y Fd(idna_to_ascii_4i)9
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fe(29)150 1076 y Fd(idna_to_ascii_4i)9
b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
-b Ff(26)150 1163 y Fd(idna_to_ascii_4z)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)
+b Fe(26)150 1163 y Fd(idna_to_ascii_4z)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)35 b Ff(27)150 1250 y Fd(idna_to_ascii_8z)9
+(:)g(:)h(:)f(:)g(:)g(:)35 b Fe(27)150 1250 y Fd(idna_to_ascii_8z)9
b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
-b Ff(27)150 1338 y Fd(idna_to_ascii_lz)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)
+b Fe(27)150 1338 y Fd(idna_to_ascii_lz)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)35 b Ff(27)150 1425 y Fd(idna_to_unicode_44i)18
+(:)g(:)h(:)f(:)g(:)g(:)35 b Fe(27)150 1425 y Fd(idna_to_unicode_44i)18
b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Ff(26)150 1512
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fe(26)150 1512
y Fd(idna_to_unicode_4z4z)16 b Fa(:)h(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42
-b Ff(28)150 1600 y Fd(idna_to_unicode_8z4z)16 b Fa(:)h(:)c(:)h(:)f(:)g
+b Fe(28)150 1600 y Fd(idna_to_unicode_8z4z)16 b Fa(:)h(:)c(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)42 b Ff(28)150 1687 y Fd(idna_to_unicode_8z8z)16
+g(:)42 b Fe(28)150 1687 y Fd(idna_to_unicode_8z8z)16
b Fa(:)h(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Ff(28)150 1774 y Fd
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Fe(28)150 1774 y Fd
(idna_to_unicode_8zlz)16 b Fa(:)h(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42
-b Ff(29)150 1862 y Fd(idna_to_unicode_lzlz)16 b Fa(:)h(:)c(:)h(:)f(:)g
+b Fe(29)150 1862 y Fd(idna_to_unicode_lzlz)16 b Fa(:)h(:)c(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)42 b Ff(29)150 2105 y Fw(P)150 2221 y Fd(pr29_4)17
+g(:)42 b Fe(29)150 2105 y Fu(P)150 2221 y Fd(pr29_4)17
b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)43 b Ff(36)150 2308 y Fd(pr29_4z)15
+(:)g(:)g(:)g(:)g(:)h(:)43 b Fe(36)150 2308 y Fd(pr29_4z)15
b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)41 b Ff(37)150 2395 y Fd(pr29_8z)15
+(:)f(:)g(:)g(:)g(:)41 b Fe(37)150 2395 y Fd(pr29_8z)15
b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)41 b Ff(37)150 2483 y Fd(pr29_strerror)16
+(:)f(:)g(:)g(:)g(:)41 b Fe(37)150 2483 y Fd(pr29_strerror)16
b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
-b Ff(37)150 2570 y Fd(punycode-decode)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)
+b Fe(37)150 2570 y Fd(punycode-decode)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Ff(56)150 2657 y Fd(punycode-encode)11
+(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fe(56)150 2657 y Fd(punycode-encode)11
b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
-b Ff(56)150 2745 y Fd(punycode_decode)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)
+b Fe(56)150 2745 y Fd(punycode_decode)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Ff(23)150 2832 y Fd(punycode_encode)11
+(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fe(23)150 2832 y Fd(punycode_encode)11
b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
-b Ff(22)150 2919 y Fd(punycode_strerror)6 b Fa(:)17 b(:)c(:)g(:)h(:)f
+b Fe(22)150 2919 y Fd(punycode_strerror)6 b Fa(:)17 b(:)c(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)32 b Ff(24)150 3172 y Fw(S)150 3288
+g(:)g(:)g(:)g(:)h(:)32 b Fe(24)150 3172 y Fu(S)150 3288
y Fd(stringprep)7 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Ff(18)150 3375 y Fd(stringprep_4i)16
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fe(18)150 3375 y Fd(stringprep_4i)16
b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
-b Ff(17)150 3462 y Fd(stringprep_4zi)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)
+b Fe(17)150 3462 y Fd(stringprep_4zi)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Ff(18)2025 610 y Fd
+(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fe(18)2025 610 y Fd
(stringprep_check_version)28 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Ff(10)2025
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fe(10)2025
699 y Fd(stringprep_convert)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-47 b Ff(16)2025 787 y Fd(stringprep_iscsi)9 b Fa(:)16
+47 b Fe(16)2025 787 y Fd(stringprep_iscsi)9 b Fa(:)16
b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Ff(20)2025
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fe(20)2025
875 y Fd(stringprep_locale_charset)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Ff(16)2025
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fe(16)2025
964 y Fd(stringprep_locale_to_utf8)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Ff(16)2025
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fe(16)2025
1052 y Fd(stringprep_nameprep_no_unassig)q(ned)17 b Fa(:)i(:)13
-b(:)g(:)g(:)h(:)f(:)g(:)g(:)43 b Ff(20)2025 1141 y Fd(stringprep_plain)
+b(:)g(:)g(:)h(:)f(:)g(:)g(:)43 b Fe(20)2025 1141 y Fd(stringprep_plain)
9 b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
-b Ff(20)2025 1229 y Fd(stringprep_profile)25 b Fa(:)13
+b Fe(20)2025 1229 y Fd(stringprep_profile)25 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Ff(19)2025 1318 y
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fe(19)2025 1318 y
Fd(stringprep_strerror)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
-b Ff(19)2025 1406 y Fd(stringprep_ucs4_nfkc_normalize)8
+b Fe(19)2025 1406 y Fd(stringprep_ucs4_nfkc_normalize)8
b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34
-b Ff(15)2025 1494 y Fd(stringprep_ucs4_to_utf8)8 b Fa(:)18
+b Fe(15)2025 1494 y Fd(stringprep_ucs4_to_utf8)8 b Fa(:)18
b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)34 b Ff(14)2025 1583 y Fd(stringprep_unichar_to_utf8)17
+g(:)g(:)h(:)34 b Fe(14)2025 1583 y Fd(stringprep_unichar_to_utf8)17
b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)44 b Ff(14)2025 1671 y Fd(stringprep_utf8_nfkc_normalize)8
+(:)44 b Fe(14)2025 1671 y Fd(stringprep_utf8_nfkc_normalize)8
b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34
-b Ff(15)2025 1760 y Fd(stringprep_utf8_to_locale)25 b
+b Fe(15)2025 1760 y Fd(stringprep_utf8_to_locale)25 b
Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)46 b Ff(16)2025 1848 y Fd(stringprep_utf8_to_ucs4)8
+(:)h(:)46 b Fe(16)2025 1848 y Fd(stringprep_utf8_to_ucs4)8
b Fa(:)18 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)34 b Ff(15)2025 1937 y Fd
+(:)g(:)g(:)g(:)g(:)h(:)34 b Fe(15)2025 1937 y Fd
(stringprep_utf8_to_unichar)17 b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Ff(14)2025 2025
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fe(14)2025 2025
y Fd(stringprep_xmpp_nodeprep)28 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Ff(21)2025
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Fe(21)2025
2113 y Fd(stringprep_xmpp_resourceprep)13 b Fa(:)19 b(:)13
b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39
-b Ff(21)2025 2371 y Fw(T)2025 2490 y Fd(tld_check_4)24
+b Fe(21)2025 2371 y Fu(T)2025 2490 y Fd(tld_check_4)24
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-48 b Ff(33)2025 2578 y Fd(tld_check_4t)21 b Fa(:)14 b(:)f(:)g(:)g(:)g
+48 b Fe(33)2025 2578 y Fd(tld_check_4t)21 b Fa(:)14 b(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Ff(31)2025
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fe(31)2025
2667 y Fd(tld_check_4tz)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)43 b Ff(31)2025 2755 y Fd(tld_check_4z)21
+f(:)g(:)g(:)g(:)43 b Fe(31)2025 2755 y Fd(tld_check_4z)21
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
-b Ff(34)2025 2844 y Fd(tld_check_8z)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
+b Fe(34)2025 2844 y Fd(tld_check_8z)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Ff(34)2025 2932
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fe(34)2025 2932
y Fd(tld_check_lz)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)45 b Ff(34)2025 3020 y Fd(tld_default_table)6
+(:)g(:)g(:)g(:)h(:)45 b Fe(34)2025 3020 y Fd(tld_default_table)6
b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Ff(33)2025
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Fe(33)2025
3109 y Fd(tld_get_4)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Ff(32)2025 3197
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fe(32)2025 3197
y Fd(tld_get_4z)7 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Ff(32)2025 3286 y Fd(tld_get_table)16
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fe(32)2025 3286 y Fd(tld_get_table)16
b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
-b Ff(33)2025 3374 y Fd(tld_get_z)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g
+b Fe(33)2025 3374 y Fd(tld_get_z)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b
-Ff(32)2025 3462 y Fd(tld_strerror)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)
+Fe(32)2025 3462 y Fd(tld_strerror)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Ff(35)p eop end
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fe(35)p eop end
%%Page: 96 101
-TeXDict begin 96 100 bop 150 -116 a Fx(Concept)31 b(Index)2927
-b(96)150 299 y Fu(Concept)52 b(Index)150 638 y Fw(A)150
-754 y Ff(AIX)14 b Fa(:)e(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+TeXDict begin 96 100 bop 150 -116 a Fv(Concept)31 b(Index)2927
+b(96)150 299 y Fs(Concept)52 b(Index)150 638 y Fu(A)150
+754 y Fe(AIX)14 b Fa(:)e(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41
-b Ff(4)150 841 y(ARM)11 b Fa(:)h(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+b Fe(4)150 841 y(ARM)11 b Fa(:)h(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)37
-b Ff(5)150 929 y(Auto)r(conf)26 b(tests)10 b Fa(:)j(:)g(:)g(:)g(:)h(:)f
+b Fe(5)150 929 y(Auto)r(conf)26 b(tests)10 b Fa(:)j(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Ff(11)150 1162
-y Fw(C)150 1278 y Ff(command)26 b(line)20 b Fa(:)13 b(:)g(:)g(:)g(:)h
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fe(11)150 1162
+y Fu(C)150 1278 y Fe(command)26 b(line)20 b Fa(:)13 b(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Ff(52)150
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fe(52)150
1365 y(Compiling)27 b(y)n(our)e(application)17 b Fa(:)e(:)e(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
-b Ff(11)150 1452 y(Con\014gure)26 b(tests)20 b Fa(:)13
+b Fe(11)150 1452 y(Con\014gure)26 b(tests)20 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45
-b Ff(11)150 1539 y(Con)n(tributing)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f
+b Fe(11)150 1539 y(Con)n(tributing)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50 b Ff(7)150
-1789 y Fw(D)150 1905 y Ff(de-allo)r(cation)25 b Fa(:)13
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50 b Fe(8)150
+1789 y Fu(D)150 1905 y Fe(de-allo)r(cation)25 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49
-b Ff(12)150 1992 y(Debian)18 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+b Fe(12)150 1992 y(Debian)18 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)45
-b Ff(3)150 2079 y(Do)n(wnload)22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)
+b Fe(3)150 2080 y(Do)n(wnload)22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48
-b Ff(6)150 2312 y Fw(E)150 2428 y Ff(Examples)7 b Fa(:)14
+b Fe(6)150 2313 y Fu(E)150 2429 y Fe(Examples)7 b Fa(:)14
b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)33 b Ff(38)150 2678 y Fw(F)150 2794 y Ff(FDL,)26
+g(:)h(:)33 b Fe(38)150 2678 y Fu(F)150 2795 y Fe(FDL,)26
b(GNU)f(F)-6 b(ree)25 b(Do)r(cumen)n(tation)h(License)20
-b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)45 b Ff(68)150 2881
+b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)45 b Fe(68)150 2882
y(free)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 b
-Ff(12)150 2968 y(F)-6 b(reeBSD)22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
+Fe(12)150 2969 y(F)-6 b(reeBSD)22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49
-b Ff(5)150 3201 y Fw(G)150 3317 y Ff(GPL,)26 b(GNU)f(General)i(Public)f
+b Fe(5)150 3202 y Fu(G)150 3318 y Fe(GPL,)26 b(GNU)f(General)i(Public)f
(License)e Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49
-b Ff(83)150 3567 y Fw(H)150 3683 y Ff(Hac)n(king)18 b
+b Fe(83)150 3568 y Fu(H)150 3684 y Fe(Hac)n(king)18 b
Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)45 b Ff(7)150 3770 y(heap)25 b(memory)10
+g(:)g(:)g(:)g(:)h(:)45 b Fe(8)150 3771 y(heap)25 b(memory)10
b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36
-b Ff(12)150 3857 y(HP-UX)12 b Fa(:)f(:)j(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+b Fe(12)150 3858 y(HP-UX)12 b Fa(:)f(:)j(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
-b Ff(4)150 4090 y Fw(I)150 4206 y Fd(idn)8 b Fa(:)14
-b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Ff(52)150 4293 y(IDNA)24
-b(F)-6 b(unctions)12 b Fa(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fe(4)150 4091 y Fu(I)150 4207 y Fe(IBM)9 b Fa(:)14
+b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fe(5)150 4295 y
+Fd(idn)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
+b Fe(52)150 4382 y(IDNA)24 b(F)-6 b(unctions)12 b Fa(:)h(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fe(25)150 4469
+y(Installation)14 b Fa(:)g(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fe(6)150 4556 y(in)n(v)n(oking)25
+b Fd(idn)8 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)38 b Ff(25)150 4381 y(Installation)14 b Fa(:)g(:)g(:)f(:)g(:)g
+h(:)f(:)g(:)g(:)34 b Fe(52)150 4644 y(IRIX)18 b Fa(:)12
+b(:)h(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)45 b Fe(4)150 4877 y Fu(L)150
+4993 y Fe(LGPL,)26 b(GNU)f(Lesser)i(General)g(Public)f(License)19
+b Fa(:)13 b(:)h(:)f(:)45 b Fe(75)150 5080 y(License,)27
+b(GNU)e(GPL)13 b Fa(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
+b Fe(83)150 5167 y(License,)27 b(GNU)e(LGPL)6 b Fa(:)13
+b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fe(75)2025 638
+y Fu(M)2025 759 y Fe(MacOS)26 b(X)7 b Fa(:)12 b(:)h(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
-b Ff(6)150 4468 y(in)n(v)n(oking)25 b Fd(idn)8 b Fa(:)14
-b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
-b Ff(52)150 4555 y(IRIX)18 b Fa(:)12 b(:)h(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)45
-b Ff(4)150 4788 y Fw(L)150 4904 y Ff(LGPL,)26 b(GNU)f(Lesser)i(General)
-g(Public)f(License)19 b Fa(:)13 b(:)h(:)f(:)45 b Ff(75)150
-4991 y(License,)27 b(GNU)e(GPL)13 b Fa(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)39 b Ff(83)150 5079 y(License,)27 b(GNU)e(LGPL)6
-b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Ff(75)2025
-638 y Fw(M)2025 759 y Ff(MacOS)26 b(X)7 b Fa(:)12 b(:)h(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)34
-b Ff(5)2025 848 y(Mandrak)n(e)20 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)34
+b Fe(5)2025 848 y(Mandrak)n(e)20 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)48
-b Ff(4)2025 938 y(Memory)26 b(handling)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)h
+b Fe(4)2025 938 y(Memory)26 b(handling)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)35 b Ff(12)2025 1027 y(Microsoft)13
+g(:)g(:)g(:)g(:)g(:)h(:)35 b Fe(12)2025 1027 y(Microsoft)13
b Fa(:)i(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)40 b Ff(5)2025 1117 y(mingw32)23 b
+(:)h(:)f(:)g(:)g(:)40 b Fe(5)2025 1117 y(mingw32)23 b
Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)49 b Ff(5)2025 1206 y(Motorola)28
+h(:)f(:)g(:)g(:)g(:)49 b Fe(5)2025 1206 y(Motorola)28
b(Cold\014re)10 b Fa(:)j(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)37 b Ff(5)2025 1451 y Fw(N)2025 1572 y Ff(NetBSD)15
+(:)37 b Fe(5)2025 1451 y Fu(N)2025 1571 y Fe(NetBSD)15
b Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)42 b Ff(5)2025 1817 y Fw(O)2025
-1938 y Ff(Op)r(enBSD)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+(:)g(:)g(:)g(:)g(:)h(:)42 b Fe(5)2025 1816 y Fu(O)2025
+1937 y Fe(Op)r(enBSD)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47 b Ff(5)2025
-2027 y(Op)r(enP)n(o)n(w)n(er)26 b(720)10 b Fa(:)k(:)g(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47 b Fe(5)2025
+2026 y(Op)r(enP)n(o)n(w)n(er)26 b(720)10 b Fa(:)k(:)g(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fe(4)2025 2116
+y(OS/2)13 b Fa(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Ff(4)2025 2289
-y Fw(P)2025 2410 y Ff(PR29)26 b(F)-6 b(unctions)20 b
-Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fe(5)2025
+2381 y Fu(P)2025 2502 y Fe(PR29)26 b(F)-6 b(unctions)20
+b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)46
-b Ff(36)2025 2499 y(Pun)n(yco)r(de)25 b(F)-6 b(unctions)17
+b Fe(36)2025 2591 y(Pun)n(yco)r(de)25 b(F)-6 b(unctions)17
b Fa(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44 b Ff(22)2025
-2761 y Fw(R)2025 2882 y Ff(RedHat)7 b Fa(:)12 b(:)i(:)f(:)g(:)g(:)g(:)g
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44 b Fe(22)2025
+2853 y Fu(R)2025 2973 y Fe(RedHat)7 b Fa(:)12 b(:)i(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34
-b Ff(4)2025 2971 y(RedHat)25 b(Adv)l(anced)f(Serv)n(er)19
+b Fe(4)2025 3063 y(RedHat)25 b(Adv)l(anced)f(Serv)n(er)19
b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Ff(4)2025 3061 y(Rep)r(orting)26
+(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fe(4)2025 3152 y(Rep)r(orting)26
b(Bugs)10 b Fa(:)j(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)37 b Ff(7)2025 3323 y Fw(S)2025 3443 y Ff(Solaris)9
+g(:)37 b Fe(7)2025 3414 y Fu(S)2025 3534 y Fe(Solaris)9
b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Ff(4)2025 3533 y(Stringprep)25
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fe(4)2025 3624 y(Stringprep)25
b(F)-6 b(unctions)20 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47
-b Ff(17)2025 3622 y(SuSE)13 b Fa(:)f(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+b Fe(17)2025 3713 y(SuSE)13 b Fa(:)f(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)40
-b Ff(4)2025 3712 y(SuSE)25 b(Lin)n(ux)c Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
+b Fe(4)2025 3803 y(SuSE)25 b(Lin)n(ux)c Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)50 b
-Ff(4)2025 3957 y Fw(T)2025 4078 y Ff(TLD)25 b(F)-6 b(unctions)15
+Fe(4)2025 4047 y Fu(T)2025 4168 y Fe(TLD)25 b(F)-6 b(unctions)15
b Fa(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41
-b Ff(31)2025 4167 y(T)-6 b(ru64)21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
+b Fe(31)2025 4257 y(T)-6 b(ru64)21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48
-b Ff(4)2025 4412 y Fw(U)2025 4533 y Ff(uClib)r(c)10 b
+b Fe(4)2025 4502 y Fu(U)2025 4623 y Fe(uClib)r(c)10 b
Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)37 b Ff(5)2025 4622 y(uClin)n(ux)21
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)37 b Fe(5)2025 4712 y(uClin)n(ux)21
b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)49 b Ff(5)2025 4712 y(Utilit)n(y)25
+g(:)h(:)f(:)g(:)g(:)g(:)49 b Fe(5)2025 4802 y(Utilit)n(y)25
b(F)-6 b(unctions)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)46 b Ff(14)2025 4974 y Fw(W)2025 5094 y Ff(Windo)n(ws)9
+(:)h(:)46 b Fe(14)2025 5063 y Fu(W)2025 5184 y Fe(Windo)n(ws)9
b Fa(:)k(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)35 b Ff(4,)27 b(5)p eop end
+(:)f(:)g(:)35 b Fe(4,)27 b(5)p eop end
%%Trailer
userdict /end-hook known{end-hook}if
@setfilename libidn.info
@documentencoding UTF-8
@include version.texi
-@settitle GNU Libidn
+@settitle GNU Libidn @value{VERSION}
@finalout
@syncodeindex pg cp
This manual is last updated @value{UPDATED} for version
@value{VERSION} of GNU Libidn.
-Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+2010, 2011 Simon Josefsson.
@quotation
Permission is granted to copy, distribute and/or modify this document
LGPL}).
@item It's thread-safe
-No global state is kept in the library. All functions are reentrant.
+No global state is kept in the library. All functions are re-entrant.
@item It's portable
The code is intended to be written in pure ANSI C89. It has been
@section Supported Platforms
Libidn has at some point in time been tested on the following
-platforms. Online build reports for each platforms and Libidn version
-is available at @url{http://autobuild.josefsson.org/libidn/}.
+platforms. Build reports for each platforms and Libidn version is
+available at @url{http://autobuild.josefsson.org/libidn/}.
@enumerate
GCC 3.4.4 and GNU Make @code{i586-mingw32msvc}.
+@item OS/2
+@cindex OS/2
+@cindex IBM
+
+GCC.
+
@end enumerate
If you use Libidn on, or port Libidn to, a new platform please report
If you are interested, please write to:
@verbatim
-Simon Josefsson Datakonsult
+Simon Josefsson Datakonsult AB
Hagagatan 24
113 47 Stockholm
Sweden
E-mail: simon@josefsson.org
@end verbatim
-If your company provide support related to GNU Libidn and would like
+If your company provides support related to GNU Libidn and would like
to be mentioned here, contact the author (@pxref{Bug Reports}).
@node Downloading and Installing
indicating whether the PNET @command{cscc} compiler or the Mono
@command{mcs} compiler should be used, respectively.
+@item --disable-valgrind-tests
+Disable running the self-checks under Valgrind
+(@url{http://valgrind.org/}). Normally Valgrind does not cause
+problems and can detect some severe memory errors. If you are getting
+errors from Valgrind that are caused by the compiler or libc (possibly
+as a result of special optimization flags), you may use this option to
+disable the use of Valgrind.
+
@end table
For the complete list, refer to the output from @code{configure
@{
printf ("stringprep_check_version() failed:\n"
"Header file incompatible with shared library.\n");
- exit(1);
+ exit(EXIT_FAILURE);
@}
@end example
path (via the @option{-L} option). For this, the option
@option{--libs} to @command{pkg-config libidn} can be used. For
convenience, this option also outputs all other options that are
-required to link the program with the `libidn' libarary. The example
+required to link the program with the `libidn' library. The example
shows how to link @file{foo.o} with the `libidn' library to a program
@command{foo}.
illustrative. It add a new @file{configure} parameter
@code{--with-libidn}, and check for @file{idna.h} and @samp{-lidn}
(possibly below the directory specified as the optional argument to
-@code{--with-libidn}), and define the @acronym{CPP} symbol
-@code{LIBIDN} if the library is found. The default behaviour is to
-search for the library and enable the functionality (that is, define
-the symbol) when the library is found, but if you wish to make the
-default behaviour of your package be that Libidn is not used (even if
-it is installed on the system), change @samp{libidn=yes} to
-@samp{libidn=no} on the third line.
+@code{--with-libidn}), and define the CPP symbol @code{LIBIDN} if the
+library is found. The default behaviour is to search for the library
+and enable the functionality (that is, define the symbol) when the
+library is found, but if you wish to make the default behaviour of
+your package be that Libidn is not used (even if it is installed on
+the system), change @samp{libidn=yes} to @samp{libidn=no} on the third
+line.
@example
AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
takes UCS-4 strings (i.e., Unicode code points encoded in a 32-bit
unsigned integer type) of the specified length. The @code{i} indicate
that the data is written ``inline'' into the buffer. This means the
-caller is responsible for allocating (and deallocating) the string,
+caller is responsible for allocating (and de-allocating) the string,
and providing the library with the allocated length of the string.
The output length is written in the output length variable. The
remaining functions all contain the @code{z} indicator, which means
the strings are zero terminated. All output strings are allocated by
-the library, and must be deallocated by the caller. The @code{4}
+the library, and must be de-allocated by the caller. The @code{4}
indicator again means that the string is UCS-4, the @code{8} means the
strings are UTF-8 and the @code{l} indicator means the strings are
encoded in the encoding used by the current locale.
@chapter TLD Functions
@cindex TLD Functions
-Organizations that manage some Top Level Domains (@acronym{TLD}s) have
-published tables with characters they accept within the domain. The
-reason may be to reduce complexity that come from using the full
-Unicode range, and to protect themselves from future (backwards
-incompatible) changes in the IDN or Unicode specifications. Libidn
-implement an infrastructure for defining and checking strings against
-such tables. Libidn also ship some tables from @acronym{TLD}s that we
-have managed to get permission to use them from. Because these tables
-are even less static than Unicode or StringPrep tables, it is likely
-that they will be updated from time to time (even in backwards
-incompatibe ways). The Libidn interface provide a ``version'' field
-for each @acronym{TLD} table, which can be compared for equality to
-guarantee the same operation over time.
-
-From a design point of view, you can regard the @acronym{TLD} tables
-for IDN as the ``localization'' step that come after the
-``internationalization'' step provided by the IETF standards.
+Organizations that manage some Top Level Domains (TLDs) have published
+tables with characters they accept within the domain. The reason may
+be to reduce complexity that come from using the full Unicode range,
+and to protect themselves from future (backwards incompatible) changes
+in the IDN or Unicode specifications. Libidn implement an
+infrastructure for defining and checking strings against such tables.
+Libidn also ship some tables from TLDs that we have managed to get
+permission to use them from. Because these tables are even less
+static than Unicode or StringPrep tables, it is likely that they will
+be updated from time to time (even in backwards incompatible ways).
+The Libidn interface provide a ``version'' field for each TLD table,
+which can be compared for equality to guarantee the same operation
+over time.
+
+From a design point of view, you can regard the TLD tables for IDN as
+the ``localization'' step that come after the ``internationalization''
+step provided by the IETF standards.
The TLD functionality rely on up-to-date tables. The latest version
of Libidn aim to provide these, but tables with unclear copying
conditions, or generally experimental tables, are not included. Some
-such tables can be found at @url{http://tldchk.berlios.de}.
+such tables can be found at @url{https://github.com/gnuthor/tldchk}.
@section Header file @code{tld.h}
-p, --profile=STRING Use specified stringprep profile instead
Valid stringprep profiles: `Nameprep',
- `iSCSI', `Nodeprep', `Resourceprep',
+ `iSCSI', `Nodeprep', `Resourceprep',
`trace', `SASLprep'
--debug Print debugging information
The simplest explanation is that you haven't installed the
@samp{iconv} conversion tools. You can find it as a standalone
-library in @acronym{GNU} Libiconv
-(@uref{http://www.gnu.org/software/libiconv/}). On many
-@acronym{GNU}/Linux systems, this library is part of the system, but
-you may have to install additional packages (e.g., @samp{glibc-locale}
-for Debian) to be able to use it.
+library in GNU Libiconv
+(@uref{http://www.gnu.org/software/libiconv/}). On many GNU/Linux
+systems, this library is part of the system, but you may have to
+install additional packages (e.g., @samp{glibc-locale} for Debian) to
+be able to use it.
Another explanation is that the error is correct and you are feeding
@samp{idn} invalid data. This can happen inadvertently if you are not
-careful with the character set encodings you use. For example, if
-your shell run in a @code{ISO-8859-1} environment, and you invoke
+careful with the character set encoding you use. For example, if your
+shell run in a @code{ISO-8859-1} environment, and you invoke
@samp{idn} with the @samp{CHARSET} environment variable as follows,
you will feed it @code{ISO-8859-1} characters but force it to believe
they are @code{UTF-8}. Naturally this will lead to an error, unless
-the byte sequences happen to be parsable as @code{UTF-8}. Note that
-even if you don't get an error, the output may be incorrect in this
-situation, because @code{ISO-8859-1} and @code{UTF-8} does not in
-general encode the same characters as the same byte sequences.
+the byte sequences happen to be valid @code{UTF-8}. Note that even if
+you don't get an error, the output may be incorrect in this situation,
+because @code{ISO-8859-1} and @code{UTF-8} does not in general encode
+the same characters as the same byte sequences.
@example
jas@@latte:~$ idn --quiet --debug ""
The test vectors can be found at the Libidn homepage,
@url{http://www.gnu.org/software/libidn/}.
-To test the tranformation manually, use:
+To test the transformation manually, use:
@example
$ java -cp .:../libidn.jar TestIDNA -a <string to test>
@section A Note on Java and Unicode
-This library uses Java's builtin 'char' datatype. Up to Java 1.4, this
+This library uses Java's built-in 'char' datatype. Up to Java 1.4, this
datatype only supports 16-bit Unicode code points, also called the
Basic Multilingual Plane. For this reason, this library doesn't work
for Supplementary Characters (i.e. characters from U+10000 to
To: bug-libidn@gnu.org
Date: Wed, 27 Oct 2004 14:49:17 -0700
-Hello. On behalf of the Unicode Consortium editorial committee, I would
-like to find out more information about the PR 29 fixes, if any, and
-functions in Libidn. Your implementation was listed in the text of PR29 as
+Hello. On behalf of the Unicode Consortium editorial committee, I would
+like to find out more information about the PR 29 fixes, if any, and
+functions in Libidn. Your implementation was listed in the text of PR29 as
needing investigation, so I am following up on several implementations.
-The UTC has accepted the proposed fix to D2 as outlined in PR29, and a new
+The UTC has accepted the proposed fix to D2 as outlined in PR29, and a new
draft of UAX #15 has been issued.
-I have looked at Libidn 0.5.8 (today), and there may still be a possible
+I have looked at Libidn 0.5.8 (today), and there may still be a possible
bug in NFKC.java and nfkc.c.
------------------------------------------------------
&wc_buffer[last_start]))
{
-This appears to have the same bug as the current Python implementation (in
-Python 2.3.4). The code should be checking, as per new rule D2 UAX #15
-update, that the next combining character is the same or HIGHER than the
+This appears to have the same bug as the current Python implementation (in
+Python 2.3.4). The code should be checking, as per new rule D2 UAX #15
+update, that the next combining character is the same or HIGHER than the
current one. It now checks to see if it's non-zero and not equal.
The above line(s) should perhaps be changed to:
but I'm not sure of the sense of the comparison (< or > or <=?) here.
-In the text of PR29, I will be marking Libidn as "needs change" and adding
-the version number that I checked. If any further change is made, please
+In the text of PR29, I will be marking Libidn as "needs change" and adding
+the version number that I checked. If any further change is made, please
let me know the release version, and I'll update again.
Regards,
Rick McGowan <rick@unicode.org> writes:
-> Hello. On behalf of the Unicode Consortium editorial committee, I would
-> like to find out more information about the PR 29 fixes, if any, and
-> functions in Libidn. Your implementation was listed in the text of PR29 as
+> Hello. On behalf of the Unicode Consortium editorial committee, I would
+> like to find out more information about the PR 29 fixes, if any, and
+> functions in Libidn. Your implementation was listed in the text of PR29 as
> needing investigation, so I am following up on several implementations.
>
-> The UTC has accepted the proposed fix to D2 as outlined in PR29, and a new
+> The UTC has accepted the proposed fix to D2 as outlined in PR29, and a new
> draft of UAX #15 has been issued.
>
-> I have looked at Libidn 0.5.8 (today), and there may still be a possible
+> I have looked at Libidn 0.5.8 (today), and there may still be a possible
> bug in NFKC.java and nfkc.c.
Hello Rick.
@printindex cp
@bye
+
+@c LocalWords: Kerberos Shishi getaddrinfo Slackware Cygwin WorkShop
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "idn_free" 3 "1.15" "libidn" "libidn"
+.TH "idn_free" 3 "1.23" "libidn" "libidn"
.SH NAME
idn_free \- API function
.SH SYNOPSIS
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "idna_strerror" 3 "1.15" "libidn" "libidn"
+.TH "idna_strerror" 3 "1.23" "libidn" "libidn"
.SH NAME
-idna_strerror \- return string describing idna error code
+idna_strerror \- API function
.SH SYNOPSIS
.B #include <idna.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "idna_to_ascii_4i" 3 "1.15" "libidn" "libidn"
+.TH "idna_to_ascii_4i" 3 "1.23" "libidn" "libidn"
.SH NAME
-idna_to_ascii_4i \- convert Unicode domain name label to text
+idna_to_ascii_4i \- API function
.SH SYNOPSIS
.B #include <idna.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "idna_to_ascii_4z" 3 "1.15" "libidn" "libidn"
+.TH "idna_to_ascii_4z" 3 "1.23" "libidn" "libidn"
.SH NAME
-idna_to_ascii_4z \- convert Unicode domain name to text
+idna_to_ascii_4z \- API function
.SH SYNOPSIS
.B #include <idna.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "idna_to_ascii_8z" 3 "1.15" "libidn" "libidn"
+.TH "idna_to_ascii_8z" 3 "1.23" "libidn" "libidn"
.SH NAME
-idna_to_ascii_8z \- convert Unicode domain name to text
+idna_to_ascii_8z \- API function
.SH SYNOPSIS
.B #include <idna.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "idna_to_ascii_lz" 3 "1.15" "libidn" "libidn"
+.TH "idna_to_ascii_lz" 3 "1.23" "libidn" "libidn"
.SH NAME
-idna_to_ascii_lz \- convert Unicode domain name to text
+idna_to_ascii_lz \- API function
.SH SYNOPSIS
.B #include <idna.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "idna_to_unicode_44i" 3 "1.15" "libidn" "libidn"
+.TH "idna_to_unicode_44i" 3 "1.23" "libidn" "libidn"
.SH NAME
-idna_to_unicode_44i \- convert domain name label to Unicode
+idna_to_unicode_44i \- API function
.SH SYNOPSIS
.B #include <idna.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "idna_to_unicode_4z4z" 3 "1.15" "libidn" "libidn"
+.TH "idna_to_unicode_4z4z" 3 "1.23" "libidn" "libidn"
.SH NAME
-idna_to_unicode_4z4z \- convert domain name to Unicode
+idna_to_unicode_4z4z \- API function
.SH SYNOPSIS
.B #include <idna.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "idna_to_unicode_8z4z" 3 "1.15" "libidn" "libidn"
+.TH "idna_to_unicode_8z4z" 3 "1.23" "libidn" "libidn"
.SH NAME
-idna_to_unicode_8z4z \- convert domain name to Unicode
+idna_to_unicode_8z4z \- API function
.SH SYNOPSIS
.B #include <idna.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "idna_to_unicode_8z8z" 3 "1.15" "libidn" "libidn"
+.TH "idna_to_unicode_8z8z" 3 "1.23" "libidn" "libidn"
.SH NAME
-idna_to_unicode_8z8z \- convert domain name to Unicode
+idna_to_unicode_8z8z \- API function
.SH SYNOPSIS
.B #include <idna.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "idna_to_unicode_8zlz" 3 "1.15" "libidn" "libidn"
+.TH "idna_to_unicode_8zlz" 3 "1.23" "libidn" "libidn"
.SH NAME
-idna_to_unicode_8zlz \- convert domain name to Unicode
+idna_to_unicode_8zlz \- API function
.SH SYNOPSIS
.B #include <idna.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "idna_to_unicode_lzlz" 3 "1.15" "libidn" "libidn"
+.TH "idna_to_unicode_lzlz" 3 "1.23" "libidn" "libidn"
.SH NAME
-idna_to_unicode_lzlz \- convert domain name to Unicode
+idna_to_unicode_lzlz \- API function
.SH SYNOPSIS
.B #include <idna.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "pr29_4" 3 "1.15" "libidn" "libidn"
+.TH "pr29_4" 3 "1.23" "libidn" "libidn"
.SH NAME
-pr29_4 \- check if input trigger Unicode normalization bugs
+pr29_4 \- API function
.SH SYNOPSIS
.B #include <pr29.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "pr29_4z" 3 "1.15" "libidn" "libidn"
+.TH "pr29_4z" 3 "1.23" "libidn" "libidn"
.SH NAME
-pr29_4z \- check if input trigger Unicode normalization bugs
+pr29_4z \- API function
.SH SYNOPSIS
.B #include <pr29.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "pr29_8z" 3 "1.15" "libidn" "libidn"
+.TH "pr29_8z" 3 "1.23" "libidn" "libidn"
.SH NAME
-pr29_8z \- check if input trigger Unicode normalization bugs
+pr29_8z \- API function
.SH SYNOPSIS
.B #include <pr29.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "pr29_strerror" 3 "1.15" "libidn" "libidn"
+.TH "pr29_strerror" 3 "1.23" "libidn" "libidn"
.SH NAME
-pr29_strerror \- return string describing pr29 error code
+pr29_strerror \- API function
.SH SYNOPSIS
.B #include <pr29.h>
.sp
A problem sequence was encountered.
.SH "PR29_STRINGPREP_ERROR"
The character set conversion failed (only
-for \fBpr29_8()\fP and \fBpr29_8z()\fP).
+for \fBpr29_8z()\fP).
.SH "RETURN VALUE"
Returns a pointer to a statically allocated string
containing a description of the error with the return code \fIrc\fP.
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "punycode_decode" 3 "1.15" "libidn" "libidn"
+.TH "punycode_decode" 3 "1.23" "libidn" "libidn"
.SH NAME
-punycode_decode \- decode Punycode to Unicode
+punycode_decode \- API function
.SH SYNOPSIS
.B #include <punycode.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "punycode_encode" 3 "1.15" "libidn" "libidn"
+.TH "punycode_encode" 3 "1.23" "libidn" "libidn"
.SH NAME
-punycode_encode \- encode Unicode to Punycode
+punycode_encode \- API function
.SH SYNOPSIS
.B #include <punycode.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "punycode_strerror" 3 "1.15" "libidn" "libidn"
+.TH "punycode_strerror" 3 "1.23" "libidn" "libidn"
.SH NAME
-punycode_strerror \- return string describing punycode error code
+punycode_strerror \- API function
.SH SYNOPSIS
.B #include <punycode.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep" 3 "1.15" "libidn" "libidn"
+.TH "stringprep" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep \- prepare internationalized string
+stringprep \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_4i" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_4i" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_4i \- prepare internationalized string
+stringprep_4i \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_4zi" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_4zi" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_4zi \- prepare internationalized string
+stringprep_4zi \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_check_version" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_check_version" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_check_version \- check for library version
+stringprep_check_version \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_convert" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_convert" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_convert \- encode string using new character set
+stringprep_convert \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_locale_charset" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_locale_charset" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_locale_charset \- return charset used in current locale
+stringprep_locale_charset \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_locale_to_utf8" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_locale_to_utf8" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_locale_to_utf8 \- convert locale encoded string to UTF-8
+stringprep_locale_to_utf8 \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_profile" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_profile" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_profile \- prepare internationalized string
+stringprep_profile \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_strerror" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_strerror" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_strerror \- return string describing stringprep error code
+stringprep_strerror \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_ucs4_nfkc_normalize" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_ucs4_nfkc_normalize" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_ucs4_nfkc_normalize \- normalize Unicode string
+stringprep_ucs4_nfkc_normalize \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_ucs4_to_utf8" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_ucs4_to_utf8" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_ucs4_to_utf8 \- convert UCS-4 string to UTF-8
+stringprep_ucs4_to_utf8 \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
.SH "RETURN VALUE"
a pointer to a newly allocated UTF\-8 string.
This value must be deallocated by the caller.
-If an error occurs, \fBNULL\fP will be returned and \fIerror\fP
-set.
+If an error occurs, \fBNULL\fP will be returned.
.SH "REPORTING BUGS"
Report bugs to <bug-libidn@gnu.org>.
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_unichar_to_utf8" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_unichar_to_utf8" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_unichar_to_utf8 \- convert Unicode code point to UTF-8
+stringprep_unichar_to_utf8 \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_utf8_nfkc_normalize" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_utf8_nfkc_normalize" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_utf8_nfkc_normalize \- normalize Unicode string
+stringprep_utf8_nfkc_normalize \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_utf8_to_locale" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_utf8_to_locale" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_utf8_to_locale \- encode UTF-8 string to locale encoding
+stringprep_utf8_to_locale \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_utf8_to_ucs4" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_utf8_to_ucs4" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_utf8_to_ucs4 \- convert UTF-8 string to UCS-4
+stringprep_utf8_to_ucs4 \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "stringprep_utf8_to_unichar" 3 "1.15" "libidn" "libidn"
+.TH "stringprep_utf8_to_unichar" 3 "1.23" "libidn" "libidn"
.SH NAME
-stringprep_utf8_to_unichar \- convert UTF-8 to Unicode code point
+stringprep_utf8_to_unichar \- API function
.SH SYNOPSIS
.B #include <stringprep.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "tld_check_4" 3 "1.15" "libidn" "libidn"
+.TH "tld_check_4" 3 "1.23" "libidn" "libidn"
.SH NAME
-tld_check_4 \- verify that characters are permitted
+tld_check_4 \- API function
.SH SYNOPSIS
.B #include <tld.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "tld_check_4t" 3 "1.15" "libidn" "libidn"
+.TH "tld_check_4t" 3 "1.23" "libidn" "libidn"
.SH NAME
-tld_check_4t \- verify that characters are permitted
+tld_check_4t \- API function
.SH SYNOPSIS
.B #include <tld.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "tld_check_4tz" 3 "1.15" "libidn" "libidn"
+.TH "tld_check_4tz" 3 "1.23" "libidn" "libidn"
.SH NAME
-tld_check_4tz \- verify that characters are permitted
+tld_check_4tz \- API function
.SH SYNOPSIS
.B #include <tld.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "tld_check_4z" 3 "1.15" "libidn" "libidn"
+.TH "tld_check_4z" 3 "1.23" "libidn" "libidn"
.SH NAME
-tld_check_4z \- verify that characters are permitted
+tld_check_4z \- API function
.SH SYNOPSIS
.B #include <tld.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "tld_check_8z" 3 "1.15" "libidn" "libidn"
+.TH "tld_check_8z" 3 "1.23" "libidn" "libidn"
.SH NAME
-tld_check_8z \- verify that characters are permitted
+tld_check_8z \- API function
.SH SYNOPSIS
.B #include <tld.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "tld_check_lz" 3 "1.15" "libidn" "libidn"
+.TH "tld_check_lz" 3 "1.23" "libidn" "libidn"
.SH NAME
-tld_check_lz \- verify that characters are permitted
+tld_check_lz \- API function
.SH SYNOPSIS
.B #include <tld.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "tld_default_table" 3 "1.15" "libidn" "libidn"
+.TH "tld_default_table" 3 "1.23" "libidn" "libidn"
.SH NAME
-tld_default_table \- get table for a TLD name
+tld_default_table \- API function
.SH SYNOPSIS
.B #include <tld.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "tld_get_4" 3 "1.15" "libidn" "libidn"
+.TH "tld_get_4" 3 "1.23" "libidn" "libidn"
.SH NAME
-tld_get_4 \- extract top level domain part in input Unicode string
+tld_get_4 \- API function
.SH SYNOPSIS
.B #include <tld.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "tld_get_4z" 3 "1.15" "libidn" "libidn"
+.TH "tld_get_4z" 3 "1.23" "libidn" "libidn"
.SH NAME
-tld_get_4z \- extract top level domain part in input Unicode string
+tld_get_4z \- API function
.SH SYNOPSIS
.B #include <tld.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "tld_get_table" 3 "1.15" "libidn" "libidn"
+.TH "tld_get_table" 3 "1.23" "libidn" "libidn"
.SH NAME
-tld_get_table \- get table for a TLD name in table
+tld_get_table \- API function
.SH SYNOPSIS
.B #include <tld.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "tld_get_z" 3 "1.15" "libidn" "libidn"
+.TH "tld_get_z" 3 "1.23" "libidn" "libidn"
.SH NAME
-tld_get_z \- extract top level domain part in input string
+tld_get_z \- API function
.SH SYNOPSIS
.B #include <tld.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
.\" DO NOT MODIFY THIS FILE! It was generated by gdoc.
-.TH "tld_strerror" 3 "1.15" "libidn" "libidn"
+.TH "tld_strerror" 3 "1.23" "libidn" "libidn"
.SH NAME
-tld_strerror \- return string describing tld error code
+tld_strerror \- API function
.SH SYNOPSIS
.B #include <tld.h>
.sp
GNU Libidn home page: http://www.gnu.org/software/libidn/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
-Copyright \(co 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+Copyright \(co 2002-2011 Simon Josefsson.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
# The name of the module, e.g. 'glib'.
DOC_MODULE=$(PACKAGE)
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+
# The top-level SGML file. You can change this if you want to.
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
-# The directory containing the source code. Relative to $(srcdir).
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting the functions and macros.
-# e.g. DOC_SOURCE_DIR=../../../gtk
-DOC_SOURCE_DIR=../../lib
+# Directories containing the source code.
+# gtk-doc will search all .c and .h files beneath these paths
+# for inline comments documenting functions and macros.
+# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
+DOC_SOURCE_DIR=$(top_srcdir)/lib
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
SCANGOBJ_OPTIONS=
SCAN_OPTIONS=--ignore-decorators=IDNAPI
# Extra options to supply to gtkdoc-mkdb.
-# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
-MKDB_OPTIONS=--sgml-mode --output-format=xml
+# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
+MKDB_OPTIONS=--xml-mode --output-format=xml
# Extra options to supply to gtkdoc-mktmpl
# e.g. MKTMPL_OPTIONS=--only-section-tmpl
MKTMPL_OPTIONS=
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
# Extra options to supply to gtkdoc-fixref. Not normally needed.
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
FIXXREF_OPTIONS=
HFILE_GLOB=$(top_srcdir)/lib/*.h
CFILE_GLOB=$(top_srcdir)/lib/*.c
-# Header files to ignore when scanning.
-# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
-IGNORE_HFILES=gunibreak.h gunicomp.h gunidecomp.h idn-int.h gl
+# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
+# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
+EXTRA_HFILES=
+
+# Header files or dirs to ignore when scanning. Use base file/dir names
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
+IGNORE_HFILES=gunibreak.h gunicomp.h gunidecomp.h idn-int.h gl gltests
# Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
# signals and properties.
-# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
-AM_CPPFLAGS=
+GTKDOC_CFLAGS=
GTKDOC_LIBS=
# This includes the standard gtk-doc make rules, copied by gtkdocize.
# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
#DISTCLEANFILES +=
-# Comment this out if you want your docs-status tested during 'make check'
+# Comment this out if you want 'make check' to test you doc status
+# and run some sanity checks
+if ENABLE_GTK_DOC
+TESTS_ENVIRONMENT = cd $(srcdir) && \
+ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+ SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
#TESTS = $(GTKDOC_CHECK)
+endif
+-include $(top_srcdir)/git.mk
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/gtk-doc.make
+ $(srcdir)/version.xml.in $(top_srcdir)/gtk-doc.make
subdir = doc/reference
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_FILES = version.xml
CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
# The name of the module, e.g. 'glib'.
DOC_MODULE = $(PACKAGE)
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
# The top-level SGML file. You can change this if you want to.
DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.sgml
-# The directory containing the source code. Relative to $(srcdir).
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting the functions and macros.
-# e.g. DOC_SOURCE_DIR=../../../gtk
-DOC_SOURCE_DIR = ../../lib
+# Directories containing the source code.
+# gtk-doc will search all .c and .h files beneath these paths
+# for inline comments documenting functions and macros.
+# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
+DOC_SOURCE_DIR = $(top_srcdir)/lib
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
SCANGOBJ_OPTIONS =
SCAN_OPTIONS = --ignore-decorators=IDNAPI
# Extra options to supply to gtkdoc-mkdb.
-# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
-MKDB_OPTIONS = --sgml-mode --output-format=xml
+# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
+MKDB_OPTIONS = --xml-mode --output-format=xml
# Extra options to supply to gtkdoc-mktmpl
# e.g. MKTMPL_OPTIONS=--only-section-tmpl
MKTMPL_OPTIONS =
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS =
+
# Extra options to supply to gtkdoc-fixref. Not normally needed.
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
FIXXREF_OPTIONS =
HFILE_GLOB = $(top_srcdir)/lib/*.h
CFILE_GLOB = $(top_srcdir)/lib/*.c
-# Header files to ignore when scanning.
-# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
-IGNORE_HFILES = gunibreak.h gunicomp.h gunidecomp.h idn-int.h gl
+# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
+# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
+EXTRA_HFILES =
+
+# Header files or dirs to ignore when scanning. Use base file/dir names
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
+IGNORE_HFILES = gunibreak.h gunicomp.h gunidecomp.h idn-int.h gl gltests
# Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
# signals and properties.
-# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
-AM_CPPFLAGS =
+GTKDOC_CFLAGS =
GTKDOC_LIBS =
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
#
GPATH = $(srcdir)
TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)
+SETUP_FILES = \
+ $(content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
# This includes the standard gtk-doc make rules, copied by gtkdocize.
# Other files to distribute
# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST = $(content_files) $(HTML_IMAGES) $(DOC_MAIN_SGML_FILE) \
- $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
-DOC_STAMPS = scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
- $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
+EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES)
+DOC_STAMPS = setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ tmpl.stamp sgml.stamp html.stamp pdf.stamp
SCANOBJ_FILES = \
- $(DOC_MODULE).args \
+ $(DOC_MODULE).args \
$(DOC_MODULE).hierarchy \
$(DOC_MODULE).interfaces \
$(DOC_MODULE).prerequisites \
$(DOC_MODULE)-unused.txt
CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP =
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP =
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
+
+# Files not to distribute
+# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
+# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
+#DISTCLEANFILES +=
+
+# Comment this out if you want 'make check' to test you doc status
+# and run some sanity checks
+@ENABLE_GTK_DOC_TRUE@TESTS_ENVIRONMENT = cd $(srcdir) && \
+@ENABLE_GTK_DOC_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+@ENABLE_GTK_DOC_TRUE@ SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
+
all: all-am
.SUFFIXES:
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
+version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
mostlyclean-libtool:
-rm -f *.lo
uninstall-local
-@ENABLE_GTK_DOC_TRUE@all-local: html-build.stamp
+@ENABLE_GTK_DOC_TRUE@all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
@ENABLE_GTK_DOC_FALSE@all-local:
-docs: html-build.stamp
+docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
$(REPORT_FILES): sgml-build.stamp
+#### setup ####
+
+setup-build.stamp:
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ test -d $(abs_srcdir)/tmpl && \
+ { cp -rp $(abs_srcdir)/tmpl $(abs_builddir)/; \
+ chmod -R u+w $(abs_builddir)/tmpl; } \
+ fi
+ @touch setup-build.stamp
+
#### scan ####
scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
- @echo 'gtk-doc: Scanning header files'
- @-chmod -R u+w $(srcdir)
- @cd $(srcdir) && \
- gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
- @if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
+ @echo ' DOC Scanning header files'
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ echo " DOC Introspecting gobjects"; \
+ scanobj_options=""; \
+ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ fi; \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
else \
- cd $(srcdir) ; \
for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
+ test -f $$i || touch $$i ; \
done \
fi
@touch scan-build.stamp
#### templates ####
-tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
- @echo 'gtk-doc: Rebuilding template files'
- @-chmod -R u+w $(srcdir)
- @cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
+tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+ @echo ' DOC Rebuilding template files'
+ @gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ if test -w $(abs_srcdir) ; then \
+ cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \
+ fi \
+ fi
@touch tmpl-build.stamp
tmpl.stamp: tmpl-build.stamp
#### xml ####
sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
- @echo 'gtk-doc: Building XML'
+ @echo ' DOC Building XML'
@-chmod -R u+w $(srcdir)
- @cd $(srcdir) && \
- gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS)
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
@touch sgml-build.stamp
sgml.stamp: sgml-build.stamp
#### html ####
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @echo 'gtk-doc: Building HTML'
- @-chmod -R u+w $(srcdir)
- @rm -rf $(srcdir)/html
- @mkdir $(srcdir)/html
+ @echo ' DOC Building HTML'
+ @rm -rf html
+ @mkdir html
@mkhtml_options=""; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ fi; \
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
if test "$(?)" = "0"; then \
- mkhtml_options=--path="$(srcdir)"; \
+ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
fi; \
- cd $(srcdir)/html && gtkdoc-mkhtml $(mkhtml_options) $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
- @test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
- @echo 'gtk-doc: Fixing cross-references'
- @cd $(srcdir) && gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @echo ' DOC Fixing cross-references'
+ @gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
@touch html-build.stamp
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo ' DOC Building PDF'
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
+ @touch pdf-build.stamp
+
##############
clean-local:
- rm -f *~ *.bak
- rm -rf .libs
+ @rm -f *~ *.bak
+ @rm -rf .libs
distclean-local:
- cd $(srcdir) && \
- rm -rf xml $(REPORT_FILES) \
- $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ rm -rf tmpl; \
+ fi
maintainer-clean-local: clean
- cd $(srcdir) && rm -rf xml html
+ @rm -rf xml html
install-data-local:
- @installfiles=`echo $(srcdir)/html/*`; \
- if test "$$installfiles" = '$(srcdir)/html/*'; \
- then echo '-- Nothing to install' ; \
+ @installfiles=`echo $(builddir)/html/*`; \
+ if test "$$installfiles" = '$(builddir)/html/*'; \
+ then echo 1>&2 'Nothing to install' ; \
else \
if test -n "$(DOC_MODULE_VERSION)"; then \
installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
fi; \
$(mkinstalldirs) $${installdir} ; \
for i in $$installfiles; do \
- echo '-- Installing '$$i ; \
+ echo ' $(INSTALL_DATA) '$$i ; \
$(INSTALL_DATA) $$i $${installdir}; \
done; \
if test -n "$(DOC_MODULE_VERSION)"; then \
mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
$${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
- mv -f $${installdir}/$(DOC_MODULE).devhelp \
- $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \
fi; \
$(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
fi
@ENABLE_GTK_DOC_FALSE@ @false
dist-hook: dist-check-gtkdoc dist-hook-local
- mkdir $(distdir)/tmpl
- mkdir $(distdir)/xml
- mkdir $(distdir)/html
- -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
- -cp $(srcdir)/xml/*.xml $(distdir)/xml
- cp $(srcdir)/html/* $(distdir)/html
- -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
- -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
- cd $(distdir) && rm -f $(DISTCLEANFILES)
- $(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
+ @mkdir $(distdir)/tmpl
+ @mkdir $(distdir)/html
+ @-cp ./tmpl/*.sgml $(distdir)/tmpl
+ @cp ./html/* $(distdir)/html
+ @-cp ./$(DOC_MODULE).pdf $(distdir)/
+ @-cp ./$(DOC_MODULE).types $(distdir)/
+ @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
+ @cd $(distdir) && rm -f $(DISTCLEANFILES)
+ @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
.PHONY : dist-hook-local docs
-
-# Files not to distribute
-# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
-# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
-#DISTCLEANFILES +=
-
-# Comment this out if you want your docs-status tested during 'make check'
#TESTS = $(GTKDOC_CHECK)
+-include $(top_srcdir)/git.mk
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>API Index</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
+<link rel="up" href="index.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="libidn-idn-free.html" title="idn-free">
+<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
+<tr valign="middle">
+<td><a accesskey="p" href="libidn-idn-free.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">GNU Libidn API Reference Manual</th>
+<td> </td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a class="shortcut" href="#idx"></a>
+ |
+ <a class="shortcut" href="#idx4">4</a>
+ |
+ <a class="shortcut" href="#idxC">C</a>
+ |
+ <a class="shortcut" href="#idxI">I</a>
+ |
+ <a class="shortcut" href="#idxK">K</a>
+ |
+ <a class="shortcut" href="#idxL">L</a>
+ |
+ <a class="shortcut" href="#idxM">M</a>
+ |
+ <a class="shortcut" href="#idxN">N</a>
+ |
+ <a class="shortcut" href="#idxP">P</a>
+ |
+ <a class="shortcut" href="#idxR">R</a>
+ |
+ <a class="shortcut" href="#idxS">S</a>
+ |
+ <a class="shortcut" href="#idxT">T</a>
+ |
+ <a class="shortcut" href="#idxU">U</a>
+ |
+ <a class="shortcut" href="#idxV">V</a>
+ |
+ <a class="shortcut" href="#idxX">X</a>
+</td></tr>
+</table>
+<div class="index" title="API Index">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="api-index-full"></a>API Index</h2></div></div></div>
+<a name="idx"></a><a name="idx"></a><h3 class="title"></h3>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep" title="stringprep ()">stringprep</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<a name="idx4"></a><h3 class="title">4</h3>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-4i" title="stringprep_4i ()">stringprep_4i</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-4zi" title="stringprep_4zi ()">stringprep_4zi</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<a name="idxC"></a><h3 class="title">C</h3>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-check-version" title="stringprep_check_version ()">stringprep_check_version</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-convert" title="stringprep_convert ()">stringprep_convert</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<a name="idxI"></a><h3 class="title">I</h3>
+<dt>
+<a class="link" href="libidn-idna.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>, macro in <a class="link" href="libidn-idn-free.html" title="idn-free">idn-free</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-idna.html#IDNA-ACE-PREFIX:CAPS" title="IDNA_ACE_PREFIX">IDNA_ACE_PREFIX</a>, macro in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags">Idna_flags</a>, enum in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc">Idna_rc</a>, enum in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-idna.html#idna-strerror" title="idna_strerror ()">idna_strerror</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-idna.html#idna-to-ascii-4i" title="idna_to_ascii_4i ()">idna_to_ascii_4i</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-idna.html#idna-to-ascii-4z" title="idna_to_ascii_4z ()">idna_to_ascii_4z</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-idna.html#idna-to-ascii-8z" title="idna_to_ascii_8z ()">idna_to_ascii_8z</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-idna.html#idna-to-ascii-lz" title="idna_to_ascii_lz ()">idna_to_ascii_lz</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-idna.html#idna-to-unicode-44i" title="idna_to_unicode_44i ()">idna_to_unicode_44i</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-idna.html#idna-to-unicode-4z4z" title="idna_to_unicode_4z4z ()">idna_to_unicode_4z4z</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-idna.html#idna-to-unicode-8z4z" title="idna_to_unicode_8z4z ()">idna_to_unicode_8z4z</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-idna.html#idna-to-unicode-8z8z" title="idna_to_unicode_8z8z ()">idna_to_unicode_8z8z</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-idna.html#idna-to-unicode-8zlz" title="idna_to_unicode_8zlz ()">idna_to_unicode_8zlz</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-idna.html#idna-to-unicode-lzlz" title="idna_to_unicode_lzlz ()">idna_to_unicode_lzlz</a>, function in <a class="link" href="libidn-idna.html" title="idna">idna</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-iscsi" title="stringprep_iscsi()">stringprep_iscsi</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<a name="idxK"></a><h3 class="title">K</h3>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-kerberos5" title="stringprep_kerberos5()">stringprep_kerberos5</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<a name="idxL"></a><h3 class="title">L</h3>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-locale-charset" title="stringprep_locale_charset ()">stringprep_locale_charset</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-locale-to-utf8" title="stringprep_locale_to_utf8 ()">stringprep_locale_to_utf8</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<a name="idxM"></a><h3 class="title">M</h3>
+<dt>
+<a class="link" href="libidn-stringprep.html#STRINGPREP-MAX-MAP-CHARS:CAPS" title="STRINGPREP_MAX_MAP_CHARS">STRINGPREP_MAX_MAP_CHARS</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<a name="idxN"></a><h3 class="title">N</h3>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-nameprep" title="stringprep_nameprep()">stringprep_nameprep</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-nameprep-no-unassigned" title="stringprep_nameprep_no_unassigned()">stringprep_nameprep_no_unassigned</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<a name="idxP"></a><h3 class="title">P</h3>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-plain" title="stringprep_plain()">stringprep_plain</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-pr29.html#pr29-4" title="pr29_4 ()">pr29_4</a>, function in <a class="link" href="libidn-pr29.html" title="pr29">pr29</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-pr29.html#pr29-4z" title="pr29_4z ()">pr29_4z</a>, function in <a class="link" href="libidn-pr29.html" title="pr29">pr29</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-pr29.html#pr29-8z" title="pr29_8z ()">pr29_8z</a>, function in <a class="link" href="libidn-pr29.html" title="pr29">pr29</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc">Pr29_rc</a>, enum in <a class="link" href="libidn-pr29.html" title="pr29">pr29</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-pr29.html#pr29-strerror" title="pr29_strerror ()">pr29_strerror</a>, function in <a class="link" href="libidn-pr29.html" title="pr29">pr29</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile">Stringprep_profile</a>, typedef in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-profile" title="stringprep_profile ()">stringprep_profile</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#Stringprep-profiles" title="Stringprep_profiles">Stringprep_profiles</a>, typedef in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags">Stringprep_profile_flags</a>, enum in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#Stringprep-profile-steps" title="enum Stringprep_profile_steps">Stringprep_profile_steps</a>, enum in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-punycode.html#punycode-decode" title="punycode_decode ()">punycode_decode</a>, function in <a class="link" href="libidn-punycode.html" title="punycode">punycode</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-punycode.html#punycode-encode" title="punycode_encode ()">punycode_encode</a>, function in <a class="link" href="libidn-punycode.html" title="punycode">punycode</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status">Punycode_status</a>, enum in <a class="link" href="libidn-punycode.html" title="punycode">punycode</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-punycode.html#punycode-strerror" title="punycode_strerror ()">punycode_strerror</a>, function in <a class="link" href="libidn-punycode.html" title="punycode">punycode</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint">punycode_uint</a>, typedef in <a class="link" href="libidn-punycode.html" title="punycode">punycode</a>
+</dt>
+<dd></dd>
+<a name="idxR"></a><h3 class="title">R</h3>
+<dt>
+<a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc">Stringprep_rc</a>, enum in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<a name="idxS"></a><h3 class="title">S</h3>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-strerror" title="stringprep_strerror ()">stringprep_strerror</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<a name="idxT"></a><h3 class="title">T</h3>
+<dt>
+<a class="link" href="libidn-stringprep.html#Stringprep-table-element" title="Stringprep_table_element">Stringprep_table_element</a>, typedef in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#tld-check-4" title="tld_check_4 ()">tld_check_4</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#tld-check-4t" title="tld_check_4t ()">tld_check_4t</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#tld-check-4tz" title="tld_check_4tz ()">tld_check_4tz</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#tld-check-4z" title="tld_check_4z ()">tld_check_4z</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#tld-check-8z" title="tld_check_8z ()">tld_check_8z</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#tld-check-lz" title="tld_check_lz ()">tld_check_lz</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#tld-default-table" title="tld_default_table ()">tld_default_table</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#tld-get-4" title="tld_get_4 ()">tld_get_4</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#tld-get-4z" title="tld_get_4z ()">tld_get_4z</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#tld-get-table" title="tld_get_table ()">tld_get_table</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#tld-get-z" title="tld_get_z ()">tld_get_z</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc">Tld_rc</a>, enum in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#tld-strerror" title="tld_strerror ()">tld_strerror</a>, function in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a>, typedef in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-tld.html#Tld-table-element" title="Tld_table_element">Tld_table_element</a>, typedef in <a class="link" href="libidn-tld.html" title="tld">tld</a>
+</dt>
+<dd></dd>
+<a name="idxU"></a><h3 class="title">U</h3>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-ucs4-nfkc-normalize" title="stringprep_ucs4_nfkc_normalize ()">stringprep_ucs4_nfkc_normalize</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-ucs4-to-utf8" title="stringprep_ucs4_to_utf8 ()">stringprep_ucs4_to_utf8</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-unichar-to-utf8" title="stringprep_unichar_to_utf8 ()">stringprep_unichar_to_utf8</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-utf8-nfkc-normalize" title="stringprep_utf8_nfkc_normalize ()">stringprep_utf8_nfkc_normalize</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-utf8-to-locale" title="stringprep_utf8_to_locale ()">stringprep_utf8_to_locale</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-utf8-to-ucs4" title="stringprep_utf8_to_ucs4 ()">stringprep_utf8_to_ucs4</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-utf8-to-unichar" title="stringprep_utf8_to_unichar ()">stringprep_utf8_to_unichar</a>, function in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<a name="idxV"></a><h3 class="title">V</h3>
+<dt>
+<a class="link" href="libidn-stringprep.html#STRINGPREP-VERSION:CAPS" title="STRINGPREP_VERSION">STRINGPREP_VERSION</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<a name="idxX"></a><h3 class="title">X</h3>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-xmpp-nodeprep" title="stringprep_xmpp_nodeprep()">stringprep_xmpp_nodeprep</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libidn-stringprep.html#stringprep-xmpp-resourceprep" title="stringprep_xmpp_resourceprep()">stringprep_xmpp_resourceprep</a>, macro in <a class="link" href="libidn-stringprep.html" title="stringprep">stringprep</a>
+</dt>
+<dd></dd>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.15</div>
+</body>
+</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GNU Libidn API Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
-<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="up" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="prev" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="next" href="libidn-idna.html" title="idna">
-<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="chapter" href="ch01.html" title="GNU Libidn API Reference Manual">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td> </td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td><a accesskey="n" href="libidn-idna.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="chapter" title="GNU Libidn API Reference Manual">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="id2984190"></a>GNU Libidn API Reference Manual</h2></div></div></div>
-<div class="toc"><dl>
-<dt>
-<span class="refentrytitle"><a href="libidn-idna.html">idna</a></span><span class="refpurpose"></span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="libidn-pr29.html">pr29</a></span><span class="refpurpose"></span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="libidn-punycode.html">punycode</a></span><span class="refpurpose"></span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="libidn-tld.html">tld</a></span><span class="refpurpose"></span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="libidn-stringprep.html">stringprep</a></span><span class="refpurpose"></span>
-</dt>
-<dt>
-<span class="refentrytitle"><a href="libidn-idn-free.html">idn-free</a></span><span class="refpurpose"></span>
-</dt>
-</dl></div>
-<p>
-GNU Libidn is a fully documented implementation of the Stringprep,
-Punycode and IDNA specifications. Libidn's purpose is to encode and
-decode internationalized domain names. The native C, C# and Java
-libraries are available under the GNU Lesser General Public License
-version 2.1 or later.
- </p>
-<p>
-The library contains a generic Stringprep implementation. Profiles
-for Nameprep, iSCSI, SASL, XMPP and Kerberos V5 are included.
-Punycode and ASCII Compatible Encoding (ACE) via IDNA are supported.
-A mechanism to define Top-Level Domain (TLD) specific validation
-tables, and to compare strings against those tables, is included.
-Default tables for some TLDs are also included.
- </p>
-<p>
-The Stringprep API consists of two main functions, one for converting
-data from the system's native representation into UTF-8, and one
-function to perform the Stringprep processing. Adding a new
-Stringprep profile for your application within the API is
-straightforward. The Punycode API consists of one encoding function
-and one decoding function. The IDNA API consists of the ToASCII and
-ToUnicode functions, as well as an high-level interface for converting
-entire domain names to and from the ACE encoded form. The TLD API
-consists of one set of functions to extract the TLD name from a domain
-string, one set of functions to locate the proper TLD table to use
-based on the TLD name, and core functions to validate a string against
-a TLD table, and some utility wrappers to perform all the steps in one
-call.
- </p>
-<p>
-The library is used by, e.g., GNU SASL and Shishi to process user
-names and passwords. Libidn can be built into GNU Libc to enable a
-new system-wide getaddrinfo flag for IDN processing.
- </p>
-<p>
-Libidn is developed for the GNU/Linux system, but runs on over 20 Unix
-platforms (including Solaris, IRIX, AIX, and Tru64) and Windows. The
-library is written in C and (parts of) the API is also accessible from
-C++, Emacs Lisp, Python and Java. A native Java and C# port is
-included.
- </p>
-<p>
-Also included is a command line tool, several self tests, code
-examples, and more, all licensed under the GNU General Public License
-version 3.0 or later.
- </p>
-<p>
- The internal layout of the library, and how your application
- interact with the various parts of the library, are shown in
- <a class="xref" href="ch01.html#components" title="Figure 1. Components of Libidn">Figure 1, “Components of Libidn”</a>.
- </p>
-<div class="figure">
-<a name="components"></a><p class="title"><b>Figure 1. Components of Libidn</b></p>
-<div class="figure-contents"><div><img src="libidn-components.png" alt="Components of Libidn"></div></div>
-</div>
-<br class="figure-break">
-</div>
-<div class="footer">
-<hr>
- Generated by GTK-Doc V1.11</div>
-</body>
-</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GNU Libidn API Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="next" href="ch01.html" title="GNU Libidn API Reference Manual">
-<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
+<link rel="next" href="intro.html" title="GNU Libidn API Reference Manual">
+<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="chapter" href="ch01.html" title="GNU Libidn API Reference Manual">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="book" title="GNU Libidn API Reference Manual">
<div class="titlepage">
-<div><div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GNU Libidn API Reference Manual</p></th></tr></table></div></div>
+<div>
+<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GNU Libidn API Reference Manual</p></th></tr></table></div>
+<div><p class="releaseinfo">
+ for GNU Libidn 1.23
+.
+ The latest version of this documentation can be found on-line at
+ <a class="ulink" href="https://www.gnu.org/software/libidn/reference/" target="_top">https://www.gnu.org/software/libidn/reference/</a>.
+ </p></div>
+</div>
<hr>
</div>
<div class="toc"><dl>
-<dt><span class="chapter"><a href="ch01.html">GNU Libidn API Reference Manual</a></span></dt>
+<dt><span class="chapter"><a href="intro.html">GNU Libidn API Reference Manual</a></span></dt>
<dd><dl>
<dt>
<span class="refentrytitle"><a href="libidn-idna.html">idna</a></span><span class="refpurpose"></span>
</dt>
<dt>
-<span class="refentrytitle"><a href="libidn-pr29.html">pr29</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-stringprep.html">stringprep</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="libidn-punycode.html">punycode</a></span><span class="refpurpose"></span>
</dt>
<dt>
-<span class="refentrytitle"><a href="libidn-tld.html">tld</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-pr29.html">pr29</a></span><span class="refpurpose"></span>
</dt>
<dt>
-<span class="refentrytitle"><a href="libidn-stringprep.html">stringprep</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="libidn-tld.html">tld</a></span><span class="refpurpose"></span>
</dt>
<dt>
<span class="refentrytitle"><a href="libidn-idn-free.html">idn-free</a></span><span class="refpurpose"></span>
</dt>
</dl></dd>
+<dt><span class="index"><a href="api-index-full.html">API Index</a></span></dt>
</dl></div>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.11</div>
+ Generated by GTK-Doc V1.15</div>
</body>
-</html>
+</html>
\ No newline at end of file
+<ONLINE href="https://www.gnu.org/software/libidn/reference/">
<ANCHOR id="libidn-idna" href="libidn/libidn-idna.html">
<ANCHOR id="libidn-idna.synopsis" href="libidn/libidn-idna.html#libidn-idna.synopsis">
<ANCHOR id="libidn-idna.description" href="libidn/libidn-idna.html#libidn-idna.description">
<ANCHOR id="libidn-idna.details" href="libidn/libidn-idna.html#libidn-idna.details">
-<ANCHOR id="IDNAPI--CAPS" href="libidn/libidn-idna.html#IDNAPI--CAPS">
+<ANCHOR id="IDNAPI:CAPS" href="libidn/libidn-idna.html#IDNAPI:CAPS">
<ANCHOR id="Idna-rc" href="libidn/libidn-idna.html#Idna-rc">
+<ANCHOR id="IDNA-SUCCESS:CAPS" href="libidn/libidn-idna.html#IDNA-SUCCESS:CAPS">
+<ANCHOR id="IDNA-STRINGPREP-ERROR:CAPS" href="libidn/libidn-idna.html#IDNA-STRINGPREP-ERROR:CAPS">
+<ANCHOR id="IDNA-PUNYCODE-ERROR:CAPS" href="libidn/libidn-idna.html#IDNA-PUNYCODE-ERROR:CAPS">
+<ANCHOR id="IDNA-CONTAINS-NON-LDH:CAPS" href="libidn/libidn-idna.html#IDNA-CONTAINS-NON-LDH:CAPS">
+<ANCHOR id="IDNA-CONTAINS-LDH:CAPS" href="libidn/libidn-idna.html#IDNA-CONTAINS-LDH:CAPS">
+<ANCHOR id="IDNA-CONTAINS-MINUS:CAPS" href="libidn/libidn-idna.html#IDNA-CONTAINS-MINUS:CAPS">
+<ANCHOR id="IDNA-INVALID-LENGTH:CAPS" href="libidn/libidn-idna.html#IDNA-INVALID-LENGTH:CAPS">
+<ANCHOR id="IDNA-NO-ACE-PREFIX:CAPS" href="libidn/libidn-idna.html#IDNA-NO-ACE-PREFIX:CAPS">
+<ANCHOR id="IDNA-ROUNDTRIP-VERIFY-ERROR:CAPS" href="libidn/libidn-idna.html#IDNA-ROUNDTRIP-VERIFY-ERROR:CAPS">
+<ANCHOR id="IDNA-CONTAINS-ACE-PREFIX:CAPS" href="libidn/libidn-idna.html#IDNA-CONTAINS-ACE-PREFIX:CAPS">
+<ANCHOR id="IDNA-ICONV-ERROR:CAPS" href="libidn/libidn-idna.html#IDNA-ICONV-ERROR:CAPS">
+<ANCHOR id="IDNA-MALLOC-ERROR:CAPS" href="libidn/libidn-idna.html#IDNA-MALLOC-ERROR:CAPS">
+<ANCHOR id="IDNA-DLOPEN-ERROR:CAPS" href="libidn/libidn-idna.html#IDNA-DLOPEN-ERROR:CAPS">
<ANCHOR id="Idna-flags" href="libidn/libidn-idna.html#Idna-flags">
-<ANCHOR id="IDNA-ACE-PREFIX--CAPS" href="libidn/libidn-idna.html#IDNA-ACE-PREFIX--CAPS">
+<ANCHOR id="IDNA-ALLOW-UNASSIGNED:CAPS" href="libidn/libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS">
+<ANCHOR id="IDNA-USE-STD3-ASCII-RULES:CAPS" href="libidn/libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS">
+<ANCHOR id="IDNA-ACE-PREFIX:CAPS" href="libidn/libidn-idna.html#IDNA-ACE-PREFIX:CAPS">
<ANCHOR id="idna-strerror" href="libidn/libidn-idna.html#idna-strerror">
<ANCHOR id="idna-to-ascii-4i" href="libidn/libidn-idna.html#idna-to-ascii-4i">
<ANCHOR id="idna-to-unicode-44i" href="libidn/libidn-idna.html#idna-to-unicode-44i">
<ANCHOR id="idna-to-unicode-8z8z" href="libidn/libidn-idna.html#idna-to-unicode-8z8z">
<ANCHOR id="idna-to-unicode-8zlz" href="libidn/libidn-idna.html#idna-to-unicode-8zlz">
<ANCHOR id="idna-to-unicode-lzlz" href="libidn/libidn-idna.html#idna-to-unicode-lzlz">
-<ANCHOR id="libidn-pr29" href="libidn/libidn-pr29.html">
-<ANCHOR id="libidn-pr29.synopsis" href="libidn/libidn-pr29.html#libidn-pr29.synopsis">
-<ANCHOR id="libidn-pr29.description" href="libidn/libidn-pr29.html#libidn-pr29.description">
-<ANCHOR id="libidn-pr29.details" href="libidn/libidn-pr29.html#libidn-pr29.details">
-<ANCHOR id="IDNAPI--CAPS" href="libidn/libidn-pr29.html#IDNAPI--CAPS">
-<ANCHOR id="Pr29-rc" href="libidn/libidn-pr29.html#Pr29-rc">
-<ANCHOR id="pr29-strerror" href="libidn/libidn-pr29.html#pr29-strerror">
-<ANCHOR id="pr29-4" href="libidn/libidn-pr29.html#pr29-4">
-<ANCHOR id="pr29-4z" href="libidn/libidn-pr29.html#pr29-4z">
-<ANCHOR id="pr29-8z" href="libidn/libidn-pr29.html#pr29-8z">
-<ANCHOR id="libidn-punycode" href="libidn/libidn-punycode.html">
-<ANCHOR id="libidn-punycode.synopsis" href="libidn/libidn-punycode.html#libidn-punycode.synopsis">
-<ANCHOR id="libidn-punycode.description" href="libidn/libidn-punycode.html#libidn-punycode.description">
-<ANCHOR id="libidn-punycode.details" href="libidn/libidn-punycode.html#libidn-punycode.details">
-<ANCHOR id="IDNAPI--CAPS" href="libidn/libidn-punycode.html#IDNAPI--CAPS">
-<ANCHOR id="Punycode-status" href="libidn/libidn-punycode.html#Punycode-status">
-<ANCHOR id="punycode-strerror" href="libidn/libidn-punycode.html#punycode-strerror">
-<ANCHOR id="punycode-uint" href="libidn/libidn-punycode.html#punycode-uint">
-<ANCHOR id="punycode-encode" href="libidn/libidn-punycode.html#punycode-encode">
-<ANCHOR id="punycode-decode" href="libidn/libidn-punycode.html#punycode-decode">
-<ANCHOR id="libidn-tld" href="libidn/libidn-tld.html">
-<ANCHOR id="libidn-tld.synopsis" href="libidn/libidn-tld.html#libidn-tld.synopsis">
-<ANCHOR id="libidn-tld.description" href="libidn/libidn-tld.html#libidn-tld.description">
-<ANCHOR id="libidn-tld.details" href="libidn/libidn-tld.html#libidn-tld.details">
-<ANCHOR id="IDNAPI--CAPS" href="libidn/libidn-tld.html#IDNAPI--CAPS">
-<ANCHOR id="Tld-table-element" href="libidn/libidn-tld.html#Tld-table-element">
-<ANCHOR id="Tld-table" href="libidn/libidn-tld.html#Tld-table">
-<ANCHOR id="Tld-rc" href="libidn/libidn-tld.html#Tld-rc">
-<ANCHOR id="tld-strerror" href="libidn/libidn-tld.html#tld-strerror">
-<ANCHOR id="tld-get-4" href="libidn/libidn-tld.html#tld-get-4">
-<ANCHOR id="tld-get-4z" href="libidn/libidn-tld.html#tld-get-4z">
-<ANCHOR id="tld-get-z" href="libidn/libidn-tld.html#tld-get-z">
-<ANCHOR id="tld-get-table" href="libidn/libidn-tld.html#tld-get-table">
-<ANCHOR id="tld-default-table" href="libidn/libidn-tld.html#tld-default-table">
-<ANCHOR id="tld-check-4t" href="libidn/libidn-tld.html#tld-check-4t">
-<ANCHOR id="tld-check-4tz" href="libidn/libidn-tld.html#tld-check-4tz">
-<ANCHOR id="tld-check-4" href="libidn/libidn-tld.html#tld-check-4">
-<ANCHOR id="tld-check-4z" href="libidn/libidn-tld.html#tld-check-4z">
-<ANCHOR id="tld-check-8z" href="libidn/libidn-tld.html#tld-check-8z">
-<ANCHOR id="tld-check-lz" href="libidn/libidn-tld.html#tld-check-lz">
<ANCHOR id="libidn-stringprep" href="libidn/libidn-stringprep.html">
<ANCHOR id="libidn-stringprep.synopsis" href="libidn/libidn-stringprep.html#libidn-stringprep.synopsis">
<ANCHOR id="libidn-stringprep.description" href="libidn/libidn-stringprep.html#libidn-stringprep.description">
<ANCHOR id="libidn-stringprep.details" href="libidn/libidn-stringprep.html#libidn-stringprep.details">
-<ANCHOR id="IDNAPI--CAPS" href="libidn/libidn-stringprep.html#IDNAPI--CAPS">
-<ANCHOR id="STRINGPREP-VERSION--CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-VERSION--CAPS">
+<ANCHOR id="IDNAPI:CAPS" href="libidn/libidn-stringprep.html#IDNAPI:CAPS">
+<ANCHOR id="STRINGPREP-VERSION:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-VERSION:CAPS">
<ANCHOR id="Stringprep-rc" href="libidn/libidn-stringprep.html#Stringprep-rc">
+<ANCHOR id="STRINGPREP-OK:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-OK:CAPS">
+<ANCHOR id="STRINGPREP-CONTAINS-UNASSIGNED:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-CONTAINS-UNASSIGNED:CAPS">
+<ANCHOR id="STRINGPREP-CONTAINS-PROHIBITED:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-CONTAINS-PROHIBITED:CAPS">
+<ANCHOR id="STRINGPREP-BIDI-BOTH-L-AND-RAL:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-BIDI-BOTH-L-AND-RAL:CAPS">
+<ANCHOR id="STRINGPREP-BIDI-LEADTRAIL-NOT-RAL:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-BIDI-LEADTRAIL-NOT-RAL:CAPS">
+<ANCHOR id="STRINGPREP-BIDI-CONTAINS-PROHIBITED:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-BIDI-CONTAINS-PROHIBITED:CAPS">
+<ANCHOR id="STRINGPREP-TOO-SMALL-BUFFER:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-TOO-SMALL-BUFFER:CAPS">
+<ANCHOR id="STRINGPREP-PROFILE-ERROR:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-PROFILE-ERROR:CAPS">
+<ANCHOR id="STRINGPREP-FLAG-ERROR:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-FLAG-ERROR:CAPS">
+<ANCHOR id="STRINGPREP-UNKNOWN-PROFILE:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-UNKNOWN-PROFILE:CAPS">
+<ANCHOR id="STRINGPREP-NFKC-FAILED:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-NFKC-FAILED:CAPS">
+<ANCHOR id="STRINGPREP-MALLOC-ERROR:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-MALLOC-ERROR:CAPS">
<ANCHOR id="Stringprep-profile-flags" href="libidn/libidn-stringprep.html#Stringprep-profile-flags">
+<ANCHOR id="STRINGPREP-NO-NFKC:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-NO-NFKC:CAPS">
+<ANCHOR id="STRINGPREP-NO-BIDI:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-NO-BIDI:CAPS">
+<ANCHOR id="STRINGPREP-NO-UNASSIGNED:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-NO-UNASSIGNED:CAPS">
<ANCHOR id="Stringprep-profile-steps" href="libidn/libidn-stringprep.html#Stringprep-profile-steps">
-<ANCHOR id="STRINGPREP-MAX-MAP-CHARS--CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-MAX-MAP-CHARS--CAPS">
+<ANCHOR id="STRINGPREP-NFKC:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-NFKC:CAPS">
+<ANCHOR id="STRINGPREP-BIDI:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-BIDI:CAPS">
+<ANCHOR id="STRINGPREP-MAP-TABLE:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-MAP-TABLE:CAPS">
+<ANCHOR id="STRINGPREP-UNASSIGNED-TABLE:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-UNASSIGNED-TABLE:CAPS">
+<ANCHOR id="STRINGPREP-PROHIBIT-TABLE:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-PROHIBIT-TABLE:CAPS">
+<ANCHOR id="STRINGPREP-BIDI-PROHIBIT-TABLE:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-BIDI-PROHIBIT-TABLE:CAPS">
+<ANCHOR id="STRINGPREP-BIDI-RAL-TABLE:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-BIDI-RAL-TABLE:CAPS">
+<ANCHOR id="STRINGPREP-BIDI-L-TABLE:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-BIDI-L-TABLE:CAPS">
+<ANCHOR id="STRINGPREP-MAX-MAP-CHARS:CAPS" href="libidn/libidn-stringprep.html#STRINGPREP-MAX-MAP-CHARS:CAPS">
<ANCHOR id="Stringprep-table-element" href="libidn/libidn-stringprep.html#Stringprep-table-element">
<ANCHOR id="Stringprep-profile" href="libidn/libidn-stringprep.html#Stringprep-profile">
<ANCHOR id="Stringprep-profiles" href="libidn/libidn-stringprep.html#Stringprep-profiles">
<ANCHOR id="stringprep-convert" href="libidn/libidn-stringprep.html#stringprep-convert">
<ANCHOR id="stringprep-locale-to-utf8" href="libidn/libidn-stringprep.html#stringprep-locale-to-utf8">
<ANCHOR id="stringprep-utf8-to-locale" href="libidn/libidn-stringprep.html#stringprep-utf8-to-locale">
+<ANCHOR id="libidn-punycode" href="libidn/libidn-punycode.html">
+<ANCHOR id="libidn-punycode.synopsis" href="libidn/libidn-punycode.html#libidn-punycode.synopsis">
+<ANCHOR id="libidn-punycode.description" href="libidn/libidn-punycode.html#libidn-punycode.description">
+<ANCHOR id="libidn-punycode.details" href="libidn/libidn-punycode.html#libidn-punycode.details">
+<ANCHOR id="IDNAPI:CAPS" href="libidn/libidn-punycode.html#IDNAPI:CAPS">
+<ANCHOR id="Punycode-status" href="libidn/libidn-punycode.html#Punycode-status">
+<ANCHOR id="PUNYCODE-SUCCESS:CAPS" href="libidn/libidn-punycode.html#PUNYCODE-SUCCESS:CAPS">
+<ANCHOR id="PUNYCODE-BAD-INPUT:CAPS" href="libidn/libidn-punycode.html#PUNYCODE-BAD-INPUT:CAPS">
+<ANCHOR id="PUNYCODE-BIG-OUTPUT:CAPS" href="libidn/libidn-punycode.html#PUNYCODE-BIG-OUTPUT:CAPS">
+<ANCHOR id="PUNYCODE-OVERFLOW:CAPS" href="libidn/libidn-punycode.html#PUNYCODE-OVERFLOW:CAPS">
+<ANCHOR id="punycode-strerror" href="libidn/libidn-punycode.html#punycode-strerror">
+<ANCHOR id="punycode-uint" href="libidn/libidn-punycode.html#punycode-uint">
+<ANCHOR id="punycode-encode" href="libidn/libidn-punycode.html#punycode-encode">
+<ANCHOR id="punycode-decode" href="libidn/libidn-punycode.html#punycode-decode">
+<ANCHOR id="libidn-pr29" href="libidn/libidn-pr29.html">
+<ANCHOR id="libidn-pr29.synopsis" href="libidn/libidn-pr29.html#libidn-pr29.synopsis">
+<ANCHOR id="libidn-pr29.description" href="libidn/libidn-pr29.html#libidn-pr29.description">
+<ANCHOR id="libidn-pr29.details" href="libidn/libidn-pr29.html#libidn-pr29.details">
+<ANCHOR id="IDNAPI:CAPS" href="libidn/libidn-pr29.html#IDNAPI:CAPS">
+<ANCHOR id="Pr29-rc" href="libidn/libidn-pr29.html#Pr29-rc">
+<ANCHOR id="PR29-SUCCESS:CAPS" href="libidn/libidn-pr29.html#PR29-SUCCESS:CAPS">
+<ANCHOR id="PR29-PROBLEM:CAPS" href="libidn/libidn-pr29.html#PR29-PROBLEM:CAPS">
+<ANCHOR id="PR29-STRINGPREP-ERROR:CAPS" href="libidn/libidn-pr29.html#PR29-STRINGPREP-ERROR:CAPS">
+<ANCHOR id="pr29-strerror" href="libidn/libidn-pr29.html#pr29-strerror">
+<ANCHOR id="pr29-4" href="libidn/libidn-pr29.html#pr29-4">
+<ANCHOR id="pr29-4z" href="libidn/libidn-pr29.html#pr29-4z">
+<ANCHOR id="pr29-8z" href="libidn/libidn-pr29.html#pr29-8z">
+<ANCHOR id="libidn-tld" href="libidn/libidn-tld.html">
+<ANCHOR id="libidn-tld.synopsis" href="libidn/libidn-tld.html#libidn-tld.synopsis">
+<ANCHOR id="libidn-tld.description" href="libidn/libidn-tld.html#libidn-tld.description">
+<ANCHOR id="libidn-tld.details" href="libidn/libidn-tld.html#libidn-tld.details">
+<ANCHOR id="IDNAPI:CAPS" href="libidn/libidn-tld.html#IDNAPI:CAPS">
+<ANCHOR id="Tld-table-element" href="libidn/libidn-tld.html#Tld-table-element">
+<ANCHOR id="Tld-table" href="libidn/libidn-tld.html#Tld-table">
+<ANCHOR id="Tld-rc" href="libidn/libidn-tld.html#Tld-rc">
+<ANCHOR id="TLD-SUCCESS:CAPS" href="libidn/libidn-tld.html#TLD-SUCCESS:CAPS">
+<ANCHOR id="TLD-INVALID:CAPS" href="libidn/libidn-tld.html#TLD-INVALID:CAPS">
+<ANCHOR id="TLD-NODATA:CAPS" href="libidn/libidn-tld.html#TLD-NODATA:CAPS">
+<ANCHOR id="TLD-MALLOC-ERROR:CAPS" href="libidn/libidn-tld.html#TLD-MALLOC-ERROR:CAPS">
+<ANCHOR id="TLD-ICONV-ERROR:CAPS" href="libidn/libidn-tld.html#TLD-ICONV-ERROR:CAPS">
+<ANCHOR id="TLD-NO-TLD:CAPS" href="libidn/libidn-tld.html#TLD-NO-TLD:CAPS">
+<ANCHOR id="TLD-NOTLD:CAPS" href="libidn/libidn-tld.html#TLD-NOTLD:CAPS">
+<ANCHOR id="tld-strerror" href="libidn/libidn-tld.html#tld-strerror">
+<ANCHOR id="tld-get-4" href="libidn/libidn-tld.html#tld-get-4">
+<ANCHOR id="tld-get-4z" href="libidn/libidn-tld.html#tld-get-4z">
+<ANCHOR id="tld-get-z" href="libidn/libidn-tld.html#tld-get-z">
+<ANCHOR id="tld-get-table" href="libidn/libidn-tld.html#tld-get-table">
+<ANCHOR id="tld-default-table" href="libidn/libidn-tld.html#tld-default-table">
+<ANCHOR id="tld-check-4t" href="libidn/libidn-tld.html#tld-check-4t">
+<ANCHOR id="tld-check-4tz" href="libidn/libidn-tld.html#tld-check-4tz">
+<ANCHOR id="tld-check-4" href="libidn/libidn-tld.html#tld-check-4">
+<ANCHOR id="tld-check-4z" href="libidn/libidn-tld.html#tld-check-4z">
+<ANCHOR id="tld-check-8z" href="libidn/libidn-tld.html#tld-check-8z">
+<ANCHOR id="tld-check-lz" href="libidn/libidn-tld.html#tld-check-lz">
<ANCHOR id="libidn-idn-free" href="libidn/libidn-idn-free.html">
<ANCHOR id="libidn-idn-free.synopsis" href="libidn/libidn-idn-free.html#libidn-idn-free.synopsis">
<ANCHOR id="libidn-idn-free.description" href="libidn/libidn-idn-free.html#libidn-idn-free.description">
<ANCHOR id="libidn-idn-free.details" href="libidn/libidn-idn-free.html#libidn-idn-free.details">
-<ANCHOR id="IDNAPI--CAPS" href="libidn/libidn-idn-free.html#IDNAPI--CAPS">
+<ANCHOR id="IDNAPI:CAPS" href="libidn/libidn-idn-free.html#IDNAPI:CAPS">
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GNU Libidn API Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
+<link rel="up" href="index.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="index.html" title="GNU Libidn API Reference Manual">
+<link rel="next" href="libidn-idna.html" title="idna">
+<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
+<td><a accesskey="p" href="index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
+<th width="100%" align="center">GNU Libidn API Reference Manual</th>
+<td><a accesskey="n" href="libidn-idna.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter" title="GNU Libidn API Reference Manual">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="intro"></a>GNU Libidn API Reference Manual</h2></div></div></div>
+<div class="toc"><dl>
+<dt>
+<span class="refentrytitle"><a href="libidn-idna.html">idna</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="libidn-stringprep.html">stringprep</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="libidn-punycode.html">punycode</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="libidn-pr29.html">pr29</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="libidn-tld.html">tld</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="libidn-idn-free.html">idn-free</a></span><span class="refpurpose"></span>
+</dt>
+</dl></div>
+<p>
+GNU Libidn is a fully documented implementation of the Stringprep,
+Punycode and IDNA specifications. Libidn's purpose is to encode and
+decode internationalized domain names. The native C, C# and Java
+libraries are available under the GNU Lesser General Public License
+version 2.1 or later.
+ </p>
+<p>
+The library contains a generic Stringprep implementation. Profiles
+for Nameprep, iSCSI, SASL, XMPP and Kerberos V5 are included.
+Punycode and ASCII Compatible Encoding (ACE) via IDNA are supported.
+A mechanism to define Top-Level Domain (TLD) specific validation
+tables, and to compare strings against those tables, is included.
+Default tables for some TLDs are also included.
+ </p>
+<p>
+The Stringprep API consists of two main functions, one for converting
+data from the system's native representation into UTF-8, and one
+function to perform the Stringprep processing. Adding a new
+Stringprep profile for your application within the API is
+straightforward. The Punycode API consists of one encoding function
+and one decoding function. The IDNA API consists of the ToASCII and
+ToUnicode functions, as well as an high-level interface for converting
+entire domain names to and from the ACE encoded form. The TLD API
+consists of one set of functions to extract the TLD name from a domain
+string, one set of functions to locate the proper TLD table to use
+based on the TLD name, and core functions to validate a string against
+a TLD table, and some utility wrappers to perform all the steps in one
+call.
+ </p>
+<p>
+The library is used by, e.g., GNU SASL and Shishi to process user
+names and passwords. Libidn can be built into GNU Libc to enable a
+new system-wide getaddrinfo flag for IDN processing.
+ </p>
+<p>
+Libidn is developed for the GNU/Linux system, but runs on over 20 Unix
+platforms (including Solaris, IRIX, AIX, and Tru64) and Windows. The
+library is written in C and (parts of) the API is also accessible from
+C++, Emacs Lisp, Python and Java. A native Java and C# port is
+included.
+ </p>
+<p>
+Also included is a command line tool, several self tests, code
+examples, and more, all licensed under the GNU General Public License
+version 3.0 or later.
+ </p>
+<p>
+ The internal layout of the library, and how your application
+ interact with the various parts of the library, are shown in
+ <a class="xref" href="intro.html#components" title="Figure 1. Components of Libidn">Figure 1, “Components of Libidn”</a>.
+ </p>
+<div class="figure">
+<a name="components"></a><p class="title"><b>Figure 1. Components of Libidn</b></p>
+<div class="figure-contents"><div><img src="libidn-components.png" alt="Components of Libidn"></div></div>
+</div>
+<br class="figure-break">
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.15</div>
+</body>
+</html>
\ No newline at end of file
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>idn-free</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="up" href="ch01.html" title="GNU Libidn API Reference Manual">
-<link rel="prev" href="libidn-stringprep.html" title="stringprep">
-<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
+<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="libidn-tld.html" title="tld">
+<link rel="next" href="api-index-full.html" title="API Index">
+<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="chapter" href="ch01.html" title="GNU Libidn API Reference Manual">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
-<td><a accesskey="p" href="libidn-stringprep.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libidn-tld.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="intro.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td> </td>
+<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#libidn-idn-free.synopsis" class="shortcut">Top</a>
- |
- <a href="#libidn-idn-free.description" class="shortcut">Description</a>
+ |
+ <a href="#libidn-idn-free.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" title="idn-free">
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="libidn-idn-free.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#define <a class="link" href="libidn-idna.html#IDNAPI--CAPS" title="IDNAPI">IDNAPI</a>
+<pre class="synopsis">#define <a class="link" href="libidn-idna.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>
</pre>
</div>
<div class="refsect1" title="Description">
<div class="refsect1" title="Details">
<a name="libidn-idn-free.details"></a><h2>Details</h2>
<div class="refsect2" title="IDNAPI">
-<a name="IDNAPI--CAPS"></a><h3>IDNAPI</h3>
+<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
<pre class="programlisting">#define IDNAPI</pre>
<p>
</p>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.11</div>
+ Generated by GTK-Doc V1.15</div>
</body>
-</html>
+</html>
\ No newline at end of file
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>idna</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="up" href="ch01.html" title="GNU Libidn API Reference Manual">
-<link rel="prev" href="ch01.html" title="GNU Libidn API Reference Manual">
-<link rel="next" href="libidn-pr29.html" title="pr29">
-<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
+<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="intro.html" title="GNU Libidn API Reference Manual">
+<link rel="next" href="libidn-stringprep.html" title="stringprep">
+<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="chapter" href="ch01.html" title="GNU Libidn API Reference Manual">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
-<td><a accesskey="p" href="ch01.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="intro.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="intro.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td><a accesskey="n" href="libidn-pr29.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="libidn-stringprep.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#libidn-idna.synopsis" class="shortcut">Top</a>
- |
- <a href="#libidn-idna.description" class="shortcut">Description</a>
+ |
+ <a href="#libidn-idna.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" title="idna">
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="libidn-idna.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#define <a class="link" href="libidn-idna.html#IDNAPI--CAPS" title="IDNAPI">IDNAPI</a>
+<pre class="synopsis">#define <a class="link" href="libidn-idna.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>
enum <a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc">Idna_rc</a>;
enum <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags">Idna_flags</a>;
-#define <a class="link" href="libidn-idna.html#IDNA-ACE-PREFIX--CAPS" title="IDNA_ACE_PREFIX">IDNA_ACE_PREFIX</a>
-const char * <a class="link" href="libidn-idna.html#idna-strerror" title="idna_strerror ()">idna_strerror</a> (<a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc">Idna_rc</a> rc);
-int <a class="link" href="libidn-idna.html#idna-to-ascii-4i" title="idna_to_ascii_4i ()">idna_to_ascii_4i</a> (const uint32_t *in,
- size_t inlen,
- char *out,
- int flags);
-int <a class="link" href="libidn-idna.html#idna-to-unicode-44i" title="idna_to_unicode_44i ()">idna_to_unicode_44i</a> (const uint32_t *in,
- size_t inlen,
- uint32_t *out,
- size_t *outlen,
- int flags);
-int <a class="link" href="libidn-idna.html#idna-to-ascii-4z" title="idna_to_ascii_4z ()">idna_to_ascii_4z</a> (const uint32_t *input,
- char **output,
- int flags);
-int <a class="link" href="libidn-idna.html#idna-to-ascii-8z" title="idna_to_ascii_8z ()">idna_to_ascii_8z</a> (const char *input,
- char **output,
- int flags);
-int <a class="link" href="libidn-idna.html#idna-to-ascii-lz" title="idna_to_ascii_lz ()">idna_to_ascii_lz</a> (const char *input,
- char **output,
- int flags);
-int <a class="link" href="libidn-idna.html#idna-to-unicode-4z4z" title="idna_to_unicode_4z4z ()">idna_to_unicode_4z4z</a> (const uint32_t *input,
- uint32_t **output,
- int flags);
-int <a class="link" href="libidn-idna.html#idna-to-unicode-8z4z" title="idna_to_unicode_8z4z ()">idna_to_unicode_8z4z</a> (const char *input,
- uint32_t **output,
- int flags);
-int <a class="link" href="libidn-idna.html#idna-to-unicode-8z8z" title="idna_to_unicode_8z8z ()">idna_to_unicode_8z8z</a> (const char *input,
- char **output,
- int flags);
-int <a class="link" href="libidn-idna.html#idna-to-unicode-8zlz" title="idna_to_unicode_8zlz ()">idna_to_unicode_8zlz</a> (const char *input,
- char **output,
- int flags);
-int <a class="link" href="libidn-idna.html#idna-to-unicode-lzlz" title="idna_to_unicode_lzlz ()">idna_to_unicode_lzlz</a> (const char *input,
- char **output,
- int flags);
+#define <a class="link" href="libidn-idna.html#IDNA-ACE-PREFIX:CAPS" title="IDNA_ACE_PREFIX">IDNA_ACE_PREFIX</a>
+const <span class="returnvalue">char</span> * <a class="link" href="libidn-idna.html#idna-strerror" title="idna_strerror ()">idna_strerror</a> (<em class="parameter"><code><a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc"><span class="type">Idna_rc</span></a> rc</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-idna.html#idna-to-ascii-4i" title="idna_to_ascii_4i ()">idna_to_ascii_4i</a> (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+ <em class="parameter"><code><span class="type">char</span> *out</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-idna.html#idna-to-unicode-44i" title="idna_to_unicode_44i ()">idna_to_unicode_44i</a> (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+ <em class="parameter"><code><span class="type">uint32_t</span> *out</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *outlen</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-idna.html#idna-to-ascii-4z" title="idna_to_ascii_4z ()">idna_to_ascii_4z</a> (<em class="parameter"><code>const <span class="type">uint32_t</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-idna.html#idna-to-ascii-8z" title="idna_to_ascii_8z ()">idna_to_ascii_8z</a> (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-idna.html#idna-to-ascii-lz" title="idna_to_ascii_lz ()">idna_to_ascii_lz</a> (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-idna.html#idna-to-unicode-4z4z" title="idna_to_unicode_4z4z ()">idna_to_unicode_4z4z</a> (<em class="parameter"><code>const <span class="type">uint32_t</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">uint32_t</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-idna.html#idna-to-unicode-8z4z" title="idna_to_unicode_8z4z ()">idna_to_unicode_8z4z</a> (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">uint32_t</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-idna.html#idna-to-unicode-8z8z" title="idna_to_unicode_8z8z ()">idna_to_unicode_8z8z</a> (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-idna.html#idna-to-unicode-8zlz" title="idna_to_unicode_8zlz ()">idna_to_unicode_8zlz</a> (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-idna.html#idna-to-unicode-lzlz" title="idna_to_unicode_lzlz ()">idna_to_unicode_lzlz</a> (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);
</pre>
</div>
<div class="refsect1" title="Description">
<div class="refsect1" title="Details">
<a name="libidn-idna.details"></a><h2>Details</h2>
<div class="refsect2" title="IDNAPI">
-<a name="IDNAPI--CAPS"></a><h3>IDNAPI</h3>
+<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
<pre class="programlisting">#define IDNAPI</pre>
<p>
</p>
Enumerated return codes of <a class="link" href="libidn-idna.html#idna-to-ascii-4i" title="idna_to_ascii_4i ()"><code class="function">idna_to_ascii_4i()</code></a>,
<a class="link" href="libidn-idna.html#idna-to-unicode-44i" title="idna_to_unicode_44i ()"><code class="function">idna_to_unicode_44i()</code></a> functions (and functions derived from those
functions). The value 0 is guaranteed to always correspond to
-success.</p>
-<p>
+success.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
-<td><p><a name="IDNA-SUCCESS--CAPS"></a><span class="term"><code class="literal">IDNA_SUCCESS</code></span></p></td>
-<td> Successful operation. This value is guaranteed to
+<td><p><a name="IDNA-SUCCESS:CAPS"></a><span class="term"><code class="literal">IDNA_SUCCESS</code></span></p></td>
+<td>Successful operation. This value is guaranteed to
always be zero, the remaining ones are only guaranteed to hold
non-zero values, for logical comparison purposes.
</td>
</tr>
<tr>
-<td><p><a name="IDNA-STRINGPREP-ERROR--CAPS"></a><span class="term"><code class="literal">IDNA_STRINGPREP_ERROR</code></span></p></td>
-<td> Error during string preparation.
+<td><p><a name="IDNA-STRINGPREP-ERROR:CAPS"></a><span class="term"><code class="literal">IDNA_STRINGPREP_ERROR</code></span></p></td>
+<td>Error during string preparation.
</td>
</tr>
<tr>
-<td><p><a name="IDNA-PUNYCODE-ERROR--CAPS"></a><span class="term"><code class="literal">IDNA_PUNYCODE_ERROR</code></span></p></td>
-<td> Error during punycode operation.
+<td><p><a name="IDNA-PUNYCODE-ERROR:CAPS"></a><span class="term"><code class="literal">IDNA_PUNYCODE_ERROR</code></span></p></td>
+<td>Error during punycode operation.
</td>
</tr>
<tr>
-<td><p><a name="IDNA-CONTAINS-NON-LDH--CAPS"></a><span class="term"><code class="literal">IDNA_CONTAINS_NON_LDH</code></span></p></td>
-<td> For IDNA_USE_STD3_ASCII_RULES, indicate that
+<td><p><a name="IDNA-CONTAINS-NON-LDH:CAPS"></a><span class="term"><code class="literal">IDNA_CONTAINS_NON_LDH</code></span></p></td>
+<td>For IDNA_USE_STD3_ASCII_RULES, indicate that
the string contains non-LDH ASCII characters.
</td>
</tr>
<tr>
-<td><p><a name="IDNA-CONTAINS-LDH--CAPS"></a><span class="term"><code class="literal">IDNA_CONTAINS_LDH</code></span></p></td>
-<td>
+<td><p><a name="IDNA-CONTAINS-LDH:CAPS"></a><span class="term"><code class="literal">IDNA_CONTAINS_LDH</code></span></p></td>
+<td>Same as <em class="parameter"><code>IDNA_CONTAINS_NON_LDH</code></em>, for compatibility
+ with typo in earlier versions.
</td>
</tr>
<tr>
-<td><p><a name="IDNA-CONTAINS-MINUS--CAPS"></a><span class="term"><code class="literal">IDNA_CONTAINS_MINUS</code></span></p></td>
-<td> For IDNA_USE_STD3_ASCII_RULES, indicate that
+<td><p><a name="IDNA-CONTAINS-MINUS:CAPS"></a><span class="term"><code class="literal">IDNA_CONTAINS_MINUS</code></span></p></td>
+<td>For IDNA_USE_STD3_ASCII_RULES, indicate that
the string contains a leading or trailing hyphen-minus (U+002D).
</td>
</tr>
<tr>
-<td><p><a name="IDNA-INVALID-LENGTH--CAPS"></a><span class="term"><code class="literal">IDNA_INVALID_LENGTH</code></span></p></td>
-<td> The final output string is not within the
+<td><p><a name="IDNA-INVALID-LENGTH:CAPS"></a><span class="term"><code class="literal">IDNA_INVALID_LENGTH</code></span></p></td>
+<td>The final output string is not within the
(inclusive) range 1 to 63 characters.
</td>
</tr>
<tr>
-<td><p><a name="IDNA-NO-ACE-PREFIX--CAPS"></a><span class="term"><code class="literal">IDNA_NO_ACE_PREFIX</code></span></p></td>
-<td> The string does not contain the ACE prefix
+<td><p><a name="IDNA-NO-ACE-PREFIX:CAPS"></a><span class="term"><code class="literal">IDNA_NO_ACE_PREFIX</code></span></p></td>
+<td>The string does not contain the ACE prefix
(for ToUnicode).
</td>
</tr>
<tr>
-<td><p><a name="IDNA-ROUNDTRIP-VERIFY-ERROR--CAPS"></a><span class="term"><code class="literal">IDNA_ROUNDTRIP_VERIFY_ERROR</code></span></p></td>
-<td> The ToASCII operation on output
+<td><p><a name="IDNA-ROUNDTRIP-VERIFY-ERROR:CAPS"></a><span class="term"><code class="literal">IDNA_ROUNDTRIP_VERIFY_ERROR</code></span></p></td>
+<td>The ToASCII operation on output
string does not equal the input.
</td>
</tr>
<tr>
-<td><p><a name="IDNA-CONTAINS-ACE-PREFIX--CAPS"></a><span class="term"><code class="literal">IDNA_CONTAINS_ACE_PREFIX</code></span></p></td>
-<td> The input contains the ACE prefix (for
+<td><p><a name="IDNA-CONTAINS-ACE-PREFIX:CAPS"></a><span class="term"><code class="literal">IDNA_CONTAINS_ACE_PREFIX</code></span></p></td>
+<td>The input contains the ACE prefix (for
ToASCII).
</td>
</tr>
<tr>
-<td><p><a name="IDNA-ICONV-ERROR--CAPS"></a><span class="term"><code class="literal">IDNA_ICONV_ERROR</code></span></p></td>
-<td> Could not convert string in locale encoding.
+<td><p><a name="IDNA-ICONV-ERROR:CAPS"></a><span class="term"><code class="literal">IDNA_ICONV_ERROR</code></span></p></td>
+<td>Could not convert string in locale encoding.
</td>
</tr>
<tr>
-<td><p><a name="IDNA-MALLOC-ERROR--CAPS"></a><span class="term"><code class="literal">IDNA_MALLOC_ERROR</code></span></p></td>
-<td> Could not allocate buffer (this is typically a
+<td><p><a name="IDNA-MALLOC-ERROR:CAPS"></a><span class="term"><code class="literal">IDNA_MALLOC_ERROR</code></span></p></td>
+<td>Could not allocate buffer (this is typically a
fatal error).
</td>
</tr>
<tr>
-<td><p><a name="IDNA-DLOPEN-ERROR--CAPS"></a><span class="term"><code class="literal">IDNA_DLOPEN_ERROR</code></span></p></td>
-<td> Could not dlopen the libcidn DSO (only used
+<td><p><a name="IDNA-DLOPEN-ERROR:CAPS"></a><span class="term"><code class="literal">IDNA_DLOPEN_ERROR</code></span></p></td>
+<td>Could not dlopen the libcidn DSO (only used
internally in libc).
</td>
</tr>
} Idna_flags;
</pre>
<p>
-Flags to pass to <a class="link" href="libidn-idna.html#idna-to-ascii-4i" title="idna_to_ascii_4i ()"><code class="function">idna_to_ascii_4i()</code></a>, <a class="link" href="libidn-idna.html#idna-to-unicode-44i" title="idna_to_unicode_44i ()"><code class="function">idna_to_unicode_44i()</code></a> etc.</p>
-<p>
+Flags to pass to <a class="link" href="libidn-idna.html#idna-to-ascii-4i" title="idna_to_ascii_4i ()"><code class="function">idna_to_ascii_4i()</code></a>, <a class="link" href="libidn-idna.html#idna-to-unicode-44i" title="idna_to_unicode_44i ()"><code class="function">idna_to_unicode_44i()</code></a> etc.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
-<td><p><a name="IDNA-ALLOW-UNASSIGNED--CAPS"></a><span class="term"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></span></p></td>
-<td> Don't reject strings containing unassigned
+<td><p><a name="IDNA-ALLOW-UNASSIGNED:CAPS"></a><span class="term"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></span></p></td>
+<td>Don't reject strings containing unassigned
Unicode code points.
</td>
</tr>
<tr>
-<td><p><a name="IDNA-USE-STD3-ASCII-RULES--CAPS"></a><span class="term"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></span></p></td>
-<td> Validate strings according to STD3
+<td><p><a name="IDNA-USE-STD3-ASCII-RULES:CAPS"></a><span class="term"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></span></p></td>
+<td>Validate strings according to STD3
rules (i.e., normal host name rules).
</td>
</tr>
</div>
<hr>
<div class="refsect2" title="IDNA_ACE_PREFIX">
-<a name="IDNA-ACE-PREFIX--CAPS"></a><h3>IDNA_ACE_PREFIX</h3>
+<a name="IDNA-ACE-PREFIX:CAPS"></a><h3>IDNA_ACE_PREFIX</h3>
<pre class="programlisting"># define IDNA_ACE_PREFIX "xn--"
</pre>
<p>
-The IANA allocated prefix to use for IDNA. "xn--"</p>
-<p>
+The IANA allocated prefix to use for IDNA. "xn--"
</p>
</div>
<hr>
<div class="refsect2" title="idna_strerror ()">
<a name="idna-strerror"></a><h3>idna_strerror ()</h3>
-<pre class="programlisting">const char * idna_strerror (<a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc">Idna_rc</a> rc);</pre>
+<pre class="programlisting">const <span class="returnvalue">char</span> * idna_strerror (<em class="parameter"><code><a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc"><span class="type">Idna_rc</span></a> rc</code></em>);</pre>
<p>
Convert a return code integer to a text string. This string can be
used to output a diagnostic message to the user.
IDNA_MALLOC_ERROR: Could not allocate buffer (this is typically a
fatal error).
IDNA_DLOPEN_ERROR: Could not dlopen the libcidn DSO (only used
- internally in libc).</p>
-<p>
+ internally in libc).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>rc</code></em> :</span></p></td>
-<td> an <a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc"><span class="type">Idna_rc</span></a> return code.
+<td>an <a class="link" href="libidn-idna.html#Idna-rc" title="enum Idna_rc"><span class="type">Idna_rc</span></a> return code.
</td>
</tr>
<tr>
<hr>
<div class="refsect2" title="idna_to_ascii_4i ()">
<a name="idna-to-ascii-4i"></a><h3>idna_to_ascii_4i ()</h3>
-<pre class="programlisting">int idna_to_ascii_4i (const uint32_t *in,
- size_t inlen,
- char *out,
- int flags);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> idna_to_ascii_4i (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+ <em class="parameter"><code><span class="type">char</span> *out</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
<p>
The ToASCII operation takes a sequence of Unicode code points that
make up one domain label and transforms it into a sequence of code
ToASCII never alters a sequence of code points that are all in the ASCII
range to begin with (although it could fail). Applying the ToASCII
operation multiple times has exactly the same effect as applying it just
-once.</p>
-<p>
+once.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> input array with unicode code points.
+<td>input array with unicode code points.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>inlen</code></em> :</span></p></td>
-<td> length of input array with unicode code points.
+<td>length of input array with unicode code points.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
-<td> output zero terminated string that must have room for at
+<td>output zero terminated string that must have room for at
least 63 characters plus the terminating zero.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td> an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED--CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
- <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES--CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
+<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+ <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
</td>
</tr>
<tr>
<hr>
<div class="refsect2" title="idna_to_unicode_44i ()">
<a name="idna-to-unicode-44i"></a><h3>idna_to_unicode_44i ()</h3>
-<pre class="programlisting">int idna_to_unicode_44i (const uint32_t *in,
- size_t inlen,
- uint32_t *out,
- size_t *outlen,
- int flags);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> idna_to_unicode_44i (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+ <em class="parameter"><code><span class="type">uint32_t</span> *out</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *outlen</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
<p>
The ToUnicode operation takes a sequence of Unicode code points
that make up one domain label and returns a sequence of Unicode
<p>
The inputs to ToUnicode are a sequence of code points, the
AllowUnassigned flag, and the UseSTD3ASCIIRules flag. The output of
-ToUnicode is always a sequence of Unicode code points.</p>
-<p>
+ToUnicode is always a sequence of Unicode code points.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> input array with unicode code points.
+<td>input array with unicode code points.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>inlen</code></em> :</span></p></td>
-<td> length of input array with unicode code points.
+<td>length of input array with unicode code points.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
-<td> output array with unicode code points.
+<td>output array with unicode code points.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>outlen</code></em> :</span></p></td>
-<td> on input, maximum size of output array with unicode code points,
+<td>on input, maximum size of output array with unicode code points,
on exit, actual size of output array with unicode code points.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td> an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED--CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
- <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES--CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
+<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+ <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
</td>
</tr>
<tr>
<hr>
<div class="refsect2" title="idna_to_ascii_4z ()">
<a name="idna-to-ascii-4z"></a><h3>idna_to_ascii_4z ()</h3>
-<pre class="programlisting">int idna_to_ascii_4z (const uint32_t *input,
- char **output,
- int flags);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> idna_to_ascii_4z (<em class="parameter"><code>const <span class="type">uint32_t</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
<p>
Convert UCS-4 domain name to ASCII string. The domain name may
contain several labels, separated by dots. The output buffer must
-be deallocated by the caller.</p>
-<p>
+be deallocated by the caller.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td> zero terminated input Unicode string.
+<td>zero terminated input Unicode string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td> pointer to newly allocated output string.
+<td>pointer to newly allocated output string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td> an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED--CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
- <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES--CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
+<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+ <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS--CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
+<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="idna_to_ascii_8z ()">
<a name="idna-to-ascii-8z"></a><h3>idna_to_ascii_8z ()</h3>
-<pre class="programlisting">int idna_to_ascii_8z (const char *input,
- char **output,
- int flags);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> idna_to_ascii_8z (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
<p>
Convert UTF-8 domain name to ASCII string. The domain name may
contain several labels, separated by dots. The output buffer must
-be deallocated by the caller.</p>
-<p>
+be deallocated by the caller.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td> zero terminated input UTF-8 string.
+<td>zero terminated input UTF-8 string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td> pointer to newly allocated output string.
+<td>pointer to newly allocated output string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td> an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED--CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
- <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES--CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
+<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+ <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS--CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
+<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="idna_to_ascii_lz ()">
<a name="idna-to-ascii-lz"></a><h3>idna_to_ascii_lz ()</h3>
-<pre class="programlisting">int idna_to_ascii_lz (const char *input,
- char **output,
- int flags);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> idna_to_ascii_lz (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
<p>
Convert domain name in the locale's encoding to ASCII string. The
domain name may contain several labels, separated by dots. The
-output buffer must be deallocated by the caller.</p>
-<p>
+output buffer must be deallocated by the caller.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td> zero terminated input string encoded in the current locale's
+<td>zero terminated input string encoded in the current locale's
character set.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td> pointer to newly allocated output string.
+<td>pointer to newly allocated output string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td> an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED--CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
- <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES--CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
+<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+ <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS--CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
+<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="idna_to_unicode_4z4z ()">
<a name="idna-to-unicode-4z4z"></a><h3>idna_to_unicode_4z4z ()</h3>
-<pre class="programlisting">int idna_to_unicode_4z4z (const uint32_t *input,
- uint32_t **output,
- int flags);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> idna_to_unicode_4z4z (<em class="parameter"><code>const <span class="type">uint32_t</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">uint32_t</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
<p>
Convert possibly ACE encoded domain name in UCS-4 format into a
UCS-4 string. The domain name may contain several labels,
separated by dots. The output buffer must be deallocated by the
-caller.</p>
-<p>
+caller.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td> zero-terminated Unicode string.
+<td>zero-terminated Unicode string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td> pointer to newly allocated output Unicode string.
+<td>pointer to newly allocated output Unicode string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td> an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED--CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
- <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES--CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
+<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+ <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS--CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
+<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="idna_to_unicode_8z4z ()">
<a name="idna-to-unicode-8z4z"></a><h3>idna_to_unicode_8z4z ()</h3>
-<pre class="programlisting">int idna_to_unicode_8z4z (const char *input,
- uint32_t **output,
- int flags);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> idna_to_unicode_8z4z (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">uint32_t</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
<p>
Convert possibly ACE encoded domain name in UTF-8 format into a
UCS-4 string. The domain name may contain several labels,
separated by dots. The output buffer must be deallocated by the
-caller.</p>
-<p>
+caller.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td> zero-terminated UTF-8 string.
+<td>zero-terminated UTF-8 string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td> pointer to newly allocated output Unicode string.
+<td>pointer to newly allocated output Unicode string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td> an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED--CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
- <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES--CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
+<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+ <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS--CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
+<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="idna_to_unicode_8z8z ()">
<a name="idna-to-unicode-8z8z"></a><h3>idna_to_unicode_8z8z ()</h3>
-<pre class="programlisting">int idna_to_unicode_8z8z (const char *input,
- char **output,
- int flags);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> idna_to_unicode_8z8z (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
<p>
Convert possibly ACE encoded domain name in UTF-8 format into a
UTF-8 string. The domain name may contain several labels,
separated by dots. The output buffer must be deallocated by the
-caller.</p>
-<p>
+caller.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td> zero-terminated UTF-8 string.
+<td>zero-terminated UTF-8 string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td> pointer to newly allocated output UTF-8 string.
+<td>pointer to newly allocated output UTF-8 string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td> an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED--CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
- <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES--CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
+<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+ <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS--CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
+<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="idna_to_unicode_8zlz ()">
<a name="idna-to-unicode-8zlz"></a><h3>idna_to_unicode_8zlz ()</h3>
-<pre class="programlisting">int idna_to_unicode_8zlz (const char *input,
- char **output,
- int flags);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> idna_to_unicode_8zlz (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
<p>
Convert possibly ACE encoded domain name in UTF-8 format into a
string encoded in the current locale's character set. The domain
name may contain several labels, separated by dots. The output
-buffer must be deallocated by the caller.</p>
-<p>
+buffer must be deallocated by the caller.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td> zero-terminated UTF-8 string.
+<td>zero-terminated UTF-8 string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td> pointer to newly allocated output string encoded in the
+<td>pointer to newly allocated output string encoded in the
current locale's character set.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td> an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED--CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
- <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES--CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
+<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+ <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS--CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
+<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="idna_to_unicode_lzlz ()">
<a name="idna-to-unicode-lzlz"></a><h3>idna_to_unicode_lzlz ()</h3>
-<pre class="programlisting">int idna_to_unicode_lzlz (const char *input,
- char **output,
- int flags);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> idna_to_unicode_lzlz (<em class="parameter"><code>const <span class="type">char</span> *input</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **output</code></em>,
+ <em class="parameter"><code><span class="type">int</span> flags</code></em>);</pre>
<p>
Convert possibly ACE encoded domain name in the locale's character
set into a string encoded in the current locale's character set.
The domain name may contain several labels, separated by dots. The
-output buffer must be deallocated by the caller.</p>
-<p>
+output buffer must be deallocated by the caller.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td> zero-terminated string encoded in the current locale's
+<td>zero-terminated string encoded in the current locale's
character set.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td> pointer to newly allocated output string encoded in the
+<td>pointer to newly allocated output string encoded in the
current locale's character set.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td> an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED--CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
- <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES--CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
+<td>an <a class="link" href="libidn-idna.html#Idna-flags" title="enum Idna_flags"><span class="type">Idna_flags</span></a> value, e.g., <a class="link" href="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"><code class="literal">IDNA_ALLOW_UNASSIGNED</code></a> or
+ <a class="link" href="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"><code class="literal">IDNA_USE_STD3_ASCII_RULES</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS--CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
+<td> Returns <a class="link" href="libidn-idna.html#IDNA-SUCCESS:CAPS"><code class="literal">IDNA_SUCCESS</code></a> on success, or error code.
</td>
</tr>
</tbody>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.11</div>
+ Generated by GTK-Doc V1.15</div>
</body>
-</html>
+</html>
\ No newline at end of file
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>pr29</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="up" href="ch01.html" title="GNU Libidn API Reference Manual">
-<link rel="prev" href="libidn-idna.html" title="idna">
-<link rel="next" href="libidn-punycode.html" title="punycode">
-<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
+<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="libidn-punycode.html" title="punycode">
+<link rel="next" href="libidn-tld.html" title="tld">
+<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="chapter" href="ch01.html" title="GNU Libidn API Reference Manual">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
-<td><a accesskey="p" href="libidn-idna.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libidn-punycode.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="intro.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td><a accesskey="n" href="libidn-punycode.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="libidn-tld.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#libidn-pr29.synopsis" class="shortcut">Top</a>
- |
- <a href="#libidn-pr29.description" class="shortcut">Description</a>
+ |
+ <a href="#libidn-pr29.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" title="pr29">
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="libidn-pr29.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#define <a class="link" href="libidn-idna.html#IDNAPI--CAPS" title="IDNAPI">IDNAPI</a>
+<pre class="synopsis">#define <a class="link" href="libidn-idna.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>
enum <a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc">Pr29_rc</a>;
-const char * <a class="link" href="libidn-pr29.html#pr29-strerror" title="pr29_strerror ()">pr29_strerror</a> (<a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc">Pr29_rc</a> rc);
-int <a class="link" href="libidn-pr29.html#pr29-4" title="pr29_4 ()">pr29_4</a> (const uint32_t *in,
- size_t len);
-int <a class="link" href="libidn-pr29.html#pr29-4z" title="pr29_4z ()">pr29_4z</a> (const uint32_t *in);
-int <a class="link" href="libidn-pr29.html#pr29-8z" title="pr29_8z ()">pr29_8z</a> (const char *in);
+const <span class="returnvalue">char</span> * <a class="link" href="libidn-pr29.html#pr29-strerror" title="pr29_strerror ()">pr29_strerror</a> (<em class="parameter"><code><a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> rc</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-pr29.html#pr29-4" title="pr29_4 ()">pr29_4</a> (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> len</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-pr29.html#pr29-4z" title="pr29_4z ()">pr29_4z</a> (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-pr29.html#pr29-8z" title="pr29_8z ()">pr29_8z</a> (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>);
</pre>
</div>
<div class="refsect1" title="Description">
<div class="refsect1" title="Details">
<a name="libidn-pr29.details"></a><h2>Details</h2>
<div class="refsect2" title="IDNAPI">
-<a name="IDNAPI--CAPS"></a><h3>IDNAPI</h3>
+<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
<pre class="programlisting">#define IDNAPI</pre>
<p>
</p>
{
PR29_SUCCESS = 0,
PR29_PROBLEM = 1, /* String is a problem sequence. */
- PR29_STRINGPREP_ERROR = 2 /* Charset conversion failed (p29_8*). */
+ PR29_STRINGPREP_ERROR = 2 /* Charset conversion failed (p29_8*). */
} Pr29_rc;
</pre>
<p>
Enumerated return codes for <a class="link" href="libidn-pr29.html#pr29-4" title="pr29_4 ()"><code class="function">pr29_4()</code></a>, <a class="link" href="libidn-pr29.html#pr29-4z" title="pr29_4z ()"><code class="function">pr29_4z()</code></a>, <a class="link" href="libidn-pr29.html#pr29-8z" title="pr29_8z ()"><code class="function">pr29_8z()</code></a>. The
-value 0 is guaranteed to always correspond to success.</p>
-<p>
+value 0 is guaranteed to always correspond to success.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
-<td><p><a name="PR29-SUCCESS--CAPS"></a><span class="term"><code class="literal">PR29_SUCCESS</code></span></p></td>
-<td> Successful operation. This value is guaranteed to
+<td><p><a name="PR29-SUCCESS:CAPS"></a><span class="term"><code class="literal">PR29_SUCCESS</code></span></p></td>
+<td>Successful operation. This value is guaranteed to
always be zero, the remaining ones are only guaranteed to hold
non-zero values, for logical comparison purposes.
</td>
</tr>
<tr>
-<td><p><a name="PR29-PROBLEM--CAPS"></a><span class="term"><code class="literal">PR29_PROBLEM</code></span></p></td>
-<td> A problem sequence was encountered.
+<td><p><a name="PR29-PROBLEM:CAPS"></a><span class="term"><code class="literal">PR29_PROBLEM</code></span></p></td>
+<td>A problem sequence was encountered.
</td>
</tr>
<tr>
-<td><p><a name="PR29-STRINGPREP-ERROR--CAPS"></a><span class="term"><code class="literal">PR29_STRINGPREP_ERROR</code></span></p></td>
-<td> The character set conversion failed (only
- for <code class="function">pr29_8()</code> and <a class="link" href="libidn-pr29.html#pr29-8z" title="pr29_8z ()"><code class="function">pr29_8z()</code></a>).
+<td><p><a name="PR29-STRINGPREP-ERROR:CAPS"></a><span class="term"><code class="literal">PR29_STRINGPREP_ERROR</code></span></p></td>
+<td>The character set conversion failed (only
+ for <a class="link" href="libidn-pr29.html#pr29-8z" title="pr29_8z ()"><code class="function">pr29_8z()</code></a>).
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="pr29_strerror ()">
<a name="pr29-strerror"></a><h3>pr29_strerror ()</h3>
-<pre class="programlisting">const char * pr29_strerror (<a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc">Pr29_rc</a> rc);</pre>
+<pre class="programlisting">const <span class="returnvalue">char</span> * pr29_strerror (<em class="parameter"><code><a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> rc</code></em>);</pre>
<p>
Convert a return code integer to a text string. This string can be
used to output a diagnostic message to the user.
non-zero values, for logical comparison purposes.
PR29_PROBLEM: A problem sequence was encountered.
PR29_STRINGPREP_ERROR: The character set conversion failed (only
- for <code class="function">pr29_8()</code> and <a class="link" href="libidn-pr29.html#pr29-8z" title="pr29_8z ()"><code class="function">pr29_8z()</code></a>).</p>
-<p>
+ for <a class="link" href="libidn-pr29.html#pr29-8z" title="pr29_8z ()"><code class="function">pr29_8z()</code></a>).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>rc</code></em> :</span></p></td>
-<td> an <a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> return code.
+<td>an <a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> return code.
</td>
</tr>
<tr>
<hr>
<div class="refsect2" title="pr29_4 ()">
<a name="pr29-4"></a><h3>pr29_4 ()</h3>
-<pre class="programlisting">int pr29_4 (const uint32_t *in,
- size_t len);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> pr29_4 (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> len</code></em>);</pre>
<p>
Check the input to see if it may be normalized into different
strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.</p>
-<p>
+NFKC specifications.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> input array with unicode code points.
+<td>input array with unicode code points.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
-<td> length of input array with unicode code points.
+<td>length of input array with unicode code points.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns the <a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> value <a class="link" href="libidn-pr29.html#PR29-SUCCESS--CAPS"><code class="literal">PR29_SUCCESS</code></a> on success,
- and <a class="link" href="libidn-pr29.html#PR29-PROBLEM--CAPS"><code class="literal">PR29_PROBLEM</code></a> if the input sequence is a "problem sequence"
+<td> Returns the <a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> value <a class="link" href="libidn-pr29.html#PR29-SUCCESS:CAPS"><code class="literal">PR29_SUCCESS</code></a> on success,
+ and <a class="link" href="libidn-pr29.html#PR29-PROBLEM:CAPS"><code class="literal">PR29_PROBLEM</code></a> if the input sequence is a "problem sequence"
(i.e., may be normalized into different strings by different
implementations).
</td>
<hr>
<div class="refsect2" title="pr29_4z ()">
<a name="pr29-4z"></a><h3>pr29_4z ()</h3>
-<pre class="programlisting">int pr29_4z (const uint32_t *in);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> pr29_4z (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>);</pre>
<p>
Check the input to see if it may be normalized into different
strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.</p>
-<p>
+NFKC specifications.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> zero terminated array of Unicode code points.
+<td>zero terminated array of Unicode code points.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns the <a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> value <a class="link" href="libidn-pr29.html#PR29-SUCCESS--CAPS"><code class="literal">PR29_SUCCESS</code></a> on success,
- and <a class="link" href="libidn-pr29.html#PR29-PROBLEM--CAPS"><code class="literal">PR29_PROBLEM</code></a> if the input sequence is a "problem sequence"
+<td> Returns the <a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> value <a class="link" href="libidn-pr29.html#PR29-SUCCESS:CAPS"><code class="literal">PR29_SUCCESS</code></a> on success,
+ and <a class="link" href="libidn-pr29.html#PR29-PROBLEM:CAPS"><code class="literal">PR29_PROBLEM</code></a> if the input sequence is a "problem sequence"
(i.e., may be normalized into different strings by different
implementations).
</td>
<hr>
<div class="refsect2" title="pr29_8z ()">
<a name="pr29-8z"></a><h3>pr29_8z ()</h3>
-<pre class="programlisting">int pr29_8z (const char *in);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> pr29_8z (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>);</pre>
<p>
Check the input to see if it may be normalized into different
strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.</p>
-<p>
+NFKC specifications.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> zero terminated input UTF-8 string.
+<td>zero terminated input UTF-8 string.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns the <a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> value <a class="link" href="libidn-pr29.html#PR29-SUCCESS--CAPS"><code class="literal">PR29_SUCCESS</code></a> on success,
- and <a class="link" href="libidn-pr29.html#PR29-PROBLEM--CAPS"><code class="literal">PR29_PROBLEM</code></a> if the input sequence is a "problem sequence"
+<td> Returns the <a class="link" href="libidn-pr29.html#Pr29-rc" title="enum Pr29_rc"><span class="type">Pr29_rc</span></a> value <a class="link" href="libidn-pr29.html#PR29-SUCCESS:CAPS"><code class="literal">PR29_SUCCESS</code></a> on success,
+ and <a class="link" href="libidn-pr29.html#PR29-PROBLEM:CAPS"><code class="literal">PR29_PROBLEM</code></a> if the input sequence is a "problem sequence"
(i.e., may be normalized into different strings by different
- implementations), or <a class="link" href="libidn-pr29.html#PR29-STRINGPREP-ERROR--CAPS"><code class="literal">PR29_STRINGPREP_ERROR</code></a> if there was a
+ implementations), or <a class="link" href="libidn-pr29.html#PR29-STRINGPREP-ERROR:CAPS"><code class="literal">PR29_STRINGPREP_ERROR</code></a> if there was a
problem converting the string from UTF-8 to UCS-4.
</td>
</tr>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.11</div>
+ Generated by GTK-Doc V1.15</div>
</body>
-</html>
+</html>
\ No newline at end of file
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>punycode</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="up" href="ch01.html" title="GNU Libidn API Reference Manual">
-<link rel="prev" href="libidn-pr29.html" title="pr29">
-<link rel="next" href="libidn-tld.html" title="tld">
-<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
+<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="libidn-stringprep.html" title="stringprep">
+<link rel="next" href="libidn-pr29.html" title="pr29">
+<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="chapter" href="ch01.html" title="GNU Libidn API Reference Manual">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
-<td><a accesskey="p" href="libidn-pr29.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libidn-stringprep.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="intro.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td><a accesskey="n" href="libidn-tld.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="libidn-pr29.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#libidn-punycode.synopsis" class="shortcut">Top</a>
- |
- <a href="#libidn-punycode.description" class="shortcut">Description</a>
+ |
+ <a href="#libidn-punycode.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" title="punycode">
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="libidn-punycode.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#define <a class="link" href="libidn-idna.html#IDNAPI--CAPS" title="IDNAPI">IDNAPI</a>
+<pre class="synopsis">#define <a class="link" href="libidn-idna.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>
enum <a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status">Punycode_status</a>;
-const char * <a class="link" href="libidn-punycode.html#punycode-strerror" title="punycode_strerror ()">punycode_strerror</a> (<a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status">Punycode_status</a> rc);
+const <span class="returnvalue">char</span> * <a class="link" href="libidn-punycode.html#punycode-strerror" title="punycode_strerror ()">punycode_strerror</a> (<em class="parameter"><code><a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a> rc</code></em>);
typedef <a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint">punycode_uint</a>;
-int <a class="link" href="libidn-punycode.html#punycode-encode" title="punycode_encode ()">punycode_encode</a> (size_t input_length,
- const <a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint">punycode_uint</a> input[],
- unsigned char case_flags[],
- size_t *output_length,
- char output[]);
-int <a class="link" href="libidn-punycode.html#punycode-decode" title="punycode_decode ()">punycode_decode</a> (size_t input_length,
- const char input[],
- size_t *output_length,
- <a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint">punycode_uint</a> output[],
- unsigned char case_flags[]);
+<span class="returnvalue">int</span> <a class="link" href="libidn-punycode.html#punycode-encode" title="punycode_encode ()">punycode_encode</a> (<em class="parameter"><code><span class="type">size_t</span> input_length</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint"><span class="type">punycode_uint</span></a> input[]</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">char</span> case_flags[]</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *output_length</code></em>,
+ <em class="parameter"><code><span class="type">char</span> output[]</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-punycode.html#punycode-decode" title="punycode_decode ()">punycode_decode</a> (<em class="parameter"><code><span class="type">size_t</span> input_length</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> input[]</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *output_length</code></em>,
+ <em class="parameter"><code><a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint"><span class="type">punycode_uint</span></a> output[]</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">char</span> case_flags[]</code></em>);
</pre>
</div>
<div class="refsect1" title="Description">
<div class="refsect1" title="Details">
<a name="libidn-punycode.details"></a><h2>Details</h2>
<div class="refsect2" title="IDNAPI">
-<a name="IDNAPI--CAPS"></a><h3>IDNAPI</h3>
+<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
<pre class="programlisting">#define IDNAPI</pre>
<p>
</p>
</pre>
<p>
Enumerated return codes of <a class="link" href="libidn-punycode.html#punycode-encode" title="punycode_encode ()"><code class="function">punycode_encode()</code></a> and <a class="link" href="libidn-punycode.html#punycode-decode" title="punycode_decode ()"><code class="function">punycode_decode()</code></a>.
-The value 0 is guaranteed to always correspond to success.</p>
-<p>
+The value 0 is guaranteed to always correspond to success.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
-<td><p><a name="PUNYCODE-SUCCESS--CAPS"></a><span class="term"><code class="literal">PUNYCODE_SUCCESS</code></span></p></td>
-<td> Successful operation. This value is guaranteed
+<td><p><a name="PUNYCODE-SUCCESS:CAPS"></a><span class="term"><code class="literal">PUNYCODE_SUCCESS</code></span></p></td>
+<td>Successful operation. This value is guaranteed
to always be zero, the remaining ones are only guaranteed to hold
non-zero values, for logical comparison purposes.
</td>
</tr>
<tr>
-<td><p><a name="PUNYCODE-BAD-INPUT--CAPS"></a><span class="term"><code class="literal">PUNYCODE_BAD_INPUT</code></span></p></td>
-<td> Input is invalid.
+<td><p><a name="PUNYCODE-BAD-INPUT:CAPS"></a><span class="term"><code class="literal">PUNYCODE_BAD_INPUT</code></span></p></td>
+<td>Input is invalid.
</td>
</tr>
<tr>
-<td><p><a name="PUNYCODE-BIG-OUTPUT--CAPS"></a><span class="term"><code class="literal">PUNYCODE_BIG_OUTPUT</code></span></p></td>
-<td> Output would exceed the space provided.
+<td><p><a name="PUNYCODE-BIG-OUTPUT:CAPS"></a><span class="term"><code class="literal">PUNYCODE_BIG_OUTPUT</code></span></p></td>
+<td>Output would exceed the space provided.
</td>
</tr>
<tr>
-<td><p><a name="PUNYCODE-OVERFLOW--CAPS"></a><span class="term"><code class="literal">PUNYCODE_OVERFLOW</code></span></p></td>
-<td> Input needs wider integers to process.
+<td><p><a name="PUNYCODE-OVERFLOW:CAPS"></a><span class="term"><code class="literal">PUNYCODE_OVERFLOW</code></span></p></td>
+<td>Input needs wider integers to process.
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="punycode_strerror ()">
<a name="punycode-strerror"></a><h3>punycode_strerror ()</h3>
-<pre class="programlisting">const char * punycode_strerror (<a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status">Punycode_status</a> rc);</pre>
+<pre class="programlisting">const <span class="returnvalue">char</span> * punycode_strerror (<em class="parameter"><code><a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a> rc</code></em>);</pre>
<p>
Convert a return code integer to a text string. This string can be
used to output a diagnostic message to the user.
non-zero values, for logical comparison purposes.
PUNYCODE_BAD_INPUT: Input is invalid.
PUNYCODE_BIG_OUTPUT: Output would exceed the space provided.
-PUNYCODE_OVERFLOW: Input needs wider integers to process.</p>
-<p>
+PUNYCODE_OVERFLOW: Input needs wider integers to process.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>rc</code></em> :</span></p></td>
-<td> an <a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a> return code.
+<td>an <a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a> return code.
</td>
</tr>
<tr>
</pre>
<p>
Unicode code point data type, this is always a 32 bit unsigned
-integer.</p>
-<p>
+integer.
</p>
</div>
<hr>
<div class="refsect2" title="punycode_encode ()">
<a name="punycode-encode"></a><h3>punycode_encode ()</h3>
-<pre class="programlisting">int punycode_encode (size_t input_length,
- const <a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint">punycode_uint</a> input[],
- unsigned char case_flags[],
- size_t *output_length,
- char output[]);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> punycode_encode (<em class="parameter"><code><span class="type">size_t</span> input_length</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint"><span class="type">punycode_uint</span></a> input[]</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">char</span> case_flags[]</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *output_length</code></em>,
+ <em class="parameter"><code><span class="type">char</span> output[]</code></em>);</pre>
<p>
Converts a sequence of code points (presumed to be Unicode code
-points) to Punycode.</p>
-<p>
+points) to Punycode.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>input_length</code></em> :</span></p></td>
-<td> The number of code points in the <em class="parameter"><code>input</code></em> array and
+<td>The number of code points in the <em class="parameter"><code>input</code></em> array and
the number of flags in the <em class="parameter"><code>case_flags</code></em> array.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td> An array of code points. They are presumed to be Unicode
+<td>An array of code points. They are presumed to be Unicode
code points, but that is not strictly REQUIRED. The array
contains code points, not code units. UTF-16 uses code units
D800 through DFFF to refer to code points 10000..10FFFF. The
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>case_flags</code></em> :</span></p></td>
-<td> A <code class="literal">NULL</code> pointer or an array of boolean values parallel
+<td>A <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> pointer or an array of boolean values parallel
to the <em class="parameter"><code>input</code></em> array. Nonzero (true, flagged) suggests that the
corresponding Unicode character be forced to uppercase after
being decoded (if possible), and zero (false, unflagged) suggests
that it be forced to lowercase (if possible). ASCII code points
(0..7F) are encoded literally, except that ASCII letters are
forced to uppercase or lowercase according to the corresponding
- case flags. If <em class="parameter"><code>case_flags</code></em> is a <code class="literal">NULL</code> pointer then ASCII letters
+ case flags. If <em class="parameter"><code>case_flags</code></em> is a <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> pointer then ASCII letters
are left as they are, and other code points are treated as
unflagged.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>output_length</code></em> :</span></p></td>
-<td> The caller passes in the maximum number of ASCII
+<td>The caller passes in the maximum number of ASCII
code points that it can receive. On successful return it will
contain the number of ASCII code points actually output.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td> An array of ASCII code points. It is *not*
+<td>An array of ASCII code points. It is *not*
null-terminated; it will contain zeros if and only if the <em class="parameter"><code>input</code></em>
contains zeros. (Of course the caller can leave room for a
terminator and add one if needed.)
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The return value can be any of the <a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a>
- values defined above except <a class="link" href="libidn-punycode.html#PUNYCODE-BAD-INPUT--CAPS"><code class="literal">PUNYCODE_BAD_INPUT</code></a>. If not
- <a class="link" href="libidn-punycode.html#PUNYCODE-SUCCESS--CAPS"><code class="literal">PUNYCODE_SUCCESS</code></a>, then <em class="parameter"><code>output_size</code></em> and <em class="parameter"><code>output</code></em> might contain
+ values defined above except <a class="link" href="libidn-punycode.html#PUNYCODE-BAD-INPUT:CAPS"><code class="literal">PUNYCODE_BAD_INPUT</code></a>. If not
+ <a class="link" href="libidn-punycode.html#PUNYCODE-SUCCESS:CAPS"><code class="literal">PUNYCODE_SUCCESS</code></a>, then <em class="parameter"><code>output_size</code></em> and <em class="parameter"><code>output</code></em> might contain
garbage.
</td>
</tr>
<hr>
<div class="refsect2" title="punycode_decode ()">
<a name="punycode-decode"></a><h3>punycode_decode ()</h3>
-<pre class="programlisting">int punycode_decode (size_t input_length,
- const char input[],
- size_t *output_length,
- <a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint">punycode_uint</a> output[],
- unsigned char case_flags[]);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> punycode_decode (<em class="parameter"><code><span class="type">size_t</span> input_length</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> input[]</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *output_length</code></em>,
+ <em class="parameter"><code><a class="link" href="libidn-punycode.html#punycode-uint" title="punycode_uint"><span class="type">punycode_uint</span></a> output[]</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">char</span> case_flags[]</code></em>);</pre>
<p>
Converts Punycode to a sequence of code points (presumed to be
-Unicode code points).</p>
-<p>
+Unicode code points).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>input_length</code></em> :</span></p></td>
-<td> The number of ASCII code points in the <em class="parameter"><code>input</code></em> array.
+<td>The number of ASCII code points in the <em class="parameter"><code>input</code></em> array.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
-<td> An array of ASCII code points (0..7F).
+<td>An array of ASCII code points (0..7F).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>output_length</code></em> :</span></p></td>
-<td> The caller passes in the maximum number of code
+<td>The caller passes in the maximum number of code
points that it can receive into the <em class="parameter"><code>output</code></em> array (which is also
the maximum number of flags that it can receive into the
- <em class="parameter"><code>case_flags</code></em> array, if <em class="parameter"><code>case_flags</code></em> is not a <code class="literal">NULL</code> pointer). On
+ <em class="parameter"><code>case_flags</code></em> array, if <em class="parameter"><code>case_flags</code></em> is not a <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> pointer). On
successful return it will contain the number of code points
actually output (which is also the number of flags actually
output, if case_flags is not a null pointer). The decoder will
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>output</code></em> :</span></p></td>
-<td> An array of code points like the input argument of
+<td>An array of code points like the input argument of
<a class="link" href="libidn-punycode.html#punycode-encode" title="punycode_encode ()"><code class="function">punycode_encode()</code></a> (see above).
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>case_flags</code></em> :</span></p></td>
-<td> A <code class="literal">NULL</code> pointer (if the flags are not needed by the
+<td>A <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> pointer (if the flags are not needed by the
caller) or an array of boolean values parallel to the <em class="parameter"><code>output</code></em>
array. Nonzero (true, flagged) suggests that the corresponding
Unicode character be forced to uppercase by the caller (if
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The return value can be any of the <a class="link" href="libidn-punycode.html#Punycode-status" title="enum Punycode_status"><span class="type">Punycode_status</span></a>
- values defined above. If not <a class="link" href="libidn-punycode.html#PUNYCODE-SUCCESS--CAPS"><code class="literal">PUNYCODE_SUCCESS</code></a>, then
+ values defined above. If not <a class="link" href="libidn-punycode.html#PUNYCODE-SUCCESS:CAPS"><code class="literal">PUNYCODE_SUCCESS</code></a>, then
<em class="parameter"><code>output_length</code></em>, <em class="parameter"><code>output</code></em>, and <em class="parameter"><code>case_flags</code></em> might contain garbage.
</td>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.11</div>
+ Generated by GTK-Doc V1.15</div>
</body>
-</html>
+</html>
\ No newline at end of file
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>stringprep</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="up" href="ch01.html" title="GNU Libidn API Reference Manual">
-<link rel="prev" href="libidn-tld.html" title="tld">
-<link rel="next" href="libidn-idn-free.html" title="idn-free">
-<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
+<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="libidn-idna.html" title="idna">
+<link rel="next" href="libidn-punycode.html" title="punycode">
+<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="chapter" href="ch01.html" title="GNU Libidn API Reference Manual">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
-<td><a accesskey="p" href="libidn-tld.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libidn-idna.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="intro.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td><a accesskey="n" href="libidn-idn-free.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="libidn-punycode.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#libidn-stringprep.synopsis" class="shortcut">Top</a>
- |
- <a href="#libidn-stringprep.description" class="shortcut">Description</a>
+ |
+ <a href="#libidn-stringprep.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" title="stringprep">
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="libidn-stringprep.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#define <a class="link" href="libidn-idna.html#IDNAPI--CAPS" title="IDNAPI">IDNAPI</a>
-#define <a class="link" href="libidn-stringprep.html#STRINGPREP-VERSION--CAPS" title="STRINGPREP_VERSION">STRINGPREP_VERSION</a>
+<pre class="synopsis">#define <a class="link" href="libidn-idna.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>
+#define <a class="link" href="libidn-stringprep.html#STRINGPREP-VERSION:CAPS" title="STRINGPREP_VERSION">STRINGPREP_VERSION</a>
enum <a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc">Stringprep_rc</a>;
enum <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags">Stringprep_profile_flags</a>;
enum <a class="link" href="libidn-stringprep.html#Stringprep-profile-steps" title="enum Stringprep_profile_steps">Stringprep_profile_steps</a>;
-#define <a class="link" href="libidn-stringprep.html#STRINGPREP-MAX-MAP-CHARS--CAPS" title="STRINGPREP_MAX_MAP_CHARS">STRINGPREP_MAX_MAP_CHARS</a>
+#define <a class="link" href="libidn-stringprep.html#STRINGPREP-MAX-MAP-CHARS:CAPS" title="STRINGPREP_MAX_MAP_CHARS">STRINGPREP_MAX_MAP_CHARS</a>
typedef <a class="link" href="libidn-stringprep.html#Stringprep-table-element" title="Stringprep_table_element">Stringprep_table_element</a>;
typedef <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile">Stringprep_profile</a>;
typedef <a class="link" href="libidn-stringprep.html#Stringprep-profiles" title="Stringprep_profiles">Stringprep_profiles</a>;
-#define <a class="link" href="libidn-stringprep.html#stringprep-nameprep" title="stringprep_nameprep()">stringprep_nameprep</a> (in, maxlen)
-#define <a class="link" href="libidn-stringprep.html#stringprep-nameprep-no-unassigned" title="stringprep_nameprep_no_unassigned()">stringprep_nameprep_no_unassigned</a> (in, maxlen)
-#define <a class="link" href="libidn-stringprep.html#stringprep-plain" title="stringprep_plain()">stringprep_plain</a> (in, maxlen)
-#define <a class="link" href="libidn-stringprep.html#stringprep-kerberos5" title="stringprep_kerberos5()">stringprep_kerberos5</a> (in, maxlen)
-#define <a class="link" href="libidn-stringprep.html#stringprep-xmpp-nodeprep" title="stringprep_xmpp_nodeprep()">stringprep_xmpp_nodeprep</a> (in, maxlen)
-#define <a class="link" href="libidn-stringprep.html#stringprep-xmpp-resourceprep" title="stringprep_xmpp_resourceprep()">stringprep_xmpp_resourceprep</a> (in, maxlen)
-#define <a class="link" href="libidn-stringprep.html#stringprep-iscsi" title="stringprep_iscsi()">stringprep_iscsi</a> (in, maxlen)
-int <a class="link" href="libidn-stringprep.html#stringprep-4i" title="stringprep_4i ()">stringprep_4i</a> (uint32_t *ucs4,
- size_t *len,
- size_t maxucs4len,
- <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags">Stringprep_profile_flags</a> flags,
- const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile">Stringprep_profile</a> *profile);
-int <a class="link" href="libidn-stringprep.html#stringprep-4zi" title="stringprep_4zi ()">stringprep_4zi</a> (uint32_t *ucs4,
- size_t maxucs4len,
- <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags">Stringprep_profile_flags</a> flags,
- const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile">Stringprep_profile</a> *profile);
-int <a class="link" href="libidn-stringprep.html#stringprep" title="stringprep ()">stringprep</a> (char *in,
- size_t maxlen,
- <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags">Stringprep_profile_flags</a> flags,
- const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile">Stringprep_profile</a> *profile);
-int <a class="link" href="libidn-stringprep.html#stringprep-profile" title="stringprep_profile ()">stringprep_profile</a> (const char *in,
- char **out,
- const char *profile,
- <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags">Stringprep_profile_flags</a> flags);
-const char * <a class="link" href="libidn-stringprep.html#stringprep-strerror" title="stringprep_strerror ()">stringprep_strerror</a> (<a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc">Stringprep_rc</a> rc);
-const char * <a class="link" href="libidn-stringprep.html#stringprep-check-version" title="stringprep_check_version ()">stringprep_check_version</a> (const char *req_version);
-int <a class="link" href="libidn-stringprep.html#stringprep-unichar-to-utf8" title="stringprep_unichar_to_utf8 ()">stringprep_unichar_to_utf8</a> (uint32_t c,
- char *outbuf);
-uint32_t <a class="link" href="libidn-stringprep.html#stringprep-utf8-to-unichar" title="stringprep_utf8_to_unichar ()">stringprep_utf8_to_unichar</a> (const char *p);
-uint32_t * <a class="link" href="libidn-stringprep.html#stringprep-utf8-to-ucs4" title="stringprep_utf8_to_ucs4 ()">stringprep_utf8_to_ucs4</a> (const char *str,
- ssize_t len,
- size_t *items_written);
-char * <a class="link" href="libidn-stringprep.html#stringprep-ucs4-to-utf8" title="stringprep_ucs4_to_utf8 ()">stringprep_ucs4_to_utf8</a> (const uint32_t *str,
- ssize_t len,
- size_t *items_read,
- size_t *items_written);
-char * <a class="link" href="libidn-stringprep.html#stringprep-utf8-nfkc-normalize" title="stringprep_utf8_nfkc_normalize ()">stringprep_utf8_nfkc_normalize</a> (const char *str,
- ssize_t len);
-uint32_t * <a class="link" href="libidn-stringprep.html#stringprep-ucs4-nfkc-normalize" title="stringprep_ucs4_nfkc_normalize ()">stringprep_ucs4_nfkc_normalize</a> (uint32_t *str,
- ssize_t len);
-const char * <a class="link" href="libidn-stringprep.html#stringprep-locale-charset" title="stringprep_locale_charset ()">stringprep_locale_charset</a> (void);
-char * <a class="link" href="libidn-stringprep.html#stringprep-convert" title="stringprep_convert ()">stringprep_convert</a> (const char *str,
- const char *to_codeset,
- const char *from_codeset);
-char * <a class="link" href="libidn-stringprep.html#stringprep-locale-to-utf8" title="stringprep_locale_to_utf8 ()">stringprep_locale_to_utf8</a> (const char *str);
-char * <a class="link" href="libidn-stringprep.html#stringprep-utf8-to-locale" title="stringprep_utf8_to_locale ()">stringprep_utf8_to_locale</a> (const char *str);
+#define <a class="link" href="libidn-stringprep.html#stringprep-nameprep" title="stringprep_nameprep()">stringprep_nameprep</a> (in,
+ maxlen)
+#define <a class="link" href="libidn-stringprep.html#stringprep-nameprep-no-unassigned" title="stringprep_nameprep_no_unassigned()">stringprep_nameprep_no_unassigned</a> (in,
+ maxlen)
+#define <a class="link" href="libidn-stringprep.html#stringprep-plain" title="stringprep_plain()">stringprep_plain</a> (in,
+ maxlen)
+#define <a class="link" href="libidn-stringprep.html#stringprep-kerberos5" title="stringprep_kerberos5()">stringprep_kerberos5</a> (in,
+ maxlen)
+#define <a class="link" href="libidn-stringprep.html#stringprep-xmpp-nodeprep" title="stringprep_xmpp_nodeprep()">stringprep_xmpp_nodeprep</a> (in,
+ maxlen)
+#define <a class="link" href="libidn-stringprep.html#stringprep-xmpp-resourceprep" title="stringprep_xmpp_resourceprep()">stringprep_xmpp_resourceprep</a> (in,
+ maxlen)
+#define <a class="link" href="libidn-stringprep.html#stringprep-iscsi" title="stringprep_iscsi()">stringprep_iscsi</a> (in,
+ maxlen)
+<span class="returnvalue">int</span> <a class="link" href="libidn-stringprep.html#stringprep-4i" title="stringprep_4i ()">stringprep_4i</a> (<em class="parameter"><code><span class="type">uint32_t</span> *ucs4</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *len</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> maxucs4len</code></em>,
+ <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-stringprep.html#stringprep-4zi" title="stringprep_4zi ()">stringprep_4zi</a> (<em class="parameter"><code><span class="type">uint32_t</span> *ucs4</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> maxucs4len</code></em>,
+ <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-stringprep.html#stringprep" title="stringprep ()">stringprep</a> (<em class="parameter"><code><span class="type">char</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> maxlen</code></em>,
+ <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-stringprep.html#stringprep-profile" title="stringprep_profile ()">stringprep_profile</a> (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **out</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *profile</code></em>,
+ <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>);
+const <span class="returnvalue">char</span> * <a class="link" href="libidn-stringprep.html#stringprep-strerror" title="stringprep_strerror ()">stringprep_strerror</a> (<em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> rc</code></em>);
+const <span class="returnvalue">char</span> * <a class="link" href="libidn-stringprep.html#stringprep-check-version" title="stringprep_check_version ()">stringprep_check_version</a> (<em class="parameter"><code>const <span class="type">char</span> *req_version</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-stringprep.html#stringprep-unichar-to-utf8" title="stringprep_unichar_to_utf8 ()">stringprep_unichar_to_utf8</a> (<em class="parameter"><code><span class="type">uint32_t</span> c</code></em>,
+ <em class="parameter"><code><span class="type">char</span> *outbuf</code></em>);
+<span class="returnvalue">uint32_t</span> <a class="link" href="libidn-stringprep.html#stringprep-utf8-to-unichar" title="stringprep_utf8_to_unichar ()">stringprep_utf8_to_unichar</a> (<em class="parameter"><code>const <span class="type">char</span> *p</code></em>);
+<span class="returnvalue">uint32_t</span> * <a class="link" href="libidn-stringprep.html#stringprep-utf8-to-ucs4" title="stringprep_utf8_to_ucs4 ()">stringprep_utf8_to_ucs4</a> (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *items_written</code></em>);
+<span class="returnvalue">char</span> * <a class="link" href="libidn-stringprep.html#stringprep-ucs4-to-utf8" title="stringprep_ucs4_to_utf8 ()">stringprep_ucs4_to_utf8</a> (<em class="parameter"><code>const <span class="type">uint32_t</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *items_read</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *items_written</code></em>);
+<span class="returnvalue">char</span> * <a class="link" href="libidn-stringprep.html#stringprep-utf8-nfkc-normalize" title="stringprep_utf8_nfkc_normalize ()">stringprep_utf8_nfkc_normalize</a> (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>);
+<span class="returnvalue">uint32_t</span> * <a class="link" href="libidn-stringprep.html#stringprep-ucs4-nfkc-normalize" title="stringprep_ucs4_nfkc_normalize ()">stringprep_ucs4_nfkc_normalize</a> (<em class="parameter"><code><span class="type">uint32_t</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>);
+const <span class="returnvalue">char</span> * <a class="link" href="libidn-stringprep.html#stringprep-locale-charset" title="stringprep_locale_charset ()">stringprep_locale_charset</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
+<span class="returnvalue">char</span> * <a class="link" href="libidn-stringprep.html#stringprep-convert" title="stringprep_convert ()">stringprep_convert</a> (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *to_codeset</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *from_codeset</code></em>);
+<span class="returnvalue">char</span> * <a class="link" href="libidn-stringprep.html#stringprep-locale-to-utf8" title="stringprep_locale_to_utf8 ()">stringprep_locale_to_utf8</a> (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>);
+<span class="returnvalue">char</span> * <a class="link" href="libidn-stringprep.html#stringprep-utf8-to-locale" title="stringprep_utf8_to_locale ()">stringprep_utf8_to_locale</a> (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>);
</pre>
</div>
<div class="refsect1" title="Description">
<div class="refsect1" title="Details">
<a name="libidn-stringprep.details"></a><h2>Details</h2>
<div class="refsect2" title="IDNAPI">
-<a name="IDNAPI--CAPS"></a><h3>IDNAPI</h3>
+<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
<pre class="programlisting">#define IDNAPI</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" title="STRINGPREP_VERSION">
-<a name="STRINGPREP-VERSION--CAPS"></a><h3>STRINGPREP_VERSION</h3>
-<pre class="programlisting"># define STRINGPREP_VERSION "1.15"
+<a name="STRINGPREP-VERSION:CAPS"></a><h3>STRINGPREP_VERSION</h3>
+<pre class="programlisting"># define STRINGPREP_VERSION "1.23"
</pre>
<p>
String defined via CPP denoting the header file version number.
Used together with <a class="link" href="libidn-stringprep.html#stringprep-check-version" title="stringprep_check_version ()"><code class="function">stringprep_check_version()</code></a> to verify header file
-and run-time library consistency.</p>
-<p>
+and run-time library consistency.
</p>
</div>
<hr>
<p>
Enumerated return codes of <a class="link" href="libidn-stringprep.html#stringprep" title="stringprep ()"><code class="function">stringprep()</code></a>, <a class="link" href="libidn-stringprep.html#stringprep-profile" title="stringprep_profile ()"><code class="function">stringprep_profile()</code></a>
functions (and macros using those functions). The value 0 is
-guaranteed to always correspond to success.</p>
-<p>
+guaranteed to always correspond to success.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
-<td><p><a name="STRINGPREP-OK--CAPS"></a><span class="term"><code class="literal">STRINGPREP_OK</code></span></p></td>
-<td> Successful operation. This value is guaranteed to
+<td><p><a name="STRINGPREP-OK:CAPS"></a><span class="term"><code class="literal">STRINGPREP_OK</code></span></p></td>
+<td>Successful operation. This value is guaranteed to
always be zero, the remaining ones are only guaranteed to hold
non-zero values, for logical comparison purposes.
</td>
</tr>
<tr>
-<td><p><a name="STRINGPREP-CONTAINS-UNASSIGNED--CAPS"></a><span class="term"><code class="literal">STRINGPREP_CONTAINS_UNASSIGNED</code></span></p></td>
-<td> String contain unassigned Unicode
+<td><p><a name="STRINGPREP-CONTAINS-UNASSIGNED:CAPS"></a><span class="term"><code class="literal">STRINGPREP_CONTAINS_UNASSIGNED</code></span></p></td>
+<td>String contain unassigned Unicode
code points, which is forbidden by the profile.
</td>
</tr>
<tr>
-<td><p><a name="STRINGPREP-CONTAINS-PROHIBITED--CAPS"></a><span class="term"><code class="literal">STRINGPREP_CONTAINS_PROHIBITED</code></span></p></td>
-<td> String contain code points
+<td><p><a name="STRINGPREP-CONTAINS-PROHIBITED:CAPS"></a><span class="term"><code class="literal">STRINGPREP_CONTAINS_PROHIBITED</code></span></p></td>
+<td>String contain code points
prohibited by the profile.
</td>
</tr>
<tr>
-<td><p><a name="STRINGPREP-BIDI-BOTH-L-AND-RAL--CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_BOTH_L_AND_RAL</code></span></p></td>
-<td> String contain code points with
+<td><p><a name="STRINGPREP-BIDI-BOTH-L-AND-RAL:CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_BOTH_L_AND_RAL</code></span></p></td>
+<td>String contain code points with
conflicting bidirection category.
</td>
</tr>
<tr>
-<td><p><a name="STRINGPREP-BIDI-LEADTRAIL-NOT-RAL--CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_LEADTRAIL_NOT_RAL</code></span></p></td>
-<td> Leading and trailing character
+<td><p><a name="STRINGPREP-BIDI-LEADTRAIL-NOT-RAL:CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_LEADTRAIL_NOT_RAL</code></span></p></td>
+<td>Leading and trailing character
in string not of proper bidirectional category.
</td>
</tr>
<tr>
-<td><p><a name="STRINGPREP-BIDI-CONTAINS-PROHIBITED--CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_CONTAINS_PROHIBITED</code></span></p></td>
-<td> Contains prohibited code
+<td><p><a name="STRINGPREP-BIDI-CONTAINS-PROHIBITED:CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_CONTAINS_PROHIBITED</code></span></p></td>
+<td>Contains prohibited code
points detected by bidirectional code.
</td>
</tr>
<tr>
-<td><p><a name="STRINGPREP-TOO-SMALL-BUFFER--CAPS"></a><span class="term"><code class="literal">STRINGPREP_TOO_SMALL_BUFFER</code></span></p></td>
-<td> Buffer handed to function was too
+<td><p><a name="STRINGPREP-TOO-SMALL-BUFFER:CAPS"></a><span class="term"><code class="literal">STRINGPREP_TOO_SMALL_BUFFER</code></span></p></td>
+<td>Buffer handed to function was too
small. This usually indicate a problem in the calling
application.
</td>
</tr>
<tr>
-<td><p><a name="STRINGPREP-PROFILE-ERROR--CAPS"></a><span class="term"><code class="literal">STRINGPREP_PROFILE_ERROR</code></span></p></td>
-<td> The stringprep profile was inconsistent.
+<td><p><a name="STRINGPREP-PROFILE-ERROR:CAPS"></a><span class="term"><code class="literal">STRINGPREP_PROFILE_ERROR</code></span></p></td>
+<td>The stringprep profile was inconsistent.
This usually indicate an internal error in the library.
</td>
</tr>
<tr>
-<td><p><a name="STRINGPREP-FLAG-ERROR--CAPS"></a><span class="term"><code class="literal">STRINGPREP_FLAG_ERROR</code></span></p></td>
-<td> The supplied flag conflicted with profile.
+<td><p><a name="STRINGPREP-FLAG-ERROR:CAPS"></a><span class="term"><code class="literal">STRINGPREP_FLAG_ERROR</code></span></p></td>
+<td>The supplied flag conflicted with profile.
This usually indicate a problem in the calling application.
</td>
</tr>
<tr>
-<td><p><a name="STRINGPREP-UNKNOWN-PROFILE--CAPS"></a><span class="term"><code class="literal">STRINGPREP_UNKNOWN_PROFILE</code></span></p></td>
-<td> The supplied profile name was not
+<td><p><a name="STRINGPREP-UNKNOWN-PROFILE:CAPS"></a><span class="term"><code class="literal">STRINGPREP_UNKNOWN_PROFILE</code></span></p></td>
+<td>The supplied profile name was not
known to the library.
</td>
</tr>
<tr>
-<td><p><a name="STRINGPREP-NFKC-FAILED--CAPS"></a><span class="term"><code class="literal">STRINGPREP_NFKC_FAILED</code></span></p></td>
-<td> The Unicode NFKC operation failed. This
+<td><p><a name="STRINGPREP-NFKC-FAILED:CAPS"></a><span class="term"><code class="literal">STRINGPREP_NFKC_FAILED</code></span></p></td>
+<td>The Unicode NFKC operation failed. This
usually indicate an internal error in the library.
</td>
</tr>
<tr>
-<td><p><a name="STRINGPREP-MALLOC-ERROR--CAPS"></a><span class="term"><code class="literal">STRINGPREP_MALLOC_ERROR</code></span></p></td>
-<td> The <code class="function">malloc()</code> was out of memory. This is
+<td><p><a name="STRINGPREP-MALLOC-ERROR:CAPS"></a><span class="term"><code class="literal">STRINGPREP_MALLOC_ERROR</code></span></p></td>
+<td>The <code class="function">malloc()</code> was out of memory. This is
usually a fatal error.
</td>
</tr>
} Stringprep_profile_flags;
</pre>
<p>
-Stringprep profile flags.</p>
-<p>
+Stringprep profile flags.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
-<td><p><a name="STRINGPREP-NO-NFKC--CAPS"></a><span class="term"><code class="literal">STRINGPREP_NO_NFKC</code></span></p></td>
-<td> Disable the NFKC normalization, as well as
+<td><p><a name="STRINGPREP-NO-NFKC:CAPS"></a><span class="term"><code class="literal">STRINGPREP_NO_NFKC</code></span></p></td>
+<td>Disable the NFKC normalization, as well as
selecting the non-NFKC case folding tables. Usually the profile
specifies BIDI and NFKC settings, and applications should not
override it unless in special situations.
</td>
</tr>
<tr>
-<td><p><a name="STRINGPREP-NO-BIDI--CAPS"></a><span class="term"><code class="literal">STRINGPREP_NO_BIDI</code></span></p></td>
-<td> Disable the BIDI step. Usually the profile
+<td><p><a name="STRINGPREP-NO-BIDI:CAPS"></a><span class="term"><code class="literal">STRINGPREP_NO_BIDI</code></span></p></td>
+<td>Disable the BIDI step. Usually the profile
specifies BIDI and NFKC settings, and applications should not
override it unless in special situations.
</td>
</tr>
<tr>
-<td><p><a name="STRINGPREP-NO-UNASSIGNED--CAPS"></a><span class="term"><code class="literal">STRINGPREP_NO_UNASSIGNED</code></span></p></td>
-<td> Make the library return with an error if
+<td><p><a name="STRINGPREP-NO-UNASSIGNED:CAPS"></a><span class="term"><code class="literal">STRINGPREP_NO_UNASSIGNED</code></span></p></td>
+<td>Make the library return with an error if
string contains unassigned characters according to profile.
</td>
</tr>
<p>
Various steps in the stringprep algorithm. You really want to
study the source code to understand this one. Only useful if you
-want to add another profile.</p>
-<p>
+want to add another profile.
</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><a name="STRINGPREP-NFKC:CAPS"></a><span class="term"><code class="literal">STRINGPREP_NFKC</code></span></p></td>
+<td>The NFKC step.
+</td>
+</tr>
+<tr>
+<td><p><a name="STRINGPREP-BIDI:CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI</code></span></p></td>
+<td>The BIDI step.
+</td>
+</tr>
+<tr>
+<td><p><a name="STRINGPREP-MAP-TABLE:CAPS"></a><span class="term"><code class="literal">STRINGPREP_MAP_TABLE</code></span></p></td>
+<td>The MAP step.
+</td>
+</tr>
+<tr>
+<td><p><a name="STRINGPREP-UNASSIGNED-TABLE:CAPS"></a><span class="term"><code class="literal">STRINGPREP_UNASSIGNED_TABLE</code></span></p></td>
+<td>The Unassigned step.
+</td>
+</tr>
+<tr>
+<td><p><a name="STRINGPREP-PROHIBIT-TABLE:CAPS"></a><span class="term"><code class="literal">STRINGPREP_PROHIBIT_TABLE</code></span></p></td>
+<td>The Prohibited step.
+</td>
+</tr>
+<tr>
+<td><p><a name="STRINGPREP-BIDI-PROHIBIT-TABLE:CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_PROHIBIT_TABLE</code></span></p></td>
+<td>The BIDI-Prohibited step.
+</td>
+</tr>
+<tr>
+<td><p><a name="STRINGPREP-BIDI-RAL-TABLE:CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_RAL_TABLE</code></span></p></td>
+<td>The BIDI-RAL step.
+</td>
+</tr>
+<tr>
+<td><p><a name="STRINGPREP-BIDI-L-TABLE:CAPS"></a><span class="term"><code class="literal">STRINGPREP_BIDI_L_TABLE</code></span></p></td>
+<td>The BIDI-L step.
+</td>
+</tr>
+</tbody>
+</table></div>
</div>
<hr>
<div class="refsect2" title="STRINGPREP_MAX_MAP_CHARS">
-<a name="STRINGPREP-MAX-MAP-CHARS--CAPS"></a><h3>STRINGPREP_MAX_MAP_CHARS</h3>
+<a name="STRINGPREP-MAX-MAP-CHARS:CAPS"></a><h3>STRINGPREP_MAX_MAP_CHARS</h3>
<pre class="programlisting"># define STRINGPREP_MAX_MAP_CHARS 4
</pre>
<p>
Maximum number of code points that can replace a single code point,
-during stringprep mapping.</p>
-<p>
+during stringprep mapping.
</p>
</div>
<hr>
Prepare the input UTF-8 string according to the nameprep profile.
The AllowUnassigned flag is true, use
<a class="link" href="libidn-stringprep.html#stringprep-nameprep-no-unassigned" title="stringprep_nameprep_no_unassigned()"><code class="function">stringprep_nameprep_no_unassigned()</code></a> if you want a false
-AllowUnassigned. Returns 0 iff successful, or an error code.</p>
-<p>
+AllowUnassigned. Returns 0 iff successful, or an error code.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> input/ouput array with string to prepare.
+<td>input/ouput array with string to prepare.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>maxlen</code></em> :</span></p></td>
-<td> maximum length of input/output array.
+<td>maximum length of input/output array.
</td>
</tr>
</tbody>
<p>
Prepare the input UTF-8 string according to the nameprep profile.
The AllowUnassigned flag is false, use <a class="link" href="libidn-stringprep.html#stringprep-nameprep" title="stringprep_nameprep()"><code class="function">stringprep_nameprep()</code></a> for
-true AllowUnassigned. Returns 0 iff successful, or an error code.</p>
-<p>
+true AllowUnassigned. Returns 0 iff successful, or an error code.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> input/ouput array with string to prepare.
+<td>input/ouput array with string to prepare.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>maxlen</code></em> :</span></p></td>
-<td> maximum length of input/output array.
+<td>maximum length of input/output array.
</td>
</tr>
</tbody>
<pre class="programlisting">#define stringprep_plain(in, maxlen)</pre>
<p>
Prepare the input UTF-8 string according to the draft SASL
-ANONYMOUS profile. Returns 0 iff successful, or an error code.</p>
-<p>
+ANONYMOUS profile. Returns 0 iff successful, or an error code.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> input/ouput array with string to prepare.
+<td>input/ouput array with string to prepare.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>maxlen</code></em> :</span></p></td>
-<td> maximum length of input/output array.
+<td>maximum length of input/output array.
</td>
</tr>
</tbody>
<pre class="programlisting">#define stringprep_xmpp_nodeprep(in, maxlen)</pre>
<p>
Prepare the input UTF-8 string according to the draft XMPP node
-identifier profile. Returns 0 iff successful, or an error code.</p>
-<p>
+identifier profile. Returns 0 iff successful, or an error code.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> input/ouput array with string to prepare.
+<td>input/ouput array with string to prepare.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>maxlen</code></em> :</span></p></td>
-<td> maximum length of input/output array.
+<td>maximum length of input/output array.
</td>
</tr>
</tbody>
<pre class="programlisting">#define stringprep_xmpp_resourceprep(in, maxlen)</pre>
<p>
Prepare the input UTF-8 string according to the draft XMPP resource
-identifier profile. Returns 0 iff successful, or an error code.</p>
-<p>
+identifier profile. Returns 0 iff successful, or an error code.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> input/ouput array with string to prepare.
+<td>input/ouput array with string to prepare.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>maxlen</code></em> :</span></p></td>
-<td> maximum length of input/output array.
+<td>maximum length of input/output array.
</td>
</tr>
</tbody>
<pre class="programlisting">#define stringprep_iscsi(in, maxlen)</pre>
<p>
Prepare the input UTF-8 string according to the draft iSCSI
-stringprep profile. Returns 0 iff successful, or an error code.</p>
-<p>
+stringprep profile. Returns 0 iff successful, or an error code.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> input/ouput array with string to prepare.
+<td>input/ouput array with string to prepare.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>maxlen</code></em> :</span></p></td>
-<td> maximum length of input/output array.
+<td>maximum length of input/output array.
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="stringprep_4i ()">
<a name="stringprep-4i"></a><h3>stringprep_4i ()</h3>
-<pre class="programlisting">int stringprep_4i (uint32_t *ucs4,
- size_t *len,
- size_t maxucs4len,
- <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags">Stringprep_profile_flags</a> flags,
- const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile">Stringprep_profile</a> *profile);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> stringprep_4i (<em class="parameter"><code><span class="type">uint32_t</span> *ucs4</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *len</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> maxucs4len</code></em>,
+ <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);</pre>
<p>
Prepare the input UCS-4 string according to the stringprep profile,
and write back the result to the input string.
The <em class="parameter"><code>profile</code></em> contain the <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> instructions to
perform. Your application can define new profiles, possibly
re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.</p>
-<p>
+the library, or use one of the currently supported profiles.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>ucs4</code></em> :</span></p></td>
-<td> input/output array with string to prepare.
+<td>input/output array with string to prepare.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
-<td> on input, length of input array with Unicode code points,
+<td>on input, length of input array with Unicode code points,
on exit, length of output array with Unicode code points.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>maxucs4len</code></em> :</span></p></td>
-<td> maximum length of input/output array.
+<td>maximum length of input/output array.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td> a <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.
+<td>a <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
-<td> pointer to <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> to use.
+<td>pointer to <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> to use.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns <a class="link" href="libidn-stringprep.html#STRINGPREP-OK--CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an
+<td> Returns <a class="link" href="libidn-stringprep.html#STRINGPREP-OK:CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an
<a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> error code.
</td>
</tr>
<hr>
<div class="refsect2" title="stringprep_4zi ()">
<a name="stringprep-4zi"></a><h3>stringprep_4zi ()</h3>
-<pre class="programlisting">int stringprep_4zi (uint32_t *ucs4,
- size_t maxucs4len,
- <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags">Stringprep_profile_flags</a> flags,
- const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile">Stringprep_profile</a> *profile);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> stringprep_4zi (<em class="parameter"><code><span class="type">uint32_t</span> *ucs4</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> maxucs4len</code></em>,
+ <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);</pre>
<p>
Prepare the input zero terminated UCS-4 string according to the
stringprep profile, and write back the result to the input string.
The <em class="parameter"><code>profile</code></em> contain the <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> instructions to
perform. Your application can define new profiles, possibly
re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.</p>
-<p>
+the library, or use one of the currently supported profiles.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>ucs4</code></em> :</span></p></td>
-<td> input/output array with zero terminated string to prepare.
+<td>input/output array with zero terminated string to prepare.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>maxucs4len</code></em> :</span></p></td>
-<td> maximum length of input/output array.
+<td>maximum length of input/output array.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td> a <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.
+<td>a <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
-<td> pointer to <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> to use.
+<td>pointer to <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> to use.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns <a class="link" href="libidn-stringprep.html#STRINGPREP-OK--CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an
+<td> Returns <a class="link" href="libidn-stringprep.html#STRINGPREP-OK:CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an
<a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> error code.
</td>
</tr>
<hr>
<div class="refsect2" title="stringprep ()">
<a name="stringprep"></a><h3>stringprep ()</h3>
-<pre class="programlisting">int stringprep (char *in,
- size_t maxlen,
- <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags">Stringprep_profile_flags</a> flags,
- const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile">Stringprep_profile</a> *profile);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> stringprep (<em class="parameter"><code><span class="type">char</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> maxlen</code></em>,
+ <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> *profile</code></em>);</pre>
<p>
Prepare the input zero terminated UTF-8 string according to the
stringprep profile, and write back the result to the input string.
The <em class="parameter"><code>profile</code></em> contain the <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> instructions to
perform. Your application can define new profiles, possibly
re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.</p>
-<p>
+the library, or use one of the currently supported profiles.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> input/ouput array with string to prepare.
+<td>input/ouput array with string to prepare.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>maxlen</code></em> :</span></p></td>
-<td> maximum length of input/output array.
+<td>maximum length of input/output array.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td> a <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.
+<td>a <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
-<td> pointer to <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> to use.
+<td>pointer to <a class="link" href="libidn-stringprep.html#Stringprep-profile" title="Stringprep_profile"><span class="type">Stringprep_profile</span></a> to use.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns <a class="link" href="libidn-stringprep.html#STRINGPREP-OK--CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an error code.
+<td> Returns <a class="link" href="libidn-stringprep.html#STRINGPREP-OK:CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an error code.
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="stringprep_profile ()">
<a name="stringprep-profile"></a><h3>stringprep_profile ()</h3>
-<pre class="programlisting">int stringprep_profile (const char *in,
- char **out,
- const char *profile,
- <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags">Stringprep_profile_flags</a> flags);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> stringprep_profile (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **out</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *profile</code></em>,
+ <em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> flags</code></em>);</pre>
<p>
Prepare the input zero terminated UTF-8 string according to the
stringprep profile, and return the result in a newly allocated
</p>
<p>
The <em class="parameter"><code>profile</code></em> specifies the name of the stringprep profile to use.
-It must be one of the internally supported stringprep profiles.</p>
-<p>
+It must be one of the internally supported stringprep profiles.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> input array with UTF-8 string to prepare.
+<td>input array with UTF-8 string to prepare.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
-<td> output variable with pointer to newly allocate string.
+<td>output variable with pointer to newly allocate string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>profile</code></em> :</span></p></td>
-<td> name of stringprep profile to use.
+<td>name of stringprep profile to use.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
-<td> a <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.
+<td>a <a class="link" href="libidn-stringprep.html#Stringprep-profile-flags" title="enum Stringprep_profile_flags"><span class="type">Stringprep_profile_flags</span></a> value, or 0.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns <a class="link" href="libidn-stringprep.html#STRINGPREP-OK--CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an error code.
+<td> Returns <a class="link" href="libidn-stringprep.html#STRINGPREP-OK:CAPS"><code class="literal">STRINGPREP_OK</code></a> iff successful, or an error code.
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="stringprep_strerror ()">
<a name="stringprep-strerror"></a><h3>stringprep_strerror ()</h3>
-<pre class="programlisting">const char * stringprep_strerror (<a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc">Stringprep_rc</a> rc);</pre>
+<pre class="programlisting">const <span class="returnvalue">char</span> * stringprep_strerror (<em class="parameter"><code><a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> rc</code></em>);</pre>
<p>
Convert a return code integer to a text string. This string can be
used to output a diagnostic message to the user.
STRINGPREP_NFKC_FAILED: The Unicode NFKC operation failed. This
usually indicate an internal error in the library.
STRINGPREP_MALLOC_ERROR: The <code class="function">malloc()</code> was out of memory. This is
- usually a fatal error.</p>
-<p>
+ usually a fatal error.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>rc</code></em> :</span></p></td>
-<td> a <a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> return code.
+<td>a <a class="link" href="libidn-stringprep.html#Stringprep-rc" title="enum Stringprep_rc"><span class="type">Stringprep_rc</span></a> return code.
</td>
</tr>
<tr>
<hr>
<div class="refsect2" title="stringprep_check_version ()">
<a name="stringprep-check-version"></a><h3>stringprep_check_version ()</h3>
-<pre class="programlisting">const char * stringprep_check_version (const char *req_version);</pre>
+<pre class="programlisting">const <span class="returnvalue">char</span> * stringprep_check_version (<em class="parameter"><code>const <span class="type">char</span> *req_version</code></em>);</pre>
<p>
Check that the version of the library is at minimum the requested one
and return the version string; return NULL if the condition is not
but the version string is simply returned.
</p>
<p>
-See <a class="link" href="libidn-stringprep.html#STRINGPREP-VERSION--CAPS" title="STRINGPREP_VERSION"><code class="literal">STRINGPREP_VERSION</code></a> for a suitable <em class="parameter"><code>req_version</code></em> string.</p>
-<p>
+See <a class="link" href="libidn-stringprep.html#STRINGPREP-VERSION:CAPS" title="STRINGPREP_VERSION"><code class="literal">STRINGPREP_VERSION</code></a> for a suitable <em class="parameter"><code>req_version</code></em> string.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>req_version</code></em> :</span></p></td>
-<td> Required version number, or NULL.
+<td>Required version number, or NULL.
</td>
</tr>
<tr>
<hr>
<div class="refsect2" title="stringprep_unichar_to_utf8 ()">
<a name="stringprep-unichar-to-utf8"></a><h3>stringprep_unichar_to_utf8 ()</h3>
-<pre class="programlisting">int stringprep_unichar_to_utf8 (uint32_t c,
- char *outbuf);</pre>
-<p>
-Converts a single character to UTF-8.</p>
+<pre class="programlisting"><span class="returnvalue">int</span> stringprep_unichar_to_utf8 (<em class="parameter"><code><span class="type">uint32_t</span> c</code></em>,
+ <em class="parameter"><code><span class="type">char</span> *outbuf</code></em>);</pre>
<p>
+Converts a single character to UTF-8.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>c</code></em> :</span></p></td>
-<td> a ISO10646 character code
+<td>a ISO10646 character code
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>outbuf</code></em> :</span></p></td>
-<td> output buffer, must have at least 6 bytes of space.
- If <code class="literal">NULL</code>, the length will be computed and returned
+<td>output buffer, must have at least 6 bytes of space.
+ If <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the length will be computed and returned
and nothing will be written to <em class="parameter"><code>outbuf</code></em>.
</td>
</tr>
<hr>
<div class="refsect2" title="stringprep_utf8_to_unichar ()">
<a name="stringprep-utf8-to-unichar"></a><h3>stringprep_utf8_to_unichar ()</h3>
-<pre class="programlisting">uint32_t stringprep_utf8_to_unichar (const char *p);</pre>
+<pre class="programlisting"><span class="returnvalue">uint32_t</span> stringprep_utf8_to_unichar (<em class="parameter"><code>const <span class="type">char</span> *p</code></em>);</pre>
<p>
Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
If <em class="parameter"><code>p</code></em> does not point to a valid UTF-8 encoded character, results are
-undefined.</p>
-<p>
+undefined.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>p</code></em> :</span></p></td>
-<td> a pointer to Unicode character encoded as UTF-8
+<td>a pointer to Unicode character encoded as UTF-8
</td>
</tr>
<tr>
<hr>
<div class="refsect2" title="stringprep_utf8_to_ucs4 ()">
<a name="stringprep-utf8-to-ucs4"></a><h3>stringprep_utf8_to_ucs4 ()</h3>
-<pre class="programlisting">uint32_t * stringprep_utf8_to_ucs4 (const char *str,
- ssize_t len,
- size_t *items_written);</pre>
+<pre class="programlisting"><span class="returnvalue">uint32_t</span> * stringprep_utf8_to_ucs4 (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *items_written</code></em>);</pre>
<p>
Convert a string from UTF-8 to a 32-bit fixed width
representation as UCS-4, assuming valid UTF-8 input.
-This function does no error checking on the input.</p>
-<p>
+This function does no error checking on the input.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
-<td> a UTF-8 encoded string
+<td>a UTF-8 encoded string
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
-<td> the maximum length of <em class="parameter"><code>str</code></em> to use. If <em class="parameter"><code>len</code></em> < 0, then
+<td>the maximum length of <em class="parameter"><code>str</code></em> to use. If <em class="parameter"><code>len</code></em> < 0, then
the string is nul-terminated.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>items_written</code></em> :</span></p></td>
-<td> location to store the number of characters in the
- result, or <code class="literal">NULL</code>.
+<td>location to store the number of characters in the
+ result, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
<tr>
<hr>
<div class="refsect2" title="stringprep_ucs4_to_utf8 ()">
<a name="stringprep-ucs4-to-utf8"></a><h3>stringprep_ucs4_to_utf8 ()</h3>
-<pre class="programlisting">char * stringprep_ucs4_to_utf8 (const uint32_t *str,
- ssize_t len,
- size_t *items_read,
- size_t *items_written);</pre>
+<pre class="programlisting"><span class="returnvalue">char</span> * stringprep_ucs4_to_utf8 (<em class="parameter"><code>const <span class="type">uint32_t</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *items_read</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *items_written</code></em>);</pre>
<p>
Convert a string from a 32-bit fixed width representation as UCS-4.
-to UTF-8. The result will be terminated with a 0 byte.</p>
-<p>
+to UTF-8. The result will be terminated with a 0 byte.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
-<td> a UCS-4 encoded string
+<td>a UCS-4 encoded string
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
-<td> the maximum length of <em class="parameter"><code>str</code></em> to use. If <em class="parameter"><code>len</code></em> < 0, then
+<td>the maximum length of <em class="parameter"><code>str</code></em> to use. If <em class="parameter"><code>len</code></em> < 0, then
the string is terminated with a 0 character.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>items_read</code></em> :</span></p></td>
-<td> location to store number of characters read read, or <code class="literal">NULL</code>.
+<td>location to store number of characters read read, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>items_written</code></em> :</span></p></td>
-<td> location to store number of bytes written or <code class="literal">NULL</code>.
+<td>location to store number of bytes written or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
The value here stored does not include the trailing 0
byte.
</td>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a pointer to a newly allocated UTF-8 string.
This value must be deallocated by the caller.
- If an error occurs, <code class="literal">NULL</code> will be returned and <em class="parameter"><code>error</code></em>
- set.
+ If an error occurs, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be returned.
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="stringprep_utf8_nfkc_normalize ()">
<a name="stringprep-utf8-nfkc-normalize"></a><h3>stringprep_utf8_nfkc_normalize ()</h3>
-<pre class="programlisting">char * stringprep_utf8_nfkc_normalize (const char *str,
- ssize_t len);</pre>
+<pre class="programlisting"><span class="returnvalue">char</span> * stringprep_utf8_nfkc_normalize (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>);</pre>
<p>
Converts a string into canonical form, standardizing
such issues as whether a character with an accent
the standard forms (in this case DIGIT THREE). Formatting
information may be lost but for most text operations such
characters should be considered the same. It returns a result with
-composed forms rather than a maximally decomposed form.</p>
-<p>
+composed forms rather than a maximally decomposed form.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
-<td> a UTF-8 encoded string.
+<td>a UTF-8 encoded string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
-<td> length of <em class="parameter"><code>str</code></em>, in bytes, or -1 if <em class="parameter"><code>str</code></em> is nul-terminated.
+<td>length of <em class="parameter"><code>str</code></em>, in bytes, or -1 if <em class="parameter"><code>str</code></em> is nul-terminated.
</td>
</tr>
<tr>
<hr>
<div class="refsect2" title="stringprep_ucs4_nfkc_normalize ()">
<a name="stringprep-ucs4-nfkc-normalize"></a><h3>stringprep_ucs4_nfkc_normalize ()</h3>
-<pre class="programlisting">uint32_t * stringprep_ucs4_nfkc_normalize (uint32_t *str,
- ssize_t len);</pre>
+<pre class="programlisting"><span class="returnvalue">uint32_t</span> * stringprep_ucs4_nfkc_normalize (<em class="parameter"><code><span class="type">uint32_t</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">ssize_t</span> len</code></em>);</pre>
<p>
Converts UCS4 string into UTF-8 and runs
-<a class="link" href="libidn-stringprep.html#stringprep-utf8-nfkc-normalize" title="stringprep_utf8_nfkc_normalize ()"><code class="function">stringprep_utf8_nfkc_normalize()</code></a>.</p>
-<p>
+<a class="link" href="libidn-stringprep.html#stringprep-utf8-nfkc-normalize" title="stringprep_utf8_nfkc_normalize ()"><code class="function">stringprep_utf8_nfkc_normalize()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
-<td> a Unicode string.
+<td>a Unicode string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
-<td> length of <em class="parameter"><code>str</code></em> array, or -1 if <em class="parameter"><code>str</code></em> is nul-terminated.
+<td>length of <em class="parameter"><code>str</code></em> array, or -1 if <em class="parameter"><code>str</code></em> is nul-terminated.
</td>
</tr>
<tr>
<hr>
<div class="refsect2" title="stringprep_locale_charset ()">
<a name="stringprep-locale-charset"></a><h3>stringprep_locale_charset ()</h3>
-<pre class="programlisting">const char * stringprep_locale_charset (void);</pre>
+<pre class="programlisting">const <span class="returnvalue">char</span> * stringprep_locale_charset (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>
Find out current locale charset. The function respect the CHARSET
environment variable, but typically uses nl_langinfo(CODESET) when
sources you cannot in general use this function to guess what
charset it is encoded in. Use stringprep_convert from the external
representation into the charset returned by this function, to have
-data in the locale encoding.</p>
-<p>
+data in the locale encoding.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<hr>
<div class="refsect2" title="stringprep_convert ()">
<a name="stringprep-convert"></a><h3>stringprep_convert ()</h3>
-<pre class="programlisting">char * stringprep_convert (const char *str,
- const char *to_codeset,
- const char *from_codeset);</pre>
+<pre class="programlisting"><span class="returnvalue">char</span> * stringprep_convert (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *to_codeset</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *from_codeset</code></em>);</pre>
<p>
Convert the string from one character set to another using the
-system's <code class="function">iconv()</code> function.</p>
-<p>
+system's <code class="function">iconv()</code> function.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
-<td> input zero-terminated string.
+<td>input zero-terminated string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>to_codeset</code></em> :</span></p></td>
-<td> name of destination character set.
+<td>name of destination character set.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>from_codeset</code></em> :</span></p></td>
-<td> name of origin character set, as used by <em class="parameter"><code>str</code></em>.
+<td>name of origin character set, as used by <em class="parameter"><code>str</code></em>.
</td>
</tr>
<tr>
<hr>
<div class="refsect2" title="stringprep_locale_to_utf8 ()">
<a name="stringprep-locale-to-utf8"></a><h3>stringprep_locale_to_utf8 ()</h3>
-<pre class="programlisting">char * stringprep_locale_to_utf8 (const char *str);</pre>
+<pre class="programlisting"><span class="returnvalue">char</span> * stringprep_locale_to_utf8 (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>);</pre>
<p>
Convert string encoded in the locale's character set into UTF-8 by
-using <a class="link" href="libidn-stringprep.html#stringprep-convert" title="stringprep_convert ()"><code class="function">stringprep_convert()</code></a>.</p>
-<p>
+using <a class="link" href="libidn-stringprep.html#stringprep-convert" title="stringprep_convert ()"><code class="function">stringprep_convert()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
-<td> input zero terminated string.
+<td>input zero terminated string.
</td>
</tr>
<tr>
<hr>
<div class="refsect2" title="stringprep_utf8_to_locale ()">
<a name="stringprep-utf8-to-locale"></a><h3>stringprep_utf8_to_locale ()</h3>
-<pre class="programlisting">char * stringprep_utf8_to_locale (const char *str);</pre>
+<pre class="programlisting"><span class="returnvalue">char</span> * stringprep_utf8_to_locale (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>);</pre>
<p>
Convert string encoded in UTF-8 into the locale's character set by
-using <a class="link" href="libidn-stringprep.html#stringprep-convert" title="stringprep_convert ()"><code class="function">stringprep_convert()</code></a>.</p>
-<p>
+using <a class="link" href="libidn-stringprep.html#stringprep-convert" title="stringprep_convert ()"><code class="function">stringprep_convert()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
-<td> input zero terminated string.
+<td>input zero terminated string.
</td>
</tr>
<tr>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.11</div>
+ Generated by GTK-Doc V1.15</div>
</body>
-</html>
+</html>
\ No newline at end of file
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>tld</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="GNU Libidn API Reference Manual">
-<link rel="up" href="ch01.html" title="GNU Libidn API Reference Manual">
-<link rel="prev" href="libidn-punycode.html" title="punycode">
-<link rel="next" href="libidn-stringprep.html" title="stringprep">
-<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
+<link rel="up" href="intro.html" title="GNU Libidn API Reference Manual">
+<link rel="prev" href="libidn-pr29.html" title="pr29">
+<link rel="next" href="libidn-idn-free.html" title="idn-free">
+<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="chapter" href="ch01.html" title="GNU Libidn API Reference Manual">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
-<td><a accesskey="p" href="libidn-punycode.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libidn-pr29.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="intro.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GNU Libidn API Reference Manual</th>
-<td><a accesskey="n" href="libidn-stringprep.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="libidn-idn-free.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#libidn-tld.synopsis" class="shortcut">Top</a>
- |
- <a href="#libidn-tld.description" class="shortcut">Description</a>
+ |
+ <a href="#libidn-tld.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" title="tld">
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="libidn-tld.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#define <a class="link" href="libidn-idna.html#IDNAPI--CAPS" title="IDNAPI">IDNAPI</a>
+<pre class="synopsis">#define <a class="link" href="libidn-idna.html#IDNAPI:CAPS" title="IDNAPI">IDNAPI</a>
typedef <a class="link" href="libidn-tld.html#Tld-table-element" title="Tld_table_element">Tld_table_element</a>;
typedef <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a>;
enum <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc">Tld_rc</a>;
-const char * <a class="link" href="libidn-tld.html#tld-strerror" title="tld_strerror ()">tld_strerror</a> (<a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc">Tld_rc</a> rc);
-int <a class="link" href="libidn-tld.html#tld-get-4" title="tld_get_4 ()">tld_get_4</a> (const uint32_t *in,
- size_t inlen,
- char **out);
-int <a class="link" href="libidn-tld.html#tld-get-4z" title="tld_get_4z ()">tld_get_4z</a> (const uint32_t *in,
- char **out);
-int <a class="link" href="libidn-tld.html#tld-get-z" title="tld_get_z ()">tld_get_z</a> (const char *in,
- char **out);
-const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> * <a class="link" href="libidn-tld.html#tld-get-table" title="tld_get_table ()">tld_get_table</a> (const char *tld,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> **tables);
-const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> * <a class="link" href="libidn-tld.html#tld-default-table" title="tld_default_table ()">tld_default_table</a> (const char *tld,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> **overrides);
-int <a class="link" href="libidn-tld.html#tld-check-4t" title="tld_check_4t ()">tld_check_4t</a> (const uint32_t *in,
- size_t inlen,
- size_t *errpos,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> *tld);
-int <a class="link" href="libidn-tld.html#tld-check-4tz" title="tld_check_4tz ()">tld_check_4tz</a> (const uint32_t *in,
- size_t *errpos,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> *tld);
-int <a class="link" href="libidn-tld.html#tld-check-4" title="tld_check_4 ()">tld_check_4</a> (const uint32_t *in,
- size_t inlen,
- size_t *errpos,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> **overrides);
-int <a class="link" href="libidn-tld.html#tld-check-4z" title="tld_check_4z ()">tld_check_4z</a> (const uint32_t *in,
- size_t *errpos,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> **overrides);
-int <a class="link" href="libidn-tld.html#tld-check-8z" title="tld_check_8z ()">tld_check_8z</a> (const char *in,
- size_t *errpos,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> **overrides);
-int <a class="link" href="libidn-tld.html#tld-check-lz" title="tld_check_lz ()">tld_check_lz</a> (const char *in,
- size_t *errpos,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> **overrides);
+const <span class="returnvalue">char</span> * <a class="link" href="libidn-tld.html#tld-strerror" title="tld_strerror ()">tld_strerror</a> (<em class="parameter"><code><a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> rc</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-tld.html#tld-get-4" title="tld_get_4 ()">tld_get_4</a> (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **out</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-tld.html#tld-get-4z" title="tld_get_4z ()">tld_get_4z</a> (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **out</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-tld.html#tld-get-z" title="tld_get_z ()">tld_get_z</a> (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **out</code></em>);
+const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="returnvalue">Tld_table</span></a> * <a class="link" href="libidn-tld.html#tld-get-table" title="tld_get_table ()">tld_get_table</a> (<em class="parameter"><code>const <span class="type">char</span> *tld</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **tables</code></em>);
+const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="returnvalue">Tld_table</span></a> * <a class="link" href="libidn-tld.html#tld-default-table" title="tld_default_table ()">tld_default_table</a> (<em class="parameter"><code>const <span class="type">char</span> *tld</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-tld.html#tld-check-4t" title="tld_check_4t ()">tld_check_4t</a> (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> *tld</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-tld.html#tld-check-4tz" title="tld_check_4tz ()">tld_check_4tz</a> (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> *tld</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-tld.html#tld-check-4" title="tld_check_4 ()">tld_check_4</a> (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-tld.html#tld-check-4z" title="tld_check_4z ()">tld_check_4z</a> (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-tld.html#tld-check-8z" title="tld_check_8z ()">tld_check_8z</a> (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);
+<span class="returnvalue">int</span> <a class="link" href="libidn-tld.html#tld-check-lz" title="tld_check_lz ()">tld_check_lz</a> (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);
</pre>
</div>
<div class="refsect1" title="Description">
<div class="refsect1" title="Details">
<a name="libidn-tld.details"></a><h2>Details</h2>
<div class="refsect2" title="IDNAPI">
-<a name="IDNAPI--CAPS"></a><h3>IDNAPI</h3>
+<a name="IDNAPI:CAPS"></a><h3>IDNAPI</h3>
<pre class="programlisting">#define IDNAPI</pre>
<p>
</p>
</pre>
<p>
Enumerated return codes of the TLD checking functions.
-The value 0 is guaranteed to always correspond to success.</p>
-<p>
+The value 0 is guaranteed to always correspond to success.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
-<td><p><a name="TLD-SUCCESS--CAPS"></a><span class="term"><code class="literal">TLD_SUCCESS</code></span></p></td>
-<td> Successful operation. This value is guaranteed to
+<td><p><a name="TLD-SUCCESS:CAPS"></a><span class="term"><code class="literal">TLD_SUCCESS</code></span></p></td>
+<td>Successful operation. This value is guaranteed to
always be zero, the remaining ones are only guaranteed to hold
non-zero values, for logical comparison purposes.
</td>
</tr>
<tr>
-<td><p><a name="TLD-INVALID--CAPS"></a><span class="term"><code class="literal">TLD_INVALID</code></span></p></td>
-<td> Invalid character found.
+<td><p><a name="TLD-INVALID:CAPS"></a><span class="term"><code class="literal">TLD_INVALID</code></span></p></td>
+<td>Invalid character found.
</td>
</tr>
<tr>
-<td><p><a name="TLD-NODATA--CAPS"></a><span class="term"><code class="literal">TLD_NODATA</code></span></p></td>
-<td> No input data was provided.
+<td><p><a name="TLD-NODATA:CAPS"></a><span class="term"><code class="literal">TLD_NODATA</code></span></p></td>
+<td>No input data was provided.
</td>
</tr>
<tr>
-<td><p><a name="TLD-MALLOC-ERROR--CAPS"></a><span class="term"><code class="literal">TLD_MALLOC_ERROR</code></span></p></td>
-<td> Error during memory allocation.
+<td><p><a name="TLD-MALLOC-ERROR:CAPS"></a><span class="term"><code class="literal">TLD_MALLOC_ERROR</code></span></p></td>
+<td>Error during memory allocation.
</td>
</tr>
<tr>
-<td><p><a name="TLD-ICONV-ERROR--CAPS"></a><span class="term"><code class="literal">TLD_ICONV_ERROR</code></span></p></td>
-<td> Error during iconv string conversion.
+<td><p><a name="TLD-ICONV-ERROR:CAPS"></a><span class="term"><code class="literal">TLD_ICONV_ERROR</code></span></p></td>
+<td>Error during iconv string conversion.
</td>
</tr>
<tr>
-<td><p><a name="TLD-NO-TLD--CAPS"></a><span class="term"><code class="literal">TLD_NO_TLD</code></span></p></td>
-<td> No top-level domain found in domain string.
+<td><p><a name="TLD-NO-TLD:CAPS"></a><span class="term"><code class="literal">TLD_NO_TLD</code></span></p></td>
+<td>No top-level domain found in domain string.
</td>
</tr>
<tr>
-<td><p><a name="TLD-NOTLD--CAPS"></a><span class="term"><code class="literal">TLD_NOTLD</code></span></p></td>
-<td>
+<td><p><a name="TLD-NOTLD:CAPS"></a><span class="term"><code class="literal">TLD_NOTLD</code></span></p></td>
+<td>Same as <em class="parameter"><code>TLD_NO_TLD</code></em>, for compatibility
+ with typo in earlier versions.
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="tld_strerror ()">
<a name="tld-strerror"></a><h3>tld_strerror ()</h3>
-<pre class="programlisting">const char * tld_strerror (<a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc">Tld_rc</a> rc);</pre>
+<pre class="programlisting">const <span class="returnvalue">char</span> * tld_strerror (<em class="parameter"><code><a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> rc</code></em>);</pre>
<p>
Convert a return code integer to a text string. This string can be
used to output a diagnostic message to the user.
TLD_NODATA: No input data was provided.
TLD_MALLOC_ERROR: Error during memory allocation.
TLD_ICONV_ERROR: Error during iconv string conversion.
-TLD_NO_TLD: No top-level domain found in domain string.</p>
-<p>
+TLD_NO_TLD: No top-level domain found in domain string.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>rc</code></em> :</span></p></td>
-<td> tld return code
+<td>tld return code
</td>
</tr>
<tr>
<hr>
<div class="refsect2" title="tld_get_4 ()">
<a name="tld-get-4"></a><h3>tld_get_4 ()</h3>
-<pre class="programlisting">int tld_get_4 (const uint32_t *in,
- size_t inlen,
- char **out);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> tld_get_4 (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **out</code></em>);</pre>
<p>
Isolate the top-level domain of <em class="parameter"><code>in</code></em> and return it as an ASCII
-string in <em class="parameter"><code>out</code></em>.</p>
-<p>
+string in <em class="parameter"><code>out</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> Array of unicode code points to process. Does not need to be
+<td>Array of unicode code points to process. Does not need to be
zero terminated.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>inlen</code></em> :</span></p></td>
-<td> Number of unicode code points.
+<td>Number of unicode code points.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
-<td> Zero terminated ascii result string pointer.
+<td>Zero terminated ascii result string pointer.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Return <a class="link" href="libidn-tld.html#TLD-SUCCESS--CAPS"><code class="literal">TLD_SUCCESS</code></a> on success, or the corresponding
+<td> Return <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> on success, or the corresponding
<a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> error code otherwise.
</td>
</tr>
<hr>
<div class="refsect2" title="tld_get_4z ()">
<a name="tld-get-4z"></a><h3>tld_get_4z ()</h3>
-<pre class="programlisting">int tld_get_4z (const uint32_t *in,
- char **out);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> tld_get_4z (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **out</code></em>);</pre>
<p>
Isolate the top-level domain of <em class="parameter"><code>in</code></em> and return it as an ASCII
-string in <em class="parameter"><code>out</code></em>.</p>
-<p>
+string in <em class="parameter"><code>out</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> Zero terminated array of unicode code points to process.
+<td>Zero terminated array of unicode code points to process.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
-<td> Zero terminated ascii result string pointer.
+<td>Zero terminated ascii result string pointer.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Return <a class="link" href="libidn-tld.html#TLD-SUCCESS--CAPS"><code class="literal">TLD_SUCCESS</code></a> on success, or the corresponding
+<td> Return <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> on success, or the corresponding
<a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> error code otherwise.
</td>
</tr>
<hr>
<div class="refsect2" title="tld_get_z ()">
<a name="tld-get-z"></a><h3>tld_get_z ()</h3>
-<pre class="programlisting">int tld_get_z (const char *in,
- char **out);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> tld_get_z (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">char</span> **out</code></em>);</pre>
<p>
Isolate the top-level domain of <em class="parameter"><code>in</code></em> and return it as an ASCII
string in <em class="parameter"><code>out</code></em>. The input string <em class="parameter"><code>in</code></em> may be UTF-8, ISO-8859-1 or
-any ASCII compatible character encoding.</p>
-<p>
+any ASCII compatible character encoding.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> Zero terminated character array to process.
+<td>Zero terminated character array to process.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out</code></em> :</span></p></td>
-<td> Zero terminated ascii result string pointer.
+<td>Zero terminated ascii result string pointer.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Return <a class="link" href="libidn-tld.html#TLD-SUCCESS--CAPS"><code class="literal">TLD_SUCCESS</code></a> on success, or the corresponding
+<td> Return <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> on success, or the corresponding
<a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> error code otherwise.
</td>
</tr>
<hr>
<div class="refsect2" title="tld_get_table ()">
<a name="tld-get-table"></a><h3>tld_get_table ()</h3>
-<pre class="programlisting">const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> * tld_get_table (const char *tld,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> **tables);</pre>
+<pre class="programlisting">const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="returnvalue">Tld_table</span></a> * tld_get_table (<em class="parameter"><code>const <span class="type">char</span> *tld</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **tables</code></em>);</pre>
<p>
Get the TLD table for a named TLD by searching through the given
-TLD table array.</p>
-<p>
+TLD table array.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>tld</code></em> :</span></p></td>
-<td> TLD name (e.g. "com") as zero terminated ASCII byte string.
+<td>TLD name (e.g. "com") as zero terminated ASCII byte string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>tables</code></em> :</span></p></td>
-<td> Zero terminated array of <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> info-structures for
+<td>Zero terminated array of <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> info-structures for
TLDs.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> Return structure corresponding to TLD <em class="parameter"><code>tld</code></em> by going
- thru <em class="parameter"><code>tables</code></em>, or return <code class="literal">NULL</code> if no such structure is found.
+ thru <em class="parameter"><code>tables</code></em>, or return <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such structure is found.
</td>
</tr>
</tbody>
<hr>
<div class="refsect2" title="tld_default_table ()">
<a name="tld-default-table"></a><h3>tld_default_table ()</h3>
-<pre class="programlisting">const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> * tld_default_table (const char *tld,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> **overrides);</pre>
+<pre class="programlisting">const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="returnvalue">Tld_table</span></a> * tld_default_table (<em class="parameter"><code>const <span class="type">char</span> *tld</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
<p>
Get the TLD table for a named TLD, using the internal defaults,
-possibly overrided by the (optional) supplied tables.</p>
-<p>
+possibly overrided by the (optional) supplied tables.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>tld</code></em> :</span></p></td>
-<td> TLD name (e.g. "com") as zero terminated ASCII byte string.
+<td>TLD name (e.g. "com") as zero terminated ASCII byte string.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>overrides</code></em> :</span></p></td>
-<td> Additional zero terminated array of <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a>
- info-structures for TLDs, or <code class="literal">NULL</code> to only use library deault
+<td>Additional zero terminated array of <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a>
+ info-structures for TLDs, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to only use library deault
tables.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> Return structure corresponding to TLD <em class="parameter"><code>tld_str</code></em>, first
- looking through <em class="parameter"><code>overrides</code></em> then thru built-in list, or <code class="literal">NULL</code> if
+ looking through <em class="parameter"><code>overrides</code></em> then thru built-in list, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
no such structure found.
</td>
</tr>
<hr>
<div class="refsect2" title="tld_check_4t ()">
<a name="tld-check-4t"></a><h3>tld_check_4t ()</h3>
-<pre class="programlisting">int tld_check_4t (const uint32_t *in,
- size_t inlen,
- size_t *errpos,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> *tld);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> tld_check_4t (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> *tld</code></em>);</pre>
<p>
Test each of the code points in <em class="parameter"><code>in</code></em> for whether or not
they are allowed by the data structure in <em class="parameter"><code>tld</code></em>, return
the position of the first character for which this is not
-the case in <em class="parameter"><code>errpos</code></em>.</p>
-<p>
+the case in <em class="parameter"><code>errpos</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> Array of unicode code points to process. Does not need to be
+<td>Array of unicode code points to process. Does not need to be
zero terminated.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>inlen</code></em> :</span></p></td>
-<td> Number of unicode code points.
+<td>Number of unicode code points.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>errpos</code></em> :</span></p></td>
-<td> Position of offending character is returned here.
+<td>Position of offending character is returned here.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>tld</code></em> :</span></p></td>
-<td> A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> data structure representing the restrictions for
+<td>A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> data structure representing the restrictions for
which the input should be tested.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS--CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
- points are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID--CAPS"><code class="literal">TLD_INVALID</code></a> if a
+<td> Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
+ points are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
character is not allowed, or additional error codes on general
failure conditions.
</td>
<hr>
<div class="refsect2" title="tld_check_4tz ()">
<a name="tld-check-4tz"></a><h3>tld_check_4tz ()</h3>
-<pre class="programlisting">int tld_check_4tz (const uint32_t *in,
- size_t *errpos,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> *tld);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> tld_check_4tz (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> *tld</code></em>);</pre>
<p>
Test each of the code points in <em class="parameter"><code>in</code></em> for whether or not
they are allowed by the data structure in <em class="parameter"><code>tld</code></em>, return
the position of the first character for which this is not
-the case in <em class="parameter"><code>errpos</code></em>.</p>
-<p>
+the case in <em class="parameter"><code>errpos</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> Zero terminated array of unicode code points to process.
+<td>Zero terminated array of unicode code points to process.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>errpos</code></em> :</span></p></td>
-<td> Position of offending character is returned here.
+<td>Position of offending character is returned here.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>tld</code></em> :</span></p></td>
-<td> A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> data structure representing the restrictions for
+<td>A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> data structure representing the restrictions for
which the input should be tested.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS--CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
- points are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID--CAPS"><code class="literal">TLD_INVALID</code></a> if a
+<td> Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
+ points are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
character is not allowed, or additional error codes on general
failure conditions.
</td>
<hr>
<div class="refsect2" title="tld_check_4 ()">
<a name="tld-check-4"></a><h3>tld_check_4 ()</h3>
-<pre class="programlisting">int tld_check_4 (const uint32_t *in,
- size_t inlen,
- size_t *errpos,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> **overrides);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> tld_check_4 (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> inlen</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
<p>
Test each of the code points in <em class="parameter"><code>in</code></em> for whether or not they are
allowed by the information in <em class="parameter"><code>overrides</code></em> or by the built-in TLD
restriction data. When data for the same TLD is available both
internally and in <em class="parameter"><code>overrides</code></em>, the information in <em class="parameter"><code>overrides</code></em> takes
precedence. If several entries for a specific TLD are found, the
-first one is used. If <em class="parameter"><code>overrides</code></em> is <code class="literal">NULL</code>, only the built-in
+first one is used. If <em class="parameter"><code>overrides</code></em> is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, only the built-in
information is used. The position of the first offending character
-is returned in <em class="parameter"><code>errpos</code></em>.</p>
-<p>
+is returned in <em class="parameter"><code>errpos</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> Array of unicode code points to process. Does not need to be
+<td>Array of unicode code points to process. Does not need to be
zero terminated.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>inlen</code></em> :</span></p></td>
-<td> Number of unicode code points.
+<td>Number of unicode code points.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>errpos</code></em> :</span></p></td>
-<td> Position of offending character is returned here.
+<td>Position of offending character is returned here.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>overrides</code></em> :</span></p></td>
-<td> A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
+<td>A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
structures that complement and supersede the built-in information.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS--CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
- points are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID--CAPS"><code class="literal">TLD_INVALID</code></a> if a
+<td> Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
+ points are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
character is not allowed, or additional error codes on general
failure conditions.
</td>
<hr>
<div class="refsect2" title="tld_check_4z ()">
<a name="tld-check-4z"></a><h3>tld_check_4z ()</h3>
-<pre class="programlisting">int tld_check_4z (const uint32_t *in,
- size_t *errpos,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> **overrides);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> tld_check_4z (<em class="parameter"><code>const <span class="type">uint32_t</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
<p>
Test each of the code points in <em class="parameter"><code>in</code></em> for whether or not they are
allowed by the information in <em class="parameter"><code>overrides</code></em> or by the built-in TLD
restriction data. When data for the same TLD is available both
internally and in <em class="parameter"><code>overrides</code></em>, the information in <em class="parameter"><code>overrides</code></em> takes
precedence. If several entries for a specific TLD are found, the
-first one is used. If <em class="parameter"><code>overrides</code></em> is <code class="literal">NULL</code>, only the built-in
+first one is used. If <em class="parameter"><code>overrides</code></em> is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, only the built-in
information is used. The position of the first offending character
-is returned in <em class="parameter"><code>errpos</code></em>.</p>
-<p>
+is returned in <em class="parameter"><code>errpos</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> Zero-terminated array of unicode code points to process.
+<td>Zero-terminated array of unicode code points to process.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>errpos</code></em> :</span></p></td>
-<td> Position of offending character is returned here.
+<td>Position of offending character is returned here.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>overrides</code></em> :</span></p></td>
-<td> A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
+<td>A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
structures that complement and supersede the built-in information.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS--CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
- points are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID--CAPS"><code class="literal">TLD_INVALID</code></a> if a
+<td> Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all code
+ points are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
character is not allowed, or additional error codes on general
failure conditions.
</td>
<hr>
<div class="refsect2" title="tld_check_8z ()">
<a name="tld-check-8z"></a><h3>tld_check_8z ()</h3>
-<pre class="programlisting">int tld_check_8z (const char *in,
- size_t *errpos,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> **overrides);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> tld_check_8z (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
<p>
Test each of the characters in <em class="parameter"><code>in</code></em> for whether or not they are
allowed by the information in <em class="parameter"><code>overrides</code></em> or by the built-in TLD
restriction data. When data for the same TLD is available both
internally and in <em class="parameter"><code>overrides</code></em>, the information in <em class="parameter"><code>overrides</code></em> takes
precedence. If several entries for a specific TLD are found, the
-first one is used. If <em class="parameter"><code>overrides</code></em> is <code class="literal">NULL</code>, only the built-in
+first one is used. If <em class="parameter"><code>overrides</code></em> is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, only the built-in
information is used. The position of the first offending character
is returned in <em class="parameter"><code>errpos</code></em>. Note that the error position refers to the
decoded character offset rather than the byte position in the
-string.</p>
-<p>
+string.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> Zero-terminated UTF8 string to process.
+<td>Zero-terminated UTF8 string to process.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>errpos</code></em> :</span></p></td>
-<td> Position of offending character is returned here.
+<td>Position of offending character is returned here.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>overrides</code></em> :</span></p></td>
-<td> A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
+<td>A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
structures that complement and supersede the built-in information.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS--CAPS"><code class="literal">TLD_SUCCESS</code></a> if all
- characters are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID--CAPS"><code class="literal">TLD_INVALID</code></a> if a
+<td> Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all
+ characters are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
character is not allowed, or additional error codes on general
failure conditions.
</td>
<hr>
<div class="refsect2" title="tld_check_lz ()">
<a name="tld-check-lz"></a><h3>tld_check_lz ()</h3>
-<pre class="programlisting">int tld_check_lz (const char *in,
- size_t *errpos,
- const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table">Tld_table</a> **overrides);</pre>
+<pre class="programlisting"><span class="returnvalue">int</span> tld_check_lz (<em class="parameter"><code>const <span class="type">char</span> *in</code></em>,
+ <em class="parameter"><code><span class="type">size_t</span> *errpos</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> **overrides</code></em>);</pre>
<p>
Test each of the characters in <em class="parameter"><code>in</code></em> for whether or not they are
allowed by the information in <em class="parameter"><code>overrides</code></em> or by the built-in TLD
restriction data. When data for the same TLD is available both
internally and in <em class="parameter"><code>overrides</code></em>, the information in <em class="parameter"><code>overrides</code></em> takes
precedence. If several entries for a specific TLD are found, the
-first one is used. If <em class="parameter"><code>overrides</code></em> is <code class="literal">NULL</code>, only the built-in
+first one is used. If <em class="parameter"><code>overrides</code></em> is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, only the built-in
information is used. The position of the first offending character
is returned in <em class="parameter"><code>errpos</code></em>. Note that the error position refers to the
decoded character offset rather than the byte position in the
-string.</p>
-<p>
+string.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in</code></em> :</span></p></td>
-<td> Zero-terminated string in the current locales encoding to process.
+<td>Zero-terminated string in the current locales encoding to process.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>errpos</code></em> :</span></p></td>
-<td> Position of offending character is returned here.
+<td>Position of offending character is returned here.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>overrides</code></em> :</span></p></td>
-<td> A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
+<td>A <a class="link" href="libidn-tld.html#Tld-table" title="Tld_table"><span class="type">Tld_table</span></a> array of additional domain restriction
structures that complement and supersede the built-in information.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS--CAPS"><code class="literal">TLD_SUCCESS</code></a> if all
- characters are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID--CAPS"><code class="literal">TLD_INVALID</code></a> if a
+<td> Returns the <a class="link" href="libidn-tld.html#Tld-rc" title="enum Tld_rc"><span class="type">Tld_rc</span></a> value <a class="link" href="libidn-tld.html#TLD-SUCCESS:CAPS"><code class="literal">TLD_SUCCESS</code></a> if all
+ characters are valid or when <em class="parameter"><code>tld</code></em> is null, <a class="link" href="libidn-tld.html#TLD-INVALID:CAPS"><code class="literal">TLD_INVALID</code></a> if a
character is not allowed, or additional error codes on general
failure conditions.
</td>
</div>
<div class="footer">
<hr>
- Generated by GTK-Doc V1.11</div>
+ Generated by GTK-Doc V1.15</div>
</body>
-</html>
+</html>
\ No newline at end of file
<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
<book xmlns="http://www.devhelp.net/book" title="GNU Libidn API Reference Manual" link="index.html" author="" name="libidn">
<chapters>
- <sub name="GNU Libidn API Reference Manual" link="ch01.html">
+ <sub name="GNU Libidn API Reference Manual" link="intro.html">
<sub name="idna" link="libidn-idna.html"/>
- <sub name="pr29" link="libidn-pr29.html"/>
+ <sub name="stringprep" link="libidn-stringprep.html"/>
<sub name="punycode" link="libidn-punycode.html"/>
+ <sub name="pr29" link="libidn-pr29.html"/>
<sub name="tld" link="libidn-tld.html"/>
- <sub name="stringprep" link="libidn-stringprep.html"/>
<sub name="idn-free" link="libidn-idn-free.html"/>
</sub>
+ <sub name="API Index" link="api-index-full.html"/>
</chapters>
<functions>
- <function name="IDNAPI" link="libidn-idna.html#IDNAPI--CAPS"/>
+ <function name="IDNAPI" link="libidn-idna.html#IDNAPI:CAPS"/>
<function name="enum Idna_rc" link="libidn-idna.html#Idna-rc"/>
<function name="enum Idna_flags" link="libidn-idna.html#Idna-flags"/>
- <function name="IDNA_ACE_PREFIX" link="libidn-idna.html#IDNA-ACE-PREFIX--CAPS"/>
+ <function name="IDNA_ACE_PREFIX" link="libidn-idna.html#IDNA-ACE-PREFIX:CAPS"/>
<function name="idna_strerror ()" link="libidn-idna.html#idna-strerror"/>
<function name="idna_to_ascii_4i ()" link="libidn-idna.html#idna-to-ascii-4i"/>
<function name="idna_to_unicode_44i ()" link="libidn-idna.html#idna-to-unicode-44i"/>
<function name="idna_to_unicode_8z8z ()" link="libidn-idna.html#idna-to-unicode-8z8z"/>
<function name="idna_to_unicode_8zlz ()" link="libidn-idna.html#idna-to-unicode-8zlz"/>
<function name="idna_to_unicode_lzlz ()" link="libidn-idna.html#idna-to-unicode-lzlz"/>
- <function name="IDNAPI" link="libidn-pr29.html#IDNAPI--CAPS"/>
- <function name="enum Pr29_rc" link="libidn-pr29.html#Pr29-rc"/>
- <function name="pr29_strerror ()" link="libidn-pr29.html#pr29-strerror"/>
- <function name="pr29_4 ()" link="libidn-pr29.html#pr29-4"/>
- <function name="pr29_4z ()" link="libidn-pr29.html#pr29-4z"/>
- <function name="pr29_8z ()" link="libidn-pr29.html#pr29-8z"/>
- <function name="IDNAPI" link="libidn-punycode.html#IDNAPI--CAPS"/>
- <function name="enum Punycode_status" link="libidn-punycode.html#Punycode-status"/>
- <function name="punycode_strerror ()" link="libidn-punycode.html#punycode-strerror"/>
- <function name="punycode_uint" link="libidn-punycode.html#punycode-uint"/>
- <function name="punycode_encode ()" link="libidn-punycode.html#punycode-encode"/>
- <function name="punycode_decode ()" link="libidn-punycode.html#punycode-decode"/>
- <function name="IDNAPI" link="libidn-tld.html#IDNAPI--CAPS"/>
- <function name="Tld_table_element" link="libidn-tld.html#Tld-table-element"/>
- <function name="Tld_table" link="libidn-tld.html#Tld-table"/>
- <function name="enum Tld_rc" link="libidn-tld.html#Tld-rc"/>
- <function name="tld_strerror ()" link="libidn-tld.html#tld-strerror"/>
- <function name="tld_get_4 ()" link="libidn-tld.html#tld-get-4"/>
- <function name="tld_get_4z ()" link="libidn-tld.html#tld-get-4z"/>
- <function name="tld_get_z ()" link="libidn-tld.html#tld-get-z"/>
- <function name="tld_get_table ()" link="libidn-tld.html#tld-get-table"/>
- <function name="tld_default_table ()" link="libidn-tld.html#tld-default-table"/>
- <function name="tld_check_4t ()" link="libidn-tld.html#tld-check-4t"/>
- <function name="tld_check_4tz ()" link="libidn-tld.html#tld-check-4tz"/>
- <function name="tld_check_4 ()" link="libidn-tld.html#tld-check-4"/>
- <function name="tld_check_4z ()" link="libidn-tld.html#tld-check-4z"/>
- <function name="tld_check_8z ()" link="libidn-tld.html#tld-check-8z"/>
- <function name="tld_check_lz ()" link="libidn-tld.html#tld-check-lz"/>
- <function name="IDNAPI" link="libidn-stringprep.html#IDNAPI--CAPS"/>
- <function name="STRINGPREP_VERSION" link="libidn-stringprep.html#STRINGPREP-VERSION--CAPS"/>
+ <function name="IDNAPI" link="libidn-stringprep.html#IDNAPI:CAPS"/>
+ <function name="STRINGPREP_VERSION" link="libidn-stringprep.html#STRINGPREP-VERSION:CAPS"/>
<function name="enum Stringprep_rc" link="libidn-stringprep.html#Stringprep-rc"/>
<function name="enum Stringprep_profile_flags" link="libidn-stringprep.html#Stringprep-profile-flags"/>
<function name="enum Stringprep_profile_steps" link="libidn-stringprep.html#Stringprep-profile-steps"/>
- <function name="STRINGPREP_MAX_MAP_CHARS" link="libidn-stringprep.html#STRINGPREP-MAX-MAP-CHARS--CAPS"/>
+ <function name="STRINGPREP_MAX_MAP_CHARS" link="libidn-stringprep.html#STRINGPREP-MAX-MAP-CHARS:CAPS"/>
<function name="Stringprep_table_element" link="libidn-stringprep.html#Stringprep-table-element"/>
<function name="Stringprep_profile" link="libidn-stringprep.html#Stringprep-profile"/>
<function name="Stringprep_profiles" link="libidn-stringprep.html#Stringprep-profiles"/>
<function name="stringprep_convert ()" link="libidn-stringprep.html#stringprep-convert"/>
<function name="stringprep_locale_to_utf8 ()" link="libidn-stringprep.html#stringprep-locale-to-utf8"/>
<function name="stringprep_utf8_to_locale ()" link="libidn-stringprep.html#stringprep-utf8-to-locale"/>
- <function name="IDNAPI" link="libidn-idn-free.html#IDNAPI--CAPS"/>
+ <function name="IDNAPI" link="libidn-punycode.html#IDNAPI:CAPS"/>
+ <function name="enum Punycode_status" link="libidn-punycode.html#Punycode-status"/>
+ <function name="punycode_strerror ()" link="libidn-punycode.html#punycode-strerror"/>
+ <function name="punycode_uint" link="libidn-punycode.html#punycode-uint"/>
+ <function name="punycode_encode ()" link="libidn-punycode.html#punycode-encode"/>
+ <function name="punycode_decode ()" link="libidn-punycode.html#punycode-decode"/>
+ <function name="IDNAPI" link="libidn-pr29.html#IDNAPI:CAPS"/>
+ <function name="enum Pr29_rc" link="libidn-pr29.html#Pr29-rc"/>
+ <function name="pr29_strerror ()" link="libidn-pr29.html#pr29-strerror"/>
+ <function name="pr29_4 ()" link="libidn-pr29.html#pr29-4"/>
+ <function name="pr29_4z ()" link="libidn-pr29.html#pr29-4z"/>
+ <function name="pr29_8z ()" link="libidn-pr29.html#pr29-8z"/>
+ <function name="IDNAPI" link="libidn-tld.html#IDNAPI:CAPS"/>
+ <function name="Tld_table_element" link="libidn-tld.html#Tld-table-element"/>
+ <function name="Tld_table" link="libidn-tld.html#Tld-table"/>
+ <function name="enum Tld_rc" link="libidn-tld.html#Tld-rc"/>
+ <function name="tld_strerror ()" link="libidn-tld.html#tld-strerror"/>
+ <function name="tld_get_4 ()" link="libidn-tld.html#tld-get-4"/>
+ <function name="tld_get_4z ()" link="libidn-tld.html#tld-get-4z"/>
+ <function name="tld_get_z ()" link="libidn-tld.html#tld-get-z"/>
+ <function name="tld_get_table ()" link="libidn-tld.html#tld-get-table"/>
+ <function name="tld_default_table ()" link="libidn-tld.html#tld-default-table"/>
+ <function name="tld_check_4t ()" link="libidn-tld.html#tld-check-4t"/>
+ <function name="tld_check_4tz ()" link="libidn-tld.html#tld-check-4tz"/>
+ <function name="tld_check_4 ()" link="libidn-tld.html#tld-check-4"/>
+ <function name="tld_check_4z ()" link="libidn-tld.html#tld-check-4z"/>
+ <function name="tld_check_8z ()" link="libidn-tld.html#tld-check-8z"/>
+ <function name="tld_check_lz ()" link="libidn-tld.html#tld-check-lz"/>
+ <function name="IDNAPI" link="libidn-idn-free.html#IDNAPI:CAPS"/>
</functions>
</book>
<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
<book xmlns="http://www.devhelp.net/book" title="GNU Libidn API Reference Manual" link="index.html" author="" name="libidn" version="2" language="c">
<chapters>
- <sub name="GNU Libidn API Reference Manual" link="ch01.html">
+ <sub name="GNU Libidn API Reference Manual" link="intro.html">
<sub name="idna" link="libidn-idna.html"/>
- <sub name="pr29" link="libidn-pr29.html"/>
+ <sub name="stringprep" link="libidn-stringprep.html"/>
<sub name="punycode" link="libidn-punycode.html"/>
+ <sub name="pr29" link="libidn-pr29.html"/>
<sub name="tld" link="libidn-tld.html"/>
- <sub name="stringprep" link="libidn-stringprep.html"/>
<sub name="idn-free" link="libidn-idn-free.html"/>
</sub>
+ <sub name="API Index" link="api-index-full.html"/>
</chapters>
<functions>
- <keyword type="macro" name="IDNAPI" link="libidn-idna.html#IDNAPI--CAPS"/>
+ <keyword type="macro" name="IDNAPI" link="libidn-idna.html#IDNAPI:CAPS"/>
<keyword type="enum" name="enum Idna_rc" link="libidn-idna.html#Idna-rc"/>
<keyword type="enum" name="enum Idna_flags" link="libidn-idna.html#Idna-flags"/>
- <keyword type="macro" name="IDNA_ACE_PREFIX" link="libidn-idna.html#IDNA-ACE-PREFIX--CAPS"/>
+ <keyword type="macro" name="IDNA_ACE_PREFIX" link="libidn-idna.html#IDNA-ACE-PREFIX:CAPS"/>
<keyword type="function" name="idna_strerror ()" link="libidn-idna.html#idna-strerror"/>
<keyword type="function" name="idna_to_ascii_4i ()" link="libidn-idna.html#idna-to-ascii-4i"/>
<keyword type="function" name="idna_to_unicode_44i ()" link="libidn-idna.html#idna-to-unicode-44i"/>
<keyword type="function" name="idna_to_unicode_8z8z ()" link="libidn-idna.html#idna-to-unicode-8z8z"/>
<keyword type="function" name="idna_to_unicode_8zlz ()" link="libidn-idna.html#idna-to-unicode-8zlz"/>
<keyword type="function" name="idna_to_unicode_lzlz ()" link="libidn-idna.html#idna-to-unicode-lzlz"/>
- <keyword type="macro" name="IDNAPI" link="libidn-pr29.html#IDNAPI--CAPS"/>
- <keyword type="enum" name="enum Pr29_rc" link="libidn-pr29.html#Pr29-rc"/>
- <keyword type="function" name="pr29_strerror ()" link="libidn-pr29.html#pr29-strerror"/>
- <keyword type="function" name="pr29_4 ()" link="libidn-pr29.html#pr29-4"/>
- <keyword type="function" name="pr29_4z ()" link="libidn-pr29.html#pr29-4z"/>
- <keyword type="function" name="pr29_8z ()" link="libidn-pr29.html#pr29-8z"/>
- <keyword type="macro" name="IDNAPI" link="libidn-punycode.html#IDNAPI--CAPS"/>
- <keyword type="enum" name="enum Punycode_status" link="libidn-punycode.html#Punycode-status"/>
- <keyword type="function" name="punycode_strerror ()" link="libidn-punycode.html#punycode-strerror"/>
- <keyword type="typedef" name="punycode_uint" link="libidn-punycode.html#punycode-uint"/>
- <keyword type="function" name="punycode_encode ()" link="libidn-punycode.html#punycode-encode"/>
- <keyword type="function" name="punycode_decode ()" link="libidn-punycode.html#punycode-decode"/>
- <keyword type="macro" name="IDNAPI" link="libidn-tld.html#IDNAPI--CAPS"/>
- <keyword type="typedef" name="Tld_table_element" link="libidn-tld.html#Tld-table-element"/>
- <keyword type="typedef" name="Tld_table" link="libidn-tld.html#Tld-table"/>
- <keyword type="enum" name="enum Tld_rc" link="libidn-tld.html#Tld-rc"/>
- <keyword type="function" name="tld_strerror ()" link="libidn-tld.html#tld-strerror"/>
- <keyword type="function" name="tld_get_4 ()" link="libidn-tld.html#tld-get-4"/>
- <keyword type="function" name="tld_get_4z ()" link="libidn-tld.html#tld-get-4z"/>
- <keyword type="function" name="tld_get_z ()" link="libidn-tld.html#tld-get-z"/>
- <keyword type="function" name="tld_get_table ()" link="libidn-tld.html#tld-get-table"/>
- <keyword type="function" name="tld_default_table ()" link="libidn-tld.html#tld-default-table"/>
- <keyword type="function" name="tld_check_4t ()" link="libidn-tld.html#tld-check-4t"/>
- <keyword type="function" name="tld_check_4tz ()" link="libidn-tld.html#tld-check-4tz"/>
- <keyword type="function" name="tld_check_4 ()" link="libidn-tld.html#tld-check-4"/>
- <keyword type="function" name="tld_check_4z ()" link="libidn-tld.html#tld-check-4z"/>
- <keyword type="function" name="tld_check_8z ()" link="libidn-tld.html#tld-check-8z"/>
- <keyword type="function" name="tld_check_lz ()" link="libidn-tld.html#tld-check-lz"/>
- <keyword type="macro" name="IDNAPI" link="libidn-stringprep.html#IDNAPI--CAPS"/>
- <keyword type="macro" name="STRINGPREP_VERSION" link="libidn-stringprep.html#STRINGPREP-VERSION--CAPS"/>
+ <keyword type="macro" name="IDNAPI" link="libidn-stringprep.html#IDNAPI:CAPS"/>
+ <keyword type="macro" name="STRINGPREP_VERSION" link="libidn-stringprep.html#STRINGPREP-VERSION:CAPS"/>
<keyword type="enum" name="enum Stringprep_rc" link="libidn-stringprep.html#Stringprep-rc"/>
<keyword type="enum" name="enum Stringprep_profile_flags" link="libidn-stringprep.html#Stringprep-profile-flags"/>
<keyword type="enum" name="enum Stringprep_profile_steps" link="libidn-stringprep.html#Stringprep-profile-steps"/>
- <keyword type="macro" name="STRINGPREP_MAX_MAP_CHARS" link="libidn-stringprep.html#STRINGPREP-MAX-MAP-CHARS--CAPS"/>
+ <keyword type="macro" name="STRINGPREP_MAX_MAP_CHARS" link="libidn-stringprep.html#STRINGPREP-MAX-MAP-CHARS:CAPS"/>
<keyword type="typedef" name="Stringprep_table_element" link="libidn-stringprep.html#Stringprep-table-element"/>
<keyword type="typedef" name="Stringprep_profile" link="libidn-stringprep.html#Stringprep-profile"/>
<keyword type="typedef" name="Stringprep_profiles" link="libidn-stringprep.html#Stringprep-profiles"/>
<keyword type="function" name="stringprep_convert ()" link="libidn-stringprep.html#stringprep-convert"/>
<keyword type="function" name="stringprep_locale_to_utf8 ()" link="libidn-stringprep.html#stringprep-locale-to-utf8"/>
<keyword type="function" name="stringprep_utf8_to_locale ()" link="libidn-stringprep.html#stringprep-utf8-to-locale"/>
- <keyword type="macro" name="IDNAPI" link="libidn-idn-free.html#IDNAPI--CAPS"/>
- <keyword type="constant" name="IDNA_SUCCESS" link="libidn-idna.html#IDNA-SUCCESS--CAPS"/>
- <keyword type="constant" name="IDNA_STRINGPREP_ERROR" link="libidn-idna.html#IDNA-STRINGPREP-ERROR--CAPS"/>
- <keyword type="constant" name="IDNA_PUNYCODE_ERROR" link="libidn-idna.html#IDNA-PUNYCODE-ERROR--CAPS"/>
- <keyword type="constant" name="IDNA_CONTAINS_NON_LDH" link="libidn-idna.html#IDNA-CONTAINS-NON-LDH--CAPS"/>
- <keyword type="constant" name="IDNA_CONTAINS_LDH" link="libidn-idna.html#IDNA-CONTAINS-LDH--CAPS"/>
- <keyword type="constant" name="IDNA_CONTAINS_MINUS" link="libidn-idna.html#IDNA-CONTAINS-MINUS--CAPS"/>
- <keyword type="constant" name="IDNA_INVALID_LENGTH" link="libidn-idna.html#IDNA-INVALID-LENGTH--CAPS"/>
- <keyword type="constant" name="IDNA_NO_ACE_PREFIX" link="libidn-idna.html#IDNA-NO-ACE-PREFIX--CAPS"/>
- <keyword type="constant" name="IDNA_ROUNDTRIP_VERIFY_ERROR" link="libidn-idna.html#IDNA-ROUNDTRIP-VERIFY-ERROR--CAPS"/>
- <keyword type="constant" name="IDNA_CONTAINS_ACE_PREFIX" link="libidn-idna.html#IDNA-CONTAINS-ACE-PREFIX--CAPS"/>
- <keyword type="constant" name="IDNA_ICONV_ERROR" link="libidn-idna.html#IDNA-ICONV-ERROR--CAPS"/>
- <keyword type="constant" name="IDNA_MALLOC_ERROR" link="libidn-idna.html#IDNA-MALLOC-ERROR--CAPS"/>
- <keyword type="constant" name="IDNA_DLOPEN_ERROR" link="libidn-idna.html#IDNA-DLOPEN-ERROR--CAPS"/>
- <keyword type="constant" name="IDNA_ALLOW_UNASSIGNED" link="libidn-idna.html#IDNA-ALLOW-UNASSIGNED--CAPS"/>
- <keyword type="constant" name="IDNA_USE_STD3_ASCII_RULES" link="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES--CAPS"/>
- <keyword type="constant" name="PR29_SUCCESS" link="libidn-pr29.html#PR29-SUCCESS--CAPS"/>
- <keyword type="constant" name="PR29_PROBLEM" link="libidn-pr29.html#PR29-PROBLEM--CAPS"/>
- <keyword type="constant" name="PR29_STRINGPREP_ERROR" link="libidn-pr29.html#PR29-STRINGPREP-ERROR--CAPS"/>
- <keyword type="constant" name="PUNYCODE_SUCCESS" link="libidn-punycode.html#PUNYCODE-SUCCESS--CAPS"/>
- <keyword type="constant" name="PUNYCODE_BAD_INPUT" link="libidn-punycode.html#PUNYCODE-BAD-INPUT--CAPS"/>
- <keyword type="constant" name="PUNYCODE_BIG_OUTPUT" link="libidn-punycode.html#PUNYCODE-BIG-OUTPUT--CAPS"/>
- <keyword type="constant" name="PUNYCODE_OVERFLOW" link="libidn-punycode.html#PUNYCODE-OVERFLOW--CAPS"/>
- <keyword type="constant" name="TLD_SUCCESS" link="libidn-tld.html#TLD-SUCCESS--CAPS"/>
- <keyword type="constant" name="TLD_INVALID" link="libidn-tld.html#TLD-INVALID--CAPS"/>
- <keyword type="constant" name="TLD_NODATA" link="libidn-tld.html#TLD-NODATA--CAPS"/>
- <keyword type="constant" name="TLD_MALLOC_ERROR" link="libidn-tld.html#TLD-MALLOC-ERROR--CAPS"/>
- <keyword type="constant" name="TLD_ICONV_ERROR" link="libidn-tld.html#TLD-ICONV-ERROR--CAPS"/>
- <keyword type="constant" name="TLD_NO_TLD" link="libidn-tld.html#TLD-NO-TLD--CAPS"/>
- <keyword type="constant" name="TLD_NOTLD" link="libidn-tld.html#TLD-NOTLD--CAPS"/>
- <keyword type="constant" name="STRINGPREP_OK" link="libidn-stringprep.html#STRINGPREP-OK--CAPS"/>
- <keyword type="constant" name="STRINGPREP_CONTAINS_UNASSIGNED" link="libidn-stringprep.html#STRINGPREP-CONTAINS-UNASSIGNED--CAPS"/>
- <keyword type="constant" name="STRINGPREP_CONTAINS_PROHIBITED" link="libidn-stringprep.html#STRINGPREP-CONTAINS-PROHIBITED--CAPS"/>
- <keyword type="constant" name="STRINGPREP_BIDI_BOTH_L_AND_RAL" link="libidn-stringprep.html#STRINGPREP-BIDI-BOTH-L-AND-RAL--CAPS"/>
- <keyword type="constant" name="STRINGPREP_BIDI_LEADTRAIL_NOT_RAL" link="libidn-stringprep.html#STRINGPREP-BIDI-LEADTRAIL-NOT-RAL--CAPS"/>
- <keyword type="constant" name="STRINGPREP_BIDI_CONTAINS_PROHIBITED" link="libidn-stringprep.html#STRINGPREP-BIDI-CONTAINS-PROHIBITED--CAPS"/>
- <keyword type="constant" name="STRINGPREP_TOO_SMALL_BUFFER" link="libidn-stringprep.html#STRINGPREP-TOO-SMALL-BUFFER--CAPS"/>
- <keyword type="constant" name="STRINGPREP_PROFILE_ERROR" link="libidn-stringprep.html#STRINGPREP-PROFILE-ERROR--CAPS"/>
- <keyword type="constant" name="STRINGPREP_FLAG_ERROR" link="libidn-stringprep.html#STRINGPREP-FLAG-ERROR--CAPS"/>
- <keyword type="constant" name="STRINGPREP_UNKNOWN_PROFILE" link="libidn-stringprep.html#STRINGPREP-UNKNOWN-PROFILE--CAPS"/>
- <keyword type="constant" name="STRINGPREP_NFKC_FAILED" link="libidn-stringprep.html#STRINGPREP-NFKC-FAILED--CAPS"/>
- <keyword type="constant" name="STRINGPREP_MALLOC_ERROR" link="libidn-stringprep.html#STRINGPREP-MALLOC-ERROR--CAPS"/>
- <keyword type="constant" name="STRINGPREP_NO_NFKC" link="libidn-stringprep.html#STRINGPREP-NO-NFKC--CAPS"/>
- <keyword type="constant" name="STRINGPREP_NO_BIDI" link="libidn-stringprep.html#STRINGPREP-NO-BIDI--CAPS"/>
- <keyword type="constant" name="STRINGPREP_NO_UNASSIGNED" link="libidn-stringprep.html#STRINGPREP-NO-UNASSIGNED--CAPS"/>
+ <keyword type="macro" name="IDNAPI" link="libidn-punycode.html#IDNAPI:CAPS"/>
+ <keyword type="enum" name="enum Punycode_status" link="libidn-punycode.html#Punycode-status"/>
+ <keyword type="function" name="punycode_strerror ()" link="libidn-punycode.html#punycode-strerror"/>
+ <keyword type="typedef" name="punycode_uint" link="libidn-punycode.html#punycode-uint"/>
+ <keyword type="function" name="punycode_encode ()" link="libidn-punycode.html#punycode-encode"/>
+ <keyword type="function" name="punycode_decode ()" link="libidn-punycode.html#punycode-decode"/>
+ <keyword type="macro" name="IDNAPI" link="libidn-pr29.html#IDNAPI:CAPS"/>
+ <keyword type="enum" name="enum Pr29_rc" link="libidn-pr29.html#Pr29-rc"/>
+ <keyword type="function" name="pr29_strerror ()" link="libidn-pr29.html#pr29-strerror"/>
+ <keyword type="function" name="pr29_4 ()" link="libidn-pr29.html#pr29-4"/>
+ <keyword type="function" name="pr29_4z ()" link="libidn-pr29.html#pr29-4z"/>
+ <keyword type="function" name="pr29_8z ()" link="libidn-pr29.html#pr29-8z"/>
+ <keyword type="macro" name="IDNAPI" link="libidn-tld.html#IDNAPI:CAPS"/>
+ <keyword type="typedef" name="Tld_table_element" link="libidn-tld.html#Tld-table-element"/>
+ <keyword type="typedef" name="Tld_table" link="libidn-tld.html#Tld-table"/>
+ <keyword type="enum" name="enum Tld_rc" link="libidn-tld.html#Tld-rc"/>
+ <keyword type="function" name="tld_strerror ()" link="libidn-tld.html#tld-strerror"/>
+ <keyword type="function" name="tld_get_4 ()" link="libidn-tld.html#tld-get-4"/>
+ <keyword type="function" name="tld_get_4z ()" link="libidn-tld.html#tld-get-4z"/>
+ <keyword type="function" name="tld_get_z ()" link="libidn-tld.html#tld-get-z"/>
+ <keyword type="function" name="tld_get_table ()" link="libidn-tld.html#tld-get-table"/>
+ <keyword type="function" name="tld_default_table ()" link="libidn-tld.html#tld-default-table"/>
+ <keyword type="function" name="tld_check_4t ()" link="libidn-tld.html#tld-check-4t"/>
+ <keyword type="function" name="tld_check_4tz ()" link="libidn-tld.html#tld-check-4tz"/>
+ <keyword type="function" name="tld_check_4 ()" link="libidn-tld.html#tld-check-4"/>
+ <keyword type="function" name="tld_check_4z ()" link="libidn-tld.html#tld-check-4z"/>
+ <keyword type="function" name="tld_check_8z ()" link="libidn-tld.html#tld-check-8z"/>
+ <keyword type="function" name="tld_check_lz ()" link="libidn-tld.html#tld-check-lz"/>
+ <keyword type="macro" name="IDNAPI" link="libidn-idn-free.html#IDNAPI:CAPS"/>
+ <keyword type="constant" name="IDNA_SUCCESS" link="libidn-idna.html#IDNA-SUCCESS:CAPS"/>
+ <keyword type="constant" name="IDNA_STRINGPREP_ERROR" link="libidn-idna.html#IDNA-STRINGPREP-ERROR:CAPS"/>
+ <keyword type="constant" name="IDNA_PUNYCODE_ERROR" link="libidn-idna.html#IDNA-PUNYCODE-ERROR:CAPS"/>
+ <keyword type="constant" name="IDNA_CONTAINS_NON_LDH" link="libidn-idna.html#IDNA-CONTAINS-NON-LDH:CAPS"/>
+ <keyword type="constant" name="IDNA_CONTAINS_LDH" link="libidn-idna.html#IDNA-CONTAINS-LDH:CAPS"/>
+ <keyword type="constant" name="IDNA_CONTAINS_MINUS" link="libidn-idna.html#IDNA-CONTAINS-MINUS:CAPS"/>
+ <keyword type="constant" name="IDNA_INVALID_LENGTH" link="libidn-idna.html#IDNA-INVALID-LENGTH:CAPS"/>
+ <keyword type="constant" name="IDNA_NO_ACE_PREFIX" link="libidn-idna.html#IDNA-NO-ACE-PREFIX:CAPS"/>
+ <keyword type="constant" name="IDNA_ROUNDTRIP_VERIFY_ERROR" link="libidn-idna.html#IDNA-ROUNDTRIP-VERIFY-ERROR:CAPS"/>
+ <keyword type="constant" name="IDNA_CONTAINS_ACE_PREFIX" link="libidn-idna.html#IDNA-CONTAINS-ACE-PREFIX:CAPS"/>
+ <keyword type="constant" name="IDNA_ICONV_ERROR" link="libidn-idna.html#IDNA-ICONV-ERROR:CAPS"/>
+ <keyword type="constant" name="IDNA_MALLOC_ERROR" link="libidn-idna.html#IDNA-MALLOC-ERROR:CAPS"/>
+ <keyword type="constant" name="IDNA_DLOPEN_ERROR" link="libidn-idna.html#IDNA-DLOPEN-ERROR:CAPS"/>
+ <keyword type="constant" name="IDNA_ALLOW_UNASSIGNED" link="libidn-idna.html#IDNA-ALLOW-UNASSIGNED:CAPS"/>
+ <keyword type="constant" name="IDNA_USE_STD3_ASCII_RULES" link="libidn-idna.html#IDNA-USE-STD3-ASCII-RULES:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_OK" link="libidn-stringprep.html#STRINGPREP-OK:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_CONTAINS_UNASSIGNED" link="libidn-stringprep.html#STRINGPREP-CONTAINS-UNASSIGNED:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_CONTAINS_PROHIBITED" link="libidn-stringprep.html#STRINGPREP-CONTAINS-PROHIBITED:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_BIDI_BOTH_L_AND_RAL" link="libidn-stringprep.html#STRINGPREP-BIDI-BOTH-L-AND-RAL:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_BIDI_LEADTRAIL_NOT_RAL" link="libidn-stringprep.html#STRINGPREP-BIDI-LEADTRAIL-NOT-RAL:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_BIDI_CONTAINS_PROHIBITED" link="libidn-stringprep.html#STRINGPREP-BIDI-CONTAINS-PROHIBITED:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_TOO_SMALL_BUFFER" link="libidn-stringprep.html#STRINGPREP-TOO-SMALL-BUFFER:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_PROFILE_ERROR" link="libidn-stringprep.html#STRINGPREP-PROFILE-ERROR:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_FLAG_ERROR" link="libidn-stringprep.html#STRINGPREP-FLAG-ERROR:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_UNKNOWN_PROFILE" link="libidn-stringprep.html#STRINGPREP-UNKNOWN-PROFILE:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_NFKC_FAILED" link="libidn-stringprep.html#STRINGPREP-NFKC-FAILED:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_MALLOC_ERROR" link="libidn-stringprep.html#STRINGPREP-MALLOC-ERROR:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_NO_NFKC" link="libidn-stringprep.html#STRINGPREP-NO-NFKC:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_NO_BIDI" link="libidn-stringprep.html#STRINGPREP-NO-BIDI:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_NO_UNASSIGNED" link="libidn-stringprep.html#STRINGPREP-NO-UNASSIGNED:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_NFKC" link="libidn-stringprep.html#STRINGPREP-NFKC:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_BIDI" link="libidn-stringprep.html#STRINGPREP-BIDI:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_MAP_TABLE" link="libidn-stringprep.html#STRINGPREP-MAP-TABLE:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_UNASSIGNED_TABLE" link="libidn-stringprep.html#STRINGPREP-UNASSIGNED-TABLE:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_PROHIBIT_TABLE" link="libidn-stringprep.html#STRINGPREP-PROHIBIT-TABLE:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_BIDI_PROHIBIT_TABLE" link="libidn-stringprep.html#STRINGPREP-BIDI-PROHIBIT-TABLE:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_BIDI_RAL_TABLE" link="libidn-stringprep.html#STRINGPREP-BIDI-RAL-TABLE:CAPS"/>
+ <keyword type="constant" name="STRINGPREP_BIDI_L_TABLE" link="libidn-stringprep.html#STRINGPREP-BIDI-L-TABLE:CAPS"/>
+ <keyword type="constant" name="PUNYCODE_SUCCESS" link="libidn-punycode.html#PUNYCODE-SUCCESS:CAPS"/>
+ <keyword type="constant" name="PUNYCODE_BAD_INPUT" link="libidn-punycode.html#PUNYCODE-BAD-INPUT:CAPS"/>
+ <keyword type="constant" name="PUNYCODE_BIG_OUTPUT" link="libidn-punycode.html#PUNYCODE-BIG-OUTPUT:CAPS"/>
+ <keyword type="constant" name="PUNYCODE_OVERFLOW" link="libidn-punycode.html#PUNYCODE-OVERFLOW:CAPS"/>
+ <keyword type="constant" name="PR29_SUCCESS" link="libidn-pr29.html#PR29-SUCCESS:CAPS"/>
+ <keyword type="constant" name="PR29_PROBLEM" link="libidn-pr29.html#PR29-PROBLEM:CAPS"/>
+ <keyword type="constant" name="PR29_STRINGPREP_ERROR" link="libidn-pr29.html#PR29-STRINGPREP-ERROR:CAPS"/>
+ <keyword type="constant" name="TLD_SUCCESS" link="libidn-tld.html#TLD-SUCCESS:CAPS"/>
+ <keyword type="constant" name="TLD_INVALID" link="libidn-tld.html#TLD-INVALID:CAPS"/>
+ <keyword type="constant" name="TLD_NODATA" link="libidn-tld.html#TLD-NODATA:CAPS"/>
+ <keyword type="constant" name="TLD_MALLOC_ERROR" link="libidn-tld.html#TLD-MALLOC-ERROR:CAPS"/>
+ <keyword type="constant" name="TLD_ICONV_ERROR" link="libidn-tld.html#TLD-ICONV-ERROR:CAPS"/>
+ <keyword type="constant" name="TLD_NO_TLD" link="libidn-tld.html#TLD-NO-TLD:CAPS"/>
+ <keyword type="constant" name="TLD_NOTLD" link="libidn-tld.html#TLD-NOTLD:CAPS"/>
</functions>
</book>
.synopsis, .classsynopsis
{
- background: #eeeeee;
- border: solid 1px #aaaaaa;
+ /* tango:aluminium 1/2 */
+ background: #eeeeec;
+ border: solid 1px #d3d7cf;
padding: 0.5em;
}
.programlisting
{
- background: #eeeeff;
- border: solid 1px #aaaaff;
+ /* tango:sky blue 0/1 */
+ background: #e6f3ff;
+ border: solid 1px #729fcf;
padding: 0.5em;
}
.variablelist
vertical-align: top;
}
-/* this is needed so that the local anchors are displayed below the naviagtion */
@media screen {
sup a.footnote
{
position: relative;
top: 0em ! important;
+
}
- div.refnamediv a[name], div.refsect1 a[name]
+ /* this is needed so that the local anchors are displayed below the naviagtion */
+ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
{
position: relative;
- top: -4.5em;
+ padding-top:4.5em;
}
+ /* this seems to be a bug in the xsl style sheets when generating indexes */
+ div.index div.index
+ {
+ top: 0em;
+ }
+ /* make space for the fixed navigation bar and add space at the bottom so that
+ * link targets appear somewhat close to top
+ */
+ body
+ {
+ padding-top: 3.2em;
+ padding-bottom: 20em;
+ }
+ /* style and size the navigation bar */
table.navigation#top
{
- background: #ffeeee;
- border: solid 1px #ffaaaa;
+ position: fixed;
+ /* tango:scarlet red 0/1 */
+ background: #ffe6e6;
+ border: solid 1px #ef2929;
margin-top: 0;
margin-bottom: 0;
- position: fixed;
top: 0;
left: 0;
- height: 2em;
- z-index: 1;
+ height: 3em;
+ z-index: 10;
}
- .navigation a
+ .navigation a, .navigation a:visited
{
- color: #770000;
+ /* tango:scarlet red 3 */
+ color: #a40000;
}
- .navigation a:visited
+ .navigation a:hover
{
- color: #550000;
+ /* tango:scarlet red 1 */
+ color: #ef2929;
}
td.shortcuts
{
- color: #770000;
+ /* tango:scarlet red 1 */
+ color: #ef2929;
font-size: 80%;
white-space: nowrap;
}
- div.refentry, div.chapter, div.reference, div.part, div.book, div.glossary, div.sect1, div.appendix, div.preface
- {
- position: relative;
- top: 3em;
- z-index: 0;
- }
- div.glossary, div.index
- {
- position: relative;
- top: 2em;
- z-index: 0;
- }
- div.refnamediv
- {
- margin-top: 2em;
- }
- body
- {
- padding-bottom: 20em;
- }
}
@media print {
table.navigation {
div.titlepage table.navigation {
visibility: visible;
display: table;
- background: #ffeeee;
- border: solid 1px #ffaaaa;
+ /* tango:scarlet red 0/1 */
+ background: #ffe6e6;
+ border: solid 1px #ef2929;
margin-top: 0;
margin-bottom: 0;
top: 0;
left: 0;
- height: 2em;
+ height: 3em;
}
}
font-size: 200%;
}
-
div.gallery-float
{
float: left;
{
clear: both;
}
-a
+
+a, a:visited
{
text-decoration: none;
+ /* tango:sky blue 2 */
+ color: #3465a4;
}
a:hover
{
text-decoration: underline;
- color: #FF0000;
+ /* tango:sky blue 1 */
+ color: #729fcf;
}
div.table table
{
border-collapse: collapse;
border-spacing: 0px;
- border-style: solid;
- border-color: #777777;
- border-width: 1px;
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
}
div.table table td, div.table table th
{
- border-style: solid;
- border-color: #777777;
- border-width: 1px;
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
padding: 3px;
vertical-align: top;
}
div.table table th
{
- background-color: #eeeeee;
+ /* tango:aluminium 2 */
+ background-color: #d3d7cf;
}
hr
{
- color: #777777;
- background: #777777;
- border: 0;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ background: #babdb6;
+ border: none 0px;
height: 1px;
clear: both;
}
.footer
{
padding-top: 3.5em;
- color: #777777;
+ /* tango:aluminium 3 */
+ color: #babdb6;
text-align: center;
font-size: 80%;
}
+
+.warning
+{
+ /* tango:orange 0/1 */
+ background: #ffeed9;
+ border-color: #ffb04f;
+}
+.note
+{
+ /* tango:chameleon 0/0.5 */
+ background: #d8ffb2;
+ border-color: #abf562;
+}
+.note, .warning
+{
+ padding: 0.5em;
+ border-width: 1px;
+ border-style: solid;
+}
+.note h3, .warning h3
+{
+ margin-top: 0.0em
+}
+.note p, .warning p
+{
+ margin-bottom: 0.0em
+}
+
+/* blob links */
+h2 .extralinks, h3 .extralinks
+{
+ float: right;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ font-size: 80%;
+ font-weight: normal;
+}
+
+.annotation
+{
+ /* tango:aluminium 5 */
+ color: #555753;
+ font-size: 80%;
+ font-weight: normal;
+}
+
+/* code listings */
+
+.listing_code .programlisting .cbracket { color: #a40000; } /* tango: scarlet red 3 */
+.listing_code .programlisting .comment { color: #a1a39d; } /* tango: aluminium 4 */
+.listing_code .programlisting .function { color: #000000; font-weight: bold; }
+.listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */
+.listing_code .programlisting .keyword { color: #4e9a06; } /* tango: chameleon 3 */
+.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */
+.listing_code .programlisting .normal { color: #000000; }
+.listing_code .programlisting .number { color: #75507b; } /* tango: plum 2 */
+.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */
+.listing_code .programlisting .string { color: #c17d11; } /* tango: chocolate 2 */
+.listing_code .programlisting .type { color: #000000; }
+.listing_code .programlisting .type a { color: #11326b; } /* tango: sky blue 4 */
+.listing_code .programlisting .symbol { color: #ce5c00; } /* tango: orange 3 */
+
+.listing_frame {
+ /* tango:sky blue 1 */
+ border: solid 1px #729fcf;
+ padding: 0px;
+}
+
+.listing_lines, .listing_code {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0.5em;
+}
+.listing_lines {
+ /* tango:sky blue 0.5 */
+ background: #a6c5e3;
+ /* tango:aluminium 6 */
+ color: #2e3436;
+}
+.listing_code {
+ /* tango:sky blue 0 */
+ background: #e6f3ff;
+}
+.listing_code .programlisting {
+ /* override from previous */
+ border: none 0px;
+ padding: 0px;
+}
+.listing_lines pre, .listing_code pre {
+ margin: 0px;
+}
+
<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+ <!ENTITY version SYSTEM "version.xml">
+]>
+<book id="index">
<bookinfo>
<title>GNU Libidn API Reference Manual</title>
+ <releaseinfo>
+ for GNU Libidn &version;.
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="https://www.gnu.org/software/libidn/reference/">https://www.gnu.org/software/libidn/reference/</ulink>.
+ </releaseinfo>
</bookinfo>
- <chapter>
+ <chapter id="intro">
<title>GNU Libidn API Reference Manual</title>
<para>
</figure>
<xi:include href="xml/idna.xml"/>
- <xi:include href="xml/pr29.xml"/>
+ <xi:include href="xml/stringprep.xml"/>
<xi:include href="xml/punycode.xml"/>
+ <xi:include href="xml/pr29.xml"/>
<xi:include href="xml/tld.xml"/>
- <xi:include href="xml/stringprep.xml"/>
<xi:include href="xml/idn-free.xml"/>
+
</chapter>
+ <index id="api-index-full">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
</book>
-<SECTION>
-<FILE>intprops</FILE>
-TYPE_TWOS_COMPLEMENT
-TYPE_ONES_COMPLEMENT
-TYPE_SIGNED_MAGNITUDE
-TYPE_SIGNED
-TYPE_MINIMUM
-TYPE_MAXIMUM
-signed_type_or_expr__
-INT_STRLEN_BOUND
-INT_BUFSIZE_BOUND
-<SUBSECTION Standard>
-TYPE_IS_INTEGER
-</SECTION>
-
-<SECTION>
-<FILE>idna</FILE>
-IDNAPI
-Idna_rc
-Idna_flags
-IDNA_ACE_PREFIX
-idna_strerror
-idna_to_ascii_4i
-idna_to_unicode_44i
-idna_to_ascii_4z
-idna_to_ascii_8z
-idna_to_ascii_lz
-idna_to_unicode_4z4z
-idna_to_unicode_8z4z
-idna_to_unicode_8z8z
-idna_to_unicode_8zlz
-idna_to_unicode_lzlz
-</SECTION>
-
<SECTION>
<FILE>pr29</FILE>
IDNAPI
pr29_8z
</SECTION>
-<SECTION>
-<FILE>tld</FILE>
-IDNAPI
-Tld_table_element
-Tld_table
-Tld_rc
-tld_strerror
-tld_get_4
-tld_get_4z
-tld_get_z
-tld_get_table
-tld_default_table
-tld_check_4t
-tld_check_4tz
-tld_check_4
-tld_check_4z
-tld_check_8z
-tld_check_lz
-</SECTION>
-
<SECTION>
<FILE>punycode</FILE>
IDNAPI
punycode_decode
</SECTION>
-<SECTION>
-<FILE>idn-free</FILE>
-IDNAPI
-</SECTION>
-
<SECTION>
<FILE>stringprep</FILE>
IDNAPI
</SECTION>
<SECTION>
-<FILE>verify</FILE>
-verify_true
-verify
+<FILE>tld</FILE>
+IDNAPI
+Tld_table_element
+Tld_table
+Tld_rc
+tld_strerror
+tld_get_4
+tld_get_4z
+tld_get_z
+tld_get_table
+tld_default_table
+tld_check_4t
+tld_check_4tz
+tld_check_4
+tld_check_4z
+tld_check_8z
+tld_check_lz
+</SECTION>
+
+<SECTION>
+<FILE>idna</FILE>
+IDNAPI
+Idna_rc
+Idna_flags
+IDNA_ACE_PREFIX
+idna_strerror
+idna_to_ascii_4i
+idna_to_unicode_44i
+idna_to_ascii_4z
+idna_to_ascii_8z
+idna_to_ascii_lz
+idna_to_unicode_4z4z
+idna_to_unicode_8z4z
+idna_to_unicode_8z8z
+idna_to_unicode_8zlz
+idna_to_unicode_lzlz
+</SECTION>
+
+<SECTION>
+<FILE>idn-free</FILE>
+IDNAPI
</SECTION>
<!-- ##### SECTION Stability_Level ##### -->
+<!-- ##### SECTION Image ##### -->
+
+
<!-- ##### MACRO IDNAPI ##### -->
<para>
<!-- ##### SECTION Stability_Level ##### -->
+<!-- ##### SECTION Image ##### -->
+
+
<!-- ##### MACRO IDNAPI ##### -->
<para>
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-intprops
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO TYPE_TWOS_COMPLEMENT ##### -->
-<para>
-
-</para>
-
-@t:
-
-
-<!-- ##### MACRO TYPE_ONES_COMPLEMENT ##### -->
-<para>
-
-</para>
-
-@t:
-
-
-<!-- ##### MACRO TYPE_SIGNED_MAGNITUDE ##### -->
-<para>
-
-</para>
-
-@t:
-
-
-<!-- ##### MACRO TYPE_SIGNED ##### -->
-<para>
-
-</para>
-
-@t:
-
-
-<!-- ##### MACRO TYPE_MINIMUM ##### -->
-<para>
-
-</para>
-
-@t:
-
-
-<!-- ##### MACRO TYPE_MAXIMUM ##### -->
-<para>
-
-</para>
-
-@t:
-
-
-<!-- ##### MACRO signed_type_or_expr__ ##### -->
-<para>
-
-</para>
-
-@t:
-
-
-<!-- ##### MACRO INT_STRLEN_BOUND ##### -->
-<para>
-
-</para>
-
-@t:
-
-
-<!-- ##### MACRO INT_BUFSIZE_BOUND ##### -->
-<para>
-
-</para>
-
-@t:
-
-
<!-- ##### SECTION Stability_Level ##### -->
+<!-- ##### SECTION Image ##### -->
+
+
<!-- ##### MACRO IDNAPI ##### -->
<para>
<!-- ##### SECTION Stability_Level ##### -->
+<!-- ##### SECTION Image ##### -->
+
+
<!-- ##### MACRO IDNAPI ##### -->
<para>
<!-- ##### SECTION Stability_Level ##### -->
+<!-- ##### SECTION Image ##### -->
+
+
<!-- ##### MACRO IDNAPI ##### -->
<para>
</para>
+@void:
@Returns:
<!-- ##### SECTION Stability_Level ##### -->
+<!-- ##### SECTION Image ##### -->
+
+
<!-- ##### MACRO IDNAPI ##### -->
<para>
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-verify
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO verify_true ##### -->
-<para>
-
-</para>
-
-@R:
-
-
-<!-- ##### MACRO verify ##### -->
-<para>
-
-</para>
-
-@R:
-
-
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<indexdiv>
-</indexdiv>
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<indexdiv>
-<indexdiv><title>I</title>
-<indexentry><primaryie linkends="IDNAPI--CAPS"><link linkend="IDNAPI--CAPS">IDNAPI</link></primaryie></indexentry>
-<indexentry><primaryie linkends="IDNA-ACE-PREFIX--CAPS"><link linkend="IDNA-ACE-PREFIX--CAPS">IDNA_ACE_PREFIX</link></primaryie></indexentry>
-<indexentry><primaryie linkends="Idna-flags"><link linkend="Idna-flags">Idna_flags</link></primaryie></indexentry>
-<indexentry><primaryie linkends="Idna-rc"><link linkend="Idna-rc">Idna_rc</link></primaryie></indexentry>
-<indexentry><primaryie linkends="idna-strerror"><link linkend="idna-strerror">idna_strerror</link></primaryie></indexentry>
-<indexentry><primaryie linkends="idna-to-ascii-4i"><link linkend="idna-to-ascii-4i">idna_to_ascii_4i</link></primaryie></indexentry>
-<indexentry><primaryie linkends="idna-to-ascii-4z"><link linkend="idna-to-ascii-4z">idna_to_ascii_4z</link></primaryie></indexentry>
-<indexentry><primaryie linkends="idna-to-ascii-8z"><link linkend="idna-to-ascii-8z">idna_to_ascii_8z</link></primaryie></indexentry>
-<indexentry><primaryie linkends="idna-to-ascii-lz"><link linkend="idna-to-ascii-lz">idna_to_ascii_lz</link></primaryie></indexentry>
-<indexentry><primaryie linkends="idna-to-unicode-44i"><link linkend="idna-to-unicode-44i">idna_to_unicode_44i</link></primaryie></indexentry>
-<indexentry><primaryie linkends="idna-to-unicode-4z4z"><link linkend="idna-to-unicode-4z4z">idna_to_unicode_4z4z</link></primaryie></indexentry>
-<indexentry><primaryie linkends="idna-to-unicode-8z4z"><link linkend="idna-to-unicode-8z4z">idna_to_unicode_8z4z</link></primaryie></indexentry>
-<indexentry><primaryie linkends="idna-to-unicode-8z8z"><link linkend="idna-to-unicode-8z8z">idna_to_unicode_8z8z</link></primaryie></indexentry>
-<indexentry><primaryie linkends="idna-to-unicode-8zlz"><link linkend="idna-to-unicode-8zlz">idna_to_unicode_8zlz</link></primaryie></indexentry>
-<indexentry><primaryie linkends="idna-to-unicode-lzlz"><link linkend="idna-to-unicode-lzlz">idna_to_unicode_lzlz</link></primaryie></indexentry>
-<indexentry><primaryie linkends="INT-BUFSIZE-BOUND--CAPS"><link linkend="INT-BUFSIZE-BOUND--CAPS">INT_BUFSIZE_BOUND</link></primaryie></indexentry>
-<indexentry><primaryie linkends="INT-STRLEN-BOUND--CAPS"><link linkend="INT-STRLEN-BOUND--CAPS">INT_STRLEN_BOUND</link></primaryie></indexentry>
-</indexdiv>
-<indexdiv><title>P</title>
-<indexentry><primaryie linkends="pr29-4"><link linkend="pr29-4">pr29_4</link></primaryie></indexentry>
-<indexentry><primaryie linkends="pr29-4z"><link linkend="pr29-4z">pr29_4z</link></primaryie></indexentry>
-<indexentry><primaryie linkends="pr29-8z"><link linkend="pr29-8z">pr29_8z</link></primaryie></indexentry>
-<indexentry><primaryie linkends="Pr29-rc"><link linkend="Pr29-rc">Pr29_rc</link></primaryie></indexentry>
-<indexentry><primaryie linkends="pr29-strerror"><link linkend="pr29-strerror">pr29_strerror</link></primaryie></indexentry>
-<indexentry><primaryie linkends="punycode-decode"><link linkend="punycode-decode">punycode_decode</link></primaryie></indexentry>
-<indexentry><primaryie linkends="punycode-encode"><link linkend="punycode-encode">punycode_encode</link></primaryie></indexentry>
-<indexentry><primaryie linkends="Punycode-status"><link linkend="Punycode-status">Punycode_status</link></primaryie></indexentry>
-<indexentry><primaryie linkends="punycode-strerror"><link linkend="punycode-strerror">punycode_strerror</link></primaryie></indexentry>
-<indexentry><primaryie linkends="punycode-uint"><link linkend="punycode-uint">punycode_uint</link></primaryie></indexentry>
-</indexdiv>
-<indexdiv><title>S</title>
-<indexentry><primaryie linkends="signed-type-or-expr--"><link linkend="signed-type-or-expr--">signed_type_or_expr__</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep"><link linkend="stringprep">stringprep</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-4i"><link linkend="stringprep-4i">stringprep_4i</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-4zi"><link linkend="stringprep-4zi">stringprep_4zi</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-check-version"><link linkend="stringprep-check-version">stringprep_check_version</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-convert"><link linkend="stringprep-convert">stringprep_convert</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-iscsi"><link linkend="stringprep-iscsi">stringprep_iscsi</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-kerberos5"><link linkend="stringprep-kerberos5">stringprep_kerberos5</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-locale-charset"><link linkend="stringprep-locale-charset">stringprep_locale_charset</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-locale-to-utf8"><link linkend="stringprep-locale-to-utf8">stringprep_locale_to_utf8</link></primaryie></indexentry>
-<indexentry><primaryie linkends="STRINGPREP-MAX-MAP-CHARS--CAPS"><link linkend="STRINGPREP-MAX-MAP-CHARS--CAPS">STRINGPREP_MAX_MAP_CHARS</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-nameprep"><link linkend="stringprep-nameprep">stringprep_nameprep</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-nameprep-no-unassigned"><link linkend="stringprep-nameprep-no-unassigned">stringprep_nameprep_no_unassigned</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-plain"><link linkend="stringprep-plain">stringprep_plain</link></primaryie></indexentry>
-<indexentry><primaryie linkends="Stringprep-profile"><link linkend="Stringprep-profile">Stringprep_profile</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-profile"><link linkend="stringprep-profile">stringprep_profile</link></primaryie></indexentry>
-<indexentry><primaryie linkends="Stringprep-profiles"><link linkend="Stringprep-profiles">Stringprep_profiles</link></primaryie></indexentry>
-<indexentry><primaryie linkends="Stringprep-profile-flags"><link linkend="Stringprep-profile-flags">Stringprep_profile_flags</link></primaryie></indexentry>
-<indexentry><primaryie linkends="Stringprep-profile-steps"><link linkend="Stringprep-profile-steps">Stringprep_profile_steps</link></primaryie></indexentry>
-<indexentry><primaryie linkends="Stringprep-rc"><link linkend="Stringprep-rc">Stringprep_rc</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-strerror"><link linkend="stringprep-strerror">stringprep_strerror</link></primaryie></indexentry>
-<indexentry><primaryie linkends="Stringprep-table-element"><link linkend="Stringprep-table-element">Stringprep_table_element</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-ucs4-nfkc-normalize"><link linkend="stringprep-ucs4-nfkc-normalize">stringprep_ucs4_nfkc_normalize</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-ucs4-to-utf8"><link linkend="stringprep-ucs4-to-utf8">stringprep_ucs4_to_utf8</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-unichar-to-utf8"><link linkend="stringprep-unichar-to-utf8">stringprep_unichar_to_utf8</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-utf8-nfkc-normalize"><link linkend="stringprep-utf8-nfkc-normalize">stringprep_utf8_nfkc_normalize</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-utf8-to-locale"><link linkend="stringprep-utf8-to-locale">stringprep_utf8_to_locale</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-utf8-to-ucs4"><link linkend="stringprep-utf8-to-ucs4">stringprep_utf8_to_ucs4</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-utf8-to-unichar"><link linkend="stringprep-utf8-to-unichar">stringprep_utf8_to_unichar</link></primaryie></indexentry>
-<indexentry><primaryie linkends="STRINGPREP-VERSION--CAPS"><link linkend="STRINGPREP-VERSION--CAPS">STRINGPREP_VERSION</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-xmpp-nodeprep"><link linkend="stringprep-xmpp-nodeprep">stringprep_xmpp_nodeprep</link></primaryie></indexentry>
-<indexentry><primaryie linkends="stringprep-xmpp-resourceprep"><link linkend="stringprep-xmpp-resourceprep">stringprep_xmpp_resourceprep</link></primaryie></indexentry>
-</indexdiv>
-<indexdiv><title>T</title>
-<indexentry><primaryie linkends="tld-check-4"><link linkend="tld-check-4">tld_check_4</link></primaryie></indexentry>
-<indexentry><primaryie linkends="tld-check-4t"><link linkend="tld-check-4t">tld_check_4t</link></primaryie></indexentry>
-<indexentry><primaryie linkends="tld-check-4tz"><link linkend="tld-check-4tz">tld_check_4tz</link></primaryie></indexentry>
-<indexentry><primaryie linkends="tld-check-4z"><link linkend="tld-check-4z">tld_check_4z</link></primaryie></indexentry>
-<indexentry><primaryie linkends="tld-check-8z"><link linkend="tld-check-8z">tld_check_8z</link></primaryie></indexentry>
-<indexentry><primaryie linkends="tld-check-lz"><link linkend="tld-check-lz">tld_check_lz</link></primaryie></indexentry>
-<indexentry><primaryie linkends="tld-default-table"><link linkend="tld-default-table">tld_default_table</link></primaryie></indexentry>
-<indexentry><primaryie linkends="tld-get-4"><link linkend="tld-get-4">tld_get_4</link></primaryie></indexentry>
-<indexentry><primaryie linkends="tld-get-4z"><link linkend="tld-get-4z">tld_get_4z</link></primaryie></indexentry>
-<indexentry><primaryie linkends="tld-get-table"><link linkend="tld-get-table">tld_get_table</link></primaryie></indexentry>
-<indexentry><primaryie linkends="tld-get-z"><link linkend="tld-get-z">tld_get_z</link></primaryie></indexentry>
-<indexentry><primaryie linkends="Tld-rc"><link linkend="Tld-rc">Tld_rc</link></primaryie></indexentry>
-<indexentry><primaryie linkends="tld-strerror"><link linkend="tld-strerror">tld_strerror</link></primaryie></indexentry>
-<indexentry><primaryie linkends="Tld-table"><link linkend="Tld-table">Tld_table</link></primaryie></indexentry>
-<indexentry><primaryie linkends="Tld-table-element"><link linkend="Tld-table-element">Tld_table_element</link></primaryie></indexentry>
-<indexentry><primaryie linkends="TYPE-MAXIMUM--CAPS"><link linkend="TYPE-MAXIMUM--CAPS">TYPE_MAXIMUM</link></primaryie></indexentry>
-<indexentry><primaryie linkends="TYPE-MINIMUM--CAPS"><link linkend="TYPE-MINIMUM--CAPS">TYPE_MINIMUM</link></primaryie></indexentry>
-<indexentry><primaryie linkends="TYPE-ONES-COMPLEMENT--CAPS"><link linkend="TYPE-ONES-COMPLEMENT--CAPS">TYPE_ONES_COMPLEMENT</link></primaryie></indexentry>
-<indexentry><primaryie linkends="TYPE-SIGNED--CAPS"><link linkend="TYPE-SIGNED--CAPS">TYPE_SIGNED</link></primaryie></indexentry>
-<indexentry><primaryie linkends="TYPE-SIGNED-MAGNITUDE--CAPS"><link linkend="TYPE-SIGNED-MAGNITUDE--CAPS">TYPE_SIGNED_MAGNITUDE</link></primaryie></indexentry>
-<indexentry><primaryie linkends="TYPE-TWOS-COMPLEMENT--CAPS"><link linkend="TYPE-TWOS-COMPLEMENT--CAPS">TYPE_TWOS_COMPLEMENT</link></primaryie></indexentry>
-</indexdiv>
-<indexdiv><title>V</title>
-<indexentry><primaryie linkends="verify"><link linkend="verify">verify</link></primaryie></indexentry>
-<indexentry><primaryie linkends="verify-true"><link linkend="verify-true">verify_true</link></primaryie></indexentry>
-</indexdiv>
-</indexdiv>
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<refentry id="libidn-idn-free">
-<refmeta>
-<refentrytitle role="top_of_page" id="libidn-idn-free.top_of_page">idn-free</refentrytitle>
-<manvolnum>3</manvolnum>
-<refmiscinfo>LIBIDN Library</refmiscinfo>
-</refmeta>
-
-<refnamediv>
-<refname>idn-free</refname>
-<refpurpose></refpurpose>
-</refnamediv>
-
-<refsynopsisdiv id="libidn-idn-free.synopsis" role="synopsis">
-<title role="synopsis.title">Synopsis</title>
-
-<synopsis>
-#define <link linkend="IDNAPI--CAPS">IDNAPI</link>
-</synopsis>
-</refsynopsisdiv>
-
-
-
-
-
-
-
-
-
-<refsect1 id="libidn-idn-free.description" role="desc">
-<title role="desc.title">Description</title>
-<para>
-</para>
-</refsect1>
-
-<refsect1 id="libidn-idn-free.details" role="details">
-<title role="details.title">Details</title>
-<refsect2 id="IDNAPI--CAPS" role="macro">
-<title>IDNAPI</title>
-<indexterm zone="IDNAPI--CAPS"><primary sortas="IDNAPI">IDNAPI</primary></indexterm><programlisting>#define IDNAPI</programlisting>
-<para>
-</para></refsect2>
-
-</refsect1>
-
-
-
-
-</refentry>
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<refentry id="libidn-idna">
-<refmeta>
-<refentrytitle role="top_of_page" id="libidn-idna.top_of_page">idna</refentrytitle>
-<manvolnum>3</manvolnum>
-<refmiscinfo>LIBIDN Library</refmiscinfo>
-</refmeta>
-
-<refnamediv>
-<refname>idna</refname>
-<refpurpose></refpurpose>
-</refnamediv>
-
-<refsynopsisdiv id="libidn-idna.synopsis" role="synopsis">
-<title role="synopsis.title">Synopsis</title>
-
-<synopsis>
-#define <link linkend="IDNAPI--CAPS">IDNAPI</link>
-enum <link linkend="Idna-rc">Idna_rc</link>;
-enum <link linkend="Idna-flags">Idna_flags</link>;
-#define <link linkend="IDNA-ACE-PREFIX--CAPS">IDNA_ACE_PREFIX</link>
-const <link linkend="char">char</link> * <link linkend="idna-strerror">idna_strerror</link> (<link linkend="Idna-rc">Idna_rc</link> rc);
-<link linkend="int">int</link> <link linkend="idna-to-ascii-4i">idna_to_ascii_4i</link> (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> inlen,
- <link linkend="char">char</link> *out,
- <link linkend="int">int</link> flags);
-<link linkend="int">int</link> <link linkend="idna-to-unicode-44i">idna_to_unicode_44i</link> (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> inlen,
- <link linkend="uint32-t">uint32_t</link> *out,
- <link linkend="size-t">size_t</link> *outlen,
- <link linkend="int">int</link> flags);
-<link linkend="int">int</link> <link linkend="idna-to-ascii-4z">idna_to_ascii_4z</link> (const <link linkend="uint32-t">uint32_t</link> *input,
- <link linkend="char">char</link> **output,
- <link linkend="int">int</link> flags);
-<link linkend="int">int</link> <link linkend="idna-to-ascii-8z">idna_to_ascii_8z</link> (const <link linkend="char">char</link> *input,
- <link linkend="char">char</link> **output,
- <link linkend="int">int</link> flags);
-<link linkend="int">int</link> <link linkend="idna-to-ascii-lz">idna_to_ascii_lz</link> (const <link linkend="char">char</link> *input,
- <link linkend="char">char</link> **output,
- <link linkend="int">int</link> flags);
-<link linkend="int">int</link> <link linkend="idna-to-unicode-4z4z">idna_to_unicode_4z4z</link> (const <link linkend="uint32-t">uint32_t</link> *input,
- <link linkend="uint32-t">uint32_t</link> **output,
- <link linkend="int">int</link> flags);
-<link linkend="int">int</link> <link linkend="idna-to-unicode-8z4z">idna_to_unicode_8z4z</link> (const <link linkend="char">char</link> *input,
- <link linkend="uint32-t">uint32_t</link> **output,
- <link linkend="int">int</link> flags);
-<link linkend="int">int</link> <link linkend="idna-to-unicode-8z8z">idna_to_unicode_8z8z</link> (const <link linkend="char">char</link> *input,
- <link linkend="char">char</link> **output,
- <link linkend="int">int</link> flags);
-<link linkend="int">int</link> <link linkend="idna-to-unicode-8zlz">idna_to_unicode_8zlz</link> (const <link linkend="char">char</link> *input,
- <link linkend="char">char</link> **output,
- <link linkend="int">int</link> flags);
-<link linkend="int">int</link> <link linkend="idna-to-unicode-lzlz">idna_to_unicode_lzlz</link> (const <link linkend="char">char</link> *input,
- <link linkend="char">char</link> **output,
- <link linkend="int">int</link> flags);
-</synopsis>
-</refsynopsisdiv>
-
-
-
-
-
-
-
-
-
-<refsect1 id="libidn-idna.description" role="desc">
-<title role="desc.title">Description</title>
-<para>
-</para>
-</refsect1>
-
-<refsect1 id="libidn-idna.details" role="details">
-<title role="details.title">Details</title>
-<refsect2 id="IDNAPI--CAPS" role="macro">
-<title>IDNAPI</title>
-<indexterm zone="IDNAPI--CAPS"><primary sortas="IDNAPI">IDNAPI</primary></indexterm><programlisting>#define IDNAPI</programlisting>
-<para>
-</para></refsect2>
-<refsect2 id="Idna-rc" role="enum">
-<title>enum Idna_rc</title>
-<indexterm zone="Idna-rc"><primary sortas="Idna_rc">Idna_rc</primary></indexterm><programlisting> typedef enum
- {
- IDNA_SUCCESS = 0,
- IDNA_STRINGPREP_ERROR = 1,
- IDNA_PUNYCODE_ERROR = 2,
- IDNA_CONTAINS_NON_LDH = 3,
- /* Workaround typo in earlier versions. */
- IDNA_CONTAINS_LDH = IDNA_CONTAINS_NON_LDH,
- IDNA_CONTAINS_MINUS = 4,
- IDNA_INVALID_LENGTH = 5,
- IDNA_NO_ACE_PREFIX = 6,
- IDNA_ROUNDTRIP_VERIFY_ERROR = 7,
- IDNA_CONTAINS_ACE_PREFIX = 8,
- IDNA_ICONV_ERROR = 9,
- /* Internal errors. */
- IDNA_MALLOC_ERROR = 201,
- IDNA_DLOPEN_ERROR = 202
- } Idna_rc;
-</programlisting>
-<para>
-Enumerated return codes of <link linkend="idna-to-ascii-4i"><function>idna_to_ascii_4i()</function></link>,
-<link linkend="idna-to-unicode-44i"><function>idna_to_unicode_44i()</function></link> functions (and functions derived from those
-functions). The value 0 is guaranteed to always correspond to
-success.</para>
-<para>
-</para><variablelist role="enum">
-<varlistentry id="IDNA-SUCCESS--CAPS" role="constant">
-<term><literal>IDNA_SUCCESS</literal></term>
-<listitem><simpara> Successful operation. This value is guaranteed to
- always be zero, the remaining ones are only guaranteed to hold
- non-zero values, for logical comparison purposes.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="IDNA-STRINGPREP-ERROR--CAPS" role="constant">
-<term><literal>IDNA_STRINGPREP_ERROR</literal></term>
-<listitem><simpara> Error during string preparation.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="IDNA-PUNYCODE-ERROR--CAPS" role="constant">
-<term><literal>IDNA_PUNYCODE_ERROR</literal></term>
-<listitem><simpara> Error during punycode operation.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="IDNA-CONTAINS-NON-LDH--CAPS" role="constant">
-<term><literal>IDNA_CONTAINS_NON_LDH</literal></term>
-<listitem><simpara> For IDNA_USE_STD3_ASCII_RULES, indicate that
- the string contains non-LDH ASCII characters.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="IDNA-CONTAINS-LDH--CAPS" role="constant">
-<term><literal>IDNA_CONTAINS_LDH</literal></term>
-<listitem><simpara>
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="IDNA-CONTAINS-MINUS--CAPS" role="constant">
-<term><literal>IDNA_CONTAINS_MINUS</literal></term>
-<listitem><simpara> For IDNA_USE_STD3_ASCII_RULES, indicate that
- the string contains a leading or trailing hyphen-minus (U+002D).
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="IDNA-INVALID-LENGTH--CAPS" role="constant">
-<term><literal>IDNA_INVALID_LENGTH</literal></term>
-<listitem><simpara> The final output string is not within the
- (inclusive) range 1 to 63 characters.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="IDNA-NO-ACE-PREFIX--CAPS" role="constant">
-<term><literal>IDNA_NO_ACE_PREFIX</literal></term>
-<listitem><simpara> The string does not contain the ACE prefix
- (for ToUnicode).
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="IDNA-ROUNDTRIP-VERIFY-ERROR--CAPS" role="constant">
-<term><literal>IDNA_ROUNDTRIP_VERIFY_ERROR</literal></term>
-<listitem><simpara> The ToASCII operation on output
- string does not equal the input.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="IDNA-CONTAINS-ACE-PREFIX--CAPS" role="constant">
-<term><literal>IDNA_CONTAINS_ACE_PREFIX</literal></term>
-<listitem><simpara> The input contains the ACE prefix (for
- ToASCII).
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="IDNA-ICONV-ERROR--CAPS" role="constant">
-<term><literal>IDNA_ICONV_ERROR</literal></term>
-<listitem><simpara> Could not convert string in locale encoding.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="IDNA-MALLOC-ERROR--CAPS" role="constant">
-<term><literal>IDNA_MALLOC_ERROR</literal></term>
-<listitem><simpara> Could not allocate buffer (this is typically a
- fatal error).
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="IDNA-DLOPEN-ERROR--CAPS" role="constant">
-<term><literal>IDNA_DLOPEN_ERROR</literal></term>
-<listitem><simpara> Could not dlopen the libcidn DSO (only used
- internally in libc).
-</simpara></listitem>
-</varlistentry>
-</variablelist></refsect2>
-<refsect2 id="Idna-flags" role="enum">
-<title>enum Idna_flags</title>
-<indexterm zone="Idna-flags"><primary sortas="Idna_flags">Idna_flags</primary></indexterm><programlisting> typedef enum
- {
- IDNA_ALLOW_UNASSIGNED = 0x0001,
- IDNA_USE_STD3_ASCII_RULES = 0x0002
- } Idna_flags;
-</programlisting>
-<para>
-Flags to pass to <link linkend="idna-to-ascii-4i"><function>idna_to_ascii_4i()</function></link>, <link linkend="idna-to-unicode-44i"><function>idna_to_unicode_44i()</function></link> etc.</para>
-<para>
-</para><variablelist role="enum">
-<varlistentry id="IDNA-ALLOW-UNASSIGNED--CAPS" role="constant">
-<term><literal>IDNA_ALLOW_UNASSIGNED</literal></term>
-<listitem><simpara> Don't reject strings containing unassigned
- Unicode code points.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="IDNA-USE-STD3-ASCII-RULES--CAPS" role="constant">
-<term><literal>IDNA_USE_STD3_ASCII_RULES</literal></term>
-<listitem><simpara> Validate strings according to STD3
- rules (i.e., normal host name rules).
-</simpara></listitem>
-</varlistentry>
-</variablelist></refsect2>
-<refsect2 id="IDNA-ACE-PREFIX--CAPS" role="macro">
-<title>IDNA_ACE_PREFIX</title>
-<indexterm zone="IDNA-ACE-PREFIX--CAPS"><primary sortas="IDNA_ACE_PREFIX">IDNA_ACE_PREFIX</primary></indexterm><programlisting># define IDNA_ACE_PREFIX "xn--"
-</programlisting>
-<para>
-The IANA allocated prefix to use for IDNA. "xn--"</para>
-<para>
-</para></refsect2>
-<refsect2 id="idna-strerror" role="function">
-<title>idna_strerror ()</title>
-<indexterm zone="idna-strerror"><primary sortas="idna_strerror">idna_strerror</primary></indexterm><programlisting>const <link linkend="char">char</link> * idna_strerror (<link linkend="Idna-rc">Idna_rc</link> rc);</programlisting>
-<para>
-Convert a return code integer to a text string. This string can be
-used to output a diagnostic message to the user.
-</para>
-<para>
-IDNA_SUCCESS: Successful operation. This value is guaranteed to
- always be zero, the remaining ones are only guaranteed to hold
- non-zero values, for logical comparison purposes.
-IDNA_STRINGPREP_ERROR: Error during string preparation.
-IDNA_PUNYCODE_ERROR: Error during punycode operation.
-IDNA_CONTAINS_NON_LDH: For IDNA_USE_STD3_ASCII_RULES, indicate that
- the string contains non-LDH ASCII characters.
-IDNA_CONTAINS_MINUS: For IDNA_USE_STD3_ASCII_RULES, indicate that
- the string contains a leading or trailing hyphen-minus (U+002D).
-IDNA_INVALID_LENGTH: The final output string is not within the
- (inclusive) range 1 to 63 characters.
-IDNA_NO_ACE_PREFIX: The string does not contain the ACE prefix
- (for ToUnicode).
-IDNA_ROUNDTRIP_VERIFY_ERROR: The ToASCII operation on output
- string does not equal the input.
-IDNA_CONTAINS_ACE_PREFIX: The input contains the ACE prefix (for
- ToASCII).
-IDNA_ICONV_ERROR: Could not convert string in locale encoding.
-IDNA_MALLOC_ERROR: Could not allocate buffer (this is typically a
- fatal error).
-IDNA_DLOPEN_ERROR: Could not dlopen the libcidn DSO (only used
- internally in libc).</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>rc</parameter> :</term>
-<listitem><simpara> an <link linkend="Idna-rc"><type>Idna_rc</type></link> return code.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns a pointer to a statically allocated string
-containing a description of the error with the return code <parameter>rc</parameter>.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="idna-to-ascii-4i" role="function">
-<title>idna_to_ascii_4i ()</title>
-<indexterm zone="idna-to-ascii-4i"><primary sortas="idna_to_ascii_4i">idna_to_ascii_4i</primary></indexterm><programlisting><link linkend="int">int</link> idna_to_ascii_4i (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> inlen,
- <link linkend="char">char</link> *out,
- <link linkend="int">int</link> flags);</programlisting>
-<para>
-The ToASCII operation takes a sequence of Unicode code points that
-make up one domain label and transforms it into a sequence of code
-points in the ASCII range (0..7F). If ToASCII succeeds, the
-original sequence and the resulting sequence are equivalent labels.
-</para>
-<para>
-It is important to note that the ToASCII operation can fail. ToASCII
-fails if any step of it fails. If any step of the ToASCII operation
-fails on any label in a domain name, that domain name MUST NOT be used
-as an internationalized domain name. The method for deadling with this
-failure is application-specific.
-</para>
-<para>
-The inputs to ToASCII are a sequence of code points, the AllowUnassigned
-flag, and the UseSTD3ASCIIRules flag. The output of ToASCII is either a
-sequence of ASCII code points or a failure condition.
-</para>
-<para>
-ToASCII never alters a sequence of code points that are all in the ASCII
-range to begin with (although it could fail). Applying the ToASCII
-operation multiple times has exactly the same effect as applying it just
-once.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> input array with unicode code points.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>inlen</parameter> :</term>
-<listitem><simpara> length of input array with unicode code points.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>out</parameter> :</term>
-<listitem><simpara> output zero terminated string that must have room for at
- least 63 characters plus the terminating zero.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>flags</parameter> :</term>
-<listitem><simpara> an <link linkend="Idna-flags"><type>Idna_flags</type></link> value, e.g., <link linkend="IDNA-ALLOW-UNASSIGNED--CAPS"><literal>IDNA_ALLOW_UNASSIGNED</literal></link> or
- <link linkend="IDNA-USE-STD3-ASCII-RULES--CAPS"><literal>IDNA_USE_STD3_ASCII_RULES</literal></link>.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns 0 on success, or an <link linkend="Idna-rc"><type>Idna_rc</type></link> error code.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="idna-to-unicode-44i" role="function">
-<title>idna_to_unicode_44i ()</title>
-<indexterm zone="idna-to-unicode-44i"><primary sortas="idna_to_unicode_44i">idna_to_unicode_44i</primary></indexterm><programlisting><link linkend="int">int</link> idna_to_unicode_44i (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> inlen,
- <link linkend="uint32-t">uint32_t</link> *out,
- <link linkend="size-t">size_t</link> *outlen,
- <link linkend="int">int</link> flags);</programlisting>
-<para>
-The ToUnicode operation takes a sequence of Unicode code points
-that make up one domain label and returns a sequence of Unicode
-code points. If the input sequence is a label in ACE form, then the
-result is an equivalent internationalized label that is not in ACE
-form, otherwise the original sequence is returned unaltered.
-</para>
-<para>
-ToUnicode never fails. If any step fails, then the original input
-sequence is returned immediately in that step.
-</para>
-<para>
-The Punycode decoder can never output more code points than it
-inputs, but Nameprep can, and therefore ToUnicode can. Note that
-the number of octets needed to represent a sequence of code points
-depends on the particular character encoding used.
-</para>
-<para>
-The inputs to ToUnicode are a sequence of code points, the
-AllowUnassigned flag, and the UseSTD3ASCIIRules flag. The output of
-ToUnicode is always a sequence of Unicode code points.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> input array with unicode code points.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>inlen</parameter> :</term>
-<listitem><simpara> length of input array with unicode code points.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>out</parameter> :</term>
-<listitem><simpara> output array with unicode code points.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>outlen</parameter> :</term>
-<listitem><simpara> on input, maximum size of output array with unicode code points,
- on exit, actual size of output array with unicode code points.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>flags</parameter> :</term>
-<listitem><simpara> an <link linkend="Idna-flags"><type>Idna_flags</type></link> value, e.g., <link linkend="IDNA-ALLOW-UNASSIGNED--CAPS"><literal>IDNA_ALLOW_UNASSIGNED</literal></link> or
- <link linkend="IDNA-USE-STD3-ASCII-RULES--CAPS"><literal>IDNA_USE_STD3_ASCII_RULES</literal></link>.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns <link linkend="Idna-rc"><type>Idna_rc</type></link> error condition, but it must only be
- used for debugging purposes. The output buffer is always
- guaranteed to contain the correct data according to the
- specification (sans malloc induced errors). NB! This means that
- you normally ignore the return code from this function, as
- checking it means breaking the standard.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="idna-to-ascii-4z" role="function">
-<title>idna_to_ascii_4z ()</title>
-<indexterm zone="idna-to-ascii-4z"><primary sortas="idna_to_ascii_4z">idna_to_ascii_4z</primary></indexterm><programlisting><link linkend="int">int</link> idna_to_ascii_4z (const <link linkend="uint32-t">uint32_t</link> *input,
- <link linkend="char">char</link> **output,
- <link linkend="int">int</link> flags);</programlisting>
-<para>
-Convert UCS-4 domain name to ASCII string. The domain name may
-contain several labels, separated by dots. The output buffer must
-be deallocated by the caller.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>input</parameter> :</term>
-<listitem><simpara> zero terminated input Unicode string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>output</parameter> :</term>
-<listitem><simpara> pointer to newly allocated output string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>flags</parameter> :</term>
-<listitem><simpara> an <link linkend="Idna-flags"><type>Idna_flags</type></link> value, e.g., <link linkend="IDNA-ALLOW-UNASSIGNED--CAPS"><literal>IDNA_ALLOW_UNASSIGNED</literal></link> or
- <link linkend="IDNA-USE-STD3-ASCII-RULES--CAPS"><literal>IDNA_USE_STD3_ASCII_RULES</literal></link>.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns <link linkend="IDNA-SUCCESS--CAPS"><literal>IDNA_SUCCESS</literal></link> on success, or error code.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="idna-to-ascii-8z" role="function">
-<title>idna_to_ascii_8z ()</title>
-<indexterm zone="idna-to-ascii-8z"><primary sortas="idna_to_ascii_8z">idna_to_ascii_8z</primary></indexterm><programlisting><link linkend="int">int</link> idna_to_ascii_8z (const <link linkend="char">char</link> *input,
- <link linkend="char">char</link> **output,
- <link linkend="int">int</link> flags);</programlisting>
-<para>
-Convert UTF-8 domain name to ASCII string. The domain name may
-contain several labels, separated by dots. The output buffer must
-be deallocated by the caller.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>input</parameter> :</term>
-<listitem><simpara> zero terminated input UTF-8 string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>output</parameter> :</term>
-<listitem><simpara> pointer to newly allocated output string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>flags</parameter> :</term>
-<listitem><simpara> an <link linkend="Idna-flags"><type>Idna_flags</type></link> value, e.g., <link linkend="IDNA-ALLOW-UNASSIGNED--CAPS"><literal>IDNA_ALLOW_UNASSIGNED</literal></link> or
- <link linkend="IDNA-USE-STD3-ASCII-RULES--CAPS"><literal>IDNA_USE_STD3_ASCII_RULES</literal></link>.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns <link linkend="IDNA-SUCCESS--CAPS"><literal>IDNA_SUCCESS</literal></link> on success, or error code.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="idna-to-ascii-lz" role="function">
-<title>idna_to_ascii_lz ()</title>
-<indexterm zone="idna-to-ascii-lz"><primary sortas="idna_to_ascii_lz">idna_to_ascii_lz</primary></indexterm><programlisting><link linkend="int">int</link> idna_to_ascii_lz (const <link linkend="char">char</link> *input,
- <link linkend="char">char</link> **output,
- <link linkend="int">int</link> flags);</programlisting>
-<para>
-Convert domain name in the locale's encoding to ASCII string. The
-domain name may contain several labels, separated by dots. The
-output buffer must be deallocated by the caller.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>input</parameter> :</term>
-<listitem><simpara> zero terminated input string encoded in the current locale's
- character set.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>output</parameter> :</term>
-<listitem><simpara> pointer to newly allocated output string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>flags</parameter> :</term>
-<listitem><simpara> an <link linkend="Idna-flags"><type>Idna_flags</type></link> value, e.g., <link linkend="IDNA-ALLOW-UNASSIGNED--CAPS"><literal>IDNA_ALLOW_UNASSIGNED</literal></link> or
- <link linkend="IDNA-USE-STD3-ASCII-RULES--CAPS"><literal>IDNA_USE_STD3_ASCII_RULES</literal></link>.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns <link linkend="IDNA-SUCCESS--CAPS"><literal>IDNA_SUCCESS</literal></link> on success, or error code.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="idna-to-unicode-4z4z" role="function">
-<title>idna_to_unicode_4z4z ()</title>
-<indexterm zone="idna-to-unicode-4z4z"><primary sortas="idna_to_unicode_4z4z">idna_to_unicode_4z4z</primary></indexterm><programlisting><link linkend="int">int</link> idna_to_unicode_4z4z (const <link linkend="uint32-t">uint32_t</link> *input,
- <link linkend="uint32-t">uint32_t</link> **output,
- <link linkend="int">int</link> flags);</programlisting>
-<para>
-Convert possibly ACE encoded domain name in UCS-4 format into a
-UCS-4 string. The domain name may contain several labels,
-separated by dots. The output buffer must be deallocated by the
-caller.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>input</parameter> :</term>
-<listitem><simpara> zero-terminated Unicode string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>output</parameter> :</term>
-<listitem><simpara> pointer to newly allocated output Unicode string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>flags</parameter> :</term>
-<listitem><simpara> an <link linkend="Idna-flags"><type>Idna_flags</type></link> value, e.g., <link linkend="IDNA-ALLOW-UNASSIGNED--CAPS"><literal>IDNA_ALLOW_UNASSIGNED</literal></link> or
- <link linkend="IDNA-USE-STD3-ASCII-RULES--CAPS"><literal>IDNA_USE_STD3_ASCII_RULES</literal></link>.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns <link linkend="IDNA-SUCCESS--CAPS"><literal>IDNA_SUCCESS</literal></link> on success, or error code.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="idna-to-unicode-8z4z" role="function">
-<title>idna_to_unicode_8z4z ()</title>
-<indexterm zone="idna-to-unicode-8z4z"><primary sortas="idna_to_unicode_8z4z">idna_to_unicode_8z4z</primary></indexterm><programlisting><link linkend="int">int</link> idna_to_unicode_8z4z (const <link linkend="char">char</link> *input,
- <link linkend="uint32-t">uint32_t</link> **output,
- <link linkend="int">int</link> flags);</programlisting>
-<para>
-Convert possibly ACE encoded domain name in UTF-8 format into a
-UCS-4 string. The domain name may contain several labels,
-separated by dots. The output buffer must be deallocated by the
-caller.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>input</parameter> :</term>
-<listitem><simpara> zero-terminated UTF-8 string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>output</parameter> :</term>
-<listitem><simpara> pointer to newly allocated output Unicode string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>flags</parameter> :</term>
-<listitem><simpara> an <link linkend="Idna-flags"><type>Idna_flags</type></link> value, e.g., <link linkend="IDNA-ALLOW-UNASSIGNED--CAPS"><literal>IDNA_ALLOW_UNASSIGNED</literal></link> or
- <link linkend="IDNA-USE-STD3-ASCII-RULES--CAPS"><literal>IDNA_USE_STD3_ASCII_RULES</literal></link>.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns <link linkend="IDNA-SUCCESS--CAPS"><literal>IDNA_SUCCESS</literal></link> on success, or error code.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="idna-to-unicode-8z8z" role="function">
-<title>idna_to_unicode_8z8z ()</title>
-<indexterm zone="idna-to-unicode-8z8z"><primary sortas="idna_to_unicode_8z8z">idna_to_unicode_8z8z</primary></indexterm><programlisting><link linkend="int">int</link> idna_to_unicode_8z8z (const <link linkend="char">char</link> *input,
- <link linkend="char">char</link> **output,
- <link linkend="int">int</link> flags);</programlisting>
-<para>
-Convert possibly ACE encoded domain name in UTF-8 format into a
-UTF-8 string. The domain name may contain several labels,
-separated by dots. The output buffer must be deallocated by the
-caller.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>input</parameter> :</term>
-<listitem><simpara> zero-terminated UTF-8 string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>output</parameter> :</term>
-<listitem><simpara> pointer to newly allocated output UTF-8 string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>flags</parameter> :</term>
-<listitem><simpara> an <link linkend="Idna-flags"><type>Idna_flags</type></link> value, e.g., <link linkend="IDNA-ALLOW-UNASSIGNED--CAPS"><literal>IDNA_ALLOW_UNASSIGNED</literal></link> or
- <link linkend="IDNA-USE-STD3-ASCII-RULES--CAPS"><literal>IDNA_USE_STD3_ASCII_RULES</literal></link>.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns <link linkend="IDNA-SUCCESS--CAPS"><literal>IDNA_SUCCESS</literal></link> on success, or error code.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="idna-to-unicode-8zlz" role="function">
-<title>idna_to_unicode_8zlz ()</title>
-<indexterm zone="idna-to-unicode-8zlz"><primary sortas="idna_to_unicode_8zlz">idna_to_unicode_8zlz</primary></indexterm><programlisting><link linkend="int">int</link> idna_to_unicode_8zlz (const <link linkend="char">char</link> *input,
- <link linkend="char">char</link> **output,
- <link linkend="int">int</link> flags);</programlisting>
-<para>
-Convert possibly ACE encoded domain name in UTF-8 format into a
-string encoded in the current locale's character set. The domain
-name may contain several labels, separated by dots. The output
-buffer must be deallocated by the caller.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>input</parameter> :</term>
-<listitem><simpara> zero-terminated UTF-8 string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>output</parameter> :</term>
-<listitem><simpara> pointer to newly allocated output string encoded in the
- current locale's character set.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>flags</parameter> :</term>
-<listitem><simpara> an <link linkend="Idna-flags"><type>Idna_flags</type></link> value, e.g., <link linkend="IDNA-ALLOW-UNASSIGNED--CAPS"><literal>IDNA_ALLOW_UNASSIGNED</literal></link> or
- <link linkend="IDNA-USE-STD3-ASCII-RULES--CAPS"><literal>IDNA_USE_STD3_ASCII_RULES</literal></link>.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns <link linkend="IDNA-SUCCESS--CAPS"><literal>IDNA_SUCCESS</literal></link> on success, or error code.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="idna-to-unicode-lzlz" role="function">
-<title>idna_to_unicode_lzlz ()</title>
-<indexterm zone="idna-to-unicode-lzlz"><primary sortas="idna_to_unicode_lzlz">idna_to_unicode_lzlz</primary></indexterm><programlisting><link linkend="int">int</link> idna_to_unicode_lzlz (const <link linkend="char">char</link> *input,
- <link linkend="char">char</link> **output,
- <link linkend="int">int</link> flags);</programlisting>
-<para>
-Convert possibly ACE encoded domain name in the locale's character
-set into a string encoded in the current locale's character set.
-The domain name may contain several labels, separated by dots. The
-output buffer must be deallocated by the caller.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>input</parameter> :</term>
-<listitem><simpara> zero-terminated string encoded in the current locale's
- character set.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>output</parameter> :</term>
-<listitem><simpara> pointer to newly allocated output string encoded in the
- current locale's character set.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>flags</parameter> :</term>
-<listitem><simpara> an <link linkend="Idna-flags"><type>Idna_flags</type></link> value, e.g., <link linkend="IDNA-ALLOW-UNASSIGNED--CAPS"><literal>IDNA_ALLOW_UNASSIGNED</literal></link> or
- <link linkend="IDNA-USE-STD3-ASCII-RULES--CAPS"><literal>IDNA_USE_STD3_ASCII_RULES</literal></link>.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns <link linkend="IDNA-SUCCESS--CAPS"><literal>IDNA_SUCCESS</literal></link> on success, or error code.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-
-</refsect1>
-
-
-
-
-</refentry>
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<refentry id="libidn-intprops">
-<refmeta>
-<refentrytitle role="top_of_page" id="libidn-intprops.top_of_page">intprops</refentrytitle>
-<manvolnum>3</manvolnum>
-<refmiscinfo>LIBIDN Library</refmiscinfo>
-</refmeta>
-
-<refnamediv>
-<refname>intprops</refname>
-<refpurpose></refpurpose>
-</refnamediv>
-
-<refsynopsisdiv id="libidn-intprops.synopsis" role="synopsis">
-<title role="synopsis.title">Synopsis</title>
-
-<synopsis>
-#define <link linkend="TYPE-TWOS-COMPLEMENT--CAPS">TYPE_TWOS_COMPLEMENT</link> (t)
-#define <link linkend="TYPE-ONES-COMPLEMENT--CAPS">TYPE_ONES_COMPLEMENT</link> (t)
-#define <link linkend="TYPE-SIGNED-MAGNITUDE--CAPS">TYPE_SIGNED_MAGNITUDE</link> (t)
-#define <link linkend="TYPE-SIGNED--CAPS">TYPE_SIGNED</link> (t)
-#define <link linkend="TYPE-MINIMUM--CAPS">TYPE_MINIMUM</link> (t)
-#define <link linkend="TYPE-MAXIMUM--CAPS">TYPE_MAXIMUM</link> (t)
-#define <link linkend="signed-type-or-expr--">signed_type_or_expr__</link> (t)
-#define <link linkend="INT-STRLEN-BOUND--CAPS">INT_STRLEN_BOUND</link> (t)
-#define <link linkend="INT-BUFSIZE-BOUND--CAPS">INT_BUFSIZE_BOUND</link> (t)
-</synopsis>
-</refsynopsisdiv>
-
-
-
-
-
-
-
-
-
-<refsect1 id="libidn-intprops.description" role="desc">
-<title role="desc.title">Description</title>
-<para>
-</para>
-</refsect1>
-
-<refsect1 id="libidn-intprops.details" role="details">
-<title role="details.title">Details</title>
-<refsect2 id="TYPE-TWOS-COMPLEMENT--CAPS" role="macro">
-<title>TYPE_TWOS_COMPLEMENT()</title>
-<indexterm zone="TYPE-TWOS-COMPLEMENT--CAPS"><primary sortas="TYPE_TWOS_COMPLEMENT">TYPE_TWOS_COMPLEMENT</primary></indexterm><programlisting>#define TYPE_TWOS_COMPLEMENT(t) ((t) ~ (t) 0 == (t) -1)
-</programlisting>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>t</parameter> :</term>
-<listitem><simpara>
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="TYPE-ONES-COMPLEMENT--CAPS" role="macro">
-<title>TYPE_ONES_COMPLEMENT()</title>
-<indexterm zone="TYPE-ONES-COMPLEMENT--CAPS"><primary sortas="TYPE_ONES_COMPLEMENT">TYPE_ONES_COMPLEMENT</primary></indexterm><programlisting>#define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0)
-</programlisting>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>t</parameter> :</term>
-<listitem><simpara>
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="TYPE-SIGNED-MAGNITUDE--CAPS" role="macro">
-<title>TYPE_SIGNED_MAGNITUDE()</title>
-<indexterm zone="TYPE-SIGNED-MAGNITUDE--CAPS"><primary sortas="TYPE_SIGNED_MAGNITUDE">TYPE_SIGNED_MAGNITUDE</primary></indexterm><programlisting>#define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1)
-</programlisting>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>t</parameter> :</term>
-<listitem><simpara>
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="TYPE-SIGNED--CAPS" role="macro">
-<title>TYPE_SIGNED()</title>
-<indexterm zone="TYPE-SIGNED--CAPS"><primary sortas="TYPE_SIGNED">TYPE_SIGNED</primary></indexterm><programlisting>#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-</programlisting>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>t</parameter> :</term>
-<listitem><simpara>
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="TYPE-MINIMUM--CAPS" role="macro">
-<title>TYPE_MINIMUM()</title>
-<indexterm zone="TYPE-MINIMUM--CAPS"><primary sortas="TYPE_MINIMUM">TYPE_MINIMUM</primary></indexterm><programlisting>#define TYPE_MINIMUM(t)</programlisting>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>t</parameter> :</term>
-<listitem><simpara>
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="TYPE-MAXIMUM--CAPS" role="macro">
-<title>TYPE_MAXIMUM()</title>
-<indexterm zone="TYPE-MAXIMUM--CAPS"><primary sortas="TYPE_MAXIMUM">TYPE_MAXIMUM</primary></indexterm><programlisting>#define TYPE_MAXIMUM(t)</programlisting>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>t</parameter> :</term>
-<listitem><simpara>
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="signed-type-or-expr--" role="macro">
-<title>signed_type_or_expr__()</title>
-<indexterm zone="signed-type-or-expr--"><primary sortas="signed_type_or_expr__">signed_type_or_expr__</primary></indexterm><programlisting>#define signed_type_or_expr__(t)</programlisting>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>t</parameter> :</term>
-<listitem><simpara>
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="INT-STRLEN-BOUND--CAPS" role="macro">
-<title>INT_STRLEN_BOUND()</title>
-<indexterm zone="INT-STRLEN-BOUND--CAPS"><primary sortas="INT_STRLEN_BOUND">INT_STRLEN_BOUND</primary></indexterm><programlisting>#define INT_STRLEN_BOUND(t)</programlisting>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>t</parameter> :</term>
-<listitem><simpara>
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="INT-BUFSIZE-BOUND--CAPS" role="macro">
-<title>INT_BUFSIZE_BOUND()</title>
-<indexterm zone="INT-BUFSIZE-BOUND--CAPS"><primary sortas="INT_BUFSIZE_BOUND">INT_BUFSIZE_BOUND</primary></indexterm><programlisting>#define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1)
-</programlisting>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>t</parameter> :</term>
-<listitem><simpara>
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-
-</refsect1>
-
-
-
-
-</refentry>
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<refentry id="libidn-pr29">
-<refmeta>
-<refentrytitle role="top_of_page" id="libidn-pr29.top_of_page">pr29</refentrytitle>
-<manvolnum>3</manvolnum>
-<refmiscinfo>LIBIDN Library</refmiscinfo>
-</refmeta>
-
-<refnamediv>
-<refname>pr29</refname>
-<refpurpose></refpurpose>
-</refnamediv>
-
-<refsynopsisdiv id="libidn-pr29.synopsis" role="synopsis">
-<title role="synopsis.title">Synopsis</title>
-
-<synopsis>
-#define <link linkend="IDNAPI--CAPS">IDNAPI</link>
-enum <link linkend="Pr29-rc">Pr29_rc</link>;
-const <link linkend="char">char</link> * <link linkend="pr29-strerror">pr29_strerror</link> (<link linkend="Pr29-rc">Pr29_rc</link> rc);
-<link linkend="int">int</link> <link linkend="pr29-4">pr29_4</link> (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> len);
-<link linkend="int">int</link> <link linkend="pr29-4z">pr29_4z</link> (const <link linkend="uint32-t">uint32_t</link> *in);
-<link linkend="int">int</link> <link linkend="pr29-8z">pr29_8z</link> (const <link linkend="char">char</link> *in);
-</synopsis>
-</refsynopsisdiv>
-
-
-
-
-
-
-
-
-
-<refsect1 id="libidn-pr29.description" role="desc">
-<title role="desc.title">Description</title>
-<para>
-</para>
-</refsect1>
-
-<refsect1 id="libidn-pr29.details" role="details">
-<title role="details.title">Details</title>
-<refsect2 id="IDNAPI--CAPS" role="macro">
-<title>IDNAPI</title>
-<indexterm zone="IDNAPI--CAPS"><primary sortas="IDNAPI">IDNAPI</primary></indexterm><programlisting>#define IDNAPI</programlisting>
-<para>
-</para></refsect2>
-<refsect2 id="Pr29-rc" role="enum">
-<title>enum Pr29_rc</title>
-<indexterm zone="Pr29-rc"><primary sortas="Pr29_rc">Pr29_rc</primary></indexterm><programlisting> typedef enum
- {
- PR29_SUCCESS = 0,
- PR29_PROBLEM = 1, /* String is a problem sequence. */
- PR29_STRINGPREP_ERROR = 2 /* Charset conversion failed (p29_8*). */
- } Pr29_rc;
-</programlisting>
-<para>
-Enumerated return codes for <link linkend="pr29-4"><function>pr29_4()</function></link>, <link linkend="pr29-4z"><function>pr29_4z()</function></link>, <link linkend="pr29-8z"><function>pr29_8z()</function></link>. The
-value 0 is guaranteed to always correspond to success.</para>
-<para>
-</para><variablelist role="enum">
-<varlistentry id="PR29-SUCCESS--CAPS" role="constant">
-<term><literal>PR29_SUCCESS</literal></term>
-<listitem><simpara> Successful operation. This value is guaranteed to
- always be zero, the remaining ones are only guaranteed to hold
- non-zero values, for logical comparison purposes.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="PR29-PROBLEM--CAPS" role="constant">
-<term><literal>PR29_PROBLEM</literal></term>
-<listitem><simpara> A problem sequence was encountered.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="PR29-STRINGPREP-ERROR--CAPS" role="constant">
-<term><literal>PR29_STRINGPREP_ERROR</literal></term>
-<listitem><simpara> The character set conversion failed (only
- for <link linkend="pr29-8"><function>pr29_8()</function></link> and <link linkend="pr29-8z"><function>pr29_8z()</function></link>).
-</simpara></listitem>
-</varlistentry>
-</variablelist></refsect2>
-<refsect2 id="pr29-strerror" role="function">
-<title>pr29_strerror ()</title>
-<indexterm zone="pr29-strerror"><primary sortas="pr29_strerror">pr29_strerror</primary></indexterm><programlisting>const <link linkend="char">char</link> * pr29_strerror (<link linkend="Pr29-rc">Pr29_rc</link> rc);</programlisting>
-<para>
-Convert a return code integer to a text string. This string can be
-used to output a diagnostic message to the user.
-</para>
-<para>
-PR29_SUCCESS: Successful operation. This value is guaranteed to
- always be zero, the remaining ones are only guaranteed to hold
- non-zero values, for logical comparison purposes.
-PR29_PROBLEM: A problem sequence was encountered.
-PR29_STRINGPREP_ERROR: The character set conversion failed (only
- for <link linkend="pr29-8"><function>pr29_8()</function></link> and <link linkend="pr29-8z"><function>pr29_8z()</function></link>).</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>rc</parameter> :</term>
-<listitem><simpara> an <link linkend="Pr29-rc"><type>Pr29_rc</type></link> return code.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns a pointer to a statically allocated string
- containing a description of the error with the return code <parameter>rc</parameter>.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="pr29-4" role="function">
-<title>pr29_4 ()</title>
-<indexterm zone="pr29-4"><primary sortas="pr29_4">pr29_4</primary></indexterm><programlisting><link linkend="int">int</link> pr29_4 (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> len);</programlisting>
-<para>
-Check the input to see if it may be normalized into different
-strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> input array with unicode code points.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>len</parameter> :</term>
-<listitem><simpara> length of input array with unicode code points.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns the <link linkend="Pr29-rc"><type>Pr29_rc</type></link> value <link linkend="PR29-SUCCESS--CAPS"><literal>PR29_SUCCESS</literal></link> on success,
- and <link linkend="PR29-PROBLEM--CAPS"><literal>PR29_PROBLEM</literal></link> if the input sequence is a "problem sequence"
- (i.e., may be normalized into different strings by different
- implementations).
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="pr29-4z" role="function">
-<title>pr29_4z ()</title>
-<indexterm zone="pr29-4z"><primary sortas="pr29_4z">pr29_4z</primary></indexterm><programlisting><link linkend="int">int</link> pr29_4z (const <link linkend="uint32-t">uint32_t</link> *in);</programlisting>
-<para>
-Check the input to see if it may be normalized into different
-strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> zero terminated array of Unicode code points.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns the <link linkend="Pr29-rc"><type>Pr29_rc</type></link> value <link linkend="PR29-SUCCESS--CAPS"><literal>PR29_SUCCESS</literal></link> on success,
- and <link linkend="PR29-PROBLEM--CAPS"><literal>PR29_PROBLEM</literal></link> if the input sequence is a "problem sequence"
- (i.e., may be normalized into different strings by different
- implementations).
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="pr29-8z" role="function">
-<title>pr29_8z ()</title>
-<indexterm zone="pr29-8z"><primary sortas="pr29_8z">pr29_8z</primary></indexterm><programlisting><link linkend="int">int</link> pr29_8z (const <link linkend="char">char</link> *in);</programlisting>
-<para>
-Check the input to see if it may be normalized into different
-strings by different NFKC implementations, due to an anomaly in the
-NFKC specifications.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> zero terminated input UTF-8 string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns the <link linkend="Pr29-rc"><type>Pr29_rc</type></link> value <link linkend="PR29-SUCCESS--CAPS"><literal>PR29_SUCCESS</literal></link> on success,
- and <link linkend="PR29-PROBLEM--CAPS"><literal>PR29_PROBLEM</literal></link> if the input sequence is a "problem sequence"
- (i.e., may be normalized into different strings by different
- implementations), or <link linkend="PR29-STRINGPREP-ERROR--CAPS"><literal>PR29_STRINGPREP_ERROR</literal></link> if there was a
- problem converting the string from UTF-8 to UCS-4.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-
-</refsect1>
-
-
-
-
-</refentry>
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<refentry id="libidn-punycode">
-<refmeta>
-<refentrytitle role="top_of_page" id="libidn-punycode.top_of_page">punycode</refentrytitle>
-<manvolnum>3</manvolnum>
-<refmiscinfo>LIBIDN Library</refmiscinfo>
-</refmeta>
-
-<refnamediv>
-<refname>punycode</refname>
-<refpurpose></refpurpose>
-</refnamediv>
-
-<refsynopsisdiv id="libidn-punycode.synopsis" role="synopsis">
-<title role="synopsis.title">Synopsis</title>
-
-<synopsis>
-#define <link linkend="IDNAPI--CAPS">IDNAPI</link>
-enum <link linkend="Punycode-status">Punycode_status</link>;
-const <link linkend="char">char</link> * <link linkend="punycode-strerror">punycode_strerror</link> (<link linkend="Punycode-status">Punycode_status</link> rc);
-typedef <link linkend="punycode-uint">punycode_uint</link>;
-<link linkend="int">int</link> <link linkend="punycode-encode">punycode_encode</link> (<link linkend="size-t">size_t</link> input_length,
- const <link linkend="punycode-uint">punycode_uint</link> input[],
- unsigned <link linkend="char">char</link> case_flags[],
- <link linkend="size-t">size_t</link> *output_length,
- <link linkend="char">char</link> output[]);
-<link linkend="int">int</link> <link linkend="punycode-decode">punycode_decode</link> (<link linkend="size-t">size_t</link> input_length,
- const <link linkend="char">char</link> input[],
- <link linkend="size-t">size_t</link> *output_length,
- <link linkend="punycode-uint">punycode_uint</link> output[],
- unsigned <link linkend="char">char</link> case_flags[]);
-</synopsis>
-</refsynopsisdiv>
-
-
-
-
-
-
-
-
-
-<refsect1 id="libidn-punycode.description" role="desc">
-<title role="desc.title">Description</title>
-<para>
-</para>
-</refsect1>
-
-<refsect1 id="libidn-punycode.details" role="details">
-<title role="details.title">Details</title>
-<refsect2 id="IDNAPI--CAPS" role="macro">
-<title>IDNAPI</title>
-<indexterm zone="IDNAPI--CAPS"><primary sortas="IDNAPI">IDNAPI</primary></indexterm><programlisting>#define IDNAPI</programlisting>
-<para>
-</para></refsect2>
-<refsect2 id="Punycode-status" role="enum">
-<title>enum Punycode_status</title>
-<indexterm zone="Punycode-status"><primary sortas="Punycode_status">Punycode_status</primary></indexterm><programlisting> typedef enum
- {
- PUNYCODE_SUCCESS = punycode_success,
- PUNYCODE_BAD_INPUT = punycode_bad_input,
- PUNYCODE_BIG_OUTPUT = punycode_big_output,
- PUNYCODE_OVERFLOW = punycode_overflow
- } Punycode_status;
-</programlisting>
-<para>
-Enumerated return codes of <link linkend="punycode-encode"><function>punycode_encode()</function></link> and <link linkend="punycode-decode"><function>punycode_decode()</function></link>.
-The value 0 is guaranteed to always correspond to success.</para>
-<para>
-</para><variablelist role="enum">
-<varlistentry id="PUNYCODE-SUCCESS--CAPS" role="constant">
-<term><literal>PUNYCODE_SUCCESS</literal></term>
-<listitem><simpara> Successful operation. This value is guaranteed
- to always be zero, the remaining ones are only guaranteed to hold
- non-zero values, for logical comparison purposes.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="PUNYCODE-BAD-INPUT--CAPS" role="constant">
-<term><literal>PUNYCODE_BAD_INPUT</literal></term>
-<listitem><simpara> Input is invalid.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="PUNYCODE-BIG-OUTPUT--CAPS" role="constant">
-<term><literal>PUNYCODE_BIG_OUTPUT</literal></term>
-<listitem><simpara> Output would exceed the space provided.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="PUNYCODE-OVERFLOW--CAPS" role="constant">
-<term><literal>PUNYCODE_OVERFLOW</literal></term>
-<listitem><simpara> Input needs wider integers to process.
-</simpara></listitem>
-</varlistentry>
-</variablelist></refsect2>
-<refsect2 id="punycode-strerror" role="function">
-<title>punycode_strerror ()</title>
-<indexterm zone="punycode-strerror"><primary sortas="punycode_strerror">punycode_strerror</primary></indexterm><programlisting>const <link linkend="char">char</link> * punycode_strerror (<link linkend="Punycode-status">Punycode_status</link> rc);</programlisting>
-<para>
-Convert a return code integer to a text string. This string can be
-used to output a diagnostic message to the user.
-</para>
-<para>
-PUNYCODE_SUCCESS: Successful operation. This value is guaranteed
- to always be zero, the remaining ones are only guaranteed to hold
- non-zero values, for logical comparison purposes.
-PUNYCODE_BAD_INPUT: Input is invalid.
-PUNYCODE_BIG_OUTPUT: Output would exceed the space provided.
-PUNYCODE_OVERFLOW: Input needs wider integers to process.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>rc</parameter> :</term>
-<listitem><simpara> an <link linkend="Punycode-status"><type>Punycode_status</type></link> return code.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns a pointer to a statically allocated string
-containing a description of the error with the return code <parameter>rc</parameter>.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="punycode-uint" role="typedef">
-<title>punycode_uint</title>
-<indexterm zone="punycode-uint"><primary sortas="punycode_uint">punycode_uint</primary></indexterm><programlisting> typedef uint32_t punycode_uint;
-</programlisting>
-<para>
-Unicode code point data type, this is always a 32 bit unsigned
-integer.</para>
-<para>
-</para></refsect2>
-<refsect2 id="punycode-encode" role="function">
-<title>punycode_encode ()</title>
-<indexterm zone="punycode-encode"><primary sortas="punycode_encode">punycode_encode</primary></indexterm><programlisting><link linkend="int">int</link> punycode_encode (<link linkend="size-t">size_t</link> input_length,
- const <link linkend="punycode-uint">punycode_uint</link> input[],
- unsigned <link linkend="char">char</link> case_flags[],
- <link linkend="size-t">size_t</link> *output_length,
- <link linkend="char">char</link> output[]);</programlisting>
-<para>
-Converts a sequence of code points (presumed to be Unicode code
-points) to Punycode.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>input_length</parameter> :</term>
-<listitem><simpara> The number of code points in the <parameter>input</parameter> array and
- the number of flags in the <parameter>case_flags</parameter> array.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>input</parameter> :</term>
-<listitem><simpara> An array of code points. They are presumed to be Unicode
- code points, but that is not strictly REQUIRED. The array
- contains code points, not code units. UTF-16 uses code units
- D800 through DFFF to refer to code points 10000..10FFFF. The
- code points D800..DFFF do not occur in any valid Unicode string.
- The code points that can occur in Unicode strings (0..D7FF and
- E000..10FFFF) are also called Unicode scalar values.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>case_flags</parameter> :</term>
-<listitem><simpara> A <link linkend="NULL--CAPS"><literal>NULL</literal></link> pointer or an array of boolean values parallel
- to the <parameter>input</parameter> array. Nonzero (true, flagged) suggests that the
- corresponding Unicode character be forced to uppercase after
- being decoded (if possible), and zero (false, unflagged) suggests
- that it be forced to lowercase (if possible). ASCII code points
- (0..7F) are encoded literally, except that ASCII letters are
- forced to uppercase or lowercase according to the corresponding
- case flags. If <parameter>case_flags</parameter> is a <link linkend="NULL--CAPS"><literal>NULL</literal></link> pointer then ASCII letters
- are left as they are, and other code points are treated as
- unflagged.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>output_length</parameter> :</term>
-<listitem><simpara> The caller passes in the maximum number of ASCII
- code points that it can receive. On successful return it will
- contain the number of ASCII code points actually output.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>output</parameter> :</term>
-<listitem><simpara> An array of ASCII code points. It is *not*
- null-terminated; it will contain zeros if and only if the <parameter>input</parameter>
- contains zeros. (Of course the caller can leave room for a
- terminator and add one if needed.)
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The return value can be any of the <link linkend="Punycode-status"><type>Punycode_status</type></link>
- values defined above except <link linkend="PUNYCODE-BAD-INPUT--CAPS"><literal>PUNYCODE_BAD_INPUT</literal></link>. If not
- <link linkend="PUNYCODE-SUCCESS--CAPS"><literal>PUNYCODE_SUCCESS</literal></link>, then <parameter>output_size</parameter> and <parameter>output</parameter> might contain
- garbage.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="punycode-decode" role="function">
-<title>punycode_decode ()</title>
-<indexterm zone="punycode-decode"><primary sortas="punycode_decode">punycode_decode</primary></indexterm><programlisting><link linkend="int">int</link> punycode_decode (<link linkend="size-t">size_t</link> input_length,
- const <link linkend="char">char</link> input[],
- <link linkend="size-t">size_t</link> *output_length,
- <link linkend="punycode-uint">punycode_uint</link> output[],
- unsigned <link linkend="char">char</link> case_flags[]);</programlisting>
-<para>
-Converts Punycode to a sequence of code points (presumed to be
-Unicode code points).</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>input_length</parameter> :</term>
-<listitem><simpara> The number of ASCII code points in the <parameter>input</parameter> array.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>input</parameter> :</term>
-<listitem><simpara> An array of ASCII code points (0..7F).
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>output_length</parameter> :</term>
-<listitem><simpara> The caller passes in the maximum number of code
- points that it can receive into the <parameter>output</parameter> array (which is also
- the maximum number of flags that it can receive into the
- <parameter>case_flags</parameter> array, if <parameter>case_flags</parameter> is not a <link linkend="NULL--CAPS"><literal>NULL</literal></link> pointer). On
- successful return it will contain the number of code points
- actually output (which is also the number of flags actually
- output, if case_flags is not a null pointer). The decoder will
- never need to output more code points than the number of ASCII
- code points in the input, because of the way the encoding is
- defined. The number of code points output cannot exceed the
- maximum possible value of a punycode_uint, even if the supplied
- <parameter>output_length</parameter> is greater than that.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>output</parameter> :</term>
-<listitem><simpara> An array of code points like the input argument of
- <link linkend="punycode-encode"><function>punycode_encode()</function></link> (see above).
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>case_flags</parameter> :</term>
-<listitem><simpara> A <link linkend="NULL--CAPS"><literal>NULL</literal></link> pointer (if the flags are not needed by the
- caller) or an array of boolean values parallel to the <parameter>output</parameter>
- array. Nonzero (true, flagged) suggests that the corresponding
- Unicode character be forced to uppercase by the caller (if
- possible), and zero (false, unflagged) suggests that it be forced
- to lowercase (if possible). ASCII code points (0..7F) are output
- already in the proper case, but their flags will be set
- appropriately so that applying the flags would be harmless.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The return value can be any of the <link linkend="Punycode-status"><type>Punycode_status</type></link>
- values defined above. If not <link linkend="PUNYCODE-SUCCESS--CAPS"><literal>PUNYCODE_SUCCESS</literal></link>, then
- <parameter>output_length</parameter>, <parameter>output</parameter>, and <parameter>case_flags</parameter> might contain garbage.
-
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-
-</refsect1>
-
-
-
-
-</refentry>
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<refentry id="libidn-stringprep">
-<refmeta>
-<refentrytitle role="top_of_page" id="libidn-stringprep.top_of_page">stringprep</refentrytitle>
-<manvolnum>3</manvolnum>
-<refmiscinfo>LIBIDN Library</refmiscinfo>
-</refmeta>
-
-<refnamediv>
-<refname>stringprep</refname>
-<refpurpose></refpurpose>
-</refnamediv>
-
-<refsynopsisdiv id="libidn-stringprep.synopsis" role="synopsis">
-<title role="synopsis.title">Synopsis</title>
-
-<synopsis>
-#define <link linkend="IDNAPI--CAPS">IDNAPI</link>
-#define <link linkend="STRINGPREP-VERSION--CAPS">STRINGPREP_VERSION</link>
-enum <link linkend="Stringprep-rc">Stringprep_rc</link>;
-enum <link linkend="Stringprep-profile-flags">Stringprep_profile_flags</link>;
-enum <link linkend="Stringprep-profile-steps">Stringprep_profile_steps</link>;
-#define <link linkend="STRINGPREP-MAX-MAP-CHARS--CAPS">STRINGPREP_MAX_MAP_CHARS</link>
-typedef <link linkend="Stringprep-table-element">Stringprep_table_element</link>;
-typedef <link linkend="Stringprep-profile">Stringprep_profile</link>;
-typedef <link linkend="Stringprep-profiles">Stringprep_profiles</link>;
-#define <link linkend="stringprep-nameprep">stringprep_nameprep</link> (in, maxlen)
-#define <link linkend="stringprep-nameprep-no-unassigned">stringprep_nameprep_no_unassigned</link> (in, maxlen)
-#define <link linkend="stringprep-plain">stringprep_plain</link> (in, maxlen)
-#define <link linkend="stringprep-kerberos5">stringprep_kerberos5</link> (in, maxlen)
-#define <link linkend="stringprep-xmpp-nodeprep">stringprep_xmpp_nodeprep</link> (in, maxlen)
-#define <link linkend="stringprep-xmpp-resourceprep">stringprep_xmpp_resourceprep</link> (in, maxlen)
-#define <link linkend="stringprep-iscsi">stringprep_iscsi</link> (in, maxlen)
-<link linkend="int">int</link> <link linkend="stringprep-4i">stringprep_4i</link> (<link linkend="uint32-t">uint32_t</link> *ucs4,
- <link linkend="size-t">size_t</link> *len,
- <link linkend="size-t">size_t</link> maxucs4len,
- <link linkend="Stringprep-profile-flags">Stringprep_profile_flags</link> flags,
- const <link linkend="Stringprep-profile">Stringprep_profile</link> *profile);
-<link linkend="int">int</link> <link linkend="stringprep-4zi">stringprep_4zi</link> (<link linkend="uint32-t">uint32_t</link> *ucs4,
- <link linkend="size-t">size_t</link> maxucs4len,
- <link linkend="Stringprep-profile-flags">Stringprep_profile_flags</link> flags,
- const <link linkend="Stringprep-profile">Stringprep_profile</link> *profile);
-<link linkend="int">int</link> <link linkend="stringprep">stringprep</link> (<link linkend="char">char</link> *in,
- <link linkend="size-t">size_t</link> maxlen,
- <link linkend="Stringprep-profile-flags">Stringprep_profile_flags</link> flags,
- const <link linkend="Stringprep-profile">Stringprep_profile</link> *profile);
-<link linkend="int">int</link> <link linkend="stringprep-profile">stringprep_profile</link> (const <link linkend="char">char</link> *in,
- <link linkend="char">char</link> **out,
- const <link linkend="char">char</link> *profile,
- <link linkend="Stringprep-profile-flags">Stringprep_profile_flags</link> flags);
-const <link linkend="char">char</link> * <link linkend="stringprep-strerror">stringprep_strerror</link> (<link linkend="Stringprep-rc">Stringprep_rc</link> rc);
-const <link linkend="char">char</link> * <link linkend="stringprep-check-version">stringprep_check_version</link> (const <link linkend="char">char</link> *req_version);
-<link linkend="int">int</link> <link linkend="stringprep-unichar-to-utf8">stringprep_unichar_to_utf8</link> (<link linkend="uint32-t">uint32_t</link> c,
- <link linkend="char">char</link> *outbuf);
-<link linkend="uint32-t">uint32_t</link> <link linkend="stringprep-utf8-to-unichar">stringprep_utf8_to_unichar</link> (const <link linkend="char">char</link> *p);
-<link linkend="uint32-t">uint32_t</link> * <link linkend="stringprep-utf8-to-ucs4">stringprep_utf8_to_ucs4</link> (const <link linkend="char">char</link> *str,
- <link linkend="ssize-t">ssize_t</link> len,
- <link linkend="size-t">size_t</link> *items_written);
-<link linkend="char">char</link> * <link linkend="stringprep-ucs4-to-utf8">stringprep_ucs4_to_utf8</link> (const <link linkend="uint32-t">uint32_t</link> *str,
- <link linkend="ssize-t">ssize_t</link> len,
- <link linkend="size-t">size_t</link> *items_read,
- <link linkend="size-t">size_t</link> *items_written);
-<link linkend="char">char</link> * <link linkend="stringprep-utf8-nfkc-normalize">stringprep_utf8_nfkc_normalize</link> (const <link linkend="char">char</link> *str,
- <link linkend="ssize-t">ssize_t</link> len);
-<link linkend="uint32-t">uint32_t</link> * <link linkend="stringprep-ucs4-nfkc-normalize">stringprep_ucs4_nfkc_normalize</link> (<link linkend="uint32-t">uint32_t</link> *str,
- <link linkend="ssize-t">ssize_t</link> len);
-const <link linkend="char">char</link> * <link linkend="stringprep-locale-charset">stringprep_locale_charset</link> (void);
-<link linkend="char">char</link> * <link linkend="stringprep-convert">stringprep_convert</link> (const <link linkend="char">char</link> *str,
- const <link linkend="char">char</link> *to_codeset,
- const <link linkend="char">char</link> *from_codeset);
-<link linkend="char">char</link> * <link linkend="stringprep-locale-to-utf8">stringprep_locale_to_utf8</link> (const <link linkend="char">char</link> *str);
-<link linkend="char">char</link> * <link linkend="stringprep-utf8-to-locale">stringprep_utf8_to_locale</link> (const <link linkend="char">char</link> *str);
-</synopsis>
-</refsynopsisdiv>
-
-
-
-
-
-
-
-
-
-<refsect1 id="libidn-stringprep.description" role="desc">
-<title role="desc.title">Description</title>
-<para>
-</para>
-</refsect1>
-
-<refsect1 id="libidn-stringprep.details" role="details">
-<title role="details.title">Details</title>
-<refsect2 id="IDNAPI--CAPS" role="macro">
-<title>IDNAPI</title>
-<indexterm zone="IDNAPI--CAPS"><primary sortas="IDNAPI">IDNAPI</primary></indexterm><programlisting>#define IDNAPI</programlisting>
-<para>
-</para></refsect2>
-<refsect2 id="STRINGPREP-VERSION--CAPS" role="macro">
-<title>STRINGPREP_VERSION</title>
-<indexterm zone="STRINGPREP-VERSION--CAPS"><primary sortas="STRINGPREP_VERSION">STRINGPREP_VERSION</primary></indexterm><programlisting># define STRINGPREP_VERSION "1.15"
-</programlisting>
-<para>
-String defined via CPP denoting the header file version number.
-Used together with <link linkend="stringprep-check-version"><function>stringprep_check_version()</function></link> to verify header file
-and run-time library consistency.</para>
-<para>
-</para></refsect2>
-<refsect2 id="Stringprep-rc" role="enum">
-<title>enum Stringprep_rc</title>
-<indexterm zone="Stringprep-rc"><primary sortas="Stringprep_rc">Stringprep_rc</primary></indexterm><programlisting> typedef enum
- {
- STRINGPREP_OK = 0,
- /* Stringprep errors. */
- STRINGPREP_CONTAINS_UNASSIGNED = 1,
- STRINGPREP_CONTAINS_PROHIBITED = 2,
- STRINGPREP_BIDI_BOTH_L_AND_RAL = 3,
- STRINGPREP_BIDI_LEADTRAIL_NOT_RAL = 4,
- STRINGPREP_BIDI_CONTAINS_PROHIBITED = 5,
- /* Error in calling application. */
- STRINGPREP_TOO_SMALL_BUFFER = 100,
- STRINGPREP_PROFILE_ERROR = 101,
- STRINGPREP_FLAG_ERROR = 102,
- STRINGPREP_UNKNOWN_PROFILE = 103,
- /* Internal errors. */
- STRINGPREP_NFKC_FAILED = 200,
- STRINGPREP_MALLOC_ERROR = 201
- } Stringprep_rc;
-</programlisting>
-<para>
-Enumerated return codes of <link linkend="stringprep"><function>stringprep()</function></link>, <link linkend="stringprep-profile"><function>stringprep_profile()</function></link>
-functions (and macros using those functions). The value 0 is
-guaranteed to always correspond to success.</para>
-<para>
-</para><variablelist role="enum">
-<varlistentry id="STRINGPREP-OK--CAPS" role="constant">
-<term><literal>STRINGPREP_OK</literal></term>
-<listitem><simpara> Successful operation. This value is guaranteed to
- always be zero, the remaining ones are only guaranteed to hold
- non-zero values, for logical comparison purposes.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="STRINGPREP-CONTAINS-UNASSIGNED--CAPS" role="constant">
-<term><literal>STRINGPREP_CONTAINS_UNASSIGNED</literal></term>
-<listitem><simpara> String contain unassigned Unicode
- code points, which is forbidden by the profile.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="STRINGPREP-CONTAINS-PROHIBITED--CAPS" role="constant">
-<term><literal>STRINGPREP_CONTAINS_PROHIBITED</literal></term>
-<listitem><simpara> String contain code points
- prohibited by the profile.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="STRINGPREP-BIDI-BOTH-L-AND-RAL--CAPS" role="constant">
-<term><literal>STRINGPREP_BIDI_BOTH_L_AND_RAL</literal></term>
-<listitem><simpara> String contain code points with
- conflicting bidirection category.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="STRINGPREP-BIDI-LEADTRAIL-NOT-RAL--CAPS" role="constant">
-<term><literal>STRINGPREP_BIDI_LEADTRAIL_NOT_RAL</literal></term>
-<listitem><simpara> Leading and trailing character
- in string not of proper bidirectional category.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="STRINGPREP-BIDI-CONTAINS-PROHIBITED--CAPS" role="constant">
-<term><literal>STRINGPREP_BIDI_CONTAINS_PROHIBITED</literal></term>
-<listitem><simpara> Contains prohibited code
- points detected by bidirectional code.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="STRINGPREP-TOO-SMALL-BUFFER--CAPS" role="constant">
-<term><literal>STRINGPREP_TOO_SMALL_BUFFER</literal></term>
-<listitem><simpara> Buffer handed to function was too
- small. This usually indicate a problem in the calling
- application.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="STRINGPREP-PROFILE-ERROR--CAPS" role="constant">
-<term><literal>STRINGPREP_PROFILE_ERROR</literal></term>
-<listitem><simpara> The stringprep profile was inconsistent.
- This usually indicate an internal error in the library.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="STRINGPREP-FLAG-ERROR--CAPS" role="constant">
-<term><literal>STRINGPREP_FLAG_ERROR</literal></term>
-<listitem><simpara> The supplied flag conflicted with profile.
- This usually indicate a problem in the calling application.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="STRINGPREP-UNKNOWN-PROFILE--CAPS" role="constant">
-<term><literal>STRINGPREP_UNKNOWN_PROFILE</literal></term>
-<listitem><simpara> The supplied profile name was not
- known to the library.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="STRINGPREP-NFKC-FAILED--CAPS" role="constant">
-<term><literal>STRINGPREP_NFKC_FAILED</literal></term>
-<listitem><simpara> The Unicode NFKC operation failed. This
- usually indicate an internal error in the library.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="STRINGPREP-MALLOC-ERROR--CAPS" role="constant">
-<term><literal>STRINGPREP_MALLOC_ERROR</literal></term>
-<listitem><simpara> The <link linkend="malloc"><function>malloc()</function></link> was out of memory. This is
- usually a fatal error.
-</simpara></listitem>
-</varlistentry>
-</variablelist></refsect2>
-<refsect2 id="Stringprep-profile-flags" role="enum">
-<title>enum Stringprep_profile_flags</title>
-<indexterm zone="Stringprep-profile-flags"><primary sortas="Stringprep_profile_flags">Stringprep_profile_flags</primary></indexterm><programlisting> typedef enum
- {
- STRINGPREP_NO_NFKC = 1,
- STRINGPREP_NO_BIDI = 2,
- STRINGPREP_NO_UNASSIGNED = 4
- } Stringprep_profile_flags;
-</programlisting>
-<para>
-Stringprep profile flags.</para>
-<para>
-</para><variablelist role="enum">
-<varlistentry id="STRINGPREP-NO-NFKC--CAPS" role="constant">
-<term><literal>STRINGPREP_NO_NFKC</literal></term>
-<listitem><simpara> Disable the NFKC normalization, as well as
- selecting the non-NFKC case folding tables. Usually the profile
- specifies BIDI and NFKC settings, and applications should not
- override it unless in special situations.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="STRINGPREP-NO-BIDI--CAPS" role="constant">
-<term><literal>STRINGPREP_NO_BIDI</literal></term>
-<listitem><simpara> Disable the BIDI step. Usually the profile
- specifies BIDI and NFKC settings, and applications should not
- override it unless in special situations.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="STRINGPREP-NO-UNASSIGNED--CAPS" role="constant">
-<term><literal>STRINGPREP_NO_UNASSIGNED</literal></term>
-<listitem><simpara> Make the library return with an error if
- string contains unassigned characters according to profile.
-</simpara></listitem>
-</varlistentry>
-</variablelist></refsect2>
-<refsect2 id="Stringprep-profile-steps" role="enum">
-<title>enum Stringprep_profile_steps</title>
-<indexterm zone="Stringprep-profile-steps"><primary sortas="Stringprep_profile_steps">Stringprep_profile_steps</primary></indexterm><programlisting> typedef enum
- {
- STRINGPREP_NFKC = 1,
- STRINGPREP_BIDI = 2,
- STRINGPREP_MAP_TABLE = 3,
- STRINGPREP_UNASSIGNED_TABLE = 4,
- STRINGPREP_PROHIBIT_TABLE = 5,
- STRINGPREP_BIDI_PROHIBIT_TABLE = 6,
- STRINGPREP_BIDI_RAL_TABLE = 7,
- STRINGPREP_BIDI_L_TABLE = 8
- } Stringprep_profile_steps;
-</programlisting>
-<para>
-Various steps in the stringprep algorithm. You really want to
-study the source code to understand this one. Only useful if you
-want to add another profile.</para>
-<para>
-</para></refsect2>
-<refsect2 id="STRINGPREP-MAX-MAP-CHARS--CAPS" role="macro">
-<title>STRINGPREP_MAX_MAP_CHARS</title>
-<indexterm zone="STRINGPREP-MAX-MAP-CHARS--CAPS"><primary sortas="STRINGPREP_MAX_MAP_CHARS">STRINGPREP_MAX_MAP_CHARS</primary></indexterm><programlisting># define STRINGPREP_MAX_MAP_CHARS 4
-</programlisting>
-<para>
-Maximum number of code points that can replace a single code point,
-during stringprep mapping.</para>
-<para>
-</para></refsect2>
-<refsect2 id="Stringprep-table-element" role="typedef">
-<title>Stringprep_table_element</title>
-<indexterm zone="Stringprep-table-element"><primary sortas="Stringprep_table_element">Stringprep_table_element</primary></indexterm><programlisting> typedef struct Stringprep_table_element Stringprep_table_element;
-</programlisting>
-<para>
-</para></refsect2>
-<refsect2 id="Stringprep-profile" role="typedef">
-<title>Stringprep_profile</title>
-<indexterm zone="Stringprep-profile"><primary sortas="Stringprep_profile">Stringprep_profile</primary></indexterm><programlisting> typedef struct Stringprep_table Stringprep_profile;
-</programlisting>
-<para>
-</para></refsect2>
-<refsect2 id="Stringprep-profiles" role="typedef">
-<title>Stringprep_profiles</title>
-<indexterm zone="Stringprep-profiles"><primary sortas="Stringprep_profiles">Stringprep_profiles</primary></indexterm><programlisting> typedef struct Stringprep_profiles Stringprep_profiles;
-</programlisting>
-<para>
-</para></refsect2>
-<refsect2 id="stringprep-nameprep" role="macro">
-<title>stringprep_nameprep()</title>
-<indexterm zone="stringprep-nameprep"><primary sortas="stringprep_nameprep">stringprep_nameprep</primary></indexterm><programlisting>#define stringprep_nameprep(in, maxlen)</programlisting>
-<para>
-Prepare the input UTF-8 string according to the nameprep profile.
-The AllowUnassigned flag is true, use
-<link linkend="stringprep-nameprep-no-unassigned"><function>stringprep_nameprep_no_unassigned()</function></link> if you want a false
-AllowUnassigned. Returns 0 iff successful, or an error code.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> input/ouput array with string to prepare.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>maxlen</parameter> :</term>
-<listitem><simpara> maximum length of input/output array.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-nameprep-no-unassigned" role="macro">
-<title>stringprep_nameprep_no_unassigned()</title>
-<indexterm zone="stringprep-nameprep-no-unassigned"><primary sortas="stringprep_nameprep_no_unassigned">stringprep_nameprep_no_unassigned</primary></indexterm><programlisting>#define stringprep_nameprep_no_unassigned(in, maxlen)</programlisting>
-<para>
-Prepare the input UTF-8 string according to the nameprep profile.
-The AllowUnassigned flag is false, use <link linkend="stringprep-nameprep"><function>stringprep_nameprep()</function></link> for
-true AllowUnassigned. Returns 0 iff successful, or an error code.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> input/ouput array with string to prepare.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>maxlen</parameter> :</term>
-<listitem><simpara> maximum length of input/output array.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-plain" role="macro">
-<title>stringprep_plain()</title>
-<indexterm zone="stringprep-plain"><primary sortas="stringprep_plain">stringprep_plain</primary></indexterm><programlisting>#define stringprep_plain(in, maxlen)</programlisting>
-<para>
-Prepare the input UTF-8 string according to the draft SASL
-ANONYMOUS profile. Returns 0 iff successful, or an error code.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> input/ouput array with string to prepare.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>maxlen</parameter> :</term>
-<listitem><simpara> maximum length of input/output array.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-kerberos5" role="macro">
-<title>stringprep_kerberos5()</title>
-<indexterm zone="stringprep-kerberos5"><primary sortas="stringprep_kerberos5">stringprep_kerberos5</primary></indexterm><programlisting>#define stringprep_kerberos5(in, maxlen)</programlisting>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara>
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>maxlen</parameter> :</term>
-<listitem><simpara>
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-xmpp-nodeprep" role="macro">
-<title>stringprep_xmpp_nodeprep()</title>
-<indexterm zone="stringprep-xmpp-nodeprep"><primary sortas="stringprep_xmpp_nodeprep">stringprep_xmpp_nodeprep</primary></indexterm><programlisting>#define stringprep_xmpp_nodeprep(in, maxlen)</programlisting>
-<para>
-Prepare the input UTF-8 string according to the draft XMPP node
-identifier profile. Returns 0 iff successful, or an error code.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> input/ouput array with string to prepare.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>maxlen</parameter> :</term>
-<listitem><simpara> maximum length of input/output array.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-xmpp-resourceprep" role="macro">
-<title>stringprep_xmpp_resourceprep()</title>
-<indexterm zone="stringprep-xmpp-resourceprep"><primary sortas="stringprep_xmpp_resourceprep">stringprep_xmpp_resourceprep</primary></indexterm><programlisting>#define stringprep_xmpp_resourceprep(in, maxlen)</programlisting>
-<para>
-Prepare the input UTF-8 string according to the draft XMPP resource
-identifier profile. Returns 0 iff successful, or an error code.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> input/ouput array with string to prepare.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>maxlen</parameter> :</term>
-<listitem><simpara> maximum length of input/output array.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-iscsi" role="macro">
-<title>stringprep_iscsi()</title>
-<indexterm zone="stringprep-iscsi"><primary sortas="stringprep_iscsi">stringprep_iscsi</primary></indexterm><programlisting>#define stringprep_iscsi(in, maxlen)</programlisting>
-<para>
-Prepare the input UTF-8 string according to the draft iSCSI
-stringprep profile. Returns 0 iff successful, or an error code.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> input/ouput array with string to prepare.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>maxlen</parameter> :</term>
-<listitem><simpara> maximum length of input/output array.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-4i" role="function">
-<title>stringprep_4i ()</title>
-<indexterm zone="stringprep-4i"><primary sortas="stringprep_4i">stringprep_4i</primary></indexterm><programlisting><link linkend="int">int</link> stringprep_4i (<link linkend="uint32-t">uint32_t</link> *ucs4,
- <link linkend="size-t">size_t</link> *len,
- <link linkend="size-t">size_t</link> maxucs4len,
- <link linkend="Stringprep-profile-flags">Stringprep_profile_flags</link> flags,
- const <link linkend="Stringprep-profile">Stringprep_profile</link> *profile);</programlisting>
-<para>
-Prepare the input UCS-4 string according to the stringprep profile,
-and write back the result to the input string.
-</para>
-<para>
-The input is not required to be zero terminated (<parameter>ucs4</parameter>[<parameter>len</parameter>] = 0).
-The output will not be zero terminated unless <parameter>ucs4</parameter>[<parameter>len</parameter>] = 0.
-Instead, see <link linkend="stringprep-4zi"><function>stringprep_4zi()</function></link> if your input is zero terminated or
-if you want the output to be.
-</para>
-<para>
-Since the stringprep operation can expand the string, <parameter>maxucs4len</parameter>
-indicate how large the buffer holding the string is. This function
-will not read or write to code points outside that size.
-</para>
-<para>
-The <parameter>flags</parameter> are one of <link linkend="Stringprep-profile-flags"><type>Stringprep_profile_flags</type></link> values, or 0.
-</para>
-<para>
-The <parameter>profile</parameter> contain the <link linkend="Stringprep-profile"><type>Stringprep_profile</type></link> instructions to
-perform. Your application can define new profiles, possibly
-re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>ucs4</parameter> :</term>
-<listitem><simpara> input/output array with string to prepare.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>len</parameter> :</term>
-<listitem><simpara> on input, length of input array with Unicode code points,
- on exit, length of output array with Unicode code points.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>maxucs4len</parameter> :</term>
-<listitem><simpara> maximum length of input/output array.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>flags</parameter> :</term>
-<listitem><simpara> a <link linkend="Stringprep-profile-flags"><type>Stringprep_profile_flags</type></link> value, or 0.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>profile</parameter> :</term>
-<listitem><simpara> pointer to <link linkend="Stringprep-profile"><type>Stringprep_profile</type></link> to use.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns <link linkend="STRINGPREP-OK--CAPS"><literal>STRINGPREP_OK</literal></link> iff successful, or an
- <link linkend="Stringprep-rc"><type>Stringprep_rc</type></link> error code.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-4zi" role="function">
-<title>stringprep_4zi ()</title>
-<indexterm zone="stringprep-4zi"><primary sortas="stringprep_4zi">stringprep_4zi</primary></indexterm><programlisting><link linkend="int">int</link> stringprep_4zi (<link linkend="uint32-t">uint32_t</link> *ucs4,
- <link linkend="size-t">size_t</link> maxucs4len,
- <link linkend="Stringprep-profile-flags">Stringprep_profile_flags</link> flags,
- const <link linkend="Stringprep-profile">Stringprep_profile</link> *profile);</programlisting>
-<para>
-Prepare the input zero terminated UCS-4 string according to the
-stringprep profile, and write back the result to the input string.
-</para>
-<para>
-Since the stringprep operation can expand the string, <parameter>maxucs4len</parameter>
-indicate how large the buffer holding the string is. This function
-will not read or write to code points outside that size.
-</para>
-<para>
-The <parameter>flags</parameter> are one of <link linkend="Stringprep-profile-flags"><type>Stringprep_profile_flags</type></link> values, or 0.
-</para>
-<para>
-The <parameter>profile</parameter> contain the <link linkend="Stringprep-profile"><type>Stringprep_profile</type></link> instructions to
-perform. Your application can define new profiles, possibly
-re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>ucs4</parameter> :</term>
-<listitem><simpara> input/output array with zero terminated string to prepare.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>maxucs4len</parameter> :</term>
-<listitem><simpara> maximum length of input/output array.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>flags</parameter> :</term>
-<listitem><simpara> a <link linkend="Stringprep-profile-flags"><type>Stringprep_profile_flags</type></link> value, or 0.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>profile</parameter> :</term>
-<listitem><simpara> pointer to <link linkend="Stringprep-profile"><type>Stringprep_profile</type></link> to use.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns <link linkend="STRINGPREP-OK--CAPS"><literal>STRINGPREP_OK</literal></link> iff successful, or an
- <link linkend="Stringprep-rc"><type>Stringprep_rc</type></link> error code.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep" role="function">
-<title>stringprep ()</title>
-<indexterm zone="stringprep"><primary sortas="stringprep">stringprep</primary></indexterm><programlisting><link linkend="int">int</link> stringprep (<link linkend="char">char</link> *in,
- <link linkend="size-t">size_t</link> maxlen,
- <link linkend="Stringprep-profile-flags">Stringprep_profile_flags</link> flags,
- const <link linkend="Stringprep-profile">Stringprep_profile</link> *profile);</programlisting>
-<para>
-Prepare the input zero terminated UTF-8 string according to the
-stringprep profile, and write back the result to the input string.
-</para>
-<para>
-Note that you must convert strings entered in the systems locale
-into UTF-8 before using this function, see
-<link linkend="stringprep-locale-to-utf8"><function>stringprep_locale_to_utf8()</function></link>.
-</para>
-<para>
-Since the stringprep operation can expand the string, <parameter>maxlen</parameter>
-indicate how large the buffer holding the string is. This function
-will not read or write to characters outside that size.
-</para>
-<para>
-The <parameter>flags</parameter> are one of <link linkend="Stringprep-profile-flags"><type>Stringprep_profile_flags</type></link> values, or 0.
-</para>
-<para>
-The <parameter>profile</parameter> contain the <link linkend="Stringprep-profile"><type>Stringprep_profile</type></link> instructions to
-perform. Your application can define new profiles, possibly
-re-using the generic stringprep tables that always will be part of
-the library, or use one of the currently supported profiles.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> input/ouput array with string to prepare.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>maxlen</parameter> :</term>
-<listitem><simpara> maximum length of input/output array.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>flags</parameter> :</term>
-<listitem><simpara> a <link linkend="Stringprep-profile-flags"><type>Stringprep_profile_flags</type></link> value, or 0.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>profile</parameter> :</term>
-<listitem><simpara> pointer to <link linkend="Stringprep-profile"><type>Stringprep_profile</type></link> to use.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns <link linkend="STRINGPREP-OK--CAPS"><literal>STRINGPREP_OK</literal></link> iff successful, or an error code.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-profile" role="function">
-<title>stringprep_profile ()</title>
-<indexterm zone="stringprep-profile"><primary sortas="stringprep_profile">stringprep_profile</primary></indexterm><programlisting><link linkend="int">int</link> stringprep_profile (const <link linkend="char">char</link> *in,
- <link linkend="char">char</link> **out,
- const <link linkend="char">char</link> *profile,
- <link linkend="Stringprep-profile-flags">Stringprep_profile_flags</link> flags);</programlisting>
-<para>
-Prepare the input zero terminated UTF-8 string according to the
-stringprep profile, and return the result in a newly allocated
-variable.
-</para>
-<para>
-Note that you must convert strings entered in the systems locale
-into UTF-8 before using this function, see
-<link linkend="stringprep-locale-to-utf8"><function>stringprep_locale_to_utf8()</function></link>.
-</para>
-<para>
-The output <parameter>out</parameter> variable must be deallocated by the caller.
-</para>
-<para>
-The <parameter>flags</parameter> are one of <link linkend="Stringprep-profile-flags"><type>Stringprep_profile_flags</type></link> values, or 0.
-</para>
-<para>
-The <parameter>profile</parameter> specifies the name of the stringprep profile to use.
-It must be one of the internally supported stringprep profiles.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> input array with UTF-8 string to prepare.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>out</parameter> :</term>
-<listitem><simpara> output variable with pointer to newly allocate string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>profile</parameter> :</term>
-<listitem><simpara> name of stringprep profile to use.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>flags</parameter> :</term>
-<listitem><simpara> a <link linkend="Stringprep-profile-flags"><type>Stringprep_profile_flags</type></link> value, or 0.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns <link linkend="STRINGPREP-OK--CAPS"><literal>STRINGPREP_OK</literal></link> iff successful, or an error code.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-strerror" role="function">
-<title>stringprep_strerror ()</title>
-<indexterm zone="stringprep-strerror"><primary sortas="stringprep_strerror">stringprep_strerror</primary></indexterm><programlisting>const <link linkend="char">char</link> * stringprep_strerror (<link linkend="Stringprep-rc">Stringprep_rc</link> rc);</programlisting>
-<para>
-Convert a return code integer to a text string. This string can be
-used to output a diagnostic message to the user.
-</para>
-<para>
-STRINGPREP_OK: Successful operation. This value is guaranteed to
- always be zero, the remaining ones are only guaranteed to hold
- non-zero values, for logical comparison purposes.
-STRINGPREP_CONTAINS_UNASSIGNED: String contain unassigned Unicode
- code points, which is forbidden by the profile.
-STRINGPREP_CONTAINS_PROHIBITED: String contain code points
- prohibited by the profile.
-STRINGPREP_BIDI_BOTH_L_AND_RAL: String contain code points with
- conflicting bidirection category.
-STRINGPREP_BIDI_LEADTRAIL_NOT_RAL: Leading and trailing character
- in string not of proper bidirectional category.
-STRINGPREP_BIDI_CONTAINS_PROHIBITED: Contains prohibited code
- points detected by bidirectional code.
-STRINGPREP_TOO_SMALL_BUFFER: Buffer handed to function was too
- small. This usually indicate a problem in the calling
- application.
-STRINGPREP_PROFILE_ERROR: The stringprep profile was inconsistent.
- This usually indicate an internal error in the library.
-STRINGPREP_FLAG_ERROR: The supplied flag conflicted with profile.
- This usually indicate a problem in the calling application.
-STRINGPREP_UNKNOWN_PROFILE: The supplied profile name was not
- known to the library.
-STRINGPREP_NFKC_FAILED: The Unicode NFKC operation failed. This
- usually indicate an internal error in the library.
-STRINGPREP_MALLOC_ERROR: The <link linkend="malloc"><function>malloc()</function></link> was out of memory. This is
- usually a fatal error.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>rc</parameter> :</term>
-<listitem><simpara> a <link linkend="Stringprep-rc"><type>Stringprep_rc</type></link> return code.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns a pointer to a statically allocated string
- containing a description of the error with the return code <parameter>rc</parameter>.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-check-version" role="function">
-<title>stringprep_check_version ()</title>
-<indexterm zone="stringprep-check-version"><primary sortas="stringprep_check_version">stringprep_check_version</primary></indexterm><programlisting>const <link linkend="char">char</link> * stringprep_check_version (const <link linkend="char">char</link> *req_version);</programlisting>
-<para>
-Check that the version of the library is at minimum the requested one
-and return the version string; return NULL if the condition is not
-satisfied. If a NULL is passed to this function, no check is done,
-but the version string is simply returned.
-</para>
-<para>
-See <link linkend="STRINGPREP-VERSION--CAPS"><literal>STRINGPREP_VERSION</literal></link> for a suitable <parameter>req_version</parameter> string.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>req_version</parameter> :</term>
-<listitem><simpara> Required version number, or NULL.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Version string of run-time library, or NULL if the
-run-time library does not meet the required version number.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-unichar-to-utf8" role="function">
-<title>stringprep_unichar_to_utf8 ()</title>
-<indexterm zone="stringprep-unichar-to-utf8"><primary sortas="stringprep_unichar_to_utf8">stringprep_unichar_to_utf8</primary></indexterm><programlisting><link linkend="int">int</link> stringprep_unichar_to_utf8 (<link linkend="uint32-t">uint32_t</link> c,
- <link linkend="char">char</link> *outbuf);</programlisting>
-<para>
-Converts a single character to UTF-8.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>c</parameter> :</term>
-<listitem><simpara> a ISO10646 character code
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>outbuf</parameter> :</term>
-<listitem><simpara> output buffer, must have at least 6 bytes of space.
- If <link linkend="NULL--CAPS"><literal>NULL</literal></link>, the length will be computed and returned
- and nothing will be written to <parameter>outbuf</parameter>.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> number of bytes written.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-utf8-to-unichar" role="function">
-<title>stringprep_utf8_to_unichar ()</title>
-<indexterm zone="stringprep-utf8-to-unichar"><primary sortas="stringprep_utf8_to_unichar">stringprep_utf8_to_unichar</primary></indexterm><programlisting><link linkend="uint32-t">uint32_t</link> stringprep_utf8_to_unichar (const <link linkend="char">char</link> *p);</programlisting>
-<para>
-Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
-If <parameter>p</parameter> does not point to a valid UTF-8 encoded character, results are
-undefined.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>p</parameter> :</term>
-<listitem><simpara> a pointer to Unicode character encoded as UTF-8
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the resulting character.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-utf8-to-ucs4" role="function">
-<title>stringprep_utf8_to_ucs4 ()</title>
-<indexterm zone="stringprep-utf8-to-ucs4"><primary sortas="stringprep_utf8_to_ucs4">stringprep_utf8_to_ucs4</primary></indexterm><programlisting><link linkend="uint32-t">uint32_t</link> * stringprep_utf8_to_ucs4 (const <link linkend="char">char</link> *str,
- <link linkend="ssize-t">ssize_t</link> len,
- <link linkend="size-t">size_t</link> *items_written);</programlisting>
-<para>
-Convert a string from UTF-8 to a 32-bit fixed width
-representation as UCS-4, assuming valid UTF-8 input.
-This function does no error checking on the input.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>str</parameter> :</term>
-<listitem><simpara> a UTF-8 encoded string
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>len</parameter> :</term>
-<listitem><simpara> the maximum length of <parameter>str</parameter> to use. If <parameter>len</parameter> < 0, then
- the string is nul-terminated.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>items_written</parameter> :</term>
-<listitem><simpara> location to store the number of characters in the
- result, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a pointer to a newly allocated UCS-4 string.
- This value must be deallocated by the caller.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-ucs4-to-utf8" role="function">
-<title>stringprep_ucs4_to_utf8 ()</title>
-<indexterm zone="stringprep-ucs4-to-utf8"><primary sortas="stringprep_ucs4_to_utf8">stringprep_ucs4_to_utf8</primary></indexterm><programlisting><link linkend="char">char</link> * stringprep_ucs4_to_utf8 (const <link linkend="uint32-t">uint32_t</link> *str,
- <link linkend="ssize-t">ssize_t</link> len,
- <link linkend="size-t">size_t</link> *items_read,
- <link linkend="size-t">size_t</link> *items_written);</programlisting>
-<para>
-Convert a string from a 32-bit fixed width representation as UCS-4.
-to UTF-8. The result will be terminated with a 0 byte.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>str</parameter> :</term>
-<listitem><simpara> a UCS-4 encoded string
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>len</parameter> :</term>
-<listitem><simpara> the maximum length of <parameter>str</parameter> to use. If <parameter>len</parameter> < 0, then
- the string is terminated with a 0 character.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>items_read</parameter> :</term>
-<listitem><simpara> location to store number of characters read read, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>items_written</parameter> :</term>
-<listitem><simpara> location to store number of bytes written or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
- The value here stored does not include the trailing 0
- byte.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a pointer to a newly allocated UTF-8 string.
- This value must be deallocated by the caller.
- If an error occurs, <link linkend="NULL--CAPS"><literal>NULL</literal></link> will be returned and <parameter>error</parameter>
- set.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-utf8-nfkc-normalize" role="function">
-<title>stringprep_utf8_nfkc_normalize ()</title>
-<indexterm zone="stringprep-utf8-nfkc-normalize"><primary sortas="stringprep_utf8_nfkc_normalize">stringprep_utf8_nfkc_normalize</primary></indexterm><programlisting><link linkend="char">char</link> * stringprep_utf8_nfkc_normalize (const <link linkend="char">char</link> *str,
- <link linkend="ssize-t">ssize_t</link> len);</programlisting>
-<para>
-Converts a string into canonical form, standardizing
-such issues as whether a character with an accent
-is represented as a base character and combining
-accent or as a single precomposed character.
-</para>
-<para>
-The normalization mode is NFKC (ALL COMPOSE). It standardizes
-differences that do not affect the text content, such as the
-above-mentioned accent representation. It standardizes the
-"compatibility" characters in Unicode, such as SUPERSCRIPT THREE to
-the standard forms (in this case DIGIT THREE). Formatting
-information may be lost but for most text operations such
-characters should be considered the same. It returns a result with
-composed forms rather than a maximally decomposed form.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>str</parameter> :</term>
-<listitem><simpara> a UTF-8 encoded string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>len</parameter> :</term>
-<listitem><simpara> length of <parameter>str</parameter>, in bytes, or -1 if <parameter>str</parameter> is nul-terminated.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a newly allocated string, that is the
- NFKC normalized form of <parameter>str</parameter>.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-ucs4-nfkc-normalize" role="function">
-<title>stringprep_ucs4_nfkc_normalize ()</title>
-<indexterm zone="stringprep-ucs4-nfkc-normalize"><primary sortas="stringprep_ucs4_nfkc_normalize">stringprep_ucs4_nfkc_normalize</primary></indexterm><programlisting><link linkend="uint32-t">uint32_t</link> * stringprep_ucs4_nfkc_normalize (<link linkend="uint32-t">uint32_t</link> *str,
- <link linkend="ssize-t">ssize_t</link> len);</programlisting>
-<para>
-Converts UCS4 string into UTF-8 and runs
-<link linkend="stringprep-utf8-nfkc-normalize"><function>stringprep_utf8_nfkc_normalize()</function></link>.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>str</parameter> :</term>
-<listitem><simpara> a Unicode string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>len</parameter> :</term>
-<listitem><simpara> length of <parameter>str</parameter> array, or -1 if <parameter>str</parameter> is nul-terminated.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> a newly allocated Unicode string, that is the NFKC
- normalized form of <parameter>str</parameter>.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-locale-charset" role="function">
-<title>stringprep_locale_charset ()</title>
-<indexterm zone="stringprep-locale-charset"><primary sortas="stringprep_locale_charset">stringprep_locale_charset</primary></indexterm><programlisting>const <link linkend="char">char</link> * stringprep_locale_charset (void);</programlisting>
-<para>
-Find out current locale charset. The function respect the CHARSET
-environment variable, but typically uses nl_langinfo(CODESET) when
-it is supported. It fall back on "ASCII" if CHARSET isn't set and
-nl_langinfo isn't supported or return anything.
-</para>
-<para>
-Note that this function return the application's locale's preferred
-charset (or thread's locale's preffered charset, if your system
-support thread-specific locales). It does not return what the
-system may be using. Thus, if you receive data from external
-sources you cannot in general use this function to guess what
-charset it is encoded in. Use stringprep_convert from the external
-representation into the charset returned by this function, to have
-data in the locale encoding.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Return the character set used by the current locale.
- It will never return NULL, but use "ASCII" as a fallback.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-convert" role="function">
-<title>stringprep_convert ()</title>
-<indexterm zone="stringprep-convert"><primary sortas="stringprep_convert">stringprep_convert</primary></indexterm><programlisting><link linkend="char">char</link> * stringprep_convert (const <link linkend="char">char</link> *str,
- const <link linkend="char">char</link> *to_codeset,
- const <link linkend="char">char</link> *from_codeset);</programlisting>
-<para>
-Convert the string from one character set to another using the
-system's <link linkend="iconv"><function>iconv()</function></link> function.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>str</parameter> :</term>
-<listitem><simpara> input zero-terminated string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>to_codeset</parameter> :</term>
-<listitem><simpara> name of destination character set.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>from_codeset</parameter> :</term>
-<listitem><simpara> name of origin character set, as used by <parameter>str</parameter>.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns newly allocated zero-terminated string which
- is <parameter>str</parameter> transcoded into to_codeset.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-locale-to-utf8" role="function">
-<title>stringprep_locale_to_utf8 ()</title>
-<indexterm zone="stringprep-locale-to-utf8"><primary sortas="stringprep_locale_to_utf8">stringprep_locale_to_utf8</primary></indexterm><programlisting><link linkend="char">char</link> * stringprep_locale_to_utf8 (const <link linkend="char">char</link> *str);</programlisting>
-<para>
-Convert string encoded in the locale's character set into UTF-8 by
-using <link linkend="stringprep-convert"><function>stringprep_convert()</function></link>.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>str</parameter> :</term>
-<listitem><simpara> input zero terminated string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns newly allocated zero-terminated string which
- is <parameter>str</parameter> transcoded into UTF-8.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="stringprep-utf8-to-locale" role="function">
-<title>stringprep_utf8_to_locale ()</title>
-<indexterm zone="stringprep-utf8-to-locale"><primary sortas="stringprep_utf8_to_locale">stringprep_utf8_to_locale</primary></indexterm><programlisting><link linkend="char">char</link> * stringprep_utf8_to_locale (const <link linkend="char">char</link> *str);</programlisting>
-<para>
-Convert string encoded in UTF-8 into the locale's character set by
-using <link linkend="stringprep-convert"><function>stringprep_convert()</function></link>.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>str</parameter> :</term>
-<listitem><simpara> input zero terminated string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns newly allocated zero-terminated string which
- is <parameter>str</parameter> transcoded into the locale's character set.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-
-</refsect1>
-
-
-
-
-</refentry>
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<refentry id="libidn-tld">
-<refmeta>
-<refentrytitle role="top_of_page" id="libidn-tld.top_of_page">tld</refentrytitle>
-<manvolnum>3</manvolnum>
-<refmiscinfo>LIBIDN Library</refmiscinfo>
-</refmeta>
-
-<refnamediv>
-<refname>tld</refname>
-<refpurpose></refpurpose>
-</refnamediv>
-
-<refsynopsisdiv id="libidn-tld.synopsis" role="synopsis">
-<title role="synopsis.title">Synopsis</title>
-
-<synopsis>
-#define <link linkend="IDNAPI--CAPS">IDNAPI</link>
-typedef <link linkend="Tld-table-element">Tld_table_element</link>;
-typedef <link linkend="Tld-table">Tld_table</link>;
-enum <link linkend="Tld-rc">Tld_rc</link>;
-const <link linkend="char">char</link> * <link linkend="tld-strerror">tld_strerror</link> (<link linkend="Tld-rc">Tld_rc</link> rc);
-<link linkend="int">int</link> <link linkend="tld-get-4">tld_get_4</link> (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> inlen,
- <link linkend="char">char</link> **out);
-<link linkend="int">int</link> <link linkend="tld-get-4z">tld_get_4z</link> (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="char">char</link> **out);
-<link linkend="int">int</link> <link linkend="tld-get-z">tld_get_z</link> (const <link linkend="char">char</link> *in,
- <link linkend="char">char</link> **out);
-const <link linkend="Tld-table">Tld_table</link> * <link linkend="tld-get-table">tld_get_table</link> (const <link linkend="char">char</link> *tld,
- const <link linkend="Tld-table">Tld_table</link> **tables);
-const <link linkend="Tld-table">Tld_table</link> * <link linkend="tld-default-table">tld_default_table</link> (const <link linkend="char">char</link> *tld,
- const <link linkend="Tld-table">Tld_table</link> **overrides);
-<link linkend="int">int</link> <link linkend="tld-check-4t">tld_check_4t</link> (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> inlen,
- <link linkend="size-t">size_t</link> *errpos,
- const <link linkend="Tld-table">Tld_table</link> *tld);
-<link linkend="int">int</link> <link linkend="tld-check-4tz">tld_check_4tz</link> (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> *errpos,
- const <link linkend="Tld-table">Tld_table</link> *tld);
-<link linkend="int">int</link> <link linkend="tld-check-4">tld_check_4</link> (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> inlen,
- <link linkend="size-t">size_t</link> *errpos,
- const <link linkend="Tld-table">Tld_table</link> **overrides);
-<link linkend="int">int</link> <link linkend="tld-check-4z">tld_check_4z</link> (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> *errpos,
- const <link linkend="Tld-table">Tld_table</link> **overrides);
-<link linkend="int">int</link> <link linkend="tld-check-8z">tld_check_8z</link> (const <link linkend="char">char</link> *in,
- <link linkend="size-t">size_t</link> *errpos,
- const <link linkend="Tld-table">Tld_table</link> **overrides);
-<link linkend="int">int</link> <link linkend="tld-check-lz">tld_check_lz</link> (const <link linkend="char">char</link> *in,
- <link linkend="size-t">size_t</link> *errpos,
- const <link linkend="Tld-table">Tld_table</link> **overrides);
-</synopsis>
-</refsynopsisdiv>
-
-
-
-
-
-
-
-
-
-<refsect1 id="libidn-tld.description" role="desc">
-<title role="desc.title">Description</title>
-<para>
-</para>
-</refsect1>
-
-<refsect1 id="libidn-tld.details" role="details">
-<title role="details.title">Details</title>
-<refsect2 id="IDNAPI--CAPS" role="macro">
-<title>IDNAPI</title>
-<indexterm zone="IDNAPI--CAPS"><primary sortas="IDNAPI">IDNAPI</primary></indexterm><programlisting>#define IDNAPI</programlisting>
-<para>
-</para></refsect2>
-<refsect2 id="Tld-table-element" role="typedef">
-<title>Tld_table_element</title>
-<indexterm zone="Tld-table-element"><primary sortas="Tld_table_element">Tld_table_element</primary></indexterm><programlisting> typedef struct Tld_table_element Tld_table_element;
-</programlisting>
-<para>
-</para></refsect2>
-<refsect2 id="Tld-table" role="typedef">
-<title>Tld_table</title>
-<indexterm zone="Tld-table"><primary sortas="Tld_table">Tld_table</primary></indexterm><programlisting> typedef struct Tld_table Tld_table;
-</programlisting>
-<para>
-</para></refsect2>
-<refsect2 id="Tld-rc" role="enum">
-<title>enum Tld_rc</title>
-<indexterm zone="Tld-rc"><primary sortas="Tld_rc">Tld_rc</primary></indexterm><programlisting> typedef enum
- {
- TLD_SUCCESS = 0,
- TLD_INVALID = 1, /* Invalid character found. */
- TLD_NODATA = 2, /* Char, domain or inlen = 0. */
- TLD_MALLOC_ERROR = 3,
- TLD_ICONV_ERROR = 4,
- TLD_NO_TLD = 5,
- /* Workaround typo in earlier versions. */
- TLD_NOTLD = TLD_NO_TLD
- } Tld_rc;
-</programlisting>
-<para>
-Enumerated return codes of the TLD checking functions.
-The value 0 is guaranteed to always correspond to success.</para>
-<para>
-</para><variablelist role="enum">
-<varlistentry id="TLD-SUCCESS--CAPS" role="constant">
-<term><literal>TLD_SUCCESS</literal></term>
-<listitem><simpara> Successful operation. This value is guaranteed to
- always be zero, the remaining ones are only guaranteed to hold
- non-zero values, for logical comparison purposes.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="TLD-INVALID--CAPS" role="constant">
-<term><literal>TLD_INVALID</literal></term>
-<listitem><simpara> Invalid character found.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="TLD-NODATA--CAPS" role="constant">
-<term><literal>TLD_NODATA</literal></term>
-<listitem><simpara> No input data was provided.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="TLD-MALLOC-ERROR--CAPS" role="constant">
-<term><literal>TLD_MALLOC_ERROR</literal></term>
-<listitem><simpara> Error during memory allocation.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="TLD-ICONV-ERROR--CAPS" role="constant">
-<term><literal>TLD_ICONV_ERROR</literal></term>
-<listitem><simpara> Error during iconv string conversion.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="TLD-NO-TLD--CAPS" role="constant">
-<term><literal>TLD_NO_TLD</literal></term>
-<listitem><simpara> No top-level domain found in domain string.
-</simpara></listitem>
-</varlistentry>
-<varlistentry id="TLD-NOTLD--CAPS" role="constant">
-<term><literal>TLD_NOTLD</literal></term>
-<listitem><simpara>
-</simpara></listitem>
-</varlistentry>
-</variablelist></refsect2>
-<refsect2 id="tld-strerror" role="function">
-<title>tld_strerror ()</title>
-<indexterm zone="tld-strerror"><primary sortas="tld_strerror">tld_strerror</primary></indexterm><programlisting>const <link linkend="char">char</link> * tld_strerror (<link linkend="Tld-rc">Tld_rc</link> rc);</programlisting>
-<para>
-Convert a return code integer to a text string. This string can be
-used to output a diagnostic message to the user.
-</para>
-<para>
-TLD_SUCCESS: Successful operation. This value is guaranteed to
- always be zero, the remaining ones are only guaranteed to hold
- non-zero values, for logical comparison purposes.
-TLD_INVALID: Invalid character found.
-TLD_NODATA: No input data was provided.
-TLD_MALLOC_ERROR: Error during memory allocation.
-TLD_ICONV_ERROR: Error during iconv string conversion.
-TLD_NO_TLD: No top-level domain found in domain string.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>rc</parameter> :</term>
-<listitem><simpara> tld return code
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns a pointer to a statically allocated string
-containing a description of the error with the return code <parameter>rc</parameter>.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="tld-get-4" role="function">
-<title>tld_get_4 ()</title>
-<indexterm zone="tld-get-4"><primary sortas="tld_get_4">tld_get_4</primary></indexterm><programlisting><link linkend="int">int</link> tld_get_4 (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> inlen,
- <link linkend="char">char</link> **out);</programlisting>
-<para>
-Isolate the top-level domain of <parameter>in</parameter> and return it as an ASCII
-string in <parameter>out</parameter>.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> Array of unicode code points to process. Does not need to be
- zero terminated.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>inlen</parameter> :</term>
-<listitem><simpara> Number of unicode code points.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>out</parameter> :</term>
-<listitem><simpara> Zero terminated ascii result string pointer.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Return <link linkend="TLD-SUCCESS--CAPS"><literal>TLD_SUCCESS</literal></link> on success, or the corresponding
- <link linkend="Tld-rc"><type>Tld_rc</type></link> error code otherwise.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="tld-get-4z" role="function">
-<title>tld_get_4z ()</title>
-<indexterm zone="tld-get-4z"><primary sortas="tld_get_4z">tld_get_4z</primary></indexterm><programlisting><link linkend="int">int</link> tld_get_4z (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="char">char</link> **out);</programlisting>
-<para>
-Isolate the top-level domain of <parameter>in</parameter> and return it as an ASCII
-string in <parameter>out</parameter>.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> Zero terminated array of unicode code points to process.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>out</parameter> :</term>
-<listitem><simpara> Zero terminated ascii result string pointer.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Return <link linkend="TLD-SUCCESS--CAPS"><literal>TLD_SUCCESS</literal></link> on success, or the corresponding
- <link linkend="Tld-rc"><type>Tld_rc</type></link> error code otherwise.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="tld-get-z" role="function">
-<title>tld_get_z ()</title>
-<indexterm zone="tld-get-z"><primary sortas="tld_get_z">tld_get_z</primary></indexterm><programlisting><link linkend="int">int</link> tld_get_z (const <link linkend="char">char</link> *in,
- <link linkend="char">char</link> **out);</programlisting>
-<para>
-Isolate the top-level domain of <parameter>in</parameter> and return it as an ASCII
-string in <parameter>out</parameter>. The input string <parameter>in</parameter> may be UTF-8, ISO-8859-1 or
-any ASCII compatible character encoding.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> Zero terminated character array to process.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>out</parameter> :</term>
-<listitem><simpara> Zero terminated ascii result string pointer.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Return <link linkend="TLD-SUCCESS--CAPS"><literal>TLD_SUCCESS</literal></link> on success, or the corresponding
- <link linkend="Tld-rc"><type>Tld_rc</type></link> error code otherwise.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="tld-get-table" role="function">
-<title>tld_get_table ()</title>
-<indexterm zone="tld-get-table"><primary sortas="tld_get_table">tld_get_table</primary></indexterm><programlisting>const <link linkend="Tld-table">Tld_table</link> * tld_get_table (const <link linkend="char">char</link> *tld,
- const <link linkend="Tld-table">Tld_table</link> **tables);</programlisting>
-<para>
-Get the TLD table for a named TLD by searching through the given
-TLD table array.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>tld</parameter> :</term>
-<listitem><simpara> TLD name (e.g. "com") as zero terminated ASCII byte string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>tables</parameter> :</term>
-<listitem><simpara> Zero terminated array of <link linkend="Tld-table"><type>Tld_table</type></link> info-structures for
- TLDs.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Return structure corresponding to TLD <parameter>tld</parameter> by going
- thru <parameter>tables</parameter>, or return <link linkend="NULL--CAPS"><literal>NULL</literal></link> if no such structure is found.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="tld-default-table" role="function">
-<title>tld_default_table ()</title>
-<indexterm zone="tld-default-table"><primary sortas="tld_default_table">tld_default_table</primary></indexterm><programlisting>const <link linkend="Tld-table">Tld_table</link> * tld_default_table (const <link linkend="char">char</link> *tld,
- const <link linkend="Tld-table">Tld_table</link> **overrides);</programlisting>
-<para>
-Get the TLD table for a named TLD, using the internal defaults,
-possibly overrided by the (optional) supplied tables.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>tld</parameter> :</term>
-<listitem><simpara> TLD name (e.g. "com") as zero terminated ASCII byte string.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>overrides</parameter> :</term>
-<listitem><simpara> Additional zero terminated array of <link linkend="Tld-table"><type>Tld_table</type></link>
- info-structures for TLDs, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to only use library deault
- tables.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Return structure corresponding to TLD <parameter>tld_str</parameter>, first
- looking through <parameter>overrides</parameter> then thru built-in list, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if
- no such structure found.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="tld-check-4t" role="function">
-<title>tld_check_4t ()</title>
-<indexterm zone="tld-check-4t"><primary sortas="tld_check_4t">tld_check_4t</primary></indexterm><programlisting><link linkend="int">int</link> tld_check_4t (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> inlen,
- <link linkend="size-t">size_t</link> *errpos,
- const <link linkend="Tld-table">Tld_table</link> *tld);</programlisting>
-<para>
-Test each of the code points in <parameter>in</parameter> for whether or not
-they are allowed by the data structure in <parameter>tld</parameter>, return
-the position of the first character for which this is not
-the case in <parameter>errpos</parameter>.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> Array of unicode code points to process. Does not need to be
- zero terminated.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>inlen</parameter> :</term>
-<listitem><simpara> Number of unicode code points.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>errpos</parameter> :</term>
-<listitem><simpara> Position of offending character is returned here.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>tld</parameter> :</term>
-<listitem><simpara> A <link linkend="Tld-table"><type>Tld_table</type></link> data structure representing the restrictions for
- which the input should be tested.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns the <link linkend="Tld-rc"><type>Tld_rc</type></link> value <link linkend="TLD-SUCCESS--CAPS"><literal>TLD_SUCCESS</literal></link> if all code
- points are valid or when <parameter>tld</parameter> is null, <link linkend="TLD-INVALID--CAPS"><literal>TLD_INVALID</literal></link> if a
- character is not allowed, or additional error codes on general
- failure conditions.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="tld-check-4tz" role="function">
-<title>tld_check_4tz ()</title>
-<indexterm zone="tld-check-4tz"><primary sortas="tld_check_4tz">tld_check_4tz</primary></indexterm><programlisting><link linkend="int">int</link> tld_check_4tz (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> *errpos,
- const <link linkend="Tld-table">Tld_table</link> *tld);</programlisting>
-<para>
-Test each of the code points in <parameter>in</parameter> for whether or not
-they are allowed by the data structure in <parameter>tld</parameter>, return
-the position of the first character for which this is not
-the case in <parameter>errpos</parameter>.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> Zero terminated array of unicode code points to process.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>errpos</parameter> :</term>
-<listitem><simpara> Position of offending character is returned here.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>tld</parameter> :</term>
-<listitem><simpara> A <link linkend="Tld-table"><type>Tld_table</type></link> data structure representing the restrictions for
- which the input should be tested.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns the <link linkend="Tld-rc"><type>Tld_rc</type></link> value <link linkend="TLD-SUCCESS--CAPS"><literal>TLD_SUCCESS</literal></link> if all code
- points are valid or when <parameter>tld</parameter> is null, <link linkend="TLD-INVALID--CAPS"><literal>TLD_INVALID</literal></link> if a
- character is not allowed, or additional error codes on general
- failure conditions.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="tld-check-4" role="function">
-<title>tld_check_4 ()</title>
-<indexterm zone="tld-check-4"><primary sortas="tld_check_4">tld_check_4</primary></indexterm><programlisting><link linkend="int">int</link> tld_check_4 (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> inlen,
- <link linkend="size-t">size_t</link> *errpos,
- const <link linkend="Tld-table">Tld_table</link> **overrides);</programlisting>
-<para>
-Test each of the code points in <parameter>in</parameter> for whether or not they are
-allowed by the information in <parameter>overrides</parameter> or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in <parameter>overrides</parameter>, the information in <parameter>overrides</parameter> takes
-precedence. If several entries for a specific TLD are found, the
-first one is used. If <parameter>overrides</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, only the built-in
-information is used. The position of the first offending character
-is returned in <parameter>errpos</parameter>.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> Array of unicode code points to process. Does not need to be
- zero terminated.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>inlen</parameter> :</term>
-<listitem><simpara> Number of unicode code points.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>errpos</parameter> :</term>
-<listitem><simpara> Position of offending character is returned here.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>overrides</parameter> :</term>
-<listitem><simpara> A <link linkend="Tld-table"><type>Tld_table</type></link> array of additional domain restriction
- structures that complement and supersede the built-in information.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns the <link linkend="Tld-rc"><type>Tld_rc</type></link> value <link linkend="TLD-SUCCESS--CAPS"><literal>TLD_SUCCESS</literal></link> if all code
- points are valid or when <parameter>tld</parameter> is null, <link linkend="TLD-INVALID--CAPS"><literal>TLD_INVALID</literal></link> if a
- character is not allowed, or additional error codes on general
- failure conditions.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="tld-check-4z" role="function">
-<title>tld_check_4z ()</title>
-<indexterm zone="tld-check-4z"><primary sortas="tld_check_4z">tld_check_4z</primary></indexterm><programlisting><link linkend="int">int</link> tld_check_4z (const <link linkend="uint32-t">uint32_t</link> *in,
- <link linkend="size-t">size_t</link> *errpos,
- const <link linkend="Tld-table">Tld_table</link> **overrides);</programlisting>
-<para>
-Test each of the code points in <parameter>in</parameter> for whether or not they are
-allowed by the information in <parameter>overrides</parameter> or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in <parameter>overrides</parameter>, the information in <parameter>overrides</parameter> takes
-precedence. If several entries for a specific TLD are found, the
-first one is used. If <parameter>overrides</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, only the built-in
-information is used. The position of the first offending character
-is returned in <parameter>errpos</parameter>.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> Zero-terminated array of unicode code points to process.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>errpos</parameter> :</term>
-<listitem><simpara> Position of offending character is returned here.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>overrides</parameter> :</term>
-<listitem><simpara> A <link linkend="Tld-table"><type>Tld_table</type></link> array of additional domain restriction
- structures that complement and supersede the built-in information.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns the <link linkend="Tld-rc"><type>Tld_rc</type></link> value <link linkend="TLD-SUCCESS--CAPS"><literal>TLD_SUCCESS</literal></link> if all code
- points are valid or when <parameter>tld</parameter> is null, <link linkend="TLD-INVALID--CAPS"><literal>TLD_INVALID</literal></link> if a
- character is not allowed, or additional error codes on general
- failure conditions.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="tld-check-8z" role="function">
-<title>tld_check_8z ()</title>
-<indexterm zone="tld-check-8z"><primary sortas="tld_check_8z">tld_check_8z</primary></indexterm><programlisting><link linkend="int">int</link> tld_check_8z (const <link linkend="char">char</link> *in,
- <link linkend="size-t">size_t</link> *errpos,
- const <link linkend="Tld-table">Tld_table</link> **overrides);</programlisting>
-<para>
-Test each of the characters in <parameter>in</parameter> for whether or not they are
-allowed by the information in <parameter>overrides</parameter> or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in <parameter>overrides</parameter>, the information in <parameter>overrides</parameter> takes
-precedence. If several entries for a specific TLD are found, the
-first one is used. If <parameter>overrides</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, only the built-in
-information is used. The position of the first offending character
-is returned in <parameter>errpos</parameter>. Note that the error position refers to the
-decoded character offset rather than the byte position in the
-string.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> Zero-terminated UTF8 string to process.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>errpos</parameter> :</term>
-<listitem><simpara> Position of offending character is returned here.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>overrides</parameter> :</term>
-<listitem><simpara> A <link linkend="Tld-table"><type>Tld_table</type></link> array of additional domain restriction
- structures that complement and supersede the built-in information.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns the <link linkend="Tld-rc"><type>Tld_rc</type></link> value <link linkend="TLD-SUCCESS--CAPS"><literal>TLD_SUCCESS</literal></link> if all
- characters are valid or when <parameter>tld</parameter> is null, <link linkend="TLD-INVALID--CAPS"><literal>TLD_INVALID</literal></link> if a
- character is not allowed, or additional error codes on general
- failure conditions.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="tld-check-lz" role="function">
-<title>tld_check_lz ()</title>
-<indexterm zone="tld-check-lz"><primary sortas="tld_check_lz">tld_check_lz</primary></indexterm><programlisting><link linkend="int">int</link> tld_check_lz (const <link linkend="char">char</link> *in,
- <link linkend="size-t">size_t</link> *errpos,
- const <link linkend="Tld-table">Tld_table</link> **overrides);</programlisting>
-<para>
-Test each of the characters in <parameter>in</parameter> for whether or not they are
-allowed by the information in <parameter>overrides</parameter> or by the built-in TLD
-restriction data. When data for the same TLD is available both
-internally and in <parameter>overrides</parameter>, the information in <parameter>overrides</parameter> takes
-precedence. If several entries for a specific TLD are found, the
-first one is used. If <parameter>overrides</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, only the built-in
-information is used. The position of the first offending character
-is returned in <parameter>errpos</parameter>. Note that the error position refers to the
-decoded character offset rather than the byte position in the
-string.</para>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>in</parameter> :</term>
-<listitem><simpara> Zero-terminated string in the current locales encoding to process.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>errpos</parameter> :</term>
-<listitem><simpara> Position of offending character is returned here.
-</simpara></listitem></varlistentry>
-<varlistentry><term><parameter>overrides</parameter> :</term>
-<listitem><simpara> A <link linkend="Tld-table"><type>Tld_table</type></link> array of additional domain restriction
- structures that complement and supersede the built-in information.
-</simpara></listitem></varlistentry>
-<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> Returns the <link linkend="Tld-rc"><type>Tld_rc</type></link> value <link linkend="TLD-SUCCESS--CAPS"><literal>TLD_SUCCESS</literal></link> if all
- characters are valid or when <parameter>tld</parameter> is null, <link linkend="TLD-INVALID--CAPS"><literal>TLD_INVALID</literal></link> if a
- character is not allowed, or additional error codes on general
- failure conditions.
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-
-</refsect1>
-
-
-
-
-</refentry>
+++ /dev/null
-<?xml version="1.0"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<refentry id="libidn-verify">
-<refmeta>
-<refentrytitle role="top_of_page" id="libidn-verify.top_of_page">verify</refentrytitle>
-<manvolnum>3</manvolnum>
-<refmiscinfo>LIBIDN Library</refmiscinfo>
-</refmeta>
-
-<refnamediv>
-<refname>verify</refname>
-<refpurpose></refpurpose>
-</refnamediv>
-
-<refsynopsisdiv id="libidn-verify.synopsis" role="synopsis">
-<title role="synopsis.title">Synopsis</title>
-
-<synopsis>
-#define <link linkend="verify-true">verify_true</link> (R)
-#define <link linkend="verify">verify</link> (R)
-</synopsis>
-</refsynopsisdiv>
-
-
-
-
-
-
-
-
-
-<refsect1 id="libidn-verify.description" role="desc">
-<title role="desc.title">Description</title>
-<para>
-</para>
-</refsect1>
-
-<refsect1 id="libidn-verify.details" role="details">
-<title role="details.title">Details</title>
-<refsect2 id="verify-true" role="macro">
-<title>verify_true()</title>
-<indexterm zone="verify-true"><primary sortas="verify_true">verify_true</primary></indexterm><programlisting>#define verify_true(R)</programlisting>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>R</parameter> :</term>
-<listitem><simpara>
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-<refsect2 id="verify" role="macro">
-<title>verify()</title>
-<indexterm zone="verify"><primary sortas="verify">verify</primary></indexterm><programlisting># define verify(R) extern int (* verify_function__ (void)) [verify_true (R)]
-</programlisting>
-<para>
-</para><variablelist role="params">
-<varlistentry><term><parameter>R</parameter> :</term>
-<listitem><simpara>
-</simpara></listitem></varlistentry>
-</variablelist></refsect2>
-
-</refsect1>
-
-
-
-
-</refentry>
## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Simon Josefsson.
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2011 Simon
+# Josefsson.
#
# This file is part of GNU Libidn.
#
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Simon Josefsson.
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2011 Simon
+# Josefsson.
#
# This file is part of GNU Libidn.
#
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
-@set UPDATED 28 May 2009
-@set UPDATED-MONTH May 2009
-@set EDITION 1.15
-@set VERSION 1.15
+@set UPDATED 25 November 2011
+@set UPDATED-MONTH November 2011
+@set EDITION 1.23
+@set VERSION 1.23
@strong{Return value:} a pointer to a newly allocated UTF-8 string.
This value must be deallocated by the caller.
-If an error occurs, @code{NULL} will be returned and @code{error}
-set.
+If an error occurs, @code{NULL} will be returned.
@end deftypefun
@subheading stringprep_utf8_nfkc_normalize
@strong{PR29_PROBLEM:} A problem sequence was encountered.
@strong{PR29_STRINGPREP_ERROR:} The character set conversion failed (only
-for @code{pr29_8()} and @code{pr29_8z()}).
+for @code{pr29_8z()}).
@strong{Return value:} Returns a pointer to a statically allocated string
containing a description of the error with the return code @code{rc}.
@strong{PR29_PROBLEM:} A problem sequence was encountered.
@strong{PR29_STRINGPREP_ERROR:} The character set conversion failed (only
-for @code{pr29_8()} and @code{pr29_8z()}).
+for @code{pr29_8z()}).
@strong{Return value:} Returns a pointer to a statically allocated string
containing a description of the error with the return code @code{rc}.
@strong{Return value:} a pointer to a newly allocated UTF-8 string.
This value must be deallocated by the caller.
-If an error occurs, @code{NULL} will be returned and @code{error}
-set.
+If an error occurs, @code{NULL} will be returned.
@end deftypefun
-body {
+body {
margin: 2%;
padding: 0 5%;
background: #ffffff;
## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+# Josefsson.
# Copyright (C) 2004 Free Software Foundation, Inc
#
# This file is part of GNU Libidn.
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+# Josefsson.
# Copyright (C) 2004 Free Software Foundation, Inc
#
# This file is part of GNU Libidn.
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
Libidn doc/tld/README -- Notes and definition of the TLD tables.
-Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+Josefsson
Copyright (C) 2004 Free Software Foundation, Inc
See the end for copying conditions.
it will be incorporated in the library.
Experimental tables for various TLDs can be found at
-<http://tldchk.berlios.de>.
+<https://github.com/gnuthor/tldchk>.
The format for the files are as follows. Empty lines or those
starting with '#' are ignored. It is highly recommended to discuss
-# Copyright (C) 2004 Simon Josefsson
+# Copyright (C) 2004, 2010, 2011 Simon Josefsson
# Copyright (C) 2003 Stephane Bortzmeyer <bortzmeyer@nic.fr> / AFNIC
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2010, 2011 Free Software Foundation, Inc.
# Author: Thomas Jacob, Internet24.de.
# Copying and distribution of this file, with or without modification,
-@set UPDATED 28 May 2009
-@set UPDATED-MONTH May 2009
-@set EDITION 1.15
-@set VERSION 1.15
+@set UPDATED 25 November 2011
+@set UPDATED-MONTH November 2011
+@set EDITION 1.23
+@set VERSION 1.23
## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009 Simon Josefsson.
+# Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011
+# Simon Josefsson.
#
# This file is part of GNU Libidn.
#
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009 Simon Josefsson.
+# Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011
+# Simon Josefsson.
#
# This file is part of GNU Libidn.
#
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
example_OBJECTS = example.$(OBJEXT)
example_LDADD = $(LDADD)
example_DEPENDENCIES = ../lib/libidn.la
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
example2_SOURCES = example2.c
example2_OBJECTS = example2.$(OBJEXT)
example2_LDADD = $(LDADD)
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = example.c example2.c example3.c example4.c example5.c
DIST_SOURCES = example.c example2.c example3.c example4.c example5.c
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
rm -f $$list
example$(EXEEXT): $(example_OBJECTS) $(example_DEPENDENCIES)
@rm -f example$(EXEEXT)
- $(LINK) $(example_OBJECTS) $(example_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(example_OBJECTS) $(example_LDADD) $(LIBS)
example2$(EXEEXT): $(example2_OBJECTS) $(example2_DEPENDENCIES)
@rm -f example2$(EXEEXT)
- $(LINK) $(example2_OBJECTS) $(example2_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(example2_OBJECTS) $(example2_LDADD) $(LIBS)
example3$(EXEEXT): $(example3_OBJECTS) $(example3_DEPENDENCIES)
@rm -f example3$(EXEEXT)
- $(LINK) $(example3_OBJECTS) $(example3_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(example3_OBJECTS) $(example3_LDADD) $(LIBS)
example4$(EXEEXT): $(example4_OBJECTS) $(example4_DEPENDENCIES)
@rm -f example4$(EXEEXT)
- $(LINK) $(example4_OBJECTS) $(example4_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(example4_OBJECTS) $(example4_LDADD) $(LIBS)
example5$(EXEEXT): $(example5_OBJECTS) $(example5_DEPENDENCIES)
@rm -f example5$(EXEEXT)
- $(LINK) $(example5_OBJECTS) $(example5_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(example5_OBJECTS) $(example5_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example5.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
Libidn examples/README -- Information about files in examples/ directory.
-Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+Josefsson
See the end for copying conditions.
This directory contains examples on how to use Libidn.
/* example.c --- Example code showing how to use stringprep().
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
fflush (stdout);
fgets (buf, BUFSIZ, stdin);
- printf ("Before locale2utf8 (length %d): ", strlen (buf));
+ printf ("Before locale2utf8 (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
else
printf ("Could not convert string to UTF-8, continuing anyway...\n");
- printf ("Before stringprep (length %d): ", strlen (buf));
+ printf ("Before stringprep (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
printf ("Stringprep failed (%d): %s\n", rc, stringprep_strerror (rc));
else
{
- printf ("After stringprep (length %d): ", strlen (buf));
+ printf ("After stringprep (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
/* example2.c --- Example code showing how to use punycode.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
* Copyright (C) 2002 Adam M. Costello
*
* This file is part of GNU Libidn.
/* example3.c --- Example ToASCII() code showing how to use Libidn.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
fgets (buf, BUFSIZ, stdin);
buf[strlen (buf) - 1] = '\0';
- printf ("Read string (length %d): ", strlen (buf));
+ printf ("Read string (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
if (rc != IDNA_SUCCESS)
{
printf ("ToASCII() failed (%d): %s\n", rc, idna_strerror (rc));
- exit (1);
+ return EXIT_FAILURE;
}
- printf ("ACE label (length %d): '%s'\n", strlen (p), p);
+ printf ("ACE label (length %ld): '%s'\n", strlen (p), p);
for (i = 0; i < strlen (p); i++)
printf ("%02x ", p[i] & 0xFF);
printf ("\n");
/* example4.c --- Example ToUnicode() code showing how to use Libidn.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
fgets (buf, BUFSIZ, stdin);
buf[strlen (buf) - 1] = '\0';
- printf ("Read string (length %d): ", strlen (buf));
+ printf ("Read string (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
if (rc != IDNA_SUCCESS)
{
printf ("ToUnicode() failed (%d): %s\n", rc, idna_strerror (rc));
- exit (1);
+ return EXIT_FAILURE;
}
- printf ("ACE label (length %d): '%s'\n", strlen (p), p);
+ printf ("ACE label (length %ld): '%s'\n", strlen (p), p);
for (i = 0; i < strlen (p); i++)
printf ("%02x ", p[i] & 0xFF);
printf ("\n");
/* example5.c --- Example TLD checking.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson
*
* This file is part of GNU Libidn.
*
fgets (buf, BUFSIZ, stdin);
buf[strlen (buf) - 1] = '\0';
- printf ("Read string (length %d): ", strlen (buf));
+ printf ("Read string (length %ld): ", strlen (buf));
for (i = 0; i < strlen (buf); i++)
printf ("%02x ", buf[i] & 0xFF);
printf ("\n");
return 2;
}
- printf ("ToASCII string (length %d): %s\n", strlen (p), p);
+ printf ("ToASCII string (length %ld): %s\n", strlen (p), p);
rc = idna_to_unicode_8z4z (p, &r, 0);
free (p);
free (r);
if (rc == TLD_INVALID)
{
- printf ("Domain rejected by TLD check, Unicode position %d\n", errpos);
+ printf ("Domain rejected by TLD check, Unicode position %ld\n", errpos);
return 1;
}
else if (rc != TLD_SUCCESS)
## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
+# Copyright (C) 2002-2011 Free Software Foundation, Inc.
#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gltests --aux-dir=build-aux --with-tests --libtool --macro-prefix=gl --no-vc-files autobuild csharpcomp-script error fdl-1.3 gendocs getopt gnupload gpl-3.0 lgpl-2.1 maintainer-makefile manywarnings pmccabe2html progname useless-if-before-free vc-list-files version-etc warnings
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gltests --aux-dir=build-aux --with-tests --avoid=binary-io-tests --avoid=fcntl-h-tests --avoid=stdlib-tests --avoid=string-tests --avoid=sys_stat-tests --avoid=time-tests --avoid=unistd-tests --avoid=update-copyright-tests --avoid=wchar-tests --no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files autobuild csharpcomp-script csharpexec-script error fdl-1.3 gendocs getopt-gnu gnupload gpl-3.0 lgpl-2.1 maintainer-makefile manywarnings pmccabe2html progname update-copyright useless-if-before-free valgrind-tests vc-list-files version-etc warnings
AUTOMAKE_OPTIONS = 1.5 gnits
libgnu_la_DEPENDENCIES = $(gl_LTLIBOBJS)
EXTRA_libgnu_la_SOURCES =
libgnu_la_LDFLAGS = $(AM_LDFLAGS)
+libgnu_la_LDFLAGS += -no-undefined
+libgnu_la_LDFLAGS += $(LTLIBINTL)
## begin gnulib module csharpcomp-script
## end gnulib module csharpcomp-script
+## begin gnulib module csharpexec-script
+
+
+EXTRA_DIST += $(top_srcdir)/build-aux/csharpexec.sh.in
+
+## end gnulib module csharpexec-script
+
## begin gnulib module errno
BUILT_SOURCES += $(ERRNO_H)
# We need the following in order to create <errno.h> when the system
# doesn't have one that is POSIX compliant.
-errno.h: errno.in.h
- rm -f $@-t $@
+if GL_GENERATE_ERRNO_H
+errno.h: errno.in.h $(top_builddir)/config.status
+ $(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \
-e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \
-e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \
-e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \
-e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \
< $(srcdir)/errno.in.h; \
- } > $@-t
+ } > $@-t && \
mv $@-t $@
+else
+errno.h: $(top_builddir)/config.status
+ rm -f $@
+endif
MOSTLYCLEANFILES += errno.h errno.h-t
EXTRA_DIST += errno.in.h
## end gnulib module gendocs
-## begin gnulib module getopt
+## begin gnulib module getopt-posix
BUILT_SOURCES += $(GETOPT_H)
# We need the following in order to create <getopt.h> when the system
# doesn't have one that works with the given compiler.
-getopt.h: getopt.in.h
+getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- cat $(srcdir)/getopt.in.h; \
- } > $@-t
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ < $(srcdir)/getopt.in.h; \
+ } > $@-t && \
mv -f $@-t $@
MOSTLYCLEANFILES += getopt.h getopt.h-t
EXTRA_libgnu_la_SOURCES += getopt.c getopt1.c
-## end gnulib module getopt
+## end gnulib module getopt-posix
## begin gnulib module gettext-h
## end gnulib module intprops
-## begin gnulib module link-warning
+## begin gnulib module maintainer-makefile
+
+EXTRA_DIST += $(top_srcdir)/maint.mk
-LINK_WARNING_H=$(top_srcdir)/build-aux/link-warning.h
+## end gnulib module maintainer-makefile
-EXTRA_DIST += $(top_srcdir)/build-aux/link-warning.h
+## begin gnulib module msvc-inval
-## end gnulib module link-warning
-## begin gnulib module maintainer-makefile
+EXTRA_DIST += msvc-inval.c msvc-inval.h
-EXTRA_DIST += $(top_srcdir)/maint.mk
+EXTRA_libgnu_la_SOURCES += msvc-inval.c
-## end gnulib module maintainer-makefile
+## end gnulib module msvc-inval
+
+## begin gnulib module msvc-nothrow
+
+
+EXTRA_DIST += msvc-nothrow.c msvc-nothrow.h
+
+EXTRA_libgnu_la_SOURCES += msvc-nothrow.c
+
+## end gnulib module msvc-nothrow
## begin gnulib module pmccabe2html
## end gnulib module progname
+## begin gnulib module snippet/arg-nonnull
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+BUILT_SOURCES += arg-nonnull.h
+# The arg-nonnull.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
+# off.
+arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_ARG_NONNULL/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
+
+ARG_NONNULL_H=arg-nonnull.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+
+## end gnulib module snippet/arg-nonnull
+
+## begin gnulib module snippet/c++defs
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+BUILT_SOURCES += c++defs.h
+# The c++defs.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
+c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/_GL_CXXDEFS/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/c++defs.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += c++defs.h c++defs.h-t
+
+CXXDEFS_H=c++defs.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h
+
+## end gnulib module snippet/c++defs
+
+## begin gnulib module snippet/warn-on-use
+
+BUILT_SOURCES += warn-on-use.h
+# The warn-on-use.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
+# off.
+warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/^.ifndef/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
+
+WARN_ON_USE_H=warn-on-use.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h
+
+## end gnulib module snippet/warn-on-use
+
## begin gnulib module stdarg
BUILT_SOURCES += $(STDARG_H)
# We need the following in order to create <stdarg.h> when the system
# doesn't have one that works with the given compiler.
-stdarg.h: stdarg.in.h
- rm -f $@-t $@
+if GL_GENERATE_STDARG_H
+stdarg.h: stdarg.in.h $(top_builddir)/config.status
+ $(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \
< $(srcdir)/stdarg.in.h; \
- } > $@-t
+ } > $@-t && \
mv $@-t $@
+else
+stdarg.h: $(top_builddir)/config.status
+ rm -f $@
+endif
MOSTLYCLEANFILES += stdarg.h stdarg.h-t
EXTRA_DIST += stdarg.in.h
## end gnulib module stdarg
+## begin gnulib module stddef
+
+BUILT_SOURCES += $(STDDEF_H)
+
+# We need the following in order to create <stddef.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_STDDEF_H
+stddef.h: stddef.in.h $(top_builddir)/config.status
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
+ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
+ < $(srcdir)/stddef.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+else
+stddef.h: $(top_builddir)/config.status
+ rm -f $@
+endif
+MOSTLYCLEANFILES += stddef.h stddef.h-t
+
+EXTRA_DIST += stddef.in.h
+
+## end gnulib module stddef
+
## begin gnulib module strerror
## end gnulib module strerror
+## begin gnulib module strerror-override
+
+
+EXTRA_DIST += strerror-override.c strerror-override.h
+
+EXTRA_libgnu_la_SOURCES += strerror-override.c
+
+## end gnulib module strerror-override
+
## begin gnulib module string
BUILT_SOURCES += string.h
# We need the following in order to create <string.h> when the system
# doesn't have one that works with the given compiler.
-string.h: string.in.h
- rm -f $@-t $@
+string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
- -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
- -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \
- -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \
- -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \
- -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \
- -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \
- -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \
- -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \
- -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \
- -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \
- -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \
- -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \
- -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \
- -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \
- -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \
- -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \
- -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \
- -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \
- -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \
- -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \
- -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \
- -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \
- -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \
- -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \
- -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \
- -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \
- -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \
- -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \
- -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \
- -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \
- -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \
- -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \
+ -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
+ -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
+ -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
+ -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \
+ -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \
+ -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \
+ -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \
+ -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \
+ -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \
+ -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \
+ -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \
+ -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \
+ -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \
+ -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \
+ -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \
+ -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \
+ -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \
+ -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \
+ -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \
+ -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \
+ -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \
+ -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \
+ -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \
+ -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \
+ -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \
+ -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \
+ -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \
+ -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \
+ -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \
+ -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \
+ -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \
+ -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \
+ -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \
+ -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \
+ -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \
+ -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
+ -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
+ < $(srcdir)/string.in.h | \
+ sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
+ -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
+ -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
+ -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
-e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
-e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
-e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
-e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
-e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
-e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
- -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \
-e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
-e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
-e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
-e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
-e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
-e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
- -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \
+ -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
-e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
-e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
+ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
+ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
-e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
-e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
+ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
-e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
-e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
-e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
+ -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
+ -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
+ -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
+ -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
-e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
+ -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
+ -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
< $(srcdir)/string.in.h; \
- } > $@-t
+ } > $@-t && \
mv $@-t $@
MOSTLYCLEANFILES += string.h string.h-t
# We need the following in order to create an empty placeholder for
# <unistd.h> when the system doesn't have one.
-unistd.h: unistd.in.h
- rm -f $@-t $@
+unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
- -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \
- -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \
- -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \
- -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \
- -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \
- -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \
- -e 's|@''GNULIB_FSYNC''@|$(GNULIB_FSYNC)|g' \
- -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \
- -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \
- -e 's|@''GNULIB_GETDOMAINNAME''@|$(GNULIB_GETDOMAINNAME)|g' \
- -e 's|@''GNULIB_GETDTABLESIZE''@|$(GNULIB_GETDTABLESIZE)|g' \
- -e 's|@''GNULIB_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \
- -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \
- -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \
- -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \
- -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \
- -e 's|@''GNULIB_LINK''@|$(GNULIB_LINK)|g' \
- -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \
- -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \
- -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \
- -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \
- -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \
+ -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \
+ -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
+ -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
+ -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \
+ -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
+ -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
+ -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \
+ -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \
+ -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \
+ -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \
+ -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \
+ -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \
+ -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \
+ -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \
+ -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \
+ -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \
+ -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \
+ -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \
+ -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \
+ -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
+ -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
+ -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
+ -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
+ -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
+ -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
+ -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
+ -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
+ -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \
+ -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \
+ -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \
+ -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \
+ -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \
+ -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \
+ -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \
+ -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \
+ -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \
+ -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
+ -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
+ -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
+ -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
+ -e 's/@''GNULIB_UNISTD_H_GETOPT''@/$(GNULIB_UNISTD_H_GETOPT)/g' \
+ -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
+ -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
+ -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
+ -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \
+ -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \
+ -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \
+ < $(srcdir)/unistd.in.h | \
+ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
-e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
+ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
-e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
+ -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
+ -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
+ -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
+ -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \
-e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
-e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
- -e 's|@''HAVE_GETDOMAINNAME''@|$(HAVE_GETDOMAINNAME)|g' \
-e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
+ -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
-e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
+ -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \
-e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
- -e 's|@''HAVE_GETUSERSHELL''@|$(HAVE_GETUSERSHELL)|g' \
+ -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
+ -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
-e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
+ -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \
+ -e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \
+ -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \
+ -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \
+ -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \
-e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
+ -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
-e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
+ -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
+ -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
+ -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
+ -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
-e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
+ -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
+ -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
+ -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
-e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
+ -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
+ -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
+ -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
-e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
-e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
- -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
+ | \
+ sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
-e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
- -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
+ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
+ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
+ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
-e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
+ -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
+ -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
+ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
-e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
-e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
+ -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
+ -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
-e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
+ -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
+ -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
+ -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
+ -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
+ -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
+ -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
+ -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
+ -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
+ -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
+ -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
+ -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \
-e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
-e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/unistd.in.h; \
- } > $@-t
+ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
mv $@-t $@
MOSTLYCLEANFILES += unistd.h unistd.h-t
## end gnulib module unistd
+## begin gnulib module update-copyright
+
+
+EXTRA_DIST += $(top_srcdir)/build-aux/update-copyright
+
+## end gnulib module update-copyright
+
## begin gnulib module useless-if-before-free
## end gnulib module vc-list-files
+## begin gnulib module verify
+
+
+EXTRA_DIST += verify.h
+
+## end gnulib module verify
+
## begin gnulib module version-etc
libgnu_la_SOURCES += version-etc.h version-etc.c
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
+# Copyright (C) 2002-2011 Free Software Foundation, Inc.
#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gltests --aux-dir=build-aux --with-tests --libtool --macro-prefix=gl --no-vc-files autobuild csharpcomp-script error fdl-1.3 gendocs getopt gnupload gpl-3.0 lgpl-2.1 maintainer-makefile manywarnings pmccabe2html progname useless-if-before-free vc-list-files version-etc warnings
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gltests --aux-dir=build-aux --with-tests --avoid=binary-io-tests --avoid=fcntl-h-tests --avoid=stdlib-tests --avoid=string-tests --avoid=sys_stat-tests --avoid=time-tests --avoid=unistd-tests --avoid=update-copyright-tests --avoid=wchar-tests --no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files autobuild csharpcomp-script csharpexec-script error fdl-1.3 gendocs getopt-gnu gnupload gpl-3.0 lgpl-2.1 maintainer-makefile manywarnings pmccabe2html progname update-copyright useless-if-before-free valgrind-tests vc-list-files version-etc warnings
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
am__DEPENDENCIES_1 =
am_libgnu_la_OBJECTS = progname.lo version-etc.lo
libgnu_la_OBJECTS = $(am_libgnu_la_OBJECTS)
-libgnu_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+libgnu_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libgnu_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libgnu_la_SOURCES) $(EXTRA_libgnu_la_SOURCES)
DIST_SOURCES = $(libgnu_la_SOURCES) $(EXTRA_libgnu_la_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
noinst_LIBRARIES =
noinst_LTLIBRARIES = libgnu.la
EXTRA_DIST = m4/gnulib-cache.m4 \
- $(top_srcdir)/build-aux/csharpcomp.sh.in errno.in.h error.c \
+ $(top_srcdir)/build-aux/csharpcomp.sh.in \
+ $(top_srcdir)/build-aux/csharpexec.sh.in errno.in.h error.c \
error.h $(top_srcdir)/build-aux/gendocs.sh getopt.c \
getopt.in.h getopt1.c getopt_int.h $(top_srcdir)/GNUmakefile \
$(top_srcdir)/build-aux/gnupload intprops.h \
- $(top_srcdir)/build-aux/link-warning.h $(top_srcdir)/maint.mk \
+ $(top_srcdir)/maint.mk msvc-inval.c msvc-inval.h \
+ msvc-nothrow.c msvc-nothrow.h \
$(top_srcdir)/build-aux/pmccabe2html \
- $(top_srcdir)/build-aux/pmccabe.css stdarg.in.h strerror.c \
+ $(top_srcdir)/build-aux/pmccabe.css \
+ $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ $(top_srcdir)/build-aux/snippet/c++defs.h \
+ $(top_srcdir)/build-aux/snippet/warn-on-use.h stdarg.in.h \
+ stddef.in.h strerror.c strerror-override.c strerror-override.h \
string.in.h unistd.in.h \
+ $(top_srcdir)/build-aux/update-copyright \
$(top_srcdir)/build-aux/useless-if-before-free \
- $(top_srcdir)/build-aux/vc-list-files
-BUILT_SOURCES = $(ERRNO_H) $(GETOPT_H) $(STDARG_H) string.h unistd.h
+ $(top_srcdir)/build-aux/vc-list-files verify.h
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+BUILT_SOURCES = $(ERRNO_H) $(GETOPT_H) arg-nonnull.h c++defs.h \
+ warn-on-use.h $(STDARG_H) $(STDDEF_H) string.h unistd.h
SUFFIXES =
MOSTLYCLEANFILES = core *.stackdump errno.h errno.h-t getopt.h \
- getopt.h-t stdarg.h stdarg.h-t string.h string.h-t unistd.h \
- unistd.h-t
+ getopt.h-t arg-nonnull.h arg-nonnull.h-t c++defs.h c++defs.h-t \
+ warn-on-use.h warn-on-use.h-t stdarg.h stdarg.h-t stddef.h \
+ stddef.h-t string.h string.h-t unistd.h unistd.h-t
MOSTLYCLEANDIRS =
CLEANFILES =
DISTCLEANFILES =
version-etc.c
libgnu_la_LIBADD = $(gl_LTLIBOBJS)
libgnu_la_DEPENDENCIES = $(gl_LTLIBOBJS)
-EXTRA_libgnu_la_SOURCES = error.c getopt.c getopt1.c strerror.c
-libgnu_la_LDFLAGS = $(AM_LDFLAGS)
-LINK_WARNING_H = $(top_srcdir)/build-aux/link-warning.h
+EXTRA_libgnu_la_SOURCES = error.c getopt.c getopt1.c msvc-inval.c \
+ msvc-nothrow.c strerror.c strerror-override.c
+libgnu_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(LTLIBINTL)
+ARG_NONNULL_H = arg-nonnull.h
+CXXDEFS_H = c++defs.h
+WARN_ON_USE_H = warn-on-use.h
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-recursive
rm -f "$${dir}/so_locations"; \
done
libgnu.la: $(libgnu_la_OBJECTS) $(libgnu_la_DEPENDENCIES)
- $(libgnu_la_LINK) $(libgnu_la_OBJECTS) $(libgnu_la_LIBADD) $(LIBS)
+ $(AM_V_CCLD)$(libgnu_la_LINK) $(libgnu_la_OBJECTS) $(libgnu_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-inval.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvc-nothrow.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progname.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror-override.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strerror.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc.Plo@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
# We need the following in order to create <errno.h> when the system
# doesn't have one that is POSIX compliant.
-errno.h: errno.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \
- -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \
- -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \
- -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \
- -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \
- -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \
- -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \
- < $(srcdir)/errno.in.h; \
- } > $@-t
- mv $@-t $@
+@GL_GENERATE_ERRNO_H_TRUE@errno.h: errno.in.h $(top_builddir)/config.status
+@GL_GENERATE_ERRNO_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_ERRNO_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+@GL_GENERATE_ERRNO_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \
+@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \
+@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \
+@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \
+@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \
+@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \
+@GL_GENERATE_ERRNO_H_TRUE@ -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \
+@GL_GENERATE_ERRNO_H_TRUE@ < $(srcdir)/errno.in.h; \
+@GL_GENERATE_ERRNO_H_TRUE@ } > $@-t && \
+@GL_GENERATE_ERRNO_H_TRUE@ mv $@-t $@
+@GL_GENERATE_ERRNO_H_FALSE@errno.h: $(top_builddir)/config.status
+@GL_GENERATE_ERRNO_H_FALSE@ rm -f $@
# We need the following in order to create <getopt.h> when the system
# doesn't have one that works with the given compiler.
-getopt.h: getopt.in.h
+getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- cat $(srcdir)/getopt.in.h; \
- } > $@-t
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''HAVE_GETOPT_H''@|$(HAVE_GETOPT_H)|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_GETOPT_H''@|$(NEXT_GETOPT_H)|g' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ < $(srcdir)/getopt.in.h; \
+ } > $@-t && \
mv -f $@-t $@
distclean-local: clean-GNUmakefile
clean-GNUmakefile:
test x'$(VPATH)' != x && rm -f $(top_builddir)/GNUmakefile || :
+# The arg-nonnull.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
+# off.
+arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_ARG_NONNULL/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ > $@-t && \
+ mv $@-t $@
+# The c++defs.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
+c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/_GL_CXXDEFS/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/c++defs.h \
+ > $@-t && \
+ mv $@-t $@
+# The warn-on-use.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
+# off.
+warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/^.ifndef/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
+ > $@-t && \
+ mv $@-t $@
# We need the following in order to create <stdarg.h> when the system
# doesn't have one that works with the given compiler.
-stdarg.h: stdarg.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \
- < $(srcdir)/stdarg.in.h; \
- } > $@-t
- mv $@-t $@
+@GL_GENERATE_STDARG_H_TRUE@stdarg.h: stdarg.in.h $(top_builddir)/config.status
+@GL_GENERATE_STDARG_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_STDARG_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+@GL_GENERATE_STDARG_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+@GL_GENERATE_STDARG_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_STDARG_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_STDARG_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_STDARG_H_TRUE@ -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \
+@GL_GENERATE_STDARG_H_TRUE@ < $(srcdir)/stdarg.in.h; \
+@GL_GENERATE_STDARG_H_TRUE@ } > $@-t && \
+@GL_GENERATE_STDARG_H_TRUE@ mv $@-t $@
+@GL_GENERATE_STDARG_H_FALSE@stdarg.h: $(top_builddir)/config.status
+@GL_GENERATE_STDARG_H_FALSE@ rm -f $@
+
+# We need the following in order to create <stddef.h> when the system
+# doesn't have one that works with the given compiler.
+@GL_GENERATE_STDDEF_H_TRUE@stddef.h: stddef.in.h $(top_builddir)/config.status
+@GL_GENERATE_STDDEF_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_STDDEF_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+@GL_GENERATE_STDDEF_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ < $(srcdir)/stddef.in.h; \
+@GL_GENERATE_STDDEF_H_TRUE@ } > $@-t && \
+@GL_GENERATE_STDDEF_H_TRUE@ mv $@-t $@
+@GL_GENERATE_STDDEF_H_FALSE@stddef.h: $(top_builddir)/config.status
+@GL_GENERATE_STDDEF_H_FALSE@ rm -f $@
# We need the following in order to create <string.h> when the system
# doesn't have one that works with the given compiler.
-string.h: string.in.h
- rm -f $@-t $@
+string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
- -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
- -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \
- -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \
- -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \
- -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \
- -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \
- -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \
- -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \
- -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \
- -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \
- -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \
- -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \
- -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \
- -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \
- -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \
- -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \
- -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \
- -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \
- -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \
- -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \
- -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \
- -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \
- -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \
- -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \
- -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \
- -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \
- -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \
- -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \
- -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \
- -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \
- -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \
- -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \
+ -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
+ -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
+ -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
+ -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \
+ -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \
+ -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \
+ -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \
+ -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \
+ -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \
+ -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \
+ -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \
+ -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \
+ -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \
+ -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \
+ -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \
+ -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \
+ -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \
+ -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \
+ -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \
+ -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \
+ -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \
+ -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \
+ -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \
+ -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \
+ -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \
+ -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \
+ -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \
+ -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \
+ -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \
+ -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \
+ -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \
+ -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \
+ -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \
+ -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \
+ -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \
+ -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
+ -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
+ < $(srcdir)/string.in.h | \
+ sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
+ -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
+ -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
+ -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
-e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
-e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
-e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
-e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
-e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
-e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
- -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \
-e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
-e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
-e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
-e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
-e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
-e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
- -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \
+ -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
-e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
-e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
+ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
+ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
-e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
-e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
+ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
-e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
-e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
-e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
+ -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
+ -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
+ -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
+ -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
-e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
+ -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
+ -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
< $(srcdir)/string.in.h; \
- } > $@-t
+ } > $@-t && \
mv $@-t $@
# We need the following in order to create an empty placeholder for
# <unistd.h> when the system doesn't have one.
-unistd.h: unistd.in.h
- rm -f $@-t $@
+unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
- -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \
- -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \
- -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \
- -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \
- -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \
- -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \
- -e 's|@''GNULIB_FSYNC''@|$(GNULIB_FSYNC)|g' \
- -e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \
- -e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \
- -e 's|@''GNULIB_GETDOMAINNAME''@|$(GNULIB_GETDOMAINNAME)|g' \
- -e 's|@''GNULIB_GETDTABLESIZE''@|$(GNULIB_GETDTABLESIZE)|g' \
- -e 's|@''GNULIB_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \
- -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \
- -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \
- -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \
- -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \
- -e 's|@''GNULIB_LINK''@|$(GNULIB_LINK)|g' \
- -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \
- -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \
- -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \
- -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \
- -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \
+ -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \
+ -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
+ -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
+ -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \
+ -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
+ -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
+ -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \
+ -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \
+ -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \
+ -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \
+ -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \
+ -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \
+ -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \
+ -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \
+ -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \
+ -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \
+ -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \
+ -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \
+ -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \
+ -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
+ -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
+ -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
+ -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
+ -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
+ -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
+ -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
+ -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
+ -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \
+ -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \
+ -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \
+ -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \
+ -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \
+ -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \
+ -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \
+ -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \
+ -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \
+ -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
+ -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
+ -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
+ -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
+ -e 's/@''GNULIB_UNISTD_H_GETOPT''@/$(GNULIB_UNISTD_H_GETOPT)/g' \
+ -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
+ -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
+ -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
+ -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \
+ -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \
+ -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \
+ < $(srcdir)/unistd.in.h | \
+ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
-e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
+ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
-e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
+ -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
+ -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
+ -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
+ -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \
-e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
-e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
- -e 's|@''HAVE_GETDOMAINNAME''@|$(HAVE_GETDOMAINNAME)|g' \
-e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
+ -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
-e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
+ -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \
-e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
- -e 's|@''HAVE_GETUSERSHELL''@|$(HAVE_GETUSERSHELL)|g' \
+ -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
+ -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
-e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
+ -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \
+ -e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \
+ -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \
+ -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \
+ -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \
-e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
+ -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
-e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
+ -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
+ -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
+ -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
+ -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
-e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
+ -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
+ -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
+ -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
-e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
+ -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
+ -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
+ -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
-e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
-e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
- -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
+ | \
+ sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
-e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
- -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
+ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
+ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
+ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
-e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
+ -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
+ -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
+ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
-e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
-e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
+ -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
+ -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
-e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
+ -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
+ -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
+ -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
+ -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
+ -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
+ -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
+ -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
+ -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
+ -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
+ -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
+ -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \
-e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
-e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/unistd.in.h; \
- } > $@-t
+ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
mv $@-t $@
mostlyclean-local: mostlyclean-generic
/* A POSIX-like <errno.h>.
- Copyright (C) 2008 Free Software Foundation, Inc.
+ Copyright (C) 2008-2011 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-#ifndef _GL_ERRNO_H
+#ifndef _@GUARD_PREFIX@_ERRNO_H
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
/* The include_next requires a split double-inclusion guard. */
#@INCLUDE_NEXT@ @NEXT_ERRNO_H@
-#ifndef _GL_ERRNO_H
-#define _GL_ERRNO_H
+#ifndef _@GUARD_PREFIX@_ERRNO_H
+#define _@GUARD_PREFIX@_ERRNO_H
/* On native Windows platforms, many macros are not defined. */
# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* POSIX says that EAGAIN and EWOULDBLOCK may have the same value. */
-# define EWOULDBLOCK EAGAIN
-
-/* Values >= 100 seem safe to use. */
-# define ETXTBSY 100
-# define GNULIB_defined_ETXTBSY 1
+/* These are the same values as defined by MSVC 10, for interoperability. */
+
+# ifndef ENOMSG
+# define ENOMSG 122
+# define GNULIB_defined_ENOMSG 1
+# endif
+
+# ifndef EIDRM
+# define EIDRM 111
+# define GNULIB_defined_EIDRM 1
+# endif
+
+# ifndef ENOLINK
+# define ENOLINK 121
+# define GNULIB_defined_ENOLINK 1
+# endif
+
+# ifndef EPROTO
+# define EPROTO 134
+# define GNULIB_defined_EPROTO 1
+# endif
+
+# ifndef EBADMSG
+# define EBADMSG 104
+# define GNULIB_defined_EBADMSG 1
+# endif
+
+# ifndef EOVERFLOW
+# define EOVERFLOW 132
+# define GNULIB_defined_EOVERFLOW 1
+# endif
+
+# ifndef ENOTSUP
+# define ENOTSUP 129
+# define GNULIB_defined_ENOTSUP 1
+# endif
+
+# ifndef ENETRESET
+# define ENETRESET 117
+# define GNULIB_defined_ENETRESET 1
+# endif
+
+# ifndef ECONNABORTED
+# define ECONNABORTED 106
+# define GNULIB_defined_ECONNABORTED 1
+# endif
+
+# ifndef ECANCELED
+# define ECANCELED 105
+# define GNULIB_defined_ECANCELED 1
+# endif
+
+# ifndef EINPROGRESS
+# define EINPROGRESS 112
+# define EALREADY 103
+# define ENOTSOCK 128
+# define EDESTADDRREQ 109
+# define EMSGSIZE 115
+# define EPROTOTYPE 136
+# define ENOPROTOOPT 123
+# define EPROTONOSUPPORT 135
+# define EOPNOTSUPP 130
+# define EAFNOSUPPORT 102
+# define EADDRINUSE 100
+# define EADDRNOTAVAIL 101
+# define ENETDOWN 116
+# define ENETUNREACH 118
+# define ECONNRESET 108
+# define ENOBUFS 119
+# define EISCONN 113
+# define ENOTCONN 126
+# define ETIMEDOUT 138
+# define ECONNREFUSED 107
+# define ELOOP 114
+# define EHOSTUNREACH 110
+# define EWOULDBLOCK 140
+# define ETXTBSY 139
+# define ENODATA 120 /* not required by POSIX */
+# define ENOSR 124 /* not required by POSIX */
+# define ENOSTR 125 /* not required by POSIX */
+# define ENOTRECOVERABLE 127 /* not required by POSIX */
+# define EOWNERDEAD 133 /* not required by POSIX */
+# define ETIME 137 /* not required by POSIX */
+# define EOTHER 131 /* not required by POSIX */
+# define GNULIB_defined_ESOCK 1
+# endif
/* These are intentionally the same values as the WSA* error numbers, defined
in <winsock2.h>. */
-# define EINPROGRESS 10036
-# define EALREADY 10037
-# define ENOTSOCK 10038
-# define EDESTADDRREQ 10039
-# define EMSGSIZE 10040
-# define EPROTOTYPE 10041
-# define ENOPROTOOPT 10042
-# define EPROTONOSUPPORT 10043
# define ESOCKTNOSUPPORT 10044 /* not required by POSIX */
-# define EOPNOTSUPP 10045
# define EPFNOSUPPORT 10046 /* not required by POSIX */
-# define EAFNOSUPPORT 10047
-# define EADDRINUSE 10048
-# define EADDRNOTAVAIL 10049
-# define ENETDOWN 10050
-# define ENETUNREACH 10051
-# define ENETRESET 10052
-# define ECONNABORTED 10053
-# define ECONNRESET 10054
-# define ENOBUFS 10055
-# define EISCONN 10056
-# define ENOTCONN 10057
# define ESHUTDOWN 10058 /* not required by POSIX */
# define ETOOMANYREFS 10059 /* not required by POSIX */
-# define ETIMEDOUT 10060
-# define ECONNREFUSED 10061
-# define ELOOP 10062
# define EHOSTDOWN 10064 /* not required by POSIX */
-# define EHOSTUNREACH 10065
# define EPROCLIM 10067 /* not required by POSIX */
# define EUSERS 10068 /* not required by POSIX */
# define EDQUOT 10069
# define ESTALE 10070
# define EREMOTE 10071 /* not required by POSIX */
-# define GNULIB_defined_ESOCK 1
+# define GNULIB_defined_EWINSOCK 1
# endif
/* On OpenBSD 4.0 and on native Windows, the macros ENOMSG, EIDRM, ENOLINK,
EPROTO, EMULTIHOP, EBADMSG, EOVERFLOW, ENOTSUP, ECANCELED are not defined.
+ Likewise, on NonStop Kernel, EDQUOT is not defined.
Define them here. Values >= 2000 seem safe to use: Solaris ESTALE = 151,
HP-UX EWOULDBLOCK = 246, IRIX EDQUOT = 1133.
# define GNULIB_defined_ENOTSUP 1
# endif
+# ifndef ENETRESET
+# define ENETRESET 2011
+# define GNULIB_defined_ENETRESET 1
+# endif
+
+# ifndef ECONNABORTED
+# define ECONNABORTED 2012
+# define GNULIB_defined_ECONNABORTED 1
+# endif
+
+# ifndef ESTALE
+# define ESTALE 2009
+# define GNULIB_defined_ESTALE 1
+# endif
+
+# ifndef EDQUOT
+# define EDQUOT 2010
+# define GNULIB_defined_EDQUOT 1
+# endif
+
# ifndef ECANCELED
# define ECANCELED 2008
# define GNULIB_defined_ECANCELED 1
# endif
-#endif /* _GL_ERRNO_H */
-#endif /* _GL_ERRNO_H */
+#endif /* _@GUARD_PREFIX@_ERRNO_H */
+#endif /* _@GUARD_PREFIX@_ERRNO_H */
/* Error handler for noninteractive utilities
- Copyright (C) 1990-1998, 2000-2007 Free Software Foundation, Inc.
+ Copyright (C) 1990-1998, 2000-2007, 2009-2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
extern void __error (int status, int errnum, const char *message, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
extern void __error_at_line (int status, int errnum, const char *file_name,
- unsigned int line_number, const char *message,
- ...)
+ unsigned int line_number, const char *message,
+ ...)
__attribute__ ((__format__ (__printf__, 5, 6)));;
# define error __error
# define error_at_line __error_at_line
#else /* not _LIBC */
-# if !HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P
+# include <fcntl.h>
+# include <unistd.h>
+
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* Get declarations of the Win32 API functions. */
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+/* Get _get_osfhandle. */
+# include "msvc-nothrow.h"
+# endif
+
+/* The gnulib override of fcntl is not needed in this file. */
+# undef fcntl
+
+# if !HAVE_DECL_STRERROR_R
# ifndef HAVE_DECL_STRERROR_R
"this configure-time declaration test was not run"
# endif
+# if STRERROR_R_CHAR_P
char *strerror_r ();
+# else
+int strerror_r ();
+# endif
# endif
/* The calling program should define program_name and set it to the
# if HAVE_STRERROR_R || defined strerror_r
# define __strerror_r strerror_r
-# endif /* HAVE_STRERROR_R || defined strerror_r */
-#endif /* not _LIBC */
+# endif /* HAVE_STRERROR_R || defined strerror_r */
+#endif /* not _LIBC */
+
+#if !_LIBC
+/* Return non-zero if FD is open. */
+static inline int
+is_open (int fd)
+{
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+ /* On Win32: The initial state of unassigned standard file descriptors is
+ that they are open but point to an INVALID_HANDLE_VALUE. There is no
+ fcntl, and the gnulib replacement fcntl does not support F_GETFL. */
+ return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE;
+# else
+# ifndef F_GETFL
+# error Please port fcntl to your platform
+# endif
+ return 0 <= fcntl (fd, F_GETFL);
+# endif
+}
+#endif
+
+static inline void
+flush_stdout (void)
+{
+#if !_LIBC
+ int stdout_fd;
+
+# if GNULIB_FREOPEN_SAFER
+ /* Use of gnulib's freopen-safer module normally ensures that
+ fileno (stdout) == 1
+ whenever stdout is open. */
+ stdout_fd = STDOUT_FILENO;
+# else
+ /* POSIX states that fileno (stdout) after fclose is unspecified. But in
+ practice it is not a problem, because stdout is statically allocated and
+ the fd of a FILE stream is stored as a field in its allocated memory. */
+ stdout_fd = fileno (stdout);
+# endif
+ /* POSIX states that fflush (stdout) after fclose is unspecified; it
+ is safe in glibc, but not on all other platforms. fflush (NULL)
+ is always defined, but too draconian. */
+ if (0 <= stdout_fd && is_open (stdout_fd))
+#endif
+ fflush (stdout);
+}
static void
print_errno_message (int errnum)
bool use_malloc = false;
while (1)
- {
- if (__libc_use_alloca (len * sizeof (wchar_t)))
- wmessage = (wchar_t *) alloca (len * sizeof (wchar_t));
- else
- {
- if (!use_malloc)
- wmessage = NULL;
-
- wchar_t *p = (wchar_t *) realloc (wmessage,
- len * sizeof (wchar_t));
- if (p == NULL)
- {
- free (wmessage);
- fputws_unlocked (L"out of memory\n", stderr);
- return;
- }
- wmessage = p;
- use_malloc = true;
- }
-
- memset (&st, '\0', sizeof (st));
- tmp = message;
-
- res = mbsrtowcs (wmessage, &tmp, len, &st);
- if (res != len)
- break;
-
- if (__builtin_expect (len >= SIZE_MAX / 2, 0))
- {
- /* This really should not happen if everything is fine. */
- res = (size_t) -1;
- break;
- }
-
- len *= 2;
- }
+ {
+ if (__libc_use_alloca (len * sizeof (wchar_t)))
+ wmessage = (wchar_t *) alloca (len * sizeof (wchar_t));
+ else
+ {
+ if (!use_malloc)
+ wmessage = NULL;
+
+ wchar_t *p = (wchar_t *) realloc (wmessage,
+ len * sizeof (wchar_t));
+ if (p == NULL)
+ {
+ free (wmessage);
+ fputws_unlocked (L"out of memory\n", stderr);
+ return;
+ }
+ wmessage = p;
+ use_malloc = true;
+ }
+
+ memset (&st, '\0', sizeof (st));
+ tmp = message;
+
+ res = mbsrtowcs (wmessage, &tmp, len, &st);
+ if (res != len)
+ break;
+
+ if (__builtin_expect (len >= SIZE_MAX / 2, 0))
+ {
+ /* This really should not happen if everything is fine. */
+ res = (size_t) -1;
+ break;
+ }
+
+ len *= 2;
+ }
if (res == (size_t) -1)
- {
- /* The string cannot be converted. */
- if (use_malloc)
- {
- free (wmessage);
- use_malloc = false;
- }
- wmessage = (wchar_t *) L"???";
- }
+ {
+ /* The string cannot be converted. */
+ if (use_malloc)
+ {
+ free (wmessage);
+ use_malloc = false;
+ }
+ wmessage = (wchar_t *) L"???";
+ }
__vfwprintf (stderr, wmessage, args);
if (use_malloc)
- free (wmessage);
+ free (wmessage);
}
else
#endif
cancellation. Therefore disable cancellation for now. */
int state = PTHREAD_CANCEL_ENABLE;
__libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state),
- 0);
+ 0);
#endif
- fflush (stdout);
+ flush_stdout ();
#ifdef _LIBC
_IO_flockfile (stderr);
#endif
void
error_at_line (int status, int errnum, const char *file_name,
- unsigned int line_number, const char *message, ...)
+ unsigned int line_number, const char *message, ...)
{
va_list args;
static unsigned int old_line_number;
if (old_line_number == line_number
- && (file_name == old_file_name
- || strcmp (old_file_name, file_name) == 0))
- /* Simply return and print nothing. */
- return;
+ && (file_name == old_file_name
+ || strcmp (old_file_name, file_name) == 0))
+ /* Simply return and print nothing. */
+ return;
old_file_name = file_name;
old_line_number = line_number;
cancellation. Therefore disable cancellation for now. */
int state = PTHREAD_CANCEL_ENABLE;
__libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state),
- 0);
+ 0);
#endif
- fflush (stdout);
+ flush_stdout ();
#ifdef _LIBC
_IO_flockfile (stderr);
#endif
#if _LIBC
__fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ",
- file_name, line_number);
+ file_name, line_number);
#else
fprintf (stderr, file_name != NULL ? "%s:%d: " : " ",
- file_name, line_number);
+ file_name, line_number);
#endif
va_start (args, message);
/* Declaration for error-reporting function
- Copyright (C) 1995, 1996, 1997, 2003, 2006, 2008 Free Software Foundation, Inc.
+ Copyright (C) 1995-1997, 2003, 2006, 2008-2011 Free Software Foundation,
+ Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
#ifndef _ERROR_H
#define _ERROR_H 1
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
-# define __attribute__(Spec) /* empty */
-# endif
-/* The __-protected variants of `format' and `printf' attributes
- are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
-# define __format__ format
-# define __printf__ printf
-# endif
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+ The __-protected variants of the attributes 'format' and 'printf' are
+ accepted by gcc versions 2.6.4 (effectively 2.7) and later.
+ We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because
+ gnulib and libintl do '#define printf __printf__' when they override
+ the 'printf' function. */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
+#else
+# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
#endif
-#ifdef __cplusplus
+#ifdef __cplusplus
extern "C" {
#endif
If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
extern void error (int __status, int __errnum, const char *__format, ...)
- __attribute__ ((__format__ (__printf__, 3, 4)));
+ _GL_ATTRIBUTE_FORMAT ((__printf__, 3, 4));
extern void error_at_line (int __status, int __errnum, const char *__fname,
- unsigned int __lineno, const char *__format, ...)
- __attribute__ ((__format__ (__printf__, 5, 6)));
+ unsigned int __lineno, const char *__format, ...)
+ _GL_ATTRIBUTE_FORMAT ((__printf__, 5, 6));
/* If NULL, error will flush stdout, then print on stderr the program
name, a colon and a space. Otherwise, error will call this
variable controls whether this mode is selected or not. */
extern int error_one_per_line;
-#ifdef __cplusplus
+#ifdef __cplusplus
}
#endif
/* Getopt for GNU.
- NOTE: getopt is now part of the C library, so if you don't know what
+ NOTE: getopt is part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
- Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002,2003,2004,2006,2008
- Free Software Foundation, Inc.
+ Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2011 Free Software
+ Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
# include <wchar.h>
#endif
-#ifndef attribute_hidden
-# define attribute_hidden
-#endif
-
-/* Unlike standard Unix `getopt', functions like `getopt_long'
- let the user intersperse the options with the other arguments.
+/* This version of `getopt' appears to the caller like standard Unix `getopt'
+ but it behaves differently for the user, since it allows the user
+ to intersperse the options with the other arguments.
As `getopt_long' works, it permutes the elements of ARGV so that,
when it is done, all the options precede everything else. Thus
Using `getopt' or setting the environment variable POSIXLY_CORRECT
disables permutation.
- Then the application's behavior is completely standard.
+ Then the behavior is completely standard.
GNU application programs can use a third alternative mode in which
they can distinguish the relative order of options and other arguments. */
# ifdef USE_NONOPTION_FLAGS
# define SWAP_FLAGS(ch1, ch2) \
- if (d->__nonoption_flags_len > 0) \
- { \
- char __tmp = __getopt_nonoption_flags[ch1]; \
- __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \
- __getopt_nonoption_flags[ch2] = __tmp; \
+ if (d->__nonoption_flags_len > 0) \
+ { \
+ char __tmp = __getopt_nonoption_flags[ch1]; \
+ __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \
+ __getopt_nonoption_flags[ch2] = __tmp; \
}
# else
# define SWAP_FLAGS(ch1, ch2)
# endif
-#else /* !_LIBC */
+#else /* !_LIBC */
# define SWAP_FLAGS(ch1, ch2)
-#endif /* _LIBC */
+#endif /* _LIBC */
/* Exchange two adjacent subsequences of ARGV.
One subsequence is elements [first_nonopt,last_nonopt)
if (d->__nonoption_flags_len > 0 && top >= d->__nonoption_flags_max_len)
{
/* We must extend the array. The user plays games with us and
- presents new arguments. */
+ presents new arguments. */
char *new_str = malloc (top + 1);
if (new_str == NULL)
- d->__nonoption_flags_len = d->__nonoption_flags_max_len = 0;
+ d->__nonoption_flags_len = d->__nonoption_flags_max_len = 0;
else
- {
- memset (__mempcpy (new_str, __getopt_nonoption_flags,
- d->__nonoption_flags_max_len),
- '\0', top + 1 - d->__nonoption_flags_max_len);
- d->__nonoption_flags_max_len = top + 1;
- __getopt_nonoption_flags = new_str;
- }
+ {
+ memset (__mempcpy (new_str, __getopt_nonoption_flags,
+ d->__nonoption_flags_max_len),
+ '\0', top + 1 - d->__nonoption_flags_max_len);
+ d->__nonoption_flags_max_len = top + 1;
+ __getopt_nonoption_flags = new_str;
+ }
}
#endif
while (top > middle && middle > bottom)
{
if (top - middle > middle - bottom)
- {
- /* Bottom segment is the short one. */
- int len = middle - bottom;
- register int i;
-
- /* Swap it with the top part of the top segment. */
- for (i = 0; i < len; i++)
- {
- tem = argv[bottom + i];
- argv[bottom + i] = argv[top - (middle - bottom) + i];
- argv[top - (middle - bottom) + i] = tem;
- SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
- }
- /* Exclude the moved bottom segment from further swapping. */
- top -= len;
- }
+ {
+ /* Bottom segment is the short one. */
+ int len = middle - bottom;
+ register int i;
+
+ /* Swap it with the top part of the top segment. */
+ for (i = 0; i < len; i++)
+ {
+ tem = argv[bottom + i];
+ argv[bottom + i] = argv[top - (middle - bottom) + i];
+ argv[top - (middle - bottom) + i] = tem;
+ SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
+ }
+ /* Exclude the moved bottom segment from further swapping. */
+ top -= len;
+ }
else
- {
- /* Top segment is the short one. */
- int len = top - middle;
- register int i;
-
- /* Swap it with the bottom part of the bottom segment. */
- for (i = 0; i < len; i++)
- {
- tem = argv[bottom + i];
- argv[bottom + i] = argv[middle + i];
- argv[middle + i] = tem;
- SWAP_FLAGS (bottom + i, middle + i);
- }
- /* Exclude the moved top segment from further swapping. */
- bottom += len;
- }
+ {
+ /* Top segment is the short one. */
+ int len = top - middle;
+ register int i;
+
+ /* Swap it with the bottom part of the bottom segment. */
+ for (i = 0; i < len; i++)
+ {
+ tem = argv[bottom + i];
+ argv[bottom + i] = argv[middle + i];
+ argv[middle + i] = tem;
+ SWAP_FLAGS (bottom + i, middle + i);
+ }
+ /* Exclude the moved top segment from further swapping. */
+ bottom += len;
+ }
}
/* Update records for the slots the non-options now occupy. */
/* Initialize the internal data when the first call is made. */
static const char *
-_getopt_initialize (int argc, char **argv, const char *optstring,
- int posixly_correct, struct _getopt_data *d)
+_getopt_initialize (int argc _GL_UNUSED,
+ char **argv _GL_UNUSED, const char *optstring,
+ struct _getopt_data *d, int posixly_correct)
{
/* Start processing options with ARGV-element 1 (since ARGV-element 0
is the program name); the sequence of previously skipped
&& argc == __libc_argc && argv == __libc_argv)
{
if (d->__nonoption_flags_max_len == 0)
- {
- if (__getopt_nonoption_flags == NULL
- || __getopt_nonoption_flags[0] == '\0')
- d->__nonoption_flags_max_len = -1;
- else
- {
- const char *orig_str = __getopt_nonoption_flags;
- int len = d->__nonoption_flags_max_len = strlen (orig_str);
- if (d->__nonoption_flags_max_len < argc)
- d->__nonoption_flags_max_len = argc;
- __getopt_nonoption_flags =
- (char *) malloc (d->__nonoption_flags_max_len);
- if (__getopt_nonoption_flags == NULL)
- d->__nonoption_flags_max_len = -1;
- else
- memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
- '\0', d->__nonoption_flags_max_len - len);
- }
- }
+ {
+ if (__getopt_nonoption_flags == NULL
+ || __getopt_nonoption_flags[0] == '\0')
+ d->__nonoption_flags_max_len = -1;
+ else
+ {
+ const char *orig_str = __getopt_nonoption_flags;
+ int len = d->__nonoption_flags_max_len = strlen (orig_str);
+ if (d->__nonoption_flags_max_len < argc)
+ d->__nonoption_flags_max_len = argc;
+ __getopt_nonoption_flags =
+ (char *) malloc (d->__nonoption_flags_max_len);
+ if (__getopt_nonoption_flags == NULL)
+ d->__nonoption_flags_max_len = -1;
+ else
+ memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
+ '\0', d->__nonoption_flags_max_len - len);
+ }
+ }
d->__nonoption_flags_len = d->__nonoption_flags_max_len;
}
else
`flag' field is nonzero, the value of the option's `val' field
if the `flag' field is zero.
+ The elements of ARGV aren't really const, because we permute them.
+ But we pretend they're const in the prototype to be compatible
+ with other systems.
+
LONGOPTS is a vector of `struct option' terminated by an
element containing a name which is zero.
recent call.
If LONG_ONLY is nonzero, '-' as well as '--' can introduce
- long-named options.
-
- If POSIXLY_CORRECT is nonzero, behave as if the POSIXLY_CORRECT
- environment variable were set. */
+ long-named options. */
int
_getopt_internal_r (int argc, char **argv, const char *optstring,
- const struct option *longopts, int *longind,
- int long_only, int posixly_correct, struct _getopt_data *d)
+ const struct option *longopts, int *longind,
+ int long_only, struct _getopt_data *d, int posixly_correct)
{
int print_errors = d->opterr;
- if (optstring[0] == ':')
- print_errors = 0;
if (argc < 1)
return -1;
if (d->optind == 0 || !d->__initialized)
{
if (d->optind == 0)
- d->optind = 1; /* Don't scan ARGV[0], the program name. */
- optstring = _getopt_initialize (argc, argv, optstring,
- posixly_correct, d);
+ d->optind = 1; /* Don't scan ARGV[0], the program name. */
+ optstring = _getopt_initialize (argc, argv, optstring, d,
+ posixly_correct);
d->__initialized = 1;
}
+ else if (optstring[0] == '-' || optstring[0] == '+')
+ optstring++;
+ if (optstring[0] == ':')
+ print_errors = 0;
/* Test whether ARGV[optind] points to a non-option argument.
Either it does not have option syntax, or there is an environment flag
is only used when the used in the GNU libc. */
#if defined _LIBC && defined USE_NONOPTION_FLAGS
# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0' \
- || (d->optind < d->__nonoption_flags_len \
- && __getopt_nonoption_flags[d->optind] == '1'))
+ || (d->optind < d->__nonoption_flags_len \
+ && __getopt_nonoption_flags[d->optind] == '1'))
#else
# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0')
#endif
/* Advance to the next ARGV-element. */
/* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
- moved back by the user (who may also have changed the arguments). */
+ moved back by the user (who may also have changed the arguments). */
if (d->__last_nonopt > d->optind)
- d->__last_nonopt = d->optind;
+ d->__last_nonopt = d->optind;
if (d->__first_nonopt > d->optind)
- d->__first_nonopt = d->optind;
+ d->__first_nonopt = d->optind;
if (d->__ordering == PERMUTE)
- {
- /* If we have just processed some options following some non-options,
- exchange them so that the options come first. */
+ {
+ /* If we have just processed some options following some non-options,
+ exchange them so that the options come first. */
- if (d->__first_nonopt != d->__last_nonopt
- && d->__last_nonopt != d->optind)
- exchange ((char **) argv, d);
- else if (d->__last_nonopt != d->optind)
- d->__first_nonopt = d->optind;
+ if (d->__first_nonopt != d->__last_nonopt
+ && d->__last_nonopt != d->optind)
+ exchange ((char **) argv, d);
+ else if (d->__last_nonopt != d->optind)
+ d->__first_nonopt = d->optind;
- /* Skip any additional non-options
- and extend the range of non-options previously skipped. */
+ /* Skip any additional non-options
+ and extend the range of non-options previously skipped. */
- while (d->optind < argc && NONOPTION_P)
- d->optind++;
- d->__last_nonopt = d->optind;
- }
+ while (d->optind < argc && NONOPTION_P)
+ d->optind++;
+ d->__last_nonopt = d->optind;
+ }
/* The special ARGV-element `--' means premature end of options.
- Skip it like a null option,
- then exchange with previous non-options as if it were an option,
- then skip everything else like a non-option. */
+ Skip it like a null option,
+ then exchange with previous non-options as if it were an option,
+ then skip everything else like a non-option. */
if (d->optind != argc && !strcmp (argv[d->optind], "--"))
- {
- d->optind++;
+ {
+ d->optind++;
- if (d->__first_nonopt != d->__last_nonopt
- && d->__last_nonopt != d->optind)
- exchange ((char **) argv, d);
- else if (d->__first_nonopt == d->__last_nonopt)
- d->__first_nonopt = d->optind;
- d->__last_nonopt = argc;
+ if (d->__first_nonopt != d->__last_nonopt
+ && d->__last_nonopt != d->optind)
+ exchange ((char **) argv, d);
+ else if (d->__first_nonopt == d->__last_nonopt)
+ d->__first_nonopt = d->optind;
+ d->__last_nonopt = argc;
- d->optind = argc;
- }
+ d->optind = argc;
+ }
/* If we have done all the ARGV-elements, stop the scan
- and back over any non-options that we skipped and permuted. */
+ and back over any non-options that we skipped and permuted. */
if (d->optind == argc)
- {
- /* Set the next-arg-index to point at the non-options
- that we previously skipped, so the caller will digest them. */
- if (d->__first_nonopt != d->__last_nonopt)
- d->optind = d->__first_nonopt;
- return -1;
- }
+ {
+ /* Set the next-arg-index to point at the non-options
+ that we previously skipped, so the caller will digest them. */
+ if (d->__first_nonopt != d->__last_nonopt)
+ d->optind = d->__first_nonopt;
+ return -1;
+ }
/* If we have come to a non-option and did not permute it,
- either stop the scan or describe it to the caller and pass it by. */
+ either stop the scan or describe it to the caller and pass it by. */
if (NONOPTION_P)
- {
- if (d->__ordering == REQUIRE_ORDER)
- return -1;
- d->optarg = argv[d->optind++];
- return 1;
- }
+ {
+ if (d->__ordering == REQUIRE_ORDER)
+ return -1;
+ d->optarg = argv[d->optind++];
+ return 1;
+ }
/* We have found another option-ARGV-element.
- Skip the initial punctuation. */
+ Skip the initial punctuation. */
d->__nextchar = (argv[d->optind] + 1
- + (longopts != NULL && argv[d->optind][1] == '-'));
+ + (longopts != NULL && argv[d->optind][1] == '-'));
}
/* Decode the current option-ARGV-element. */
if (longopts != NULL
&& (argv[d->optind][1] == '-'
- || (long_only && (argv[d->optind][2]
- || !strchr (optstring, argv[d->optind][1])))))
+ || (long_only && (argv[d->optind][2]
+ || !strchr (optstring, argv[d->optind][1])))))
{
char *nameend;
+ unsigned int namelen;
const struct option *p;
const struct option *pfound = NULL;
+ struct option_list
+ {
+ const struct option *p;
+ struct option_list *next;
+ } *ambig_list = NULL;
int exact = 0;
- int ambig = 0;
int indfound = -1;
int option_index;
for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++)
- /* Do nothing. */ ;
+ /* Do nothing. */ ;
+ namelen = nameend - d->__nextchar;
/* Test all long options for either exact match
- or abbreviated matches. */
+ or abbreviated matches. */
for (p = longopts, option_index = 0; p->name; p++, option_index++)
- if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar))
- {
- if ((unsigned int) (nameend - d->__nextchar)
- == (unsigned int) strlen (p->name))
- {
- /* Exact match found. */
- pfound = p;
- indfound = option_index;
- exact = 1;
- break;
- }
- else if (pfound == NULL)
- {
- /* First nonexact match found. */
- pfound = p;
- indfound = option_index;
- }
- else if (long_only
- || pfound->has_arg != p->has_arg
- || pfound->flag != p->flag
- || pfound->val != p->val)
- /* Second or later nonexact match found. */
- ambig = 1;
- }
-
- if (ambig && !exact)
- {
- if (print_errors)
- {
+ if (!strncmp (p->name, d->__nextchar, namelen))
+ {
+ if (namelen == (unsigned int) strlen (p->name))
+ {
+ /* Exact match found. */
+ pfound = p;
+ indfound = option_index;
+ exact = 1;
+ break;
+ }
+ else if (pfound == NULL)
+ {
+ /* First nonexact match found. */
+ pfound = p;
+ indfound = option_index;
+ }
+ else if (long_only
+ || pfound->has_arg != p->has_arg
+ || pfound->flag != p->flag
+ || pfound->val != p->val)
+ {
+ /* Second or later nonexact match found. */
+ struct option_list *newp = malloc (sizeof (*newp));
+ newp->p = p;
+ newp->next = ambig_list;
+ ambig_list = newp;
+ }
+ }
+
+ if (ambig_list != NULL && !exact)
+ {
+ if (print_errors)
+ {
+ struct option_list first;
+ first.p = pfound;
+ first.next = ambig_list;
+ ambig_list = &first;
+
#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
+ char *buf = NULL;
+ size_t buflen = 0;
+
+ FILE *fp = open_memstream (&buf, &buflen);
+ if (fp != NULL)
+ {
+ fprintf (fp,
+ _("%s: option '%s' is ambiguous; possibilities:"),
+ argv[0], argv[d->optind]);
- if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"),
- argv[0], argv[d->optind]) >= 0)
- {
- _IO_flockfile (stderr);
+ do
+ {
+ fprintf (fp, " '--%s'", ambig_list->p->name);
+ ambig_list = ambig_list->next;
+ }
+ while (ambig_list != NULL);
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+ fputc_unlocked ('\n', fp);
- __fxprintf (NULL, "%s", buf);
+ if (__builtin_expect (fclose (fp) != EOF, 1))
+ {
+ _IO_flockfile (stderr);
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+ ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
- free (buf);
- }
+ __fxprintf (NULL, "%s", buf);
+
+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+ _IO_funlockfile (stderr);
+
+ free (buf);
+ }
+ }
#else
- fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
- argv[0], argv[d->optind]);
+ fprintf (stderr,
+ _("%s: option '%s' is ambiguous; possibilities:"),
+ argv[0], argv[d->optind]);
+ do
+ {
+ fprintf (stderr, " '--%s'", ambig_list->p->name);
+ ambig_list = ambig_list->next;
+ }
+ while (ambig_list != NULL);
+
+ fputc ('\n', stderr);
#endif
- }
- d->__nextchar += strlen (d->__nextchar);
- d->optind++;
- d->optopt = 0;
- return '?';
- }
+ }
+ d->__nextchar += strlen (d->__nextchar);
+ d->optind++;
+ d->optopt = 0;
+ return '?';
+ }
+
+ while (ambig_list != NULL)
+ {
+ struct option_list *pn = ambig_list->next;
+ free (ambig_list);
+ ambig_list = pn;
+ }
if (pfound != NULL)
- {
- option_index = indfound;
- d->optind++;
- if (*nameend)
- {
- /* Don't test has_arg with >, because some C compilers don't
- allow it to be used on enums. */
- if (pfound->has_arg)
- d->optarg = nameend + 1;
- else
- {
- if (print_errors)
- {
+ {
+ option_index = indfound;
+ d->optind++;
+ if (*nameend)
+ {
+ /* Don't test has_arg with >, because some C compilers don't
+ allow it to be used on enums. */
+ if (pfound->has_arg)
+ d->optarg = nameend + 1;
+ else
+ {
+ if (print_errors)
+ {
#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
- int n;
+ char *buf;
+ int n;
#endif
- if (argv[d->optind - 1][1] == '-')
- {
- /* --option */
+ if (argv[d->optind - 1][1] == '-')
+ {
+ /* --option */
#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("\
-%s: option `--%s' doesn't allow an argument\n"),
- argv[0], pfound->name);
+ n = __asprintf (&buf, _("\
+%s: option '--%s' doesn't allow an argument\n"),
+ argv[0], pfound->name);
#else
- fprintf (stderr, _("\
-%s: option `--%s' doesn't allow an argument\n"),
- argv[0], pfound->name);
+ fprintf (stderr, _("\
+%s: option '--%s' doesn't allow an argument\n"),
+ argv[0], pfound->name);
#endif
- }
- else
- {
- /* +option or -option */
+ }
+ else
+ {
+ /* +option or -option */
#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("\
-%s: option `%c%s' doesn't allow an argument\n"),
- argv[0], argv[d->optind - 1][0],
- pfound->name);
+ n = __asprintf (&buf, _("\
+%s: option '%c%s' doesn't allow an argument\n"),
+ argv[0], argv[d->optind - 1][0],
+ pfound->name);
#else
- fprintf (stderr, _("\
-%s: option `%c%s' doesn't allow an argument\n"),
- argv[0], argv[d->optind - 1][0],
- pfound->name);
+ fprintf (stderr, _("\
+%s: option '%c%s' doesn't allow an argument\n"),
+ argv[0], argv[d->optind - 1][0],
+ pfound->name);
#endif
- }
+ }
#if defined _LIBC && defined USE_IN_LIBIO
- if (n >= 0)
- {
- _IO_flockfile (stderr);
+ if (n >= 0)
+ {
+ _IO_flockfile (stderr);
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2
- |= _IO_FLAGS2_NOTCANCEL;
+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+ ((_IO_FILE *) stderr)->_flags2
+ |= _IO_FLAGS2_NOTCANCEL;
- __fxprintf (NULL, "%s", buf);
+ __fxprintf (NULL, "%s", buf);
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+ _IO_funlockfile (stderr);
- free (buf);
- }
+ free (buf);
+ }
#endif
- }
-
- d->__nextchar += strlen (d->__nextchar);
-
- d->optopt = pfound->val;
- return '?';
- }
- }
- else if (pfound->has_arg == 1)
- {
- if (d->optind < argc)
- d->optarg = argv[d->optind++];
- else
- {
- if (print_errors)
- {
+ }
+
+ d->__nextchar += strlen (d->__nextchar);
+
+ d->optopt = pfound->val;
+ return '?';
+ }
+ }
+ else if (pfound->has_arg == 1)
+ {
+ if (d->optind < argc)
+ d->optarg = argv[d->optind++];
+ else
+ {
+ if (print_errors)
+ {
#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
+ char *buf;
- if (__asprintf (&buf, _("\
-%s: option `%s' requires an argument\n"),
- argv[0], argv[d->optind - 1]) >= 0)
- {
- _IO_flockfile (stderr);
+ if (__asprintf (&buf, _("\
+%s: option '--%s' requires an argument\n"),
+ argv[0], pfound->name) >= 0)
+ {
+ _IO_flockfile (stderr);
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2
- |= _IO_FLAGS2_NOTCANCEL;
+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+ ((_IO_FILE *) stderr)->_flags2
+ |= _IO_FLAGS2_NOTCANCEL;
- __fxprintf (NULL, "%s", buf);
+ __fxprintf (NULL, "%s", buf);
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+ _IO_funlockfile (stderr);
- free (buf);
- }
+ free (buf);
+ }
#else
- fprintf (stderr,
- _("%s: option `%s' requires an argument\n"),
- argv[0], argv[d->optind - 1]);
+ fprintf (stderr,
+ _("%s: option '--%s' requires an argument\n"),
+ argv[0], pfound->name);
#endif
- }
- d->__nextchar += strlen (d->__nextchar);
- d->optopt = pfound->val;
- return optstring[0] == ':' ? ':' : '?';
- }
- }
- d->__nextchar += strlen (d->__nextchar);
- if (longind != NULL)
- *longind = option_index;
- if (pfound->flag)
- {
- *(pfound->flag) = pfound->val;
- return 0;
- }
- return pfound->val;
- }
+ }
+ d->__nextchar += strlen (d->__nextchar);
+ d->optopt = pfound->val;
+ return optstring[0] == ':' ? ':' : '?';
+ }
+ }
+ d->__nextchar += strlen (d->__nextchar);
+ if (longind != NULL)
+ *longind = option_index;
+ if (pfound->flag)
+ {
+ *(pfound->flag) = pfound->val;
+ return 0;
+ }
+ return pfound->val;
+ }
/* Can't find it as a long option. If this is not getopt_long_only,
- or the option starts with '--' or is not a valid short
- option, then it's an error.
- Otherwise interpret it as a short option. */
+ or the option starts with '--' or is not a valid short
+ option, then it's an error.
+ Otherwise interpret it as a short option. */
if (!long_only || argv[d->optind][1] == '-'
- || strchr (optstring, *d->__nextchar) == NULL)
- {
- if (print_errors)
- {
+ || strchr (optstring, *d->__nextchar) == NULL)
+ {
+ if (print_errors)
+ {
#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
- int n;
+ char *buf;
+ int n;
#endif
- if (argv[d->optind][1] == '-')
- {
- /* --option */
+ if (argv[d->optind][1] == '-')
+ {
+ /* --option */
#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"),
- argv[0], d->__nextchar);
+ n = __asprintf (&buf, _("%s: unrecognized option '--%s'\n"),
+ argv[0], d->__nextchar);
#else
- fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
- argv[0], d->__nextchar);
+ fprintf (stderr, _("%s: unrecognized option '--%s'\n"),
+ argv[0], d->__nextchar);
#endif
- }
- else
- {
- /* +option or -option */
+ }
+ else
+ {
+ /* +option or -option */
#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"),
- argv[0], argv[d->optind][0], d->__nextchar);
+ n = __asprintf (&buf, _("%s: unrecognized option '%c%s'\n"),
+ argv[0], argv[d->optind][0], d->__nextchar);
#else
- fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
- argv[0], argv[d->optind][0], d->__nextchar);
+ fprintf (stderr, _("%s: unrecognized option '%c%s'\n"),
+ argv[0], argv[d->optind][0], d->__nextchar);
#endif
- }
+ }
#if defined _LIBC && defined USE_IN_LIBIO
- if (n >= 0)
- {
- _IO_flockfile (stderr);
+ if (n >= 0)
+ {
+ _IO_flockfile (stderr);
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+ ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
- __fxprintf (NULL, "%s", buf);
+ __fxprintf (NULL, "%s", buf);
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+ _IO_funlockfile (stderr);
- free (buf);
- }
+ free (buf);
+ }
#endif
- }
- d->__nextchar = (char *) "";
- d->optind++;
- d->optopt = 0;
- return '?';
- }
+ }
+ d->__nextchar = (char *) "";
+ d->optind++;
+ d->optopt = 0;
+ return '?';
+ }
}
/* Look at and handle the next short option-character. */
{
char c = *d->__nextchar++;
- char *temp = strchr (optstring, c);
+ const char *temp = strchr (optstring, c);
/* Increment `optind' when we start to process its last character. */
if (*d->__nextchar == '\0')
++d->optind;
- if (temp == NULL || c == ':')
+ if (temp == NULL || c == ':' || c == ';')
{
- if (print_errors)
- {
+ if (print_errors)
+ {
#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
- int n;
+ char *buf;
+ int n;
#endif
- if (d->__posixly_correct)
- {
- /* 1003.2 specifies the format of this message. */
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: illegal option -- %c\n"),
- argv[0], c);
-#else
- fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c);
-#endif
- }
- else
- {
#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: invalid option -- %c\n"),
- argv[0], c);
+ n = __asprintf (&buf, _("%s: invalid option -- '%c'\n"),
+ argv[0], c);
#else
- fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c);
+ fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], c);
#endif
- }
#if defined _LIBC && defined USE_IN_LIBIO
- if (n >= 0)
- {
- _IO_flockfile (stderr);
+ if (n >= 0)
+ {
+ _IO_flockfile (stderr);
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+ ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
- __fxprintf (NULL, "%s", buf);
+ __fxprintf (NULL, "%s", buf);
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+ _IO_funlockfile (stderr);
- free (buf);
- }
+ free (buf);
+ }
#endif
- }
- d->optopt = c;
- return '?';
+ }
+ d->optopt = c;
+ return '?';
}
/* Convenience. Treat POSIX -W foo same as long option --foo */
if (temp[0] == 'W' && temp[1] == ';')
{
- char *nameend;
- const struct option *p;
- const struct option *pfound = NULL;
- int exact = 0;
- int ambig = 0;
- int indfound = 0;
- int option_index;
-
- /* This is an option that requires an argument. */
- if (*d->__nextchar != '\0')
- {
- d->optarg = d->__nextchar;
- /* If we end this ARGV-element by taking the rest as an arg,
- we must advance to the next element now. */
- d->optind++;
- }
- else if (d->optind == argc)
- {
- if (print_errors)
- {
- /* 1003.2 specifies the format of this message. */
+ char *nameend;
+ const struct option *p;
+ const struct option *pfound = NULL;
+ int exact = 0;
+ int ambig = 0;
+ int indfound = 0;
+ int option_index;
+
+ if (longopts == NULL)
+ goto no_longs;
+
+ /* This is an option that requires an argument. */
+ if (*d->__nextchar != '\0')
+ {
+ d->optarg = d->__nextchar;
+ /* If we end this ARGV-element by taking the rest as an arg,
+ we must advance to the next element now. */
+ d->optind++;
+ }
+ else if (d->optind == argc)
+ {
+ if (print_errors)
+ {
#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
+ char *buf;
- if (__asprintf (&buf,
- _("%s: option requires an argument -- %c\n"),
- argv[0], c) >= 0)
- {
- _IO_flockfile (stderr);
+ if (__asprintf (&buf,
+ _("%s: option requires an argument -- '%c'\n"),
+ argv[0], c) >= 0)
+ {
+ _IO_flockfile (stderr);
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+ ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
- __fxprintf (NULL, "%s", buf);
+ __fxprintf (NULL, "%s", buf);
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+ _IO_funlockfile (stderr);
- free (buf);
- }
+ free (buf);
+ }
#else
- fprintf (stderr, _("%s: option requires an argument -- %c\n"),
- argv[0], c);
+ fprintf (stderr,
+ _("%s: option requires an argument -- '%c'\n"),
+ argv[0], c);
#endif
- }
- d->optopt = c;
- if (optstring[0] == ':')
- c = ':';
- else
- c = '?';
- return c;
- }
- else
- /* We already incremented `d->optind' once;
- increment it again when taking next ARGV-elt as argument. */
- d->optarg = argv[d->optind++];
-
- /* optarg is now the argument, see if it's in the
- table of longopts. */
-
- for (d->__nextchar = nameend = d->optarg; *nameend && *nameend != '=';
- nameend++)
- /* Do nothing. */ ;
-
- /* Test all long options for either exact match
- or abbreviated matches. */
- for (p = longopts, option_index = 0; p->name; p++, option_index++)
- if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar))
- {
- if ((unsigned int) (nameend - d->__nextchar) == strlen (p->name))
- {
- /* Exact match found. */
- pfound = p;
- indfound = option_index;
- exact = 1;
- break;
- }
- else if (pfound == NULL)
- {
- /* First nonexact match found. */
- pfound = p;
- indfound = option_index;
- }
- else
- /* Second or later nonexact match found. */
- ambig = 1;
- }
- if (ambig && !exact)
- {
- if (print_errors)
- {
+ }
+ d->optopt = c;
+ if (optstring[0] == ':')
+ c = ':';
+ else
+ c = '?';
+ return c;
+ }
+ else
+ /* We already incremented `d->optind' once;
+ increment it again when taking next ARGV-elt as argument. */
+ d->optarg = argv[d->optind++];
+
+ /* optarg is now the argument, see if it's in the
+ table of longopts. */
+
+ for (d->__nextchar = nameend = d->optarg; *nameend && *nameend != '=';
+ nameend++)
+ /* Do nothing. */ ;
+
+ /* Test all long options for either exact match
+ or abbreviated matches. */
+ for (p = longopts, option_index = 0; p->name; p++, option_index++)
+ if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar))
+ {
+ if ((unsigned int) (nameend - d->__nextchar) == strlen (p->name))
+ {
+ /* Exact match found. */
+ pfound = p;
+ indfound = option_index;
+ exact = 1;
+ break;
+ }
+ else if (pfound == NULL)
+ {
+ /* First nonexact match found. */
+ pfound = p;
+ indfound = option_index;
+ }
+ else if (long_only
+ || pfound->has_arg != p->has_arg
+ || pfound->flag != p->flag
+ || pfound->val != p->val)
+ /* Second or later nonexact match found. */
+ ambig = 1;
+ }
+ if (ambig && !exact)
+ {
+ if (print_errors)
+ {
#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
+ char *buf;
- if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"),
- argv[0], argv[d->optind]) >= 0)
- {
- _IO_flockfile (stderr);
+ if (__asprintf (&buf, _("%s: option '-W %s' is ambiguous\n"),
+ argv[0], d->optarg) >= 0)
+ {
+ _IO_flockfile (stderr);
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+ ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
- __fxprintf (NULL, "%s", buf);
+ __fxprintf (NULL, "%s", buf);
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+ _IO_funlockfile (stderr);
- free (buf);
- }
+ free (buf);
+ }
#else
- fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
- argv[0], argv[d->optind]);
+ fprintf (stderr, _("%s: option '-W %s' is ambiguous\n"),
+ argv[0], d->optarg);
#endif
- }
- d->__nextchar += strlen (d->__nextchar);
- d->optind++;
- return '?';
- }
- if (pfound != NULL)
- {
- option_index = indfound;
- if (*nameend)
- {
- /* Don't test has_arg with >, because some C compilers don't
- allow it to be used on enums. */
- if (pfound->has_arg)
- d->optarg = nameend + 1;
- else
- {
- if (print_errors)
- {
+ }
+ d->__nextchar += strlen (d->__nextchar);
+ d->optind++;
+ return '?';
+ }
+ if (pfound != NULL)
+ {
+ option_index = indfound;
+ if (*nameend)
+ {
+ /* Don't test has_arg with >, because some C compilers don't
+ allow it to be used on enums. */
+ if (pfound->has_arg)
+ d->optarg = nameend + 1;
+ else
+ {
+ if (print_errors)
+ {
#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
+ char *buf;
- if (__asprintf (&buf, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
- argv[0], pfound->name) >= 0)
- {
- _IO_flockfile (stderr);
+ if (__asprintf (&buf, _("\
+%s: option '-W %s' doesn't allow an argument\n"),
+ argv[0], pfound->name) >= 0)
+ {
+ _IO_flockfile (stderr);
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2
- |= _IO_FLAGS2_NOTCANCEL;
+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+ ((_IO_FILE *) stderr)->_flags2
+ |= _IO_FLAGS2_NOTCANCEL;
- __fxprintf (NULL, "%s", buf);
+ __fxprintf (NULL, "%s", buf);
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+ _IO_funlockfile (stderr);
- free (buf);
- }
+ free (buf);
+ }
#else
- fprintf (stderr, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
- argv[0], pfound->name);
+ fprintf (stderr, _("\
+%s: option '-W %s' doesn't allow an argument\n"),
+ argv[0], pfound->name);
#endif
- }
-
- d->__nextchar += strlen (d->__nextchar);
- return '?';
- }
- }
- else if (pfound->has_arg == 1)
- {
- if (d->optind < argc)
- d->optarg = argv[d->optind++];
- else
- {
- if (print_errors)
- {
+ }
+
+ d->__nextchar += strlen (d->__nextchar);
+ return '?';
+ }
+ }
+ else if (pfound->has_arg == 1)
+ {
+ if (d->optind < argc)
+ d->optarg = argv[d->optind++];
+ else
+ {
+ if (print_errors)
+ {
#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
+ char *buf;
- if (__asprintf (&buf, _("\
-%s: option `%s' requires an argument\n"),
- argv[0], argv[d->optind - 1]) >= 0)
- {
- _IO_flockfile (stderr);
+ if (__asprintf (&buf, _("\
+%s: option '-W %s' requires an argument\n"),
+ argv[0], pfound->name) >= 0)
+ {
+ _IO_flockfile (stderr);
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2
- |= _IO_FLAGS2_NOTCANCEL;
+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+ ((_IO_FILE *) stderr)->_flags2
+ |= _IO_FLAGS2_NOTCANCEL;
- __fxprintf (NULL, "%s", buf);
+ __fxprintf (NULL, "%s", buf);
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+ _IO_funlockfile (stderr);
- free (buf);
- }
+ free (buf);
+ }
#else
- fprintf (stderr,
- _("%s: option `%s' requires an argument\n"),
- argv[0], argv[d->optind - 1]);
+ fprintf (stderr, _("\
+%s: option '-W %s' requires an argument\n"),
+ argv[0], pfound->name);
#endif
- }
- d->__nextchar += strlen (d->__nextchar);
- return optstring[0] == ':' ? ':' : '?';
- }
- }
- d->__nextchar += strlen (d->__nextchar);
- if (longind != NULL)
- *longind = option_index;
- if (pfound->flag)
- {
- *(pfound->flag) = pfound->val;
- return 0;
- }
- return pfound->val;
- }
- d->__nextchar = NULL;
- return 'W'; /* Let the application handle it. */
+ }
+ d->__nextchar += strlen (d->__nextchar);
+ return optstring[0] == ':' ? ':' : '?';
+ }
+ }
+ else
+ d->optarg = NULL;
+ d->__nextchar += strlen (d->__nextchar);
+ if (longind != NULL)
+ *longind = option_index;
+ if (pfound->flag)
+ {
+ *(pfound->flag) = pfound->val;
+ return 0;
+ }
+ return pfound->val;
+ }
+
+ no_longs:
+ d->__nextchar = NULL;
+ return 'W'; /* Let the application handle it. */
}
if (temp[1] == ':')
{
- if (temp[2] == ':')
- {
- /* This is an option that accepts an argument optionally. */
- if (*d->__nextchar != '\0')
- {
- d->optarg = d->__nextchar;
- d->optind++;
- }
- else
- d->optarg = NULL;
- d->__nextchar = NULL;
- }
- else
- {
- /* This is an option that requires an argument. */
- if (*d->__nextchar != '\0')
- {
- d->optarg = d->__nextchar;
- /* If we end this ARGV-element by taking the rest as an arg,
- we must advance to the next element now. */
- d->optind++;
- }
- else if (d->optind == argc)
- {
- if (print_errors)
- {
- /* 1003.2 specifies the format of this message. */
+ if (temp[2] == ':')
+ {
+ /* This is an option that accepts an argument optionally. */
+ if (*d->__nextchar != '\0')
+ {
+ d->optarg = d->__nextchar;
+ d->optind++;
+ }
+ else
+ d->optarg = NULL;
+ d->__nextchar = NULL;
+ }
+ else
+ {
+ /* This is an option that requires an argument. */
+ if (*d->__nextchar != '\0')
+ {
+ d->optarg = d->__nextchar;
+ /* If we end this ARGV-element by taking the rest as an arg,
+ we must advance to the next element now. */
+ d->optind++;
+ }
+ else if (d->optind == argc)
+ {
+ if (print_errors)
+ {
#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
+ char *buf;
- if (__asprintf (&buf, _("\
-%s: option requires an argument -- %c\n"),
- argv[0], c) >= 0)
- {
- _IO_flockfile (stderr);
+ if (__asprintf (&buf, _("\
+%s: option requires an argument -- '%c'\n"),
+ argv[0], c) >= 0)
+ {
+ _IO_flockfile (stderr);
- int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
- ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
+ int old_flags2 = ((_IO_FILE *) stderr)->_flags2;
+ ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL;
- __fxprintf (NULL, "%s", buf);
+ __fxprintf (NULL, "%s", buf);
- ((_IO_FILE *) stderr)->_flags2 = old_flags2;
- _IO_funlockfile (stderr);
+ ((_IO_FILE *) stderr)->_flags2 = old_flags2;
+ _IO_funlockfile (stderr);
- free (buf);
- }
+ free (buf);
+ }
#else
- fprintf (stderr,
- _("%s: option requires an argument -- %c\n"),
- argv[0], c);
+ fprintf (stderr,
+ _("%s: option requires an argument -- '%c'\n"),
+ argv[0], c);
#endif
- }
- d->optopt = c;
- if (optstring[0] == ':')
- c = ':';
- else
- c = '?';
- }
- else
- /* We already incremented `optind' once;
- increment it again when taking next ARGV-elt as argument. */
- d->optarg = argv[d->optind++];
- d->__nextchar = NULL;
- }
+ }
+ d->optopt = c;
+ if (optstring[0] == ':')
+ c = ':';
+ else
+ c = '?';
+ }
+ else
+ /* We already incremented `optind' once;
+ increment it again when taking next ARGV-elt as argument. */
+ d->optarg = argv[d->optind++];
+ d->__nextchar = NULL;
+ }
}
return c;
}
int
_getopt_internal (int argc, char **argv, const char *optstring,
- const struct option *longopts, int *longind,
- int long_only, int posixly_correct)
+ const struct option *longopts, int *longind, int long_only,
+ int posixly_correct)
{
int result;
getopt_data.optind = optind;
getopt_data.opterr = opterr;
- result = _getopt_internal_r (argc, argv, optstring, longopts, longind,
- long_only, posixly_correct, &getopt_data);
+ result = _getopt_internal_r (argc, argv, optstring, longopts,
+ longind, long_only, &getopt_data,
+ posixly_correct);
optind = getopt_data.optind;
optarg = getopt_data.optarg;
int
getopt (int argc, char *const *argv, const char *optstring)
{
- return _getopt_internal (argc, (char **) argv, optstring, NULL, NULL, 0,
- POSIXLY_CORRECT);
+ return _getopt_internal (argc, (char **) argv, optstring,
+ (const struct option *) 0,
+ (int *) 0,
+ 0, POSIXLY_CORRECT);
}
+#ifdef _LIBC
+int
+__posix_getopt (int argc, char *const *argv, const char *optstring)
+{
+ return _getopt_internal (argc, argv, optstring,
+ (const struct option *) 0,
+ (int *) 0,
+ 0, 1);
+}
+#endif
+
\f
#ifdef TEST
c = getopt (argc, argv, "abc:d:0123456789");
if (c == -1)
- break;
+ break;
switch (c)
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if (digit_optind != 0 && digit_optind != this_option_optind)
- printf ("digits occur in two different argv-elements.\n");
- digit_optind = this_option_optind;
- printf ("option %c\n", c);
- break;
-
- case 'a':
- printf ("option a\n");
- break;
-
- case 'b':
- printf ("option b\n");
- break;
-
- case 'c':
- printf ("option c with value `%s'\n", optarg);
- break;
-
- case '?':
- break;
-
- default:
- printf ("?? getopt returned character code 0%o ??\n", c);
- }
+ {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ if (digit_optind != 0 && digit_optind != this_option_optind)
+ printf ("digits occur in two different argv-elements.\n");
+ digit_optind = this_option_optind;
+ printf ("option %c\n", c);
+ break;
+
+ case 'a':
+ printf ("option a\n");
+ break;
+
+ case 'b':
+ printf ("option b\n");
+ break;
+
+ case 'c':
+ printf ("option c with value '%s'\n", optarg);
+ break;
+
+ case '?':
+ break;
+
+ default:
+ printf ("?? getopt returned character code 0%o ??\n", c);
+ }
}
if (optind < argc)
{
printf ("non-option ARGV-elements: ");
while (optind < argc)
- printf ("%s ", argv[optind++]);
+ printf ("%s ", argv[optind++]);
printf ("\n");
}
/* Declarations for getopt.
- Copyright (C) 1989-1994,1996-1999,2001,2003,2004,2005,2006,2007
- Free Software Foundation, Inc.
+ Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2011 Free Software
+ Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#ifndef _GETOPT_H
+#ifndef _@GUARD_PREFIX@_GETOPT_H
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* The include_next requires a split double-inclusion guard. We must
+ also inform the replacement unistd.h to not recursively use
+ <getopt.h>; our definitions will be present soon enough. */
+#if @HAVE_GETOPT_H@
+# define _GL_SYSTEM_GETOPT
+# @INCLUDE_NEXT@ @NEXT_GETOPT_H@
+# undef _GL_SYSTEM_GETOPT
+#endif
+
+#ifndef _@GUARD_PREFIX@_GETOPT_H
#ifndef __need_getopt
-# define _GETOPT_H 1
+# define _@GUARD_PREFIX@_GETOPT_H 1
#endif
/* Standalone applications should #define __GETOPT_PREFIX to an
identifier that prefixes the external functions and variables
defined in this header. When this happens, include the
headers that might declare getopt so that they will not cause
- confusion if included after this file. Then systematically rename
+ confusion if included after this file (if the system had <getopt.h>,
+ we have already included it). Then systematically rename
identifiers so that they do not collide with the system functions
and variables. Renaming avoids problems with some compilers and
linkers. */
#if defined __GETOPT_PREFIX && !defined __need_getopt
-# include <stdlib.h>
-# include <stdio.h>
-# include <unistd.h>
+# if !@HAVE_GETOPT_H@
+# include <stdlib.h>
+# include <stdio.h>
+# include <unistd.h>
+# endif
# undef __need_getopt
# undef getopt
# undef getopt_long
# undef opterr
# undef optind
# undef optopt
+# undef option
# define __GETOPT_CONCAT(x, y) x ## y
# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
# define opterr __GETOPT_ID (opterr)
# define optind __GETOPT_ID (optind)
# define optopt __GETOPT_ID (optopt)
+# define option __GETOPT_ID (option)
+# define _getopt_internal __GETOPT_ID (getopt_internal)
#endif
/* Standalone applications get correct prototypes for getopt_long and
# define __GNUC_PREREQ(maj, min) (0)
# endif
# if defined __cplusplus && __GNUC_PREREQ (2,8)
-# define __THROW throw ()
+# define __THROW throw ()
# else
# define __THROW
# endif
#endif
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
#ifdef __cplusplus
extern "C" {
#endif
zero.
The field `has_arg' is:
- no_argument (or 0) if the option does not take an argument,
- required_argument (or 1) if the option requires an argument,
- optional_argument (or 2) if the option takes an optional argument.
+ no_argument (or 0) if the option does not take an argument,
+ required_argument (or 1) if the option requires an argument,
+ optional_argument (or 2) if the option takes an optional argument.
If the field `flag' is not NULL, it points to a variable that is set
to the value given in the field `val' when the option is found, but
one). For long options that have a zero `flag' field, `getopt'
returns the contents of the `val' field. */
+# if !GNULIB_defined_struct_option
struct option
{
const char *name;
int *flag;
int val;
};
+# define GNULIB_defined_struct_option 1
+# endif
/* Names for the values of the `has_arg' field of `struct option'. */
-# define no_argument 0
-# define required_argument 1
-# define optional_argument 2
-#endif /* need getopt */
+# define no_argument 0
+# define required_argument 1
+# define optional_argument 2
+#endif /* need getopt */
/* Get definitions and prototypes for functions to process the
the environment, then do not permute arguments. */
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
- __THROW;
+ __THROW _GL_ARG_NONNULL ((2, 3));
#ifndef __need_getopt
extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind)
- __THROW;
+ const char *__shortopts,
+ const struct option *__longopts, int *__longind)
+ __THROW _GL_ARG_NONNULL ((2, 3));
extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind)
- __THROW;
+ const char *__shortopts,
+ const struct option *__longopts, int *__longind)
+ __THROW _GL_ARG_NONNULL ((2, 3));
#endif
/* Make sure we later can get all the definitions and declarations. */
#undef __need_getopt
-#endif /* getopt.h */
+#endif /* _@GUARD_PREFIX@_GETOPT_H */
+#endif /* _@GUARD_PREFIX@_GETOPT_H */
/* getopt_long and getopt_long_only entry points for GNU getopt.
- Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98,2004,2006,2009
- Free Software Foundation, Inc.
+ Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2011 Free Software
+ Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
#include <stdlib.h>
#endif
-#ifndef NULL
+#ifndef NULL
#define NULL 0
#endif
int
getopt_long (int argc, char *__getopt_argv_const *argv, const char *options,
- const struct option *long_options, int *opt_index)
+ const struct option *long_options, int *opt_index)
{
return _getopt_internal (argc, (char **) argv, options, long_options,
- opt_index, 0, 0);
+ opt_index, 0, 0);
}
int
_getopt_long_r (int argc, char **argv, const char *options,
- const struct option *long_options, int *opt_index,
- struct _getopt_data *d)
+ const struct option *long_options, int *opt_index,
+ struct _getopt_data *d)
{
return _getopt_internal_r (argc, argv, options, long_options, opt_index,
- 0, 0, d);
+ 0, d, 0);
}
/* Like getopt_long, but '-' as well as '--' can indicate a long option.
int
getopt_long_only (int argc, char *__getopt_argv_const *argv,
- const char *options,
- const struct option *long_options, int *opt_index)
+ const char *options,
+ const struct option *long_options, int *opt_index)
{
return _getopt_internal (argc, (char **) argv, options, long_options,
- opt_index, 1, 0);
+ opt_index, 1, 0);
}
int
_getopt_long_only_r (int argc, char **argv, const char *options,
- const struct option *long_options, int *opt_index,
- struct _getopt_data *d)
+ const struct option *long_options, int *opt_index,
+ struct _getopt_data *d)
{
return _getopt_internal_r (argc, argv, options, long_options, opt_index,
- 1, 0, d);
+ 1, d, 0);
}
\f
int option_index = 0;
static const struct option long_options[] =
{
- {"add", 1, 0, 0},
- {"append", 0, 0, 0},
- {"delete", 1, 0, 0},
- {"verbose", 0, 0, 0},
- {"create", 0, 0, 0},
- {"file", 1, 0, 0},
- {0, 0, 0, 0}
+ {"add", 1, 0, 0},
+ {"append", 0, 0, 0},
+ {"delete", 1, 0, 0},
+ {"verbose", 0, 0, 0},
+ {"create", 0, 0, 0},
+ {"file", 1, 0, 0},
+ {0, 0, 0, 0}
};
c = getopt_long (argc, argv, "abc:d:0123456789",
- long_options, &option_index);
+ long_options, &option_index);
if (c == -1)
- break;
+ break;
switch (c)
- {
- case 0:
- printf ("option %s", long_options[option_index].name);
- if (optarg)
- printf (" with arg %s", optarg);
- printf ("\n");
- break;
-
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if (digit_optind != 0 && digit_optind != this_option_optind)
- printf ("digits occur in two different argv-elements.\n");
- digit_optind = this_option_optind;
- printf ("option %c\n", c);
- break;
-
- case 'a':
- printf ("option a\n");
- break;
-
- case 'b':
- printf ("option b\n");
- break;
-
- case 'c':
- printf ("option c with value `%s'\n", optarg);
- break;
-
- case 'd':
- printf ("option d with value `%s'\n", optarg);
- break;
-
- case '?':
- break;
-
- default:
- printf ("?? getopt returned character code 0%o ??\n", c);
- }
+ {
+ case 0:
+ printf ("option %s", long_options[option_index].name);
+ if (optarg)
+ printf (" with arg %s", optarg);
+ printf ("\n");
+ break;
+
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ if (digit_optind != 0 && digit_optind != this_option_optind)
+ printf ("digits occur in two different argv-elements.\n");
+ digit_optind = this_option_optind;
+ printf ("option %c\n", c);
+ break;
+
+ case 'a':
+ printf ("option a\n");
+ break;
+
+ case 'b':
+ printf ("option b\n");
+ break;
+
+ case 'c':
+ printf ("option c with value `%s'\n", optarg);
+ break;
+
+ case 'd':
+ printf ("option d with value `%s'\n", optarg);
+ break;
+
+ case '?':
+ break;
+
+ default:
+ printf ("?? getopt returned character code 0%o ??\n", c);
+ }
}
if (optind < argc)
{
printf ("non-option ARGV-elements: ");
while (optind < argc)
- printf ("%s ", argv[optind++]);
+ printf ("%s ", argv[optind++]);
printf ("\n");
}
/* Internal declarations for getopt.
- Copyright (C) 1989-1994,1996-1999,2001,2003,2004
- Free Software Foundation, Inc.
+ Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2011 Free Software
+ Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef _GETOPT_INT_H
-#define _GETOPT_INT_H 1
+#define _GETOPT_INT_H 1
+
+#include <getopt.h>
extern int _getopt_internal (int ___argc, char **___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind,
- int __long_only, int __posixly_correct);
+ const char *__shortopts,
+ const struct option *__longopts, int *__longind,
+ int __long_only, int __posixly_correct);
\f
/* Reentrant versions which can handle parsing multiple argument
vectors at the same time. */
+/* Describe how to deal with options that follow non-option ARGV-elements.
+
+ If the caller did not specify anything,
+ the default is REQUIRE_ORDER if the environment variable
+ POSIXLY_CORRECT is defined, PERMUTE otherwise.
+
+ REQUIRE_ORDER means don't recognize them as options;
+ stop option processing when the first non-option is seen.
+ This is what Unix does.
+ This mode of operation is selected by either setting the environment
+ variable POSIXLY_CORRECT, or using `+' as the first character
+ of the list of option characters, or by calling getopt.
+
+ PERMUTE is the default. We permute the contents of ARGV as we
+ scan, so that eventually all the non-options are at the end.
+ This allows options to be given in any order, even with programs
+ that were not written to expect this.
+
+ RETURN_IN_ORDER is an option available to programs that were
+ written to expect options and other ARGV-elements in any order
+ and that care about the ordering of the two. We describe each
+ non-option ARGV-element as if it were the argument of an option
+ with character code 1. Using `-' as the first character of the
+ list of option characters selects this mode of operation.
+
+ The special argument `--' forces an end of option-scanning regardless
+ of the value of `ordering'. In the case of RETURN_IN_ORDER, only
+ `--' can cause `getopt' to return -1 with `optind' != ARGC. */
+
+enum __ord
+ {
+ REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
+ };
+
/* Data type for reentrant functions. */
struct _getopt_data
{
by advancing to the next ARGV-element. */
char *__nextchar;
- /* Describe how to deal with options that follow non-option ARGV-elements.
-
- If the caller did not specify anything,
- the default is REQUIRE_ORDER if the environment variable
- POSIXLY_CORRECT is defined, PERMUTE otherwise.
-
- REQUIRE_ORDER means don't recognize them as options;
- stop option processing when the first non-option is seen.
- This is what Unix does.
- This mode of operation is selected by either setting the environment
- variable POSIXLY_CORRECT, or using `+' as the first character
- of the list of option characters, or by calling getopt.
-
- PERMUTE is the default. We permute the contents of ARGV as we
- scan, so that eventually all the non-options are at the end.
- This allows options to be given in any order, even with programs
- that were not written to expect this.
-
- RETURN_IN_ORDER is an option available to programs that were
- written to expect options and other ARGV-elements in any order
- and that care about the ordering of the two. We describe each
- non-option ARGV-element as if it were the argument of an option
- with character code 1. Using `-' as the first character of the
- list of option characters selects this mode of operation.
-
- The special argument `--' forces an end of option-scanning regardless
- of the value of `ordering'. In the case of RETURN_IN_ORDER, only
- `--' can cause `getopt' to return -1 with `optind' != ARGC. */
-
- enum
- {
- REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
- } __ordering;
+ /* See __ord above. */
+ enum __ord __ordering;
/* If the POSIXLY_CORRECT environment variable is set
or getopt was called. */
#if defined _LIBC && defined USE_NONOPTION_FLAGS
int __nonoption_flags_max_len;
int __nonoption_flags_len;
-# endif
+#endif
};
/* The initializer is necessary to set OPTIND and OPTERR to their
default values and to clear the initialization flag. */
-#define _GETOPT_DATA_INITIALIZER { 1, 1 }
+#define _GETOPT_DATA_INITIALIZER { 1, 1 }
extern int _getopt_internal_r (int ___argc, char **___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind,
- int __long_only, int __posixly_correct,
- struct _getopt_data *__data);
+ const char *__shortopts,
+ const struct option *__longopts, int *__longind,
+ int __long_only, struct _getopt_data *__data,
+ int __posixly_correct);
extern int _getopt_long_r (int ___argc, char **___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind,
- struct _getopt_data *__data);
+ const char *__shortopts,
+ const struct option *__longopts, int *__longind,
+ struct _getopt_data *__data);
extern int _getopt_long_only_r (int ___argc, char **___argv,
- const char *__shortopts,
- const struct option *__longopts,
- int *__longind,
- struct _getopt_data *__data);
+ const char *__shortopts,
+ const struct option *__longopts,
+ int *__longind,
+ struct _getopt_data *__data);
#endif /* getopt_int.h */
/* Convenience header for conditional use of GNU <libintl.h>.
- Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2011 Free Software
+ Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
it now, to make later inclusions of <libintl.h> a NOP. */
#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)
# include <cstdlib>
-# if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H
+# if (__GLIBC__ >= 2 && !defined __UCLIBC__) || _GLIBCXX_HAVE_LIBINTL_H
# include <libintl.h>
# endif
#endif
((void) (Domainname), ngettext (Msgid1, Msgid2, N))
# undef dcngettext
# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
- ((void) (Category), dngettext(Domainname, Msgid1, Msgid2, N))
+ ((void) (Category), dngettext (Domainname, Msgid1, Msgid2, N))
# undef textdomain
# define textdomain(Domainname) ((const char *) (Domainname))
# undef bindtextdomain
#endif
+/* Prefer gnulib's setlocale override over libintl's setlocale override. */
+#ifdef GNULIB_defined_setlocale
+# undef setlocale
+# define setlocale rpl_setlocale
+#endif
+
/* A pseudo function call that serves as a marker for the automated
extraction of messages, but does not call gettext(). The run-time
translation is done at a different place in the code.
initializer for static 'char[]' or 'const char[]' variables. */
#define gettext_noop(String) String
-/* The separator between msgctxt and msgid in a .mo file. */
-#define GETTEXT_CONTEXT_GLUE "\004"
-
-/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a
- MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be
- short and rarely need to change.
- The letter 'p' stands for 'particular' or 'special'. */
-#ifdef DEFAULT_TEXT_DOMAIN
-# define pgettext(Msgctxt, Msgid) \
- pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
-#else
-# define pgettext(Msgctxt, Msgid) \
- pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
-#endif
-#define dpgettext(Domainname, Msgctxt, Msgid) \
- pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
-#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \
- pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category)
-#ifdef DEFAULT_TEXT_DOMAIN
-# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
- npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
-#else
-# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
- npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
-#endif
-#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
- npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
-#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \
- npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category)
-
-#ifdef __GNUC__
-__inline
-#else
-#ifdef __cplusplus
-inline
-#endif
-#endif
-static const char *
-pgettext_aux (const char *domain,
- const char *msg_ctxt_id, const char *msgid,
- int category)
-{
- const char *translation = dcgettext (domain, msg_ctxt_id, category);
- if (translation == msg_ctxt_id)
- return msgid;
- else
- return translation;
-}
-
-#ifdef __GNUC__
-__inline
-#else
-#ifdef __cplusplus
-inline
-#endif
-#endif
-static const char *
-npgettext_aux (const char *domain,
- const char *msg_ctxt_id, const char *msgid,
- const char *msgid_plural, unsigned long int n,
- int category)
-{
- const char *translation =
- dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
- if (translation == msg_ctxt_id || translation == msgid_plural)
- return (n == 1 ? msgid : msgid_plural);
- else
- return translation;
-}
-
#endif /* _LIBGETTEXT_H */
/* intprops.h -- properties of integer types
- Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2001-2005, 2009-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* Written by Paul Eggert. */
+#ifndef _GL_INTPROPS_H
+#define _GL_INTPROPS_H
+
#include <limits.h>
+/* Return an integer value, converted to the same type as the integer
+ expression E after integer type promotion. V is the unconverted value. */
+#define _GL_INT_CONVERT(e, v) (0 * (e) + (v))
+
+/* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>. */
+#define _GL_INT_NEGATE_CONVERT(e, v) (0 * (e) - (v))
+
/* The extra casts in the following macros work around compiler bugs,
e.g., in Cray C 5.0.3.0. */
#define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0)
#define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1)
+/* True if the signed integer expression E uses two's complement. */
+#define _GL_INT_TWOS_COMPLEMENT(e) (~ _GL_INT_CONVERT (e, 0) == -1)
+
/* True if the arithmetic type T is signed. */
#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-/* The maximum and minimum values for the integer type T. These
+/* Return 1 if the integer expression E, after integer promotion, has
+ a signed type. */
+#define _GL_INT_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
+
+
+/* Minimum and maximum values for integer types and expressions. These
macros have undefined behavior if T is signed and has padding bits.
If this is a problem for you, please let us know how to fix it for
your host. */
-#define TYPE_MINIMUM(t) \
- ((t) (! TYPE_SIGNED (t) \
- ? (t) 0 \
- : TYPE_SIGNED_MAGNITUDE (t) \
- ? ~ (t) 0 \
- : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))
-#define TYPE_MAXIMUM(t) \
- ((t) (! TYPE_SIGNED (t) \
- ? (t) -1 \
- : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
-
-/* Return zero if T can be determined to be an unsigned type.
- Otherwise, return 1.
- When compiling with GCC, INT_STRLEN_BOUND uses this macro to obtain a
- tighter bound. Otherwise, it overestimates the true bound by one byte
- when applied to unsigned types of size 2, 4, 16, ... bytes.
- The symbol signed_type_or_expr__ is private to this header file. */
-#if __GNUC__ >= 2
-# define signed_type_or_expr__(t) TYPE_SIGNED (__typeof__ (t))
+
+/* The maximum and minimum values for the integer type T. */
+#define TYPE_MINIMUM(t) \
+ ((t) (! TYPE_SIGNED (t) \
+ ? (t) 0 \
+ : TYPE_SIGNED_MAGNITUDE (t) \
+ ? ~ (t) 0 \
+ : ~ TYPE_MAXIMUM (t)))
+#define TYPE_MAXIMUM(t) \
+ ((t) (! TYPE_SIGNED (t) \
+ ? (t) -1 \
+ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
+
+/* The maximum and minimum values for the type of the expression E,
+ after integer promotion. E should not have side effects. */
+#define _GL_INT_MINIMUM(e) \
+ (_GL_INT_SIGNED (e) \
+ ? - _GL_INT_TWOS_COMPLEMENT (e) - _GL_SIGNED_INT_MAXIMUM (e) \
+ : _GL_INT_CONVERT (e, 0))
+#define _GL_INT_MAXIMUM(e) \
+ (_GL_INT_SIGNED (e) \
+ ? _GL_SIGNED_INT_MAXIMUM (e) \
+ : _GL_INT_NEGATE_CONVERT (e, 1))
+#define _GL_SIGNED_INT_MAXIMUM(e) \
+ (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
+
+
+/* Return 1 if the __typeof__ keyword works. This could be done by
+ 'configure', but for now it's easier to do it by hand. */
+#if 2 <= __GNUC__ || 0x5110 <= __SUNPRO_C
+# define _GL_HAVE___TYPEOF__ 1
#else
-# define signed_type_or_expr__(t) 1
+# define _GL_HAVE___TYPEOF__ 0
#endif
+/* Return 1 if the integer type or expression T might be signed. Return 0
+ if it is definitely unsigned. This macro does not evaluate its argument,
+ and expands to an integer constant expression. */
+#if _GL_HAVE___TYPEOF__
+# define _GL_SIGNED_TYPE_OR_EXPR(t) TYPE_SIGNED (__typeof__ (t))
+#else
+# define _GL_SIGNED_TYPE_OR_EXPR(t) 1
+#endif
+
+/* Bound on length of the string representing an unsigned integer
+ value representable in B bits. log10 (2.0) < 146/485. The
+ smallest value of B where this bound is not tight is 2621. */
+#define INT_BITS_STRLEN_BOUND(b) (((b) * 146 + 484) / 485)
+
/* Bound on length of the string representing an integer type or expression T.
- Subtract 1 for the sign bit if T is signed; log10 (2.0) < 146/485;
- add 1 for integer division truncation; add 1 more for a minus sign
- if needed. */
-#define INT_STRLEN_BOUND(t) \
- ((sizeof (t) * CHAR_BIT - signed_type_or_expr__ (t)) * 146 / 485 \
- + signed_type_or_expr__ (t) + 1)
+ Subtract 1 for the sign bit if T is signed, and then add 1 more for
+ a minus sign if needed.
+
+ Because _GL_SIGNED_TYPE_OR_EXPR sometimes returns 0 when its argument is
+ signed, this macro may overestimate the true bound by one byte when
+ applied to unsigned types of size 2, 4, 16, ... bytes. */
+#define INT_STRLEN_BOUND(t) \
+ (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \
+ - _GL_SIGNED_TYPE_OR_EXPR (t)) \
+ + _GL_SIGNED_TYPE_OR_EXPR (t))
/* Bound on buffer size needed to represent an integer type or expression T,
including the terminating null. */
#define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1)
+
+
+/* Range overflow checks.
+
+ The INT_<op>_RANGE_OVERFLOW macros return 1 if the corresponding C
+ operators might not yield numerically correct answers due to
+ arithmetic overflow. They do not rely on undefined or
+ implementation-defined behavior. Their implementations are simple
+ and straightforward, but they are a bit harder to use than the
+ INT_<op>_OVERFLOW macros described below.
+
+ Example usage:
+
+ long int i = ...;
+ long int j = ...;
+ if (INT_MULTIPLY_RANGE_OVERFLOW (i, j, LONG_MIN, LONG_MAX))
+ printf ("multiply would overflow");
+ else
+ printf ("product is %ld", i * j);
+
+ Restrictions on *_RANGE_OVERFLOW macros:
+
+ These macros do not check for all possible numerical problems or
+ undefined or unspecified behavior: they do not check for division
+ by zero, for bad shift counts, or for shifting negative numbers.
+
+ These macros may evaluate their arguments zero or multiple times,
+ so the arguments should not have side effects. The arithmetic
+ arguments (including the MIN and MAX arguments) must be of the same
+ integer type after the usual arithmetic conversions, and the type
+ must have minimum value MIN and maximum MAX. Unsigned types should
+ use a zero MIN of the proper type.
+
+ These macros are tuned for constant MIN and MAX. For commutative
+ operations such as A + B, they are also tuned for constant B. */
+
+/* Return 1 if A + B would overflow in [MIN,MAX] arithmetic.
+ See above for restrictions. */
+#define INT_ADD_RANGE_OVERFLOW(a, b, min, max) \
+ ((b) < 0 \
+ ? (a) < (min) - (b) \
+ : (max) - (b) < (a))
+
+/* Return 1 if A - B would overflow in [MIN,MAX] arithmetic.
+ See above for restrictions. */
+#define INT_SUBTRACT_RANGE_OVERFLOW(a, b, min, max) \
+ ((b) < 0 \
+ ? (max) + (b) < (a) \
+ : (a) < (min) + (b))
+
+/* Return 1 if - A would overflow in [MIN,MAX] arithmetic.
+ See above for restrictions. */
+#define INT_NEGATE_RANGE_OVERFLOW(a, min, max) \
+ ((min) < 0 \
+ ? (a) < - (max) \
+ : 0 < (a))
+
+/* Return 1 if A * B would overflow in [MIN,MAX] arithmetic.
+ See above for restrictions. Avoid && and || as they tickle
+ bugs in Sun C 5.11 2010/08/13 and other compilers; see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>. */
+#define INT_MULTIPLY_RANGE_OVERFLOW(a, b, min, max) \
+ ((b) < 0 \
+ ? ((a) < 0 \
+ ? (a) < (max) / (b) \
+ : (b) == -1 \
+ ? 0 \
+ : (min) / (b) < (a)) \
+ : (b) == 0 \
+ ? 0 \
+ : ((a) < 0 \
+ ? (a) < (min) / (b) \
+ : (max) / (b) < (a)))
+
+/* Return 1 if A / B would overflow in [MIN,MAX] arithmetic.
+ See above for restrictions. Do not check for division by zero. */
+#define INT_DIVIDE_RANGE_OVERFLOW(a, b, min, max) \
+ ((min) < 0 && (b) == -1 && (a) < - (max))
+
+/* Return 1 if A % B would overflow in [MIN,MAX] arithmetic.
+ See above for restrictions. Do not check for division by zero.
+ Mathematically, % should never overflow, but on x86-like hosts
+ INT_MIN % -1 traps, and the C standard permits this, so treat this
+ as an overflow too. */
+#define INT_REMAINDER_RANGE_OVERFLOW(a, b, min, max) \
+ INT_DIVIDE_RANGE_OVERFLOW (a, b, min, max)
+
+/* Return 1 if A << B would overflow in [MIN,MAX] arithmetic.
+ See above for restrictions. Here, MIN and MAX are for A only, and B need
+ not be of the same type as the other arguments. The C standard says that
+ behavior is undefined for shifts unless 0 <= B < wordwidth, and that when
+ A is negative then A << B has undefined behavior and A >> B has
+ implementation-defined behavior, but do not check these other
+ restrictions. */
+#define INT_LEFT_SHIFT_RANGE_OVERFLOW(a, b, min, max) \
+ ((a) < 0 \
+ ? (a) < (min) >> (b) \
+ : (max) >> (b) < (a))
+
+
+/* The _GL*_OVERFLOW macros have the same restrictions as the
+ *_RANGE_OVERFLOW macros, except that they do not assume that operands
+ (e.g., A and B) have the same type as MIN and MAX. Instead, they assume
+ that the result (e.g., A + B) has that type. */
+#define _GL_ADD_OVERFLOW(a, b, min, max) \
+ ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \
+ : (a) < 0 ? (b) <= (a) + (b) \
+ : (b) < 0 ? (a) <= (a) + (b) \
+ : (a) + (b) < (b))
+#define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \
+ ((min) < 0 ? INT_SUBTRACT_RANGE_OVERFLOW (a, b, min, max) \
+ : (a) < 0 ? 1 \
+ : (b) < 0 ? (a) - (b) <= (a) \
+ : (a) < (b))
+#define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \
+ (((min) == 0 && (((a) < 0 && 0 < (b)) || ((b) < 0 && 0 < (a)))) \
+ || INT_MULTIPLY_RANGE_OVERFLOW (a, b, min, max))
+#define _GL_DIVIDE_OVERFLOW(a, b, min, max) \
+ ((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max) \
+ : (a) < 0 ? (b) <= (a) + (b) - 1 \
+ : (b) < 0 && (a) + (b) <= (a))
+#define _GL_REMAINDER_OVERFLOW(a, b, min, max) \
+ ((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max) \
+ : (a) < 0 ? (a) % (b) != ((max) - (b) + 1) % (b) \
+ : (b) < 0 && ! _GL_UNSIGNED_NEG_MULTIPLE (a, b, max))
+
+/* Return a nonzero value if A is a mathematical multiple of B, where
+ A is unsigned, B is negative, and MAX is the maximum value of A's
+ type. A's type must be the same as (A % B)'s type. Normally (A %
+ -B == 0) suffices, but things get tricky if -B would overflow. */
+#define _GL_UNSIGNED_NEG_MULTIPLE(a, b, max) \
+ (((b) < -_GL_SIGNED_INT_MAXIMUM (b) \
+ ? (_GL_SIGNED_INT_MAXIMUM (b) == (max) \
+ ? (a) \
+ : (a) % (_GL_INT_CONVERT (a, _GL_SIGNED_INT_MAXIMUM (b)) + 1)) \
+ : (a) % - (b)) \
+ == 0)
+
+
+/* Integer overflow checks.
+
+ The INT_<op>_OVERFLOW macros return 1 if the corresponding C operators
+ might not yield numerically correct answers due to arithmetic overflow.
+ They work correctly on all known practical hosts, and do not rely
+ on undefined behavior due to signed arithmetic overflow.
+
+ Example usage:
+
+ long int i = ...;
+ long int j = ...;
+ if (INT_MULTIPLY_OVERFLOW (i, j))
+ printf ("multiply would overflow");
+ else
+ printf ("product is %ld", i * j);
+
+ These macros do not check for all possible numerical problems or
+ undefined or unspecified behavior: they do not check for division
+ by zero, for bad shift counts, or for shifting negative numbers.
+
+ These macros may evaluate their arguments zero or multiple times, so the
+ arguments should not have side effects.
+
+ These macros are tuned for their last argument being a constant.
+
+ Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B,
+ A % B, and A << B would overflow, respectively. */
+
+#define INT_ADD_OVERFLOW(a, b) \
+ _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
+#define INT_SUBTRACT_OVERFLOW(a, b) \
+ _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
+#define INT_NEGATE_OVERFLOW(a) \
+ INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a))
+#define INT_MULTIPLY_OVERFLOW(a, b) \
+ _GL_BINARY_OP_OVERFLOW (a, b, _GL_MULTIPLY_OVERFLOW)
+#define INT_DIVIDE_OVERFLOW(a, b) \
+ _GL_BINARY_OP_OVERFLOW (a, b, _GL_DIVIDE_OVERFLOW)
+#define INT_REMAINDER_OVERFLOW(a, b) \
+ _GL_BINARY_OP_OVERFLOW (a, b, _GL_REMAINDER_OVERFLOW)
+#define INT_LEFT_SHIFT_OVERFLOW(a, b) \
+ INT_LEFT_SHIFT_RANGE_OVERFLOW (a, b, \
+ _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a))
+
+/* Return 1 if the expression A <op> B would overflow,
+ where OP_RESULT_OVERFLOW (A, B, MIN, MAX) does the actual test,
+ assuming MIN and MAX are the minimum and maximum for the result type.
+ Arguments should be free of side effects. */
+#define _GL_BINARY_OP_OVERFLOW(a, b, op_result_overflow) \
+ op_result_overflow (a, b, \
+ _GL_INT_MINIMUM (0 * (b) + (a)), \
+ _GL_INT_MAXIMUM (0 * (b) + (a)))
+
+#endif /* _GL_INTPROPS_H */
# 00gnulib.m4 serial 2
-dnl Copyright (C) 2009 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2011 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.
--- /dev/null
+# alloca.m4 serial 13
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2011 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_ALLOCA],
+[
+ AC_REQUIRE([AC_FUNC_ALLOCA])
+ if test $ac_cv_func_alloca_works = no; then
+ gl_PREREQ_ALLOCA
+ fi
+
+ # Define an additional variable used in the Makefile substitution.
+ if test $ac_cv_working_alloca_h = yes; then
+ AC_CACHE_CHECK([for alloca as a compiler built-in], [gl_cv_rpl_alloca], [
+ AC_EGREP_CPP([Need own alloca], [
+#if defined __GNUC__ || defined _AIX || defined _MSC_VER
+ Need own alloca
+#endif
+ ], [gl_cv_rpl_alloca=yes], [gl_cv_rpl_alloca=no])
+ ])
+ if test $gl_cv_rpl_alloca = yes; then
+ dnl OK, alloca can be implemented through a compiler built-in.
+ AC_DEFINE([HAVE_ALLOCA], [1],
+ [Define to 1 if you have 'alloca' after including <alloca.h>,
+ a header that may be supplied by this distribution.])
+ ALLOCA_H=alloca.h
+ else
+ dnl alloca exists as a library function, i.e. it is slow and probably
+ dnl a memory leak. Don't define HAVE_ALLOCA in this case.
+ ALLOCA_H=
+ fi
+ else
+ ALLOCA_H=alloca.h
+ fi
+ AC_SUBST([ALLOCA_H])
+ AM_CONDITIONAL([GL_GENERATE_ALLOCA_H], [test -n "$ALLOCA_H"])
+])
+
+# Prerequisites of lib/alloca.c.
+# STACK_DIRECTION is already handled by AC_FUNC_ALLOCA.
+AC_DEFUN([gl_PREREQ_ALLOCA], [:])
+
+# This works around a bug in autoconf <= 2.68.
+# See <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00277.html>.
+
+m4_version_prereq([2.69], [] ,[
+
+# This is taken from the following Autoconf patch:
+# http://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=6cd9f12520b0d6f76d3230d7565feba1ecf29497
+
+# _AC_LIBOBJ_ALLOCA
+# -----------------
+# Set up the LIBOBJ replacement of `alloca'. Well, not exactly
+# AC_LIBOBJ since we actually set the output variable `ALLOCA'.
+# Nevertheless, for Automake, AC_LIBSOURCES it.
+m4_define([_AC_LIBOBJ_ALLOCA],
+[# The SVR3 libPW and SVR4 libucb both contain incompatible functions
+# that cause trouble. Some versions do not even contain alloca or
+# contain a buggy version. If you still want to use their alloca,
+# use ar to extract alloca.o from them instead of compiling alloca.c.
+AC_LIBSOURCES(alloca.c)
+AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])dnl
+AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using `alloca.c'.])
+
+AC_CACHE_CHECK(whether `alloca.c' needs Cray hooks, ac_cv_os_cray,
+[AC_EGREP_CPP(webecray,
+[#if defined CRAY && ! defined CRAY2
+webecray
+#else
+wenotbecray
+#endif
+], ac_cv_os_cray=yes, ac_cv_os_cray=no)])
+if test $ac_cv_os_cray = yes; then
+ for ac_func in _getb67 GETB67 getb67; do
+ AC_CHECK_FUNC($ac_func,
+ [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func,
+ [Define to one of `_getb67', `GETB67',
+ `getb67' for Cray-2 and Cray-YMP
+ systems. This function is required for
+ `alloca.c' support on those systems.])
+ break])
+ done
+fi
+
+AC_CACHE_CHECK([stack direction for C alloca],
+ [ac_cv_c_stack_direction],
+[AC_RUN_IFELSE([AC_LANG_SOURCE(
+[AC_INCLUDES_DEFAULT
+int
+find_stack_direction (int *addr, int depth)
+{
+ int dir, dummy = 0;
+ if (! addr)
+ addr = &dummy;
+ *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+ dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+ return dir + dummy;
+}
+
+int
+main (int argc, char **argv)
+{
+ return find_stack_direction (0, argc + !argv + 20) < 0;
+}])],
+ [ac_cv_c_stack_direction=1],
+ [ac_cv_c_stack_direction=-1],
+ [ac_cv_c_stack_direction=0])])
+AH_VERBATIM([STACK_DIRECTION],
+[/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at runtime.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
+@%:@undef STACK_DIRECTION])dnl
+AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction)
+])# _AC_LIBOBJ_ALLOCA
+])
# autobuild.m4 serial 7
-dnl Copyright (C) 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006-2011 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.
--- /dev/null
+# close.m4 serial 8
+dnl Copyright (C) 2008-2011 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.
+
+AC_DEFUN([gl_FUNC_CLOSE],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_REQUIRE([gl_MSVC_INVAL])
+ if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+ REPLACE_CLOSE=1
+ fi
+ m4_ifdef([gl_PREREQ_SYS_H_WINSOCK2], [
+ gl_PREREQ_SYS_H_WINSOCK2
+ if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
+ dnl Even if the 'socket' module is not used here, another part of the
+ dnl application may use it and pass file descriptors that refer to
+ dnl sockets to the close() function. So enable the support for sockets.
+ REPLACE_CLOSE=1
+ fi
+ ])
+ dnl Replace close() for supporting the gnulib-defined fchdir() function,
+ dnl to keep fchdir's bookkeeping up-to-date.
+ m4_ifdef([gl_FUNC_FCHDIR], [
+ if test $REPLACE_CLOSE = 0; then
+ gl_TEST_FCHDIR
+ if test $HAVE_FCHDIR = 0; then
+ REPLACE_CLOSE=1
+ fi
+ fi
+ ])
+])
# csharp.m4 serial 3
-dnl Copyright (C) 2004-2005, 2009 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2011 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.
# csharpcomp.m4 serial 8
-dnl Copyright (C) 2003-2005, 2007, 2009 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2005, 2007, 2009-2011 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.
--- /dev/null
+# csharpexec.m4 serial 4
+dnl Copyright (C) 2003-2005, 2009-2011 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.
+
+# Prerequisites of csharpexec.sh.
+# Checks for a C# execution engine.
+# gt_CSHARPEXEC or gt_CSHARPEXEC(testexecutable, its-directory)
+# Sets at most one of HAVE_ILRUN, HAVE_MONO, HAVE_CLIX.
+# Sets HAVE_CSHARPEXEC to nonempty if csharpexec.sh will work.
+AC_DEFUN([gt_CSHARPEXEC],
+[
+ AC_REQUIRE([gt_CSHARP_CHOICE])
+ AC_MSG_CHECKING([for C[#] program execution engine])
+ AC_EGREP_CPP([yes], [
+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
+ yes
+#endif
+], MONO_PATH_SEPARATOR=';', MONO_PATH_SEPARATOR=':')
+ HAVE_CSHARPEXEC=1
+ pushdef([AC_MSG_CHECKING],[:])dnl
+ pushdef([AC_CHECKING],[:])dnl
+ pushdef([AC_MSG_RESULT],[:])dnl
+ AC_CHECK_PROG([HAVE_ILRUN_IN_PATH], [ilrun], [yes])
+ AC_CHECK_PROG([HAVE_MONO_IN_PATH], [mono], [yes])
+ AC_CHECK_PROG([HAVE_CLIX_IN_PATH], [clix], [yes])
+ popdef([AC_MSG_RESULT])dnl
+ popdef([AC_CHECKING])dnl
+ popdef([AC_MSG_CHECKING])dnl
+ for impl in "$CSHARP_CHOICE" pnet mono no; do
+ case "$impl" in
+ pnet)
+ if test -n "$HAVE_ILRUN_IN_PATH" \
+ && ilrun --version >/dev/null 2>/dev/null \
+ ifelse([$1], , , [&& ilrun $2/$1 >/dev/null 2>/dev/null]); then
+ HAVE_ILRUN=1
+ ac_result="ilrun"
+ break
+ fi
+ ;;
+ mono)
+ if test -n "$HAVE_MONO_IN_PATH" \
+ && mono --version >/dev/null 2>/dev/null \
+ ifelse([$1], , , [&& mono $2/$1 >/dev/null 2>/dev/null]); then
+ HAVE_MONO=1
+ ac_result="mono"
+ break
+ fi
+ ;;
+ sscli)
+ if test -n "$HAVE_CLIX_IN_PATH" \
+ ifelse([$1], , , [&& clix $2/$1 >/dev/null 2>/dev/null]); then
+ HAVE_CLIX=1
+ case $host_os in
+ cygwin* | mingw* | pw32*)
+ CLIX_PATH_VAR=PATH
+ ;;
+ darwin* | rhapsody*)
+ CLIX_PATH_VAR=DYLD_LIBRARY_PATH
+ ;;
+ *)
+ CLIX_PATH_VAR=LD_LIBRARY_PATH
+ ;;
+ esac
+ eval CLIX_PATH=\"\$CLIX_PATH_VAR\"
+ ac_result="clix"
+ break
+ fi
+ ;;
+ no)
+ HAVE_CSHARPEXEC=
+ ac_result="no"
+ break
+ ;;
+ esac
+ done
+ AC_MSG_RESULT([$ac_result])
+ AC_SUBST([MONO_PATH])
+ AC_SUBST([MONO_PATH_SEPARATOR])
+ AC_SUBST([CLIX_PATH_VAR])
+ AC_SUBST([CLIX_PATH])
+ AC_SUBST([HAVE_ILRUN])
+ AC_SUBST([HAVE_MONO])
+ AC_SUBST([HAVE_CLIX])
+])
--- /dev/null
+#serial 16
+dnl Copyright (C) 2002, 2005, 2007, 2009-2011 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.
+
+AC_DEFUN([gl_FUNC_DUP2],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ m4_ifdef([gl_FUNC_DUP2_OBSOLETE], [
+ AC_CHECK_FUNCS_ONCE([dup2])
+ if test $ac_cv_func_dup2 = no; then
+ HAVE_DUP2=0
+ fi
+ ], [
+ AC_DEFINE([HAVE_DUP2], [1], [Define to 1 if you have the 'dup2' function.])
+ ])
+ if test $HAVE_DUP2 = 1; then
+ AC_CACHE_CHECK([whether dup2 works], [gl_cv_func_dup2_works],
+ [AC_RUN_IFELSE([
+ AC_LANG_PROGRAM([[#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>]],
+ [int result = 0;
+#ifdef FD_CLOEXEC
+ if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
+ result |= 1;
+#endif
+ if (dup2 (1, 1) == 0)
+ result |= 2;
+#ifdef FD_CLOEXEC
+ if (fcntl (1, F_GETFD) != FD_CLOEXEC)
+ result |= 4;
+#endif
+ close (0);
+ if (dup2 (0, 0) != -1)
+ result |= 8;
+ /* Many gnulib modules require POSIX conformance of EBADF. */
+ if (dup2 (2, 1000000) == -1 && errno != EBADF)
+ result |= 16;
+ return result;
+ ])
+ ],
+ [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no],
+ [case "$host_os" in
+ mingw*) # on this platform, dup2 always returns 0 for success
+ gl_cv_func_dup2_works=no;;
+ cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
+ gl_cv_func_dup2_works=no;;
+ linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a
+ # closed fd may yield -EBADF instead of -1 / errno=EBADF.
+ gl_cv_func_dup2_works=no;;
+ freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF.
+ gl_cv_func_dup2_works=no;;
+ haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
+ gl_cv_func_dup2_works=no;;
+ *) gl_cv_func_dup2_works=yes;;
+ esac])
+ ])
+ if test "$gl_cv_func_dup2_works" = no; then
+ REPLACE_DUP2=1
+ fi
+ fi
+ dnl Replace dup2() for supporting the gnulib-defined fchdir() function,
+ dnl to keep fchdir's bookkeeping up-to-date.
+ m4_ifdef([gl_FUNC_FCHDIR], [
+ gl_TEST_FCHDIR
+ if test $HAVE_FCHDIR = 0; then
+ REPLACE_DUP2=1
+ fi
+ ])
+])
+
+# Prerequisites of lib/dup2.c.
+AC_DEFUN([gl_PREREQ_DUP2], [])
--- /dev/null
+# eealloc.m4 serial 2
+dnl Copyright (C) 2003, 2009-2011 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.
+
+AC_DEFUN([gl_EEALLOC],
+[
+ AC_REQUIRE([gl_EEMALLOC])
+ AC_REQUIRE([gl_EEREALLOC])
+ AC_REQUIRE([AC_C_INLINE])
+])
+
+AC_DEFUN([gl_EEMALLOC],
+[
+ _AC_FUNC_MALLOC_IF(
+ [gl_cv_func_malloc_0_nonnull=1],
+ [gl_cv_func_malloc_0_nonnull=0])
+ AC_DEFINE_UNQUOTED([MALLOC_0_IS_NONNULL], [$gl_cv_func_malloc_0_nonnull],
+ [If malloc(0) is != NULL, define this to 1. Otherwise define this
+ to 0.])
+])
+
+AC_DEFUN([gl_EEREALLOC],
+[
+ _AC_FUNC_REALLOC_IF(
+ [gl_cv_func_realloc_0_nonnull=1],
+ [gl_cv_func_realloc_0_nonnull=0])
+ AC_DEFINE_UNQUOTED([REALLOC_0_IS_NONNULL], [$gl_cv_func_realloc_0_nonnull],
+ [If realloc(NULL,0) is != NULL, define this to 1. Otherwise define this
+ to 0.])
+])
--- /dev/null
+# environ.m4 serial 6
+dnl Copyright (C) 2001-2004, 2006-2011 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.
+
+AC_DEFUN_ONCE([gl_ENVIRON],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ dnl Persuade glibc <unistd.h> to declare environ.
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
+ AC_CHECK_HEADERS_ONCE([unistd.h])
+ gt_CHECK_VAR_DECL(
+ [#if HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+ /* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>. */
+ #include <stdlib.h>
+ ],
+ [environ])
+ if test $gt_cv_var_environ_declaration != yes; then
+ HAVE_DECL_ENVIRON=0
+ fi
+])
+
+# Check if a variable is properly declared.
+# gt_CHECK_VAR_DECL(includes,variable)
+AC_DEFUN([gt_CHECK_VAR_DECL],
+[
+ define([gt_cv_var], [gt_cv_var_]$2[_declaration])
+ AC_MSG_CHECKING([if $2 is properly declared])
+ AC_CACHE_VAL([gt_cv_var], [
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[$1
+ extern struct { int foo; } $2;]],
+ [[$2.foo = 1;]])],
+ [gt_cv_var=no],
+ [gt_cv_var=yes])])
+ AC_MSG_RESULT([$gt_cv_var])
+ if test $gt_cv_var = yes; then
+ AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1,
+ [Define if you have the declaration of $2.])
+ fi
+ undefine([gt_cv_var])
+])
-# errno_h.m4 serial 5
-dnl Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc.
+# errno_h.m4 serial 10
+dnl Copyright (C) 2004, 2006, 2008-2011 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.
#if !defined ENOTSUP
booboo
#endif
+#if !defined ENETRESET
+booboo
+#endif
+#if !defined ECONNABORTED
+booboo
+#endif
+#if !defined ESTALE
+booboo
+#endif
+#if !defined EDQUOT
+booboo
+#endif
#if !defined ECANCELED
booboo
#endif
if test $gl_cv_header_errno_h_complete = yes; then
ERRNO_H=''
else
- gl_CHECK_NEXT_HEADERS([errno.h])
+ gl_NEXT_HEADERS([errno.h])
ERRNO_H='errno.h'
fi
AC_SUBST([ERRNO_H])
+ AM_CONDITIONAL([GL_GENERATE_ERRNO_H], [test -n "$ERRNO_H"])
gl_REPLACE_ERRNO_VALUE([EMULTIHOP])
gl_REPLACE_ERRNO_VALUE([ENOLINK])
gl_REPLACE_ERRNO_VALUE([EOVERFLOW])
-#serial 11
+#serial 14
-# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software
-# Foundation, Inc.
+# Copyright (C) 1996-1998, 2001-2004, 2009-2011 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
AC_DEFUN([gl_ERROR],
[
- AC_FUNC_ERROR_AT_LINE
- dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]).
- gl_PREREQ_ERROR
+ dnl We don't use AC_FUNC_ERROR_AT_LINE any more, because it is no longer
+ dnl maintained in Autoconf and because it invokes AC_LIBOBJ.
+ AC_CACHE_CHECK([for error_at_line], [ac_cv_lib_error_at_line],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <error.h>]],
+ [[error_at_line (0, 0, "", 0, "an error occurred");]])],
+ [ac_cv_lib_error_at_line=yes],
+ [ac_cv_lib_error_at_line=no])])
])
# Prerequisites of lib/error.c.
AC_DEFUN([gl_PREREQ_ERROR],
[
AC_REQUIRE([AC_FUNC_STRERROR_R])
+ AC_REQUIRE([AC_C_INLINE])
:
])
-# serial 8 -*- Autoconf -*-
+# serial 10 -*- Autoconf -*-
# Enable extensions on systems that normally disable them.
-# Copyright (C) 2003, 2006-2009 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# enough in this area it's likely we'll need to redefine
# AC_USE_SYSTEM_EXTENSIONS for quite some time.
+# If autoconf reports a warning
+# warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
+# or warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
+# the fix is
+# 1) to ensure that AC_USE_SYSTEM_EXTENSIONS is never directly invoked
+# but always AC_REQUIREd,
+# 2) to ensure that for each occurrence of
+# AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+# or
+# AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+# the corresponding gnulib module description has 'extensions' among
+# its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS
+# invocation occurs in gl_EARLY, not in gl_INIT.
+
# AC_USE_SYSTEM_EXTENSIONS
# ------------------------
# Enable extensions on systems that normally disable them,
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
+/* Enable general extensions on MacOS X. */
+#ifndef _DARWIN_C_SOURCE
+# undef _DARWIN_C_SOURCE
+#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
[ac_cv_safe_to_define___extensions__],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
-# define __EXTENSIONS__ 1
- ]AC_INCLUDES_DEFAULT])],
+# define __EXTENSIONS__ 1
+ ]AC_INCLUDES_DEFAULT])],
[ac_cv_safe_to_define___extensions__=yes],
[ac_cv_safe_to_define___extensions__=no])])
test $ac_cv_safe_to_define___extensions__ = yes &&
AC_DEFINE([__EXTENSIONS__])
AC_DEFINE([_ALL_SOURCE])
+ AC_DEFINE([_DARWIN_C_SOURCE])
AC_DEFINE([_GNU_SOURCE])
AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
AC_DEFINE([_TANDEM_SOURCE])
--- /dev/null
+# serial 15
+# Configure fcntl.h.
+dnl Copyright (C) 2006-2007, 2009-2011 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 Written by Paul Eggert.
+
+AC_DEFUN([gl_FCNTL_H],
+[
+ AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
+ AC_REQUIRE([gl_FCNTL_O_FLAGS])
+ gl_NEXT_HEADERS([fcntl.h])
+
+ dnl Ensure the type pid_t gets defined.
+ AC_REQUIRE([AC_TYPE_PID_T])
+
+ dnl Ensure the type mode_t gets defined.
+ AC_REQUIRE([AC_TYPE_MODE_T])
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use, if it is not common
+ dnl enough to be declared everywhere.
+ gl_WARN_ON_USE_PREPARE([[#include <fcntl.h>
+ ]], [fcntl openat])
+])
+
+AC_DEFUN([gl_FCNTL_MODULE_INDICATOR],
+[
+ dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+ AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_FCNTL_H_DEFAULTS],
+[
+ GNULIB_FCNTL=0; AC_SUBST([GNULIB_FCNTL])
+ GNULIB_NONBLOCKING=0; AC_SUBST([GNULIB_NONBLOCKING])
+ GNULIB_OPEN=0; AC_SUBST([GNULIB_OPEN])
+ GNULIB_OPENAT=0; AC_SUBST([GNULIB_OPENAT])
+ dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE_FCNTL=1; AC_SUBST([HAVE_FCNTL])
+ HAVE_OPENAT=1; AC_SUBST([HAVE_OPENAT])
+ REPLACE_FCNTL=0; AC_SUBST([REPLACE_FCNTL])
+ REPLACE_OPEN=0; AC_SUBST([REPLACE_OPEN])
+ REPLACE_OPENAT=0; AC_SUBST([REPLACE_OPENAT])
+])
--- /dev/null
+# fdopen.m4 serial 2
+dnl Copyright (C) 2011 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.
+
+AC_DEFUN([gl_FUNC_FDOPEN],
+[
+ AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_REQUIRE([gl_MSVC_INVAL])
+ if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+ REPLACE_FDOPEN=1
+ else
+ dnl Test whether fdopen() sets errno when it fails due to a bad fd argument.
+ AC_CACHE_CHECK([whether fdopen sets errno], [gl_cv_func_fdopen_works],
+ [
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <stdio.h>
+#include <errno.h>
+int
+main (void)
+{
+ FILE *fp;
+ errno = 0;
+ fp = fdopen (-1, "r");
+ if (fp != NULL)
+ return 1;
+ if (errno == 0)
+ return 2;
+ return 0;
+}]])],
+ [gl_cv_func_fdopen_works=yes],
+ [gl_cv_func_fdopen_works=no],
+ [case "$host_os" in
+ mingw*) gl_cv_func_fdopen_works="guessing no" ;;
+ *) gl_cv_func_fdopen_works="guessing yes" ;;
+ esac
+ ])
+ ])
+ case "$gl_cv_func_fdopen_works" in
+ *no) REPLACE_FDOPEN=1 ;;
+ esac
+ fi
+])
+
+dnl Prerequisites of lib/fdopen.c.
+AC_DEFUN([gl_PREREQ_FDOPEN], [])
--- /dev/null
+# fstat.m4 serial 1
+dnl Copyright (C) 2011 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.
+
+AC_DEFUN([gl_FUNC_FSTAT],
+[
+ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+ AC_REQUIRE([gl_MSVC_INVAL])
+ if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+ REPLACE_FSTAT=1
+ fi
+ dnl Replace fstat() for supporting the gnulib-defined open() on directories.
+ m4_ifdef([gl_FUNC_FCHDIR], [
+ gl_TEST_FCHDIR
+ if test $HAVE_FCHDIR = 0 \
+ && test "$gl_cv_func_open_directory_works" != yes; then
+ REPLACE_FSTAT=1
+ fi
+ ])
+])
+
+# Prerequisites of lib/fstat.c.
+AC_DEFUN([gl_PREREQ_FSTAT],
+[
+ AC_REQUIRE([AC_C_INLINE])
+])
--- /dev/null
+# getcwd.m4 - check for working getcwd that is compatible with glibc
+
+# Copyright (C) 2001, 2003-2007, 2009-2011 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Written by Paul Eggert.
+# serial 10
+
+AC_DEFUN([gl_FUNC_GETCWD_NULL],
+ [
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_CHECK_HEADERS_ONCE([unistd.h])
+ AC_CACHE_CHECK([whether getcwd (NULL, 0) allocates memory for result],
+ [gl_cv_func_getcwd_null],
+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+# if HAVE_UNISTD_H
+# include <unistd.h>
+# else /* on Windows with MSVC */
+# include <direct.h>
+# endif
+# ifndef getcwd
+ char *getcwd ();
+# endif
+]], [[
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* mingw cwd does not start with '/', but getcwd does allocate.
+ However, mingw fails to honor non-zero size. */
+#else
+ if (chdir ("/") != 0)
+ return 1;
+ else
+ {
+ char *f = getcwd (NULL, 0);
+ if (! f)
+ return 2;
+ if (f[0] != '/')
+ return 3;
+ if (f[1] != '\0')
+ return 4;
+ return 0;
+ }
+#endif
+ ]])],
+ [gl_cv_func_getcwd_null=yes],
+ [gl_cv_func_getcwd_null=no],
+ [[
+ case "$host_os" in
+ # Guess yes on glibc systems.
+ *-gnu*) gl_cv_func_getcwd_null="guessing yes";;
+ # Guess yes on Cygwin.
+ cygwin*) gl_cv_func_getcwd_null="guessing yes";;
+ # If we don't know, assume the worst.
+ *) gl_cv_func_getcwd_null="guessing no";;
+ esac
+ ]])])
+])
+
+AC_DEFUN([gl_FUNC_GETCWD_SIGNATURE],
+[
+ AC_CACHE_CHECK([for getcwd with POSIX signature],
+ [gl_cv_func_getcwd_posix_signature],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <unistd.h>]],
+ [[extern
+ #ifdef __cplusplus
+ "C"
+ #endif
+ char *getcwd (char *, size_t);
+ ]])
+ ],
+ [gl_cv_func_getcwd_posix_signature=yes],
+ [gl_cv_func_getcwd_posix_signature=no])
+ ])
+])
+
+dnl Guarantee that getcwd will malloc with a NULL first argument. Assumes
+dnl that either the system getcwd is robust, or that calling code is okay
+dnl with spurious failures when run from a directory with an absolute name
+dnl larger than 4k bytes.
+dnl
+dnl Assumes that getcwd exists; if you are worried about obsolete
+dnl platforms that lacked getcwd(), then you need to use the GPL module.
+AC_DEFUN([gl_FUNC_GETCWD_LGPL],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_REQUIRE([gl_FUNC_GETCWD_NULL])
+ AC_REQUIRE([gl_FUNC_GETCWD_SIGNATURE])
+
+ case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_posix_signature in
+ *yes,yes) ;;
+ *)
+ dnl Minimal replacement lib/getcwd-lgpl.c.
+ REPLACE_GETCWD=1
+ ;;
+ esac
+])
+
+dnl Check for all known getcwd bugs; useful for a program likely to be
+dnl executed from an arbitrary location.
+AC_DEFUN([gl_FUNC_GETCWD],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_REQUIRE([gl_FUNC_GETCWD_NULL])
+ AC_REQUIRE([gl_FUNC_GETCWD_SIGNATURE])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+ gl_abort_bug=no
+ case "$host_os" in
+ mingw*)
+ gl_cv_func_getcwd_path_max=yes
+ ;;
+ *)
+ gl_FUNC_GETCWD_PATH_MAX
+ case "$gl_cv_func_getcwd_null" in
+ *yes)
+ gl_FUNC_GETCWD_ABORT_BUG([gl_abort_bug=yes])
+ ;;
+ esac
+ ;;
+ esac
+ dnl Define HAVE_MINIMALLY_WORKING_GETCWD and HAVE_PARTLY_WORKING_GETCWD
+ dnl if appropriate.
+ case "$gl_cv_func_getcwd_path_max" in
+ "no, it has the AIX bug") ;;
+ *)
+ AC_DEFINE([HAVE_MINIMALLY_WORKING_GETCWD], [1],
+ [Define to 1 if getcwd minimally works, that is, its result can be
+ trusted when it succeeds.])
+ ;;
+ esac
+ case "$gl_cv_func_getcwd_path_max" in
+ "no, but it is partly working")
+ AC_DEFINE([HAVE_PARTLY_WORKING_GETCWD], [1],
+ [Define to 1 if getcwd works, except it sometimes fails when it
+ shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT.])
+ ;;
+ esac
+
+ case $gl_cv_func_getcwd_null,$gl_cv_func_getcwd_posix_signature$gl_cv_func_getcwd_path_max,$gl_abort_bug in
+ *yes,yes,yes,no) ;;
+ *)
+ dnl Full replacement lib/getcwd.c, overrides LGPL replacement.
+ REPLACE_GETCWD=1;;
+ esac
+])
+
+# Prerequisites of lib/getcwd.c, when full replacement is in effect.
+AC_DEFUN([gl_PREREQ_GETCWD],
+[
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ AC_REQUIRE([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO])
+ :
+])
-# getopt.m4 serial 14
-dnl Copyright (C) 2002-2006, 2008 Free Software Foundation, Inc.
+# getopt.m4 serial 38
+dnl Copyright (C) 2002-2006, 2008-2011 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.
-# The getopt module assume you want GNU getopt, with getopt_long etc,
-# rather than vanilla POSIX getopt. This means your code should
-# always include <getopt.h> for the getopt prototypes.
+# Request a POSIX compliant getopt function.
+AC_DEFUN([gl_FUNC_GETOPT_POSIX],
+[
+ m4_divert_text([DEFAULTS], [gl_getopt_required=POSIX])
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ dnl Other modules can request the gnulib implementation of the getopt
+ dnl functions unconditionally, by defining gl_REPLACE_GETOPT_ALWAYS.
+ dnl argp.m4 does this.
+ m4_ifdef([gl_REPLACE_GETOPT_ALWAYS], [
+ gl_GETOPT_IFELSE([], [])
+ REPLACE_GETOPT=1
+ ], [
+ REPLACE_GETOPT=0
+ gl_GETOPT_IFELSE([
+ REPLACE_GETOPT=1
+ ],
+ [])
+ ])
+ if test $REPLACE_GETOPT = 1; then
+ dnl Arrange for getopt.h to be created.
+ gl_GETOPT_SUBSTITUTE_HEADER
+ dnl Arrange for unistd.h to include getopt.h.
+ GNULIB_UNISTD_H_GETOPT=1
+ fi
+])
-AC_DEFUN([gl_GETOPT_SUBSTITUTE],
+# Request a POSIX compliant getopt function with GNU extensions (such as
+# options with optional arguments) and the functions getopt_long,
+# getopt_long_only.
+AC_DEFUN([gl_FUNC_GETOPT_GNU],
[
- AC_LIBOBJ([getopt])
- AC_LIBOBJ([getopt1])
- gl_GETOPT_SUBSTITUTE_HEADER
- gl_PREREQ_GETOPT
+ m4_divert_text([INIT_PREPARE], [gl_getopt_required=GNU])
+
+ AC_REQUIRE([gl_FUNC_GETOPT_POSIX])
])
-AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER],
+# emacs' configure.in uses this.
+AC_DEFUN([gl_GETOPT_IFELSE],
[
- GETOPT_H=getopt.h
- AC_DEFINE([__GETOPT_PREFIX], [[rpl_]],
- [Define to rpl_ if the getopt replacement functions and variables
- should be used.])
- AC_SUBST([GETOPT_H])
+ AC_REQUIRE([gl_GETOPT_CHECK_HEADERS])
+ AS_IF([test -n "$gl_replace_getopt"], [$1], [$2])
])
+# Determine whether to replace the entire getopt facility.
AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
[
- if test -z "$GETOPT_H"; then
- AC_CHECK_HEADERS([getopt.h], [], [GETOPT_H=getopt.h])
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_REQUIRE([AC_PROG_AWK]) dnl for awk that supports ENVIRON
+
+ dnl Persuade Solaris <unistd.h> to declare optarg, optind, opterr, optopt.
+ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+ gl_CHECK_NEXT_HEADERS([getopt.h])
+ if test $ac_cv_header_getopt_h = yes; then
+ HAVE_GETOPT_H=1
+ else
+ HAVE_GETOPT_H=0
fi
+ AC_SUBST([HAVE_GETOPT_H])
- if test -z "$GETOPT_H"; then
- AC_CHECK_FUNCS([getopt_long_only], [], [GETOPT_H=getopt.h])
+ gl_replace_getopt=
+
+ dnl Test whether <getopt.h> is available.
+ if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
+ AC_CHECK_HEADERS([getopt.h], [], [gl_replace_getopt=yes])
+ fi
+
+ dnl Test whether the function getopt_long is available.
+ if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
+ AC_CHECK_FUNCS([getopt_long_only], [], [gl_replace_getopt=yes])
fi
- dnl BSD getopt_long uses an incompatible method to reset option processing,
- dnl and (as of 2004-10-15) mishandles optional option-arguments.
- if test -z "$GETOPT_H"; then
- AC_CHECK_DECL([optreset], [GETOPT_H=getopt.h], [], [#include <getopt.h>])
+ dnl mingw's getopt (in libmingwex.a) does weird things when the options
+ dnl strings starts with '+' and it's not the first call. Some internal state
+ dnl is left over from earlier calls, and neither setting optind = 0 nor
+ dnl setting optreset = 1 get rid of this internal state.
+ dnl POSIX is silent on optind vs. optreset, so we allow either behavior.
+ dnl POSIX 2008 does not specify leading '+' behavior, but see
+ dnl http://austingroupbugs.net/view.php?id=191 for a recommendation on
+ dnl the next version of POSIX. For now, we only guarantee leading '+'
+ dnl behavior with getopt-gnu.
+ if test -z "$gl_replace_getopt"; then
+ AC_CACHE_CHECK([whether getopt is POSIX compatible],
+ [gl_cv_func_getopt_posix],
+ [
+ dnl BSD getopt_long uses an incompatible method to reset option
+ dnl processing. Existence of the optreset variable, in and of
+ dnl itself, is not a reason to replace getopt, but knowledge
+ dnl of the variable is needed to determine how to reset and
+ dnl whether a reset reparses the environment. Solaris
+ dnl supports neither optreset nor optind=0, but keeps no state
+ dnl that needs a reset beyond setting optind=1; detect Solaris
+ dnl by getopt_clip.
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <unistd.h>]],
+ [[int *p = &optreset; return optreset;]])],
+ [gl_optind_min=1],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <getopt.h>]],
+ [[return !getopt_clip;]])],
+ [gl_optind_min=1],
+ [gl_optind_min=0])])
+
+ dnl This test fails on mingw and succeeds on many other platforms.
+ gl_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -DOPTIND_MIN=$gl_optind_min"
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
+int
+main ()
+{
+ {
+ static char program[] = "program";
+ static char a[] = "-a";
+ static char foo[] = "foo";
+ static char bar[] = "bar";
+ char *argv[] = { program, a, foo, bar, NULL };
+ int c;
+
+ optind = OPTIND_MIN;
+ opterr = 0;
+
+ c = getopt (4, argv, "ab");
+ if (!(c == 'a'))
+ return 1;
+ c = getopt (4, argv, "ab");
+ if (!(c == -1))
+ return 2;
+ if (!(optind == 2))
+ return 3;
+ }
+ /* Some internal state exists at this point. */
+ {
+ static char program[] = "program";
+ static char donald[] = "donald";
+ static char p[] = "-p";
+ static char billy[] = "billy";
+ static char duck[] = "duck";
+ static char a[] = "-a";
+ static char bar[] = "bar";
+ char *argv[] = { program, donald, p, billy, duck, a, bar, NULL };
+ int c;
+
+ optind = OPTIND_MIN;
+ opterr = 0;
+
+ c = getopt (7, argv, "+abp:q:");
+ if (!(c == -1))
+ return 4;
+ if (!(strcmp (argv[0], "program") == 0))
+ return 5;
+ if (!(strcmp (argv[1], "donald") == 0))
+ return 6;
+ if (!(strcmp (argv[2], "-p") == 0))
+ return 7;
+ if (!(strcmp (argv[3], "billy") == 0))
+ return 8;
+ if (!(strcmp (argv[4], "duck") == 0))
+ return 9;
+ if (!(strcmp (argv[5], "-a") == 0))
+ return 10;
+ if (!(strcmp (argv[6], "bar") == 0))
+ return 11;
+ if (!(optind == 1))
+ return 12;
+ }
+ /* Detect MacOS 10.5, AIX 7.1 bug. */
+ {
+ static char program[] = "program";
+ static char ab[] = "-ab";
+ char *argv[3] = { program, ab, NULL };
+ optind = OPTIND_MIN;
+ opterr = 0;
+ if (getopt (2, argv, "ab:") != 'a')
+ return 13;
+ if (getopt (2, argv, "ab:") != '?')
+ return 14;
+ if (optopt != 'b')
+ return 15;
+ if (optind != 2)
+ return 16;
+ }
+
+ return 0;
+}
+]])],
+ [gl_cv_func_getopt_posix=yes], [gl_cv_func_getopt_posix=no],
+ [case "$host_os" in
+ mingw*) gl_cv_func_getopt_posix="guessing no";;
+ darwin* | aix*) gl_cv_func_getopt_posix="guessing no";;
+ *) gl_cv_func_getopt_posix="guessing yes";;
+ esac
+ ])
+ CPPFLAGS=$gl_save_CPPFLAGS
+ ])
+ case "$gl_cv_func_getopt_posix" in
+ *no) gl_replace_getopt=yes ;;
+ esac
fi
- dnl Solaris 10 getopt doesn't handle `+' as a leading character in an
- dnl option string (as of 2005-05-05).
- if test -z "$GETOPT_H"; then
- AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_gnu_getopt],
- [AC_RUN_IFELSE(
- [AC_LANG_PROGRAM([[#include <getopt.h>]],
- [[
- char *myargv[3];
- myargv[0] = "conftest";
- myargv[1] = "-+";
- myargv[2] = 0;
- return getopt (2, myargv, "+a") != '?';
- ]])],
- [gl_cv_func_gnu_getopt=yes],
- [gl_cv_func_gnu_getopt=no],
- [dnl cross compiling - pessimistically guess based on decls
- dnl Solaris 10 getopt doesn't handle `+' as a leading character in an
- dnl option string (as of 2005-05-05).
- AC_CHECK_DECL([getopt_clip],
- [gl_cv_func_gnu_getopt=no], [gl_cv_func_gnu_getopt=yes],
- [#include <getopt.h>])])])
- if test "$gl_cv_func_gnu_getopt" = "no"; then
- GETOPT_H=getopt.h
+ if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then
+ AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_getopt_gnu],
+ [# Even with POSIXLY_CORRECT, the GNU extension of leading '-' in the
+ # optstring is necessary for programs like m4 that have POSIX-mandated
+ # semantics for supporting options interspersed with files.
+ # Also, since getopt_long is a GNU extension, we require optind=0.
+ # Bash ties 'set -o posix' to a non-exported POSIXLY_CORRECT;
+ # so take care to revert to the correct (non-)export state.
+dnl GNU Coding Standards currently allow awk but not env; besides, env
+dnl is ambiguous with environment values that contain newlines.
+ gl_awk_probe='BEGIN { if ("POSIXLY_CORRECT" in ENVIRON) print "x" }'
+ case ${POSIXLY_CORRECT+x}`$AWK "$gl_awk_probe" </dev/null` in
+ xx) gl_had_POSIXLY_CORRECT=exported ;;
+ x) gl_had_POSIXLY_CORRECT=yes ;;
+ *) gl_had_POSIXLY_CORRECT= ;;
+ esac
+ POSIXLY_CORRECT=1
+ export POSIXLY_CORRECT
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM([[#include <getopt.h>
+ #include <stddef.h>
+ #include <string.h>
+ ]GL_NOCRASH[
+ ]], [[
+ int result = 0;
+
+ nocrash_init();
+
+ /* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw,
+ and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5,
+ OSF/1 5.1, Solaris 10. */
+ {
+ static char conftest[] = "conftest";
+ static char plus[] = "-+";
+ char *argv[3] = { conftest, plus, NULL };
+ opterr = 0;
+ if (getopt (2, argv, "+a") != '?')
+ result |= 1;
+ }
+ /* This code succeeds on glibc 2.8, mingw,
+ and fails on MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11,
+ IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */
+ {
+ static char program[] = "program";
+ static char p[] = "-p";
+ static char foo[] = "foo";
+ static char bar[] = "bar";
+ char *argv[] = { program, p, foo, bar, NULL };
+
+ optind = 1;
+ if (getopt (4, argv, "p::") != 'p')
+ result |= 2;
+ else if (optarg != NULL)
+ result |= 4;
+ else if (getopt (4, argv, "p::") != -1)
+ result |= 6;
+ else if (optind != 2)
+ result |= 8;
+ }
+ /* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */
+ {
+ static char program[] = "program";
+ static char foo[] = "foo";
+ static char p[] = "-p";
+ char *argv[] = { program, foo, p, NULL };
+ optind = 0;
+ if (getopt (3, argv, "-p") != 1)
+ result |= 16;
+ else if (getopt (3, argv, "-p") != 'p')
+ result |= 32;
+ }
+ /* This code fails on glibc 2.11. */
+ {
+ static char program[] = "program";
+ static char b[] = "-b";
+ static char a[] = "-a";
+ char *argv[] = { program, b, a, NULL };
+ optind = opterr = 0;
+ if (getopt (3, argv, "+:a:b") != 'b')
+ result |= 64;
+ else if (getopt (3, argv, "+:a:b") != ':')
+ result |= 64;
+ }
+ /* This code dumps core on glibc 2.14. */
+ {
+ static char program[] = "program";
+ static char w[] = "-W";
+ static char dummy[] = "dummy";
+ char *argv[] = { program, w, dummy, NULL };
+ optind = opterr = 1;
+ if (getopt (3, argv, "W;") != 'W')
+ result |= 128;
+ }
+ return result;
+ ]])],
+ [gl_cv_func_getopt_gnu=yes],
+ [gl_cv_func_getopt_gnu=no],
+ [dnl Cross compiling. Guess based on host and declarations.
+ case $host_os:$ac_cv_have_decl_optreset in
+ *-gnu*:* | mingw*:*) gl_cv_func_getopt_gnu=no;;
+ *:yes) gl_cv_func_getopt_gnu=no;;
+ *) gl_cv_func_getopt_gnu=yes;;
+ esac
+ ])
+ case $gl_had_POSIXLY_CORRECT in
+ exported) ;;
+ yes) AS_UNSET([POSIXLY_CORRECT]); POSIXLY_CORRECT=1 ;;
+ *) AS_UNSET([POSIXLY_CORRECT]) ;;
+ esac
+ ])
+ if test "$gl_cv_func_getopt_gnu" = "no"; then
+ gl_replace_getopt=yes
fi
fi
])
-AC_DEFUN([gl_GETOPT_IFELSE],
+# emacs' configure.in uses this.
+AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER],
[
- AC_REQUIRE([gl_GETOPT_CHECK_HEADERS])
- AS_IF([test -n "$GETOPT_H"], [$1], [$2])
+ GETOPT_H=getopt.h
+ AC_DEFINE([__GETOPT_PREFIX], [[rpl_]],
+ [Define to rpl_ if the getopt replacement functions and variables
+ should be used.])
+ AC_SUBST([GETOPT_H])
])
-AC_DEFUN([gl_GETOPT], [gl_GETOPT_IFELSE([gl_GETOPT_SUBSTITUTE])])
-
# Prerequisites of lib/getopt*.
+# emacs' configure.in uses this.
AC_DEFUN([gl_PREREQ_GETOPT],
[
AC_CHECK_DECLS_ONCE([getenv])
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
+# Copyright (C) 2002-2011 Free Software Foundation, Inc.
#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
#
# This file represents the specification of how gnulib-tool is used.
# It acts as a cache: It is written and read by gnulib-tool.
-# In projects using CVS, this file is meant to be stored in CVS,
-# like the configure.ac and various Makefile.am files.
+# In projects that use version control, this file is meant to be put under
+# version control, like the configure.ac and various Makefile.am files.
# Specification in the form of a command-line invocation:
-# gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gltests --aux-dir=build-aux --with-tests --libtool --macro-prefix=gl --no-vc-files autobuild csharpcomp-script error fdl-1.3 gendocs getopt gnupload gpl-3.0 lgpl-2.1 maintainer-makefile manywarnings pmccabe2html progname useless-if-before-free vc-list-files version-etc warnings
+# gnulib-tool --import --dir=. --local-dir=gl/override --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=gltests --aux-dir=build-aux --with-tests --avoid=binary-io-tests --avoid=fcntl-h-tests --avoid=stdlib-tests --avoid=string-tests --avoid=sys_stat-tests --avoid=time-tests --avoid=unistd-tests --avoid=update-copyright-tests --avoid=wchar-tests --no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files autobuild csharpcomp-script csharpexec-script error fdl-1.3 gendocs getopt-gnu gnupload gpl-3.0 lgpl-2.1 maintainer-makefile manywarnings pmccabe2html progname update-copyright useless-if-before-free valgrind-tests vc-list-files version-etc warnings
# Specification in the form of a few gnulib-tool.m4 macro invocations:
gl_LOCAL_DIR([gl/override])
gl_MODULES([
autobuild
csharpcomp-script
+ csharpexec-script
error
fdl-1.3
gendocs
- getopt
+ getopt-gnu
gnupload
gpl-3.0
lgpl-2.1
manywarnings
pmccabe2html
progname
+ update-copyright
useless-if-before-free
+ valgrind-tests
vc-list-files
version-etc
warnings
])
-gl_AVOID([])
+gl_AVOID([binary-io-tests fcntl-h-tests stdlib-tests string-tests sys_stat-tests time-tests unistd-tests update-copyright-tests wchar-tests])
gl_SOURCE_BASE([gl])
gl_M4_BASE([gl/m4])
gl_PO_BASE([])
gl_LIBTOOL
gl_MACRO_PREFIX([gl])
gl_PO_DOMAIN([])
+gl_WITNESS_C_DOMAIN([])
gl_VC_FILES([false])
-# gnulib-common.m4 serial 11
-dnl Copyright (C) 2007-2009 Free Software Foundation, Inc.
+# gnulib-common.m4 serial 31
+dnl Copyright (C) 2007-2011 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.
AC_REQUIRE([gl_COMMON_BODY])
])
AC_DEFUN([gl_COMMON_BODY], [
+ AH_VERBATIM([_Noreturn],
+[/* The _Noreturn keyword of draft C1X. */
+#ifndef _Noreturn
+# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
+ || 0x5110 <= __SUNPRO_C)
+# define _Noreturn __attribute__ ((__noreturn__))
+# elif defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
+# else
+# define _Noreturn
+# endif
+#endif
+])
AH_VERBATIM([isoc99_inline],
[/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
# define __GNUC_STDC_INLINE__ 1
#endif])
AH_VERBATIM([unused_parameter],
-[/* Define as a marker that can be attached to function parameter declarations
- for parameters that are not used. This helps to reduce warnings, such as
- from GCC -Wunused-parameter. */
+[/* Define as a marker that can be attached to declarations that might not
+ be used. This helps to reduce warnings, such as from
+ GCC -Wunused-parameter. */
#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-# define _UNUSED_PARAMETER_ __attribute__ ((__unused__))
+# define _GL_UNUSED __attribute__ ((__unused__))
+#else
+# define _GL_UNUSED
+#endif
+/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name
+ is a misnomer outside of parameter lists. */
+#define _UNUSED_PARAMETER_ _GL_UNUSED
+
+/* The __pure__ attribute was added in gcc 2.96. */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
#else
-# define _UNUSED_PARAMETER_
+# define _GL_ATTRIBUTE_PURE /* empty */
#endif
+
+/* The __const__ attribute was added in gcc 2.95. */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
+# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
+#else
+# define _GL_ATTRIBUTE_CONST /* empty */
+#endif
+])
+ dnl Preparation for running test programs:
+ dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not
+ dnl to /dev/tty, so they can be redirected to log files. Such diagnostics
+ dnl arise e.g., in the macros gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N.
+ LIBC_FATAL_STDERR_=1
+ export LIBC_FATAL_STDERR_
+])
+
+# gl_MODULE_INDICATOR_CONDITION
+# expands to a C preprocessor expression that evaluates to 1 or 0, depending
+# whether a gnulib module that has been requested shall be considered present
+# or not.
+m4_define([gl_MODULE_INDICATOR_CONDITION], [1])
+
+# gl_MODULE_INDICATOR_SET_VARIABLE([modulename])
+# sets the shell variable that indicates the presence of the given module to
+# a C preprocessor expression that will evaluate to 1.
+AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE],
+[
+ gl_MODULE_INDICATOR_SET_VARIABLE_AUX(
+ [GNULIB_[]m4_translit([[$1]],
+ [abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])],
+ [gl_MODULE_INDICATOR_CONDITION])
+])
+
+# gl_MODULE_INDICATOR_SET_VARIABLE_AUX([variable])
+# modifies the shell variable to include the gl_MODULE_INDICATOR_CONDITION.
+# The shell variable's value is a C preprocessor expression that evaluates
+# to 0 or 1.
+AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX],
+[
+ m4_if(m4_defn([gl_MODULE_INDICATOR_CONDITION]), [1],
+ [
+ dnl Simplify the expression VALUE || 1 to 1.
+ $1=1
+ ],
+ [gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([$1],
+ [gl_MODULE_INDICATOR_CONDITION])])
])
+
+# gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([variable], [condition])
+# modifies the shell variable to include the given condition. The shell
+# variable's value is a C preprocessor expression that evaluates to 0 or 1.
+AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR],
+[
+ dnl Simplify the expression 1 || CONDITION to 1.
+ if test "$[]$1" != 1; then
+ dnl Simplify the expression 0 || CONDITION to CONDITION.
+ if test "$[]$1" = 0; then
+ $1=$2
+ else
+ $1="($[]$1 || $2)"
+ fi
+ fi
])
# gl_MODULE_INDICATOR([modulename])
-# defines a C macro indicating the presence of the given module.
+# defines a C macro indicating the presence of the given module
+# in a location where it can be used.
+# | Value | Value |
+# | in lib/ | in tests/ |
+# --------------------------------------------+---------+-----------+
+# Module present among main modules: | 1 | 1 |
+# --------------------------------------------+---------+-----------+
+# Module present among tests-related modules: | 0 | 1 |
+# --------------------------------------------+---------+-----------+
+# Module not present at all: | 0 | 0 |
+# --------------------------------------------+---------+-----------+
AC_DEFUN([gl_MODULE_INDICATOR],
[
- AC_DEFINE([GNULIB_]translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1],
- [Define to 1 when using the gnulib module ]$1[.])
+ AC_DEFINE_UNQUOTED([GNULIB_]m4_translit([[$1]],
+ [abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]),
+ [gl_MODULE_INDICATOR_CONDITION],
+ [Define to a C preprocessor expression that evaluates to 1 or 0,
+ depending whether the gnulib module $1 shall be considered present.])
+])
+
+# gl_MODULE_INDICATOR_FOR_TESTS([modulename])
+# defines a C macro indicating the presence of the given module
+# in lib or tests. This is useful to determine whether the module
+# should be tested.
+# | Value | Value |
+# | in lib/ | in tests/ |
+# --------------------------------------------+---------+-----------+
+# Module present among main modules: | 1 | 1 |
+# --------------------------------------------+---------+-----------+
+# Module present among tests-related modules: | 1 | 1 |
+# --------------------------------------------+---------+-----------+
+# Module not present at all: | 0 | 0 |
+# --------------------------------------------+---------+-----------+
+AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS],
+[
+ AC_DEFINE([GNULIB_TEST_]m4_translit([[$1]],
+ [abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1],
+ [Define to 1 when the gnulib module $1 should be tested.])
+])
+
+# gl_ASSERT_NO_GNULIB_POSIXCHECK
+# asserts that there will never be a need to #define GNULIB_POSIXCHECK.
+# and thereby enables an optimization of configure and config.h.
+# Used by Emacs.
+AC_DEFUN([gl_ASSERT_NO_GNULIB_POSIXCHECK],
+[
+ dnl Override gl_WARN_ON_USE_PREPARE.
+ dnl But hide this definition from 'aclocal'.
+ AC_DEFUN([gl_W][ARN_ON_USE_PREPARE], [])
+])
+
+# gl_ASSERT_NO_GNULIB_TESTS
+# asserts that there will be no gnulib tests in the scope of the configure.ac
+# and thereby enables an optimization of config.h.
+# Used by Emacs.
+AC_DEFUN([gl_ASSERT_NO_GNULIB_TESTS],
+[
+ dnl Override gl_MODULE_INDICATOR_FOR_TESTS.
+ AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], [])
+])
+
+# Test whether <features.h> exists.
+# Set HAVE_FEATURES_H.
+AC_DEFUN([gl_FEATURES_H],
+[
+ AC_CHECK_HEADERS_ONCE([features.h])
+ if test $ac_cv_header_features_h = yes; then
+ HAVE_FEATURES_H=1
+ else
+ HAVE_FEATURES_H=0
+ fi
+ AC_SUBST([HAVE_FEATURES_H])
])
# m4_foreach_w
[m4_define([m4_foreach_w],
[m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])
+# AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH])
+# ----------------------------------------------------
+# Backport of autoconf-2.63b's macro.
+# Remove this macro when we can assume autoconf >= 2.64.
+m4_ifndef([AS_VAR_IF],
+[m4_define([AS_VAR_IF],
+[AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])])
+
+# gl_PROG_CC_C99
+# Modifies the value of the shell variable CC in an attempt to make $CC
+# understand ISO C99 source code.
+# This is like AC_PROG_CC_C99, except that
+# - AC_PROG_CC_C99 did not exist in Autoconf versions < 2.60,
+# - AC_PROG_CC_C99 does not mix well with AC_PROG_CC_STDC
+# <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00367.html>,
+# but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99
+# <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00441.html>.
+# Remaining problems:
+# - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options
+# to CC twice
+# <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00431.html>.
+# - AC_PROG_CC_STDC is likely to change when C1X is an ISO standard.
+AC_DEFUN([gl_PROG_CC_C99],
+[
+ dnl Change that version number to the minimum Autoconf version that supports
+ dnl mixing AC_PROG_CC_C99 calls with AC_PROG_CC_STDC calls.
+ m4_version_prereq([9.0],
+ [AC_REQUIRE([AC_PROG_CC_C99])],
+ [AC_REQUIRE([AC_PROG_CC_STDC])])
+])
+
+# gl_PROG_AR_RANLIB
+# Determines the values for AR, ARFLAGS, RANLIB that fit with the compiler.
+# The user can set the variables AR, ARFLAGS, RANLIB if he wants to override
+# the values.
+AC_DEFUN([gl_PROG_AR_RANLIB],
+[
+ dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler
+ dnl as "cc", and GCC as "gcc". They have different object file formats and
+ dnl library formats. In particular, the GNU binutils programs ar, ranlib
+ dnl produce libraries that work only with gcc, not with cc.
+ AC_REQUIRE([AC_PROG_CC])
+ AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler],
+ [
+ AC_EGREP_CPP([Amsterdam],
+ [
+#ifdef __ACK__
+Amsterdam
+#endif
+ ],
+ [gl_cv_c_amsterdam_compiler=yes],
+ [gl_cv_c_amsterdam_compiler=no])
+ ])
+ if test -z "$AR"; then
+ if test $gl_cv_c_amsterdam_compiler = yes; then
+ AR='cc -c.a'
+ if test -z "$ARFLAGS"; then
+ ARFLAGS='-o'
+ fi
+ else
+ dnl Use the Automake-documented default values for AR and ARFLAGS,
+ dnl but prefer ${host}-ar over ar (useful for cross-compiling).
+ AC_CHECK_TOOL([AR], [ar], [ar])
+ if test -z "$ARFLAGS"; then
+ ARFLAGS='cru'
+ fi
+ fi
+ else
+ if test -z "$ARFLAGS"; then
+ ARFLAGS='cru'
+ fi
+ fi
+ AC_SUBST([AR])
+ AC_SUBST([ARFLAGS])
+ if test -z "$RANLIB"; then
+ if test $gl_cv_c_amsterdam_compiler = yes; then
+ RANLIB=':'
+ else
+ dnl Use the ranlib program if it is available.
+ AC_PROG_RANLIB
+ fi
+ fi
+ AC_SUBST([RANLIB])
+])
+
# AC_PROG_MKDIR_P
-# is a backport of autoconf-2.60's AC_PROG_MKDIR_P.
-# Remove this macro when we can assume autoconf >= 2.60.
-m4_ifdef([AC_PROG_MKDIR_P], [], [
+# is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix
+# for interoperability with automake-1.9.6 from autoconf-2.62.
+# Remove this macro when we can assume autoconf >= 2.62 or
+# autoconf >= 2.60 && automake >= 1.10.
+m4_ifdef([AC_PROG_MKDIR_P], [
+ dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed.
+ m4_define([AC_PROG_MKDIR_P],
+ m4_defn([AC_PROG_MKDIR_P])[
+ AC_SUBST([MKDIR_P])])], [
+ dnl For autoconf < 2.60: Backport of AC_PROG_MKDIR_P.
AC_DEFUN_ONCE([AC_PROG_MKDIR_P],
[AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
MKDIR_P='$(mkdir_p)'
# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++
# works.
# This definition can be removed once autoconf >= 2.62 can be assumed.
+m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.62]),[-1],[
AC_DEFUN([AC_C_RESTRICT],
[AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict],
[ac_cv_c_restrict=no
for ac_kw in __restrict __restrict__ _Restrict restrict; do
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[typedef int * int_ptr;
- int foo (int_ptr $ac_kw ip) {
- return ip[0];
+ int foo (int_ptr $ac_kw ip) {
+ return ip[0];
}]],
[[int s[1];
- int * $ac_kw t = s;
- t[0] = 0;
- return foo(t)]])],
+ int * $ac_kw t = s;
+ t[0] = 0;
+ return foo(t)]])],
[ac_cv_c_restrict=$ac_kw])
test "$ac_cv_c_restrict" != no && break
done
*) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;;
esac
])
+])
# gl_BIGENDIAN
# is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd.
# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
+# Copyright (C) 2002-2011 Free Software Foundation, Inc.
#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
# This file represents the compiled summary of the specification in
# gnulib-cache.m4. It lists the computed macro invocations that need
# to be invoked from configure.ac.
-# In projects using CVS, this file can be treated like other built files.
+# In projects that use version control, this file can be treated like
+# other built files.
# This macro should be invoked from ./configure.ac, in the section
m4_pattern_allow([^gl_ES$])dnl a valid locale name
m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
- AC_REQUIRE([AC_PROG_RANLIB])
+ AC_REQUIRE([gl_PROG_AR_RANLIB])
+ # Code from module alloca-opt:
+ # Code from module alloca-opt-tests:
+ # Code from module autobuild:
AB_INIT
+ # Code from module binary-io:
+ # Code from module close:
+ # Code from module close-tests:
+ # Code from module csharpcomp-script:
+ # Code from module csharpexec-script:
+ # Code from module dosname:
+ # Code from module dup2:
+ # Code from module dup2-tests:
+ # Code from module environ:
+ # Code from module environ-tests:
+ # Code from module errno:
+ # Code from module errno-tests:
+ # Code from module error:
+ # Code from module extensions:
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ # Code from module fcntl-h:
+ # Code from module fd-hook:
+ # Code from module fdl-1.3:
+ # Code from module fdopen:
+ # Code from module fdopen-tests:
+ # Code from module fgetc-tests:
+ # Code from module fputc-tests:
+ # Code from module fread-tests:
+ # Code from module fstat:
+ # Code from module fstat-tests:
+ # Code from module fwrite-tests:
+ # Code from module gendocs:
+ # Code from module getcwd-lgpl:
+ # Code from module getcwd-lgpl-tests:
+ # Code from module getopt-gnu:
+ # Code from module getopt-posix:
+ # Code from module getopt-posix-tests:
+ # Code from module gettext-h:
+ # Code from module gnumakefile:
+ # Code from module gnupload:
+ # Code from module gpl-3.0:
+ # Code from module ignore-value:
+ # Code from module ignore-value-tests:
+ # Code from module include_next:
+ # Code from module intprops:
+ # Code from module intprops-tests:
+ # Code from module inttypes:
+ # Code from module inttypes-incomplete:
+ # Code from module inttypes-tests:
+ # Code from module largefile:
+ AC_REQUIRE([AC_SYS_LARGEFILE])
+ # Code from module lgpl-2.1:
+ # Code from module lstat:
+ # Code from module lstat-tests:
+ # Code from module maintainer-makefile:
+ # Code from module malloc-posix:
+ # Code from module malloca:
+ # Code from module malloca-tests:
+ # Code from module manywarnings:
+ # Code from module msvc-inval:
+ # Code from module msvc-nothrow:
+ # Code from module multiarch:
+ # Code from module nocrash:
+ # Code from module open:
+ # Code from module open-tests:
+ # Code from module pathmax:
+ # Code from module pathmax-tests:
+ # Code from module pmccabe2html:
+ # Code from module progname:
+ # Code from module putenv:
+ # Code from module same-inode:
+ # Code from module setenv:
+ # Code from module setenv-tests:
+ # Code from module snippet/_Noreturn:
+ # Code from module snippet/arg-nonnull:
+ # Code from module snippet/c++defs:
+ # Code from module snippet/warn-on-use:
+ # Code from module ssize_t:
+ # Code from module stat:
+ # Code from module stat-tests:
+ # Code from module stdarg:
dnl Some compilers (e.g., AIX 5.3 cc) need to be in c99 mode
dnl for the builtin va_copy to work. With Autoconf 2.60 or later,
- dnl AC_PROG_CC_STDC arranges for this. With older Autoconf AC_PROG_CC_STDC
+ dnl gl_PROG_CC_C99 arranges for this. With older Autoconf gl_PROG_CC_C99
dnl shouldn't hurt, though installers are on their own to set c99 mode.
- AC_REQUIRE([AC_PROG_CC_STDC])
+ gl_PROG_CC_C99
+ # Code from module stdbool:
+ # Code from module stdbool-tests:
+ # Code from module stddef:
+ # Code from module stddef-tests:
+ # Code from module stdint:
+ # Code from module stdint-tests:
+ # Code from module stdio:
+ # Code from module stdio-tests:
+ # Code from module stdlib:
+ # Code from module strerror:
+ # Code from module strerror-override:
+ # Code from module strerror-tests:
+ # Code from module string:
+ # Code from module symlink:
+ # Code from module symlink-tests:
+ # Code from module sys_stat:
+ # Code from module time:
+ # Code from module unistd:
+ # Code from module unsetenv:
+ # Code from module unsetenv-tests:
+ # Code from module update-copyright:
+ # Code from module useless-if-before-free:
+ # Code from module valgrind-tests:
+ # Code from module vc-list-files:
+ # Code from module vc-list-files-tests:
+ # Code from module verify:
+ # Code from module verify-tests:
+ # Code from module version-etc:
+ # Code from module version-etc-fsf:
+ # Code from module version-etc-tests:
+ # Code from module warnings:
+ # Code from module wchar:
])
# This macro should be invoked from ./configure.ac, in the section
[
AM_CONDITIONAL([GL_COND_LIBTOOL], [true])
gl_cond_libtool=true
+ gl_m4_base='gl/m4'
m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ]))
m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS]))
m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES]))
m4_pushdef([gl_LIBSOURCES_DIR], [])
gl_COMMON
gl_source_base='gl'
- AC_REQUIRE([gt_CSHARPCOMP])
- AC_CONFIG_FILES([csharpcomp.sh:build-aux/csharpcomp.sh.in])
- gl_HEADER_ERRNO_H
- gl_ERROR
- m4_ifdef([AM_XGETTEXT_OPTION],
- [AM_XGETTEXT_OPTION([--flag=error:3:c-format])
- AM_XGETTEXT_OPTION([--flag=error_at_line:5:c-format])])
- gl_GETOPT
- AC_SUBST([LIBINTL])
- AC_SUBST([LTLIBINTL])
- # Autoconf 2.61a.99 and earlier don't support linking a file only
- # in VPATH builds. But since GNUmakefile is for maintainer use
- # only, it does not matter if we skip the link with older autoconf.
- # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
- # builds, so use a shell variable to bypass this.
- GNUmakefile=GNUmakefile
- m4_if(m4_version_compare([2.61a.100],
- m4_defn([m4_PACKAGE_VERSION])), [1], [],
- [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [],
- [GNUmakefile=$GNUmakefile])])
- gl_PMCCABE2HTML
- gl_STDARG_H
- gl_FUNC_STRERROR
- gl_STRING_MODULE_INDICATOR([strerror])
- gl_HEADER_STRING_H
- gl_UNISTD_H
- gl_VERSION_ETC
- AC_SUBST([WARN_CFLAGS])
+AC_REQUIRE([gt_CSHARPCOMP])
+AC_CONFIG_FILES([csharpcomp.sh:build-aux/csharpcomp.sh.in])
+# You need to invoke gt_CSHARPEXEC yourself, possibly with arguments.
+AC_CONFIG_FILES([csharpexec.sh:build-aux/csharpexec.sh.in])
+gl_HEADER_ERRNO_H
+gl_ERROR
+if test $ac_cv_lib_error_at_line = no; then
+ AC_LIBOBJ([error])
+ gl_PREREQ_ERROR
+fi
+m4_ifdef([AM_XGETTEXT_OPTION],
+ [AM_][XGETTEXT_OPTION([--flag=error:3:c-format])
+ AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])])
+gl_FUNC_GETOPT_GNU
+if test $REPLACE_GETOPT = 1; then
+ AC_LIBOBJ([getopt])
+ AC_LIBOBJ([getopt1])
+ gl_PREREQ_GETOPT
+fi
+gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu])
+gl_FUNC_GETOPT_POSIX
+if test $REPLACE_GETOPT = 1; then
+ AC_LIBOBJ([getopt])
+ AC_LIBOBJ([getopt1])
+ gl_PREREQ_GETOPT
+fi
+AC_SUBST([LIBINTL])
+AC_SUBST([LTLIBINTL])
+# Autoconf 2.61a.99 and earlier don't support linking a file only
+# in VPATH builds. But since GNUmakefile is for maintainer use
+# only, it does not matter if we skip the link with older autoconf.
+# Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH
+# builds, so use a shell variable to bypass this.
+GNUmakefile=GNUmakefile
+m4_if(m4_version_compare([2.61a.100],
+ m4_defn([m4_PACKAGE_VERSION])), [1], [],
+ [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [],
+ [GNUmakefile=$GNUmakefile])])
+AC_CONFIG_COMMANDS_PRE([m4_ifdef([AH_HEADER],
+ [AC_SUBST([CONFIG_INCLUDE], m4_defn([AH_HEADER]))])])
+gl_MSVC_INVAL
+if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+ AC_LIBOBJ([msvc-inval])
+fi
+gl_MSVC_NOTHROW
+if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
+ AC_LIBOBJ([msvc-nothrow])
+fi
+AC_PATH_PROG([PMCCABE], [pmccabe], [false])
+AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
+AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include <errno.h>])
+gt_TYPE_SSIZE_T
+gl_STDARG_H
+gl_STDDEF_H
+gl_FUNC_STRERROR
+if test $REPLACE_STRERROR = 1; then
+ AC_LIBOBJ([strerror])
+fi
+gl_MODULE_INDICATOR([strerror])
+gl_STRING_MODULE_INDICATOR([strerror])
+AC_REQUIRE([gl_HEADER_ERRNO_H])
+AC_REQUIRE([gl_FUNC_STRERROR_0])
+if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then
+ AC_LIBOBJ([strerror-override])
+ gl_PREREQ_SYS_H_WINSOCK2
+fi
+gl_HEADER_STRING_H
+gl_UNISTD_H
+gl_VALGRIND_TESTS
+gl_VERSION_ETC
+AC_SUBST([WARN_CFLAGS])
+ # End of code from modules
m4_ifval(gl_LIBSOURCES_LIST, [
m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ ||
for gl_file in ]gl_LIBSOURCES_LIST[ ; do
if test -n "$gl_LIBOBJS"; then
# Remove the extension.
sed_drop_objext='s/\.o$//;s/\.obj$//'
- for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do
+ for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
gl_libobjs="$gl_libobjs $i.$ac_objext"
gl_ltlibobjs="$gl_ltlibobjs $i.lo"
done
m4_pushdef([gltests_LIBSOURCES_DIR], [])
gl_COMMON
gl_source_base='gltests'
- abs_aux_dir=`cd "$ac_aux_dir"; pwd`
- AC_SUBST([abs_aux_dir])
+changequote(,)dnl
+ gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS
+changequote([, ])dnl
+ AC_SUBST([gltests_WITNESS])
+ gl_module_indicator_condition=$gltests_WITNESS
+ m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition])
+gl_FUNC_ALLOCA
+gl_FUNC_CLOSE
+if test $REPLACE_CLOSE = 1; then
+ AC_LIBOBJ([close])
+fi
+gl_UNISTD_MODULE_INDICATOR([close])
+gl_FUNC_DUP2
+if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
+ AC_LIBOBJ([dup2])
+ gl_PREREQ_DUP2
+fi
+gl_UNISTD_MODULE_INDICATOR([dup2])
+gl_ENVIRON
+gl_UNISTD_MODULE_INDICATOR([environ])
+gl_FCNTL_H
+gl_FUNC_FDOPEN
+if test $REPLACE_FDOPEN = 1; then
+ AC_LIBOBJ([fdopen])
+ gl_PREREQ_FDOPEN
+fi
+gl_STDIO_MODULE_INDICATOR([fdopen])
+gl_FUNC_FSTAT
+if test $REPLACE_FSTAT = 1; then
+ AC_LIBOBJ([fstat])
+ gl_PREREQ_FSTAT
+fi
+gl_SYS_STAT_MODULE_INDICATOR([fstat])
+gl_FUNC_GETCWD_LGPL
+if test $REPLACE_GETCWD = 1; then
+ AC_LIBOBJ([getcwd-lgpl])
+fi
+gl_UNISTD_MODULE_INDICATOR([getcwd])
+AC_REQUIRE([AC_C_INLINE])
+gl_INTTYPES_H
+gl_INTTYPES_INCOMPLETE
+gl_FUNC_LSTAT
+if test $REPLACE_LSTAT = 1; then
+ AC_LIBOBJ([lstat])
+ gl_PREREQ_LSTAT
+fi
+gl_SYS_STAT_MODULE_INDICATOR([lstat])
+gl_FUNC_MALLOC_POSIX
+if test $REPLACE_MALLOC = 1; then
+ AC_LIBOBJ([malloc])
+fi
+gl_STDLIB_MODULE_INDICATOR([malloc-posix])
+gl_MALLOCA
+gl_MULTIARCH
+gl_FUNC_OPEN
+if test $REPLACE_OPEN = 1; then
+ AC_LIBOBJ([open])
+ gl_PREREQ_OPEN
+fi
+gl_FCNTL_MODULE_INDICATOR([open])
+gl_PATHMAX
+gl_FUNC_PUTENV
+if test $REPLACE_PUTENV = 1; then
+ AC_LIBOBJ([putenv])
+fi
+gl_STDLIB_MODULE_INDICATOR([putenv])
+gl_FUNC_SETENV
+if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
+ AC_LIBOBJ([setenv])
+fi
+gl_STDLIB_MODULE_INDICATOR([setenv])
+gl_FUNC_STAT
+if test $REPLACE_STAT = 1; then
+ AC_LIBOBJ([stat])
+ gl_PREREQ_STAT
+fi
+gl_SYS_STAT_MODULE_INDICATOR([stat])
+AM_STDBOOL_H
+gl_STDINT_H
+gt_TYPE_WCHAR_T
+gt_TYPE_WINT_T
+gl_STDIO_H
+gl_STDLIB_H
+gl_FUNC_SYMLINK
+if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
+ AC_LIBOBJ([symlink])
+fi
+gl_UNISTD_MODULE_INDICATOR([symlink])
+gl_HEADER_SYS_STAT_H
+AC_PROG_MKDIR_P
+gl_HEADER_TIME_H
+gl_FUNC_UNSETENV
+if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
+ AC_LIBOBJ([unsetenv])
+ gl_PREREQ_UNSETENV
+fi
+gl_STDLIB_MODULE_INDICATOR([unsetenv])
+gl_VALGRIND_TESTS
+abs_aux_dir=`cd "$ac_aux_dir"; pwd`
+AC_SUBST([abs_aux_dir])
+gl_WCHAR_H
+ m4_popdef([gl_MODULE_INDICATOR_CONDITION])
m4_ifval(gltests_LIBSOURCES_LIST, [
m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ ||
for gl_file in ]gltests_LIBSOURCES_LIST[ ; do
if test -n "$gltests_LIBOBJS"; then
# Remove the extension.
sed_drop_objext='s/\.o$//;s/\.obj$//'
- for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do
+ for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
gltests_libobjs="$gltests_libobjs $i.$ac_objext"
gltests_ltlibobjs="$gltests_ltlibobjs $i.lo"
done
AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs])
AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs])
])
+ LIBTESTS_LIBDEPS="$gltests_libdeps"
+ AC_SUBST([LIBTESTS_LIBDEPS])
])
# Like AC_LIBOBJ, except that the module name goes
# gnulib-tool and may be removed by future gnulib-tool invocations.
AC_DEFUN([gl_FILE_LIST], [
build-aux/csharpcomp.sh.in
+ build-aux/csharpexec.sh.in
build-aux/gendocs.sh
build-aux/gnupload
- build-aux/link-warning.h
build-aux/pmccabe.css
build-aux/pmccabe2html
+ build-aux/snippet/_Noreturn.h
+ build-aux/snippet/arg-nonnull.h
+ build-aux/snippet/c++defs.h
+ build-aux/snippet/warn-on-use.h
+ build-aux/update-copyright
build-aux/useless-if-before-free
build-aux/vc-list-files
doc/fdl-1.3.texi
lib/getopt_int.h
lib/gettext.h
lib/intprops.h
+ lib/msvc-inval.c
+ lib/msvc-inval.h
+ lib/msvc-nothrow.c
+ lib/msvc-nothrow.h
lib/progname.c
lib/progname.h
lib/stdarg.in.h
+ lib/stddef.in.h
+ lib/strerror-override.c
+ lib/strerror-override.h
lib/strerror.c
lib/string.in.h
lib/unistd.in.h
+ lib/verify.h
lib/version-etc.c
lib/version-etc.h
m4/00gnulib.m4
+ m4/alloca.m4
m4/autobuild.m4
+ m4/close.m4
m4/csharp.m4
m4/csharpcomp.m4
+ m4/csharpexec.m4
+ m4/dup2.m4
+ m4/eealloc.m4
+ m4/environ.m4
m4/errno_h.m4
m4/error.m4
m4/extensions.m4
+ m4/fcntl-o.m4
+ m4/fcntl_h.m4
+ m4/fdopen.m4
+ m4/fstat.m4
+ m4/getcwd.m4
m4/getopt.m4
m4/gnulib-common.m4
m4/include_next.m4
+ m4/inttypes-pri.m4
+ m4/inttypes.m4
+ m4/largefile.m4
+ m4/longlong.m4
+ m4/lstat.m4
+ m4/malloc.m4
+ m4/malloca.m4
m4/manywarnings.m4
- m4/pmccabe2html.m4
+ m4/mode_t.m4
+ m4/msvc-inval.m4
+ m4/msvc-nothrow.m4
+ m4/multiarch.m4
+ m4/nocrash.m4
+ m4/open.m4
+ m4/pathmax.m4
+ m4/putenv.m4
+ m4/setenv.m4
+ m4/ssize_t.m4
+ m4/stat.m4
m4/stdarg.m4
+ m4/stdbool.m4
+ m4/stddef_h.m4
+ m4/stdint.m4
+ m4/stdio_h.m4
+ m4/stdlib_h.m4
m4/strerror.m4
m4/string_h.m4
+ m4/symlink.m4
+ m4/sys_socket_h.m4
+ m4/sys_stat_h.m4
+ m4/time_h.m4
m4/unistd_h.m4
+ m4/valgrind-tests.m4
m4/version-etc.m4
+ m4/warn-on-use.m4
m4/warnings.m4
+ m4/wchar_h.m4
+ m4/wchar_t.m4
+ m4/wint_t.m4
+ tests/init.sh
+ tests/macros.h
+ tests/signature.h
+ tests/test-alloca-opt.c
+ tests/test-close.c
+ tests/test-dup2.c
+ tests/test-environ.c
tests/test-errno.c
+ tests/test-fdopen.c
+ tests/test-fgetc.c
+ tests/test-fputc.c
+ tests/test-fread.c
+ tests/test-fstat.c
+ tests/test-fwrite.c
+ tests/test-getcwd-lgpl.c
+ tests/test-getopt.c
+ tests/test-getopt.h
+ tests/test-getopt_long.h
+ tests/test-ignore-value.c
+ tests/test-intprops.c
+ tests/test-inttypes.c
+ tests/test-lstat.c
+ tests/test-lstat.h
+ tests/test-malloca.c
+ tests/test-open.c
+ tests/test-open.h
+ tests/test-pathmax.c
+ tests/test-setenv.c
+ tests/test-stat.c
+ tests/test-stat.h
+ tests/test-stdbool.c
+ tests/test-stddef.c
+ tests/test-stdint.c
+ tests/test-stdio.c
tests/test-strerror.c
- tests/test-string.c
- tests/test-unistd.c
+ tests/test-symlink.c
+ tests/test-symlink.h
+ tests/test-unsetenv.c
tests/test-vc-list-files-cvs.sh
tests/test-vc-list-files-git.sh
+ tests/test-verify.c
+ tests/test-verify.sh
+ tests/test-version-etc.c
+ tests/test-version-etc.sh
+ tests=lib/alloca.in.h
+ tests=lib/binary-io.h
+ tests=lib/close.c
+ tests=lib/dosname.h
+ tests=lib/dup2.c
+ tests=lib/fcntl.in.h
+ tests=lib/fd-hook.c
+ tests=lib/fd-hook.h
+ tests=lib/fdopen.c
+ tests=lib/fstat.c
+ tests=lib/getcwd-lgpl.c
+ tests=lib/ignore-value.h
+ tests=lib/inttypes.in.h
+ tests=lib/lstat.c
+ tests=lib/malloc.c
+ tests=lib/malloca.c
+ tests=lib/malloca.h
+ tests=lib/malloca.valgrind
+ tests=lib/open.c
+ tests=lib/pathmax.h
+ tests=lib/putenv.c
+ tests=lib/same-inode.h
+ tests=lib/setenv.c
+ tests=lib/stat.c
+ tests=lib/stdbool.in.h
+ tests=lib/stdint.in.h
+ tests=lib/stdio.in.h
+ tests=lib/stdlib.in.h
+ tests=lib/symlink.c
+ tests=lib/sys_stat.in.h
+ tests=lib/time.in.h
+ tests=lib/unsetenv.c
+ tests=lib/version-etc-fsf.c
+ tests=lib/wchar.in.h
top/GNUmakefile
top/maint.mk
])
-# include_next.m4 serial 14
-dnl Copyright (C) 2006-2009 Free Software Foundation, Inc.
+# include_next.m4 serial 23
+dnl Copyright (C) 2006-2011 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 __STDC__ evaluates to 0 instead of to 1. The latter is an undesired side
dnl effect; we are therefore careful to use 'defined __STDC__' or '1' instead
dnl of plain '__STDC__'.
+dnl
+dnl PRAGMA_COLUMNS can be used in files that override system header files, so
+dnl as to avoid compilation errors on HP NonStop systems when the gnulib file
+dnl is included by a system header file that does a "#pragma COLUMNS 80" (which
+dnl has the effect of truncating the lines of that file and all files that it
+dnl includes to 80 columns) and the gnulib file has lines longer than 80
+dnl columns.
AC_DEFUN([gl_INCLUDE_NEXT],
[
EOF
gl_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1b -Iconftestd2"
- AC_COMPILE_IFELSE([#include <conftest.h>],
+dnl We intentionally avoid using AC_LANG_SOURCE here.
+ AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include <conftest.h>]],
[gl_cv_have_include_next=yes],
[CPPFLAGS="$gl_save_CPPFLAGS -Iconftestd1a -Iconftestd2"
- AC_COMPILE_IFELSE([#include <conftest.h>],
+ AC_COMPILE_IFELSE([AC_LANG_DEFINES_PROVIDED[#include <conftest.h>]],
[gl_cv_have_include_next=buggy],
[gl_cv_have_include_next=no])
])
AC_SUBST([INCLUDE_NEXT])
AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE])
AC_SUBST([PRAGMA_SYSTEM_HEADER])
+ AC_CACHE_CHECK([whether system header files limit the line length],
+ [gl_cv_pragma_columns],
+ [dnl HP NonStop systems, which define __TANDEM, have this misfeature.
+ AC_EGREP_CPP([choke me],
+ [
+#ifdef __TANDEM
+choke me
+#endif
+ ],
+ [gl_cv_pragma_columns=yes],
+ [gl_cv_pragma_columns=no])
+ ])
+ if test $gl_cv_pragma_columns = yes; then
+ PRAGMA_COLUMNS="#pragma COLUMNS 10000"
+ else
+ PRAGMA_COLUMNS=
+ fi
+ AC_SUBST([PRAGMA_COLUMNS])
])
# gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...)
# be
# '"///usr/include/foo.h"', or whatever other absolute file name is suitable.
# That way, a header file with the following line:
-# #@INCLUDE_NEXT@ @NEXT_FOO_H@
+# #@INCLUDE_NEXT@ @NEXT_FOO_H@
# or
-# #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_FOO_H@
+# #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_FOO_H@
# behaves (after sed substitution) as if it contained
-# #include_next <foo.h>
+# #include_next <foo.h>
# even if the compiler does not support include_next.
# The three "///" are to pacify Sun C 5.8, which otherwise would say
# "warning: #include of /usr/include/... may be non-portable".
# Note: This macro assumes that the header file is not empty after
# preprocessing, i.e. it does not only define preprocessor macros but also
# provides some type/enum definitions or function/variable declarations.
+#
+# This macro also checks whether each header exists, by invoking
+# AC_CHECK_HEADERS_ONCE or AC_CHECK_HEADERS on each argument.
AC_DEFUN([gl_CHECK_NEXT_HEADERS],
+[
+ gl_NEXT_HEADERS_INTERNAL([$1], [check])
+])
+
+# gl_NEXT_HEADERS(HEADER1 HEADER2 ...)
+# ------------------------------------
+# Like gl_CHECK_NEXT_HEADERS, except do not check whether the headers exist.
+# This is suitable for headers like <stddef.h> that are standardized by C89
+# and therefore can be assumed to exist.
+AC_DEFUN([gl_NEXT_HEADERS],
+[
+ gl_NEXT_HEADERS_INTERNAL([$1], [assume])
+])
+
+# The guts of gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS.
+AC_DEFUN([gl_NEXT_HEADERS_INTERNAL],
[
AC_REQUIRE([gl_INCLUDE_NEXT])
AC_REQUIRE([AC_CANONICAL_HOST])
- AC_CHECK_HEADERS_ONCE([$1])
+ m4_if([$2], [check],
+ [AC_CHECK_HEADERS_ONCE([$1])
+ ])
+
+dnl FIXME: gl_next_header and gl_header_exists must be used unquoted
+dnl until we can assume autoconf 2.64 or newer.
m4_foreach_w([gl_HEADER_NAME], [$1],
[AS_VAR_PUSHDEF([gl_next_header],
- [gl_cv_next_]m4_defn([gl_HEADER_NAME]))
+ [gl_cv_next_]m4_defn([gl_HEADER_NAME]))
if test $gl_cv_have_include_next = yes; then
- AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
+ AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>'])
else
AC_CACHE_CHECK(
- [absolute name of <]m4_defn([gl_HEADER_NAME])[>],
- m4_defn([gl_next_header]),
- [AS_VAR_PUSHDEF([gl_header_exists],
- [ac_cv_header_]m4_defn([gl_HEADER_NAME]))
- if test AS_VAR_GET(gl_header_exists) = yes; then
- AC_LANG_CONFTEST(
- [AC_LANG_SOURCE(
- [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]]
- )])
- dnl AIX "xlc -E" and "cc -E" omit #line directives for header files
- dnl that contain only a #include of other header files and no
- dnl non-comment tokens of their own. This leads to a failure to
- dnl detect the absolute name of <dirent.h>, <signal.h>, <poll.h>
- dnl and others. The workaround is to force preservation of comments
- dnl through option -C. This ensures all necessary #line directives
- dnl are present. GCC supports option -C as well.
- case "$host_os" in
- aix*) gl_absname_cpp="$ac_cpp -C" ;;
- *) gl_absname_cpp="$ac_cpp" ;;
- esac
- dnl eval is necessary to expand gl_absname_cpp.
- dnl Ultrix and Pyramid sh refuse to redirect output of eval,
- dnl so use subshell.
- AS_VAR_SET([gl_next_header],
- ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
- sed -n '\#/]m4_defn([gl_HEADER_NAME])[#{
- s#.*"\(.*/]m4_defn([gl_HEADER_NAME])[\)".*#\1#
- s#^/[^/]#//&#
- p
- q
- }'`'"'])
- else
- AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
- fi
- AS_VAR_POPDEF([gl_header_exists])])
+ [absolute name of <]m4_defn([gl_HEADER_NAME])[>],
+ m4_defn([gl_next_header]),
+ [m4_if([$2], [check],
+ [AS_VAR_PUSHDEF([gl_header_exists],
+ [ac_cv_header_]m4_defn([gl_HEADER_NAME]))
+ if test AS_VAR_GET(gl_header_exists) = yes; then
+ AS_VAR_POPDEF([gl_header_exists])
+ ])
+ AC_LANG_CONFTEST(
+ [AC_LANG_SOURCE(
+ [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]]
+ )])
+ dnl AIX "xlc -E" and "cc -E" omit #line directives for header
+ dnl files that contain only a #include of other header files and
+ dnl no non-comment tokens of their own. This leads to a failure
+ dnl to detect the absolute name of <dirent.h>, <signal.h>,
+ dnl <poll.h> and others. The workaround is to force preservation
+ dnl of comments through option -C. This ensures all necessary
+ dnl #line directives are present. GCC supports option -C as well.
+ case "$host_os" in
+ aix*) gl_absname_cpp="$ac_cpp -C" ;;
+ *) gl_absname_cpp="$ac_cpp" ;;
+ esac
+changequote(,)
+ case "$host_os" in
+ mingw*)
+ dnl For the sake of native Windows compilers (excluding gcc),
+ dnl treat backslash as a directory separator, like /.
+ dnl Actually, these compilers use a double-backslash as
+ dnl directory separator, inside the
+ dnl # line "filename"
+ dnl directives.
+ gl_dirsep_regex='[/\\]'
+ ;;
+ *)
+ gl_dirsep_regex='\/'
+ ;;
+ esac
+ dnl A sed expression that turns a string into a basic regular
+ dnl expression, for use within "/.../".
+ gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
+changequote([,])
+ gl_header_literal_regex=`echo ']m4_defn([gl_HEADER_NAME])[' \
+ | sed -e "$gl_make_literal_regex_sed"`
+ gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
+ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
+changequote(,)dnl
+ s|^/[^/]|//&|
+changequote([,])dnl
+ p
+ q
+ }'
+ dnl eval is necessary to expand gl_absname_cpp.
+ dnl Ultrix and Pyramid sh refuse to redirect output of eval,
+ dnl so use subshell.
+ AS_VAR_SET(gl_next_header,
+ ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
+ sed -n "$gl_absolute_header_sed"`'"'])
+ m4_if([$2], [check],
+ [else
+ AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>'])
+ fi
+ ])
+ ])
fi
AC_SUBST(
AS_TR_CPP([NEXT_]m4_defn([gl_HEADER_NAME])),
- [AS_VAR_GET([gl_next_header])])
+ [AS_VAR_GET(gl_next_header)])
if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
# INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
gl_next_as_first_directive='<'gl_HEADER_NAME'>'
else
# INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
- gl_next_as_first_directive=AS_VAR_GET([gl_next_header])
+ gl_next_as_first_directive=AS_VAR_GET(gl_next_header)
fi
AC_SUBST(
AS_TR_CPP([NEXT_AS_FIRST_DIRECTIVE_]m4_defn([gl_HEADER_NAME])),
[$gl_next_as_first_directive])
AS_VAR_POPDEF([gl_next_header])])
])
+
+# Autoconf 2.68 added warnings for our use of AC_COMPILE_IFELSE;
+# this fallback is safe for all earlier autoconf versions.
+m4_define_default([AC_LANG_DEFINES_PROVIDED])
--- /dev/null
+# inttypes.m4 serial 24
+dnl Copyright (C) 2006-2011 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 From Derek Price, Bruno Haible.
+dnl Test whether <inttypes.h> is supported or must be substituted.
+
+AC_DEFUN([gl_INTTYPES_H],
+[
+ AC_REQUIRE([gl_INTTYPES_INCOMPLETE])
+ gl_INTTYPES_PRI_SCN
+])
+
+AC_DEFUN_ONCE([gl_INTTYPES_INCOMPLETE],
+[
+ AC_REQUIRE([gl_STDINT_H])
+ AC_CHECK_HEADERS_ONCE([inttypes.h])
+
+ dnl Override <inttypes.h> always, so that the portability warnings work.
+ AC_REQUIRE([gl_INTTYPES_H_DEFAULTS])
+ gl_CHECK_NEXT_HEADERS([inttypes.h])
+
+ AC_REQUIRE([gl_MULTIARCH])
+
+ dnl Ensure that <stdint.h> defines the limit macros, since gnulib's
+ dnl <inttypes.h> relies on them. This macro is only needed when a
+ dnl C++ compiler is in use; it has no effect for a C compiler.
+ dnl Also be careful to define __STDC_LIMIT_MACROS only when gnulib's
+ dnl <inttypes.h> is going to be created, and to avoid redefinition warnings
+ dnl if the __STDC_LIMIT_MACROS is already defined through the CPPFLAGS.
+ AC_DEFINE([GL_TRIGGER_STDC_LIMIT_MACROS], [1],
+ [Define to make the limit macros in <stdint.h> visible.])
+ AH_VERBATIM([__STDC_LIMIT_MACROS_ZZZ],
+[/* Ensure that <stdint.h> defines the limit macros, since gnulib's
+ <inttypes.h> relies on them. */
+#if defined __cplusplus && !defined __STDC_LIMIT_MACROS && GL_TRIGGER_STDC_LIMIT_MACROS
+# define __STDC_LIMIT_MACROS 1
+#endif
+])
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use.
+ gl_WARN_ON_USE_PREPARE([[#include <inttypes.h>
+ ]], [imaxabs imaxdiv strtoimax strtoumax])
+])
+
+# Ensure that the PRI* and SCN* macros are defined appropriately.
+AC_DEFUN([gl_INTTYPES_PRI_SCN],
+[
+ AC_REQUIRE([gt_INTTYPES_PRI])
+
+ PRIPTR_PREFIX=
+ if test -n "$STDINT_H"; then
+ dnl Using the gnulib <stdint.h>. It always defines intptr_t to 'long'.
+ PRIPTR_PREFIX='"l"'
+ else
+ dnl Using the system's <stdint.h>.
+ for glpfx in '' l ll I64; do
+ case $glpfx in
+ '') gltype1='int';;
+ l) gltype1='long int';;
+ ll) gltype1='long long int';;
+ I64) gltype1='__int64';;
+ esac
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <stdint.h>
+ extern intptr_t foo;
+ extern $gltype1 foo;]])],
+ [PRIPTR_PREFIX='"'$glpfx'"'])
+ test -n "$PRIPTR_PREFIX" && break
+ done
+ fi
+ AC_SUBST([PRIPTR_PREFIX])
+
+ gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION(
+ [INT32_MAX_LT_INTMAX_MAX],
+ [defined INT32_MAX && defined INTMAX_MAX],
+ [INT32_MAX < INTMAX_MAX],
+ [sizeof (int) < sizeof (long long int)])
+ if test $APPLE_UNIVERSAL_BUILD = 0; then
+ gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION(
+ [INT64_MAX_EQ_LONG_MAX],
+ [defined INT64_MAX],
+ [INT64_MAX == LONG_MAX],
+ [sizeof (long long int) == sizeof (long int)])
+ else
+ INT64_MAX_EQ_LONG_MAX=-1
+ fi
+ gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION(
+ [UINT32_MAX_LT_UINTMAX_MAX],
+ [defined UINT32_MAX && defined UINTMAX_MAX],
+ [UINT32_MAX < UINTMAX_MAX],
+ [sizeof (unsigned int) < sizeof (unsigned long long int)])
+ if test $APPLE_UNIVERSAL_BUILD = 0; then
+ gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION(
+ [UINT64_MAX_EQ_ULONG_MAX],
+ [defined UINT64_MAX],
+ [UINT64_MAX == ULONG_MAX],
+ [sizeof (unsigned long long int) == sizeof (unsigned long int)])
+ else
+ UINT64_MAX_EQ_ULONG_MAX=-1
+ fi
+])
+
+# Define the symbol $1 to be 1 if the condition is true, 0 otherwise.
+# If $2 is true, the condition is $3; otherwise if long long int is supported
+# approximate the condition with $4; otherwise, assume the condition is false.
+# The condition should work on all C99 platforms; the approximations should be
+# good enough to work on all practical pre-C99 platforms.
+# $2 is evaluated by the C preprocessor, $3 and $4 as compile-time constants.
+AC_DEFUN([gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION],
+[
+ AC_CACHE_CHECK([whether $3],
+ [gl_cv_test_$1],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[/* Work also in C++ mode. */
+ #define __STDC_LIMIT_MACROS 1
+
+ /* Work if build is not clean. */
+ #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+
+ #include <limits.h>
+ #if HAVE_STDINT_H
+ #include <stdint.h>
+ #endif
+
+ #if $2
+ #define CONDITION ($3)
+ #elif HAVE_LONG_LONG_INT
+ #define CONDITION ($4)
+ #else
+ #define CONDITION 0
+ #endif
+ int test[CONDITION ? 1 : -1];]])],
+ [gl_cv_test_$1=yes],
+ [gl_cv_test_$1=no])])
+ if test $gl_cv_test_$1 = yes; then
+ $1=1;
+ else
+ $1=0;
+ fi
+ AC_SUBST([$1])
+])
+
+AC_DEFUN([gl_INTTYPES_MODULE_INDICATOR],
+[
+ dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+ AC_REQUIRE([gl_INTTYPES_H_DEFAULTS])
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+])
+
+AC_DEFUN([gl_INTTYPES_H_DEFAULTS],
+[
+ GNULIB_IMAXABS=0; AC_SUBST([GNULIB_IMAXABS])
+ GNULIB_IMAXDIV=0; AC_SUBST([GNULIB_IMAXDIV])
+ GNULIB_STRTOIMAX=0; AC_SUBST([GNULIB_STRTOIMAX])
+ GNULIB_STRTOUMAX=0; AC_SUBST([GNULIB_STRTOUMAX])
+ dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE_DECL_IMAXABS=1; AC_SUBST([HAVE_DECL_IMAXABS])
+ HAVE_DECL_IMAXDIV=1; AC_SUBST([HAVE_DECL_IMAXDIV])
+ HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX])
+ HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX])
+ INT32_MAX_LT_INTMAX_MAX=1; AC_SUBST([INT32_MAX_LT_INTMAX_MAX])
+ INT64_MAX_EQ_LONG_MAX='defined _LP64'; AC_SUBST([INT64_MAX_EQ_LONG_MAX])
+ PRI_MACROS_BROKEN=0; AC_SUBST([PRI_MACROS_BROKEN])
+ PRIPTR_PREFIX=__PRIPTR_PREFIX; AC_SUBST([PRIPTR_PREFIX])
+ UINT32_MAX_LT_UINTMAX_MAX=1; AC_SUBST([UINT32_MAX_LT_UINTMAX_MAX])
+ UINT64_MAX_EQ_ULONG_MAX='defined _LP64'; AC_SUBST([UINT64_MAX_EQ_ULONG_MAX])
+])
--- /dev/null
+# Enable large files on systems where this is not the default.
+
+# Copyright 1992-1996, 1998-2011 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# The following implementation works around a problem in autoconf <= 2.68;
+# AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5.
+m4_version_prereq([2.69], [] ,[
+
+# _AC_SYS_LARGEFILE_TEST_INCLUDES
+# -------------------------------
+m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES],
+[@%:@include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1]];[]dnl
+])
+
+
+# _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE,
+# CACHE-VAR,
+# DESCRIPTION,
+# PROLOGUE, [FUNCTION-BODY])
+# --------------------------------------------------------
+m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE],
+[AC_CACHE_CHECK([for $1 value needed for large files], [$3],
+[while :; do
+ m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
+ [AC_LANG_PROGRAM([$5], [$6])],
+ [$3=no; break])
+ m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
+ [AC_LANG_PROGRAM([@%:@define $1 $2
+$5], [$6])],
+ [$3=$2; break])
+ $3=unknown
+ break
+done])
+case $$3 in #(
+ no | unknown) ;;
+ *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);;
+esac
+rm -rf conftest*[]dnl
+])# _AC_SYS_LARGEFILE_MACRO_VALUE
+
+
+# AC_SYS_LARGEFILE
+# ----------------
+# By default, many hosts won't let programs access large files;
+# one must use special compiler options to get large-file access to work.
+# For more details about this brain damage please see:
+# http://www.unix-systems.org/version2/whatsnew/lfs20mar.html
+AC_DEFUN([AC_SYS_LARGEFILE],
+[AC_ARG_ENABLE(largefile,
+ [ --disable-largefile omit support for large files])
+if test "$enable_largefile" != no; then
+
+ AC_CACHE_CHECK([for special C compiler options needed for large files],
+ ac_cv_sys_largefile_CC,
+ [ac_cv_sys_largefile_CC=no
+ if test "$GCC" != yes; then
+ ac_save_CC=$CC
+ while :; do
+ # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps.
+ AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])])
+ AC_COMPILE_IFELSE([], [break])
+ CC="$CC -n32"
+ AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break])
+ break
+ done
+ CC=$ac_save_CC
+ rm -f conftest.$ac_ext
+ fi])
+ if test "$ac_cv_sys_largefile_CC" != no; then
+ CC=$CC$ac_cv_sys_largefile_CC
+ fi
+
+ _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64,
+ ac_cv_sys_file_offset_bits,
+ [Number of bits in a file offset, on hosts where this is settable.],
+ [_AC_SYS_LARGEFILE_TEST_INCLUDES])
+ if test $ac_cv_sys_file_offset_bits = unknown; then
+ _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1,
+ ac_cv_sys_large_files,
+ [Define for large files, on AIX-style hosts.],
+ [_AC_SYS_LARGEFILE_TEST_INCLUDES])
+ fi
+
+ AH_VERBATIM([_DARWIN_USE_64_BIT_INODE],
+[/* Enable large inode numbers on Mac OS X. */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif])
+fi
+])# AC_SYS_LARGEFILE
+
+])# m4_version_prereq 2.69
--- /dev/null
+# serial 23
+
+# Copyright (C) 1997-2001, 2003-2011 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+dnl From Jim Meyering.
+
+AC_DEFUN([gl_FUNC_LSTAT],
+[
+ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+ dnl If lstat does not exist, the replacement <sys/stat.h> does
+ dnl "#define lstat stat", and lstat.c is a no-op.
+ AC_CHECK_FUNCS_ONCE([lstat])
+ if test $ac_cv_func_lstat = yes; then
+ AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
+ if test $gl_cv_func_lstat_dereferences_slashed_symlink = no; then
+ REPLACE_LSTAT=1
+ fi
+ else
+ HAVE_LSTAT=0
+ fi
+])
+
+# Prerequisites of lib/lstat.c.
+AC_DEFUN([gl_PREREQ_LSTAT],
+[
+ AC_REQUIRE([AC_C_INLINE])
+ :
+])
+
+AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
+[
+ dnl We don't use AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK any more, because it
+ dnl is no longer maintained in Autoconf and because it invokes AC_LIBOBJ.
+ AC_CACHE_CHECK([whether lstat correctly handles trailing slash],
+ [gl_cv_func_lstat_dereferences_slashed_symlink],
+ [rm -f conftest.sym conftest.file
+ echo >conftest.file
+ if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [AC_INCLUDES_DEFAULT],
+ [[struct stat sbuf;
+ /* Linux will dereference the symlink and fail, as required by
+ POSIX. That is better in the sense that it means we will not
+ have to compile and use the lstat wrapper. */
+ return lstat ("conftest.sym/", &sbuf) == 0;
+ ]])],
+ [gl_cv_func_lstat_dereferences_slashed_symlink=yes],
+ [gl_cv_func_lstat_dereferences_slashed_symlink=no],
+ [# When cross-compiling, be pessimistic so we will end up using the
+ # replacement version of lstat that checks for trailing slashes and
+ # calls lstat a second time when necessary.
+ gl_cv_func_lstat_dereferences_slashed_symlink=no
+ ])
+ else
+ # If the 'ln -s' command failed, then we probably don't even
+ # have an lstat function.
+ gl_cv_func_lstat_dereferences_slashed_symlink=no
+ fi
+ rm -f conftest.sym conftest.file
+ ])
+ test $gl_cv_func_lstat_dereferences_slashed_symlink = yes &&
+ AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1],
+ [Define to 1 if `lstat' dereferences a symlink specified
+ with a trailing slash.])
+])
--- /dev/null
+# malloc.m4 serial 13
+dnl Copyright (C) 2007, 2009-2011 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.
+
+# gl_FUNC_MALLOC_GNU
+# ------------------
+# Test whether 'malloc (0)' is handled like in GNU libc, and replace malloc if
+# it is not.
+AC_DEFUN([gl_FUNC_MALLOC_GNU],
+[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ dnl _AC_FUNC_MALLOC_IF is defined in Autoconf.
+ _AC_FUNC_MALLOC_IF(
+ [AC_DEFINE([HAVE_MALLOC_GNU], [1],
+ [Define to 1 if your system has a GNU libc compatible 'malloc'
+ function, and to 0 otherwise.])],
+ [AC_DEFINE([HAVE_MALLOC_GNU], [0])
+ REPLACE_MALLOC=1
+ ])
+])
+
+# gl_FUNC_MALLOC_POSIX
+# --------------------
+# Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it
+# fails), and replace malloc if it is not.
+AC_DEFUN([gl_FUNC_MALLOC_POSIX],
+[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
+ if test $gl_cv_func_malloc_posix = yes; then
+ AC_DEFINE([HAVE_MALLOC_POSIX], [1],
+ [Define if the 'malloc' function is POSIX compliant.])
+ else
+ REPLACE_MALLOC=1
+ fi
+])
+
+# Test whether malloc, realloc, calloc are POSIX compliant,
+# Set gl_cv_func_malloc_posix to yes or no accordingly.
+AC_DEFUN([gl_CHECK_MALLOC_POSIX],
+[
+ AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant],
+ [gl_cv_func_malloc_posix],
+ [
+ dnl It is too dangerous to try to allocate a large amount of memory:
+ dnl some systems go to their knees when you do that. So assume that
+ dnl all Unix implementations of the function are POSIX compliant.
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[]],
+ [[#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+ choke me
+ #endif
+ ]])],
+ [gl_cv_func_malloc_posix=yes],
+ [gl_cv_func_malloc_posix=no])
+ ])
+])
--- /dev/null
+# malloca.m4 serial 1
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2011 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_MALLOCA],
+[
+ dnl Use the autoconf tests for alloca(), but not the AC_SUBSTed variables
+ dnl @ALLOCA@ and @LTALLOCA@.
+ dnl gl_FUNC_ALLOCA dnl Already brought in by the module dependencies.
+ AC_REQUIRE([gl_EEMALLOC])
+ AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
+])
# manywarnings.m4 serial 1
-dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2011 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.
# using gl_WARN_ADD if you want to make sure your gcc understands it.
AC_DEFUN([gl_MANYWARN_ALL_GCC],
[
- gl_manywarn_set=
- for gl_manywarn_item in \
- -Wall \
- -W \
- -Wformat-y2k \
- -Wformat-nonliteral \
- -Wformat-security \
- -Winit-self \
- -Wmissing-include-dirs \
- -Wswitch-default \
- -Wswitch-enum \
- -Wunused \
- -Wunknown-pragmas \
- -Wstrict-aliasing \
- -Wstrict-overflow \
- -Wsystem-headers \
- -Wfloat-equal \
- -Wtraditional \
- -Wtraditional-conversion \
- -Wdeclaration-after-statement \
- -Wundef \
- -Wshadow \
- -Wunsafe-loop-optimizations \
- -Wpointer-arith \
- -Wbad-function-cast \
- -Wc++-compat \
- -Wcast-qual \
- -Wcast-align \
- -Wwrite-strings \
- -Wconversion \
- -Wsign-conversion \
- -Wlogical-op \
- -Waggregate-return \
- -Wstrict-prototypes \
- -Wold-style-definition \
- -Wmissing-prototypes \
- -Wmissing-declarations \
- -Wmissing-noreturn \
- -Wmissing-format-attribute \
- -Wpacked \
- -Wpadded \
- -Wredundant-decls \
- -Wnested-externs \
- -Wunreachable-code \
- -Winline \
- -Winvalid-pch \
- -Wlong-long \
- -Wvla \
- -Wvolatile-register-var \
- -Wdisabled-optimization \
- -Wstack-protector \
- -Woverlength-strings \
- -Wbuiltin-macro-redefined \
- -Wmudflap \
- -Wpacked-bitfield-compat \
- -Wsync-nand \
- ; do
+ dnl First, check if -Wno-missing-field-initializers is needed.
+ dnl -Wmissing-field-initializers is implied by -W, but that issues
+ dnl warnings with GCC version before 4.7, for the common idiom
+ dnl of initializing types on the stack to zero, using { 0, }
+ AC_REQUIRE([AC_PROG_CC])
+ if test -n "$GCC"; then
+
+ dnl First, check -W -Werror -Wno-missing-field-initializers is supported
+ dnl with the current $CC $CFLAGS $CPPFLAGS.
+ AC_MSG_CHECKING([whether -Wno-missing-field-initializers is supported])
+ AC_CACHE_VAL([gl_cv_cc_nomfi_supported], [
+ gl_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers"
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[]], [[]])],
+ [gl_cv_cc_nomfi_supported=yes],
+ [gl_cv_cc_nomfi_supported=no])
+ CFLAGS="$gl_save_CFLAGS"])
+ AC_MSG_RESULT([$gl_cv_cc_nomfi_supported])
+
+ if test "$gl_cv_cc_nomfi_supported" = yes; then
+ dnl Now check whether -Wno-missing-field-initializers is needed
+ dnl for the { 0, } construct.
+ AC_MSG_CHECKING([whether -Wno-missing-field-initializers is needed])
+ AC_CACHE_VAL([gl_cv_cc_nomfi_needed], [
+ gl_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -W -Werror"
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[void f (void)
+ {
+ typedef struct { int a; int b; } s_t;
+ s_t s1 = { 0, };
+ }
+ ]],
+ [[]])],
+ [gl_cv_cc_nomfi_needed=no],
+ [gl_cv_cc_nomfi_needed=yes])
+ CFLAGS="$gl_save_CFLAGS"
+ ])
+ AC_MSG_RESULT([$gl_cv_cc_nomfi_needed])
+ fi
+ fi
+
+ gl_manywarn_set=
+ for gl_manywarn_item in \
+ -Wall \
+ -W \
+ -Wformat-y2k \
+ -Wformat-nonliteral \
+ -Wformat-security \
+ -Winit-self \
+ -Wmissing-include-dirs \
+ -Wswitch-default \
+ -Wswitch-enum \
+ -Wunused \
+ -Wunknown-pragmas \
+ -Wstrict-aliasing \
+ -Wstrict-overflow \
+ -Wsystem-headers \
+ -Wfloat-equal \
+ -Wtraditional \
+ -Wtraditional-conversion \
+ -Wdeclaration-after-statement \
+ -Wundef \
+ -Wshadow \
+ -Wunsafe-loop-optimizations \
+ -Wpointer-arith \
+ -Wbad-function-cast \
+ -Wc++-compat \
+ -Wcast-qual \
+ -Wcast-align \
+ -Wwrite-strings \
+ -Wconversion \
+ -Wsign-conversion \
+ -Wlogical-op \
+ -Waggregate-return \
+ -Wstrict-prototypes \
+ -Wold-style-definition \
+ -Wmissing-prototypes \
+ -Wmissing-declarations \
+ -Wmissing-noreturn \
+ -Wmissing-format-attribute \
+ -Wpacked \
+ -Wpadded \
+ -Wredundant-decls \
+ -Wnested-externs \
+ -Wunreachable-code \
+ -Winline \
+ -Winvalid-pch \
+ -Wlong-long \
+ -Wvla \
+ -Wvolatile-register-var \
+ -Wdisabled-optimization \
+ -Wstack-protector \
+ -Woverlength-strings \
+ -Wbuiltin-macro-redefined \
+ -Wmudflap \
+ -Wpacked-bitfield-compat \
+ -Wsync-nand \
+ ; do
gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
done
- # The following are not documented in the manual but are included in
- # output from gcc --help=warnings.
- for gl_manywarn_item in \
- -Wattributes \
- -Wcoverage-mismatch \
- -Wmultichar \
- -Wunused-macros \
- ; do
+ # The following are not documented in the manual but are included in
+ # output from gcc --help=warnings.
+ for gl_manywarn_item in \
+ -Wattributes \
+ -Wcoverage-mismatch \
+ -Wmultichar \
+ -Wunused-macros \
+ ; do
gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
done
+ # More warnings from gcc 4.6.2 --help=warnings.
+ for gl_manywarn_item in \
+ -Wabi \
+ -Wcpp \
+ -Wdeprecated \
+ -Wdeprecated-declarations \
+ -Wdiv-by-zero \
+ -Wdouble-promotion \
+ -Wendif-labels \
+ -Wextra \
+ -Wformat-contains-nul \
+ -Wformat-extra-args \
+ -Wformat-zero-length \
+ -Wformat=2 \
+ -Wmultichar \
+ -Wnormalized=nfc \
+ -Woverflow \
+ -Wpointer-to-int-cast \
+ -Wpragmas \
+ -Wsuggest-attribute=const \
+ -Wsuggest-attribute=noreturn \
+ -Wsuggest-attribute=pure \
+ -Wtrampolines \
+ -Wunsuffixed-float-constants \
+ ; do
+ gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
+ done
+
+ # Disable the missing-field-initializers warning if needed
+ if test "$gl_cv_cc_nomfi_needed" = yes; then
+ gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers"
+ fi
+
$1=$gl_manywarn_set
])
--- /dev/null
+# mode_t.m4 serial 2
+dnl Copyright (C) 2009-2011 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.
+
+# For using mode_t, it's sufficient to use AC_TYPE_MODE_T and
+# include <sys/types.h>.
+
+# Define PROMOTED_MODE_T to the type that is the result of "default argument
+# promotion" (ISO C 6.5.2.2.(6)) of the type mode_t.
+AC_DEFUN([gl_PROMOTED_TYPE_MODE_T],
+[
+ AC_REQUIRE([AC_TYPE_MODE_T])
+ AC_CACHE_CHECK([for promoted mode_t type], [gl_cv_promoted_mode_t], [
+ dnl Assume mode_t promotes to 'int' if and only if it is smaller than 'int',
+ dnl and to itself otherwise. This assumption is not guaranteed by the ISO C
+ dnl standard, but we don't know of any real-world counterexamples.
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>]],
+ [[typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1];]])],
+ [gl_cv_promoted_mode_t='int'],
+ [gl_cv_promoted_mode_t='mode_t'])
+ ])
+ AC_DEFINE_UNQUOTED([PROMOTED_MODE_T], [$gl_cv_promoted_mode_t],
+ [Define to the type that is the result of default argument promotions of type mode_t.])
+])
--- /dev/null
+# msvc-inval.m4 serial 1
+dnl Copyright (C) 2011 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.
+
+AC_DEFUN([gl_MSVC_INVAL],
+[
+ AC_CHECK_FUNCS_ONCE([_set_invalid_parameter_handler])
+ if test $ac_cv_func__set_invalid_parameter_handler = yes; then
+ HAVE_MSVC_INVALID_PARAMETER_HANDLER=1
+ AC_DEFINE([HAVE_MSVC_INVALID_PARAMETER_HANDLER], [1],
+ [Define to 1 on MSVC platforms that have the "invalid parameter handler"
+ concept.])
+ else
+ HAVE_MSVC_INVALID_PARAMETER_HANDLER=0
+ fi
+ AC_SUBST([HAVE_MSVC_INVALID_PARAMETER_HANDLER])
+])
--- /dev/null
+# msvc-nothrow.m4 serial 1
+dnl Copyright (C) 2011 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.
+
+AC_DEFUN([gl_MSVC_NOTHROW],
+[
+ AC_REQUIRE([gl_MSVC_INVAL])
+])
--- /dev/null
+# multiarch.m4 serial 6
+dnl Copyright (C) 2008-2011 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.
+
+# Determine whether the compiler is or may be producing universal binaries.
+#
+# On MacOS X 10.5 and later systems, the user can create libraries and
+# executables that work on multiple system types--known as "fat" or
+# "universal" binaries--by specifying multiple '-arch' options to the
+# compiler but only a single '-arch' option to the preprocessor. Like
+# this:
+#
+# ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+# CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+# CPP="gcc -E" CXXCPP="g++ -E"
+#
+# Detect this situation and set APPLE_UNIVERSAL_BUILD accordingly.
+
+AC_DEFUN_ONCE([gl_MULTIARCH],
+[
+ dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN.
+ gl_cv_c_multiarch=no
+ AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE(
+ [[#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+ ]])],
+ [
+ dnl Check for potential -arch flags. It is not universal unless
+ dnl there are at least two -arch flags with different values.
+ arch=
+ prev=
+ for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
+ if test -n "$prev"; then
+ case $word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$arch" || test "$arch" = "$word"; then
+ arch="$word"
+ else
+ gl_cv_c_multiarch=yes
+ fi
+ ;;
+ esac
+ prev=
+ else
+ if test "x$word" = "x-arch"; then
+ prev=arch
+ fi
+ fi
+ done
+ ])
+ if test $gl_cv_c_multiarch = yes; then
+ APPLE_UNIVERSAL_BUILD=1
+ else
+ APPLE_UNIVERSAL_BUILD=0
+ fi
+ AC_SUBST([APPLE_UNIVERSAL_BUILD])
+])
--- /dev/null
+# nocrash.m4 serial 3
+dnl Copyright (C) 2005, 2009-2011 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 Based on libsigsegv, from Bruno Haible and Paolo Bonzini.
+
+AC_PREREQ([2.13])
+
+dnl Expands to some code for use in .c programs that will cause the configure
+dnl test to exit instead of crashing. This is useful to avoid triggering
+dnl action from a background debugger and to avoid core dumps.
+dnl Usage: ...
+dnl ]GL_NOCRASH[
+dnl ...
+dnl int main() { nocrash_init(); ... }
+AC_DEFUN([GL_NOCRASH],[[
+#include <stdlib.h>
+#if defined __MACH__ && defined __APPLE__
+/* Avoid a crash on MacOS X. */
+#include <mach/mach.h>
+#include <mach/mach_error.h>
+#include <mach/thread_status.h>
+#include <mach/exception.h>
+#include <mach/task.h>
+#include <pthread.h>
+/* The exception port on which our thread listens. */
+static mach_port_t our_exception_port;
+/* The main function of the thread listening for exceptions of type
+ EXC_BAD_ACCESS. */
+static void *
+mach_exception_thread (void *arg)
+{
+ /* Buffer for a message to be received. */
+ struct {
+ mach_msg_header_t head;
+ mach_msg_body_t msgh_body;
+ char data[1024];
+ } msg;
+ mach_msg_return_t retval;
+ /* Wait for a message on the exception port. */
+ retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg),
+ our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
+ if (retval != MACH_MSG_SUCCESS)
+ abort ();
+ exit (1);
+}
+static void
+nocrash_init (void)
+{
+ mach_port_t self = mach_task_self ();
+ /* Allocate a port on which the thread shall listen for exceptions. */
+ if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port)
+ == KERN_SUCCESS) {
+ /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */
+ if (mach_port_insert_right (self, our_exception_port, our_exception_port,
+ MACH_MSG_TYPE_MAKE_SEND)
+ == KERN_SUCCESS) {
+ /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting
+ for us. */
+ exception_mask_t mask = EXC_MASK_BAD_ACCESS;
+ /* Create the thread listening on the exception port. */
+ pthread_attr_t attr;
+ pthread_t thread;
+ if (pthread_attr_init (&attr) == 0
+ && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0
+ && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) {
+ pthread_attr_destroy (&attr);
+ /* Replace the exception port info for these exceptions with our own.
+ Note that we replace the exception port for the entire task, not only
+ for a particular thread. This has the effect that when our exception
+ port gets the message, the thread specific exception port has already
+ been asked, and we don't need to bother about it.
+ See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */
+ task_set_exception_ports (self, mask, our_exception_port,
+ EXCEPTION_DEFAULT, MACHINE_THREAD_STATE);
+ }
+ }
+ }
+}
+#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* Avoid a crash on native Windows. */
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#include <winerror.h>
+static LONG WINAPI
+exception_filter (EXCEPTION_POINTERS *ExceptionInfo)
+{
+ switch (ExceptionInfo->ExceptionRecord->ExceptionCode)
+ {
+ case EXCEPTION_ACCESS_VIOLATION:
+ case EXCEPTION_IN_PAGE_ERROR:
+ case EXCEPTION_STACK_OVERFLOW:
+ case EXCEPTION_GUARD_PAGE:
+ case EXCEPTION_PRIV_INSTRUCTION:
+ case EXCEPTION_ILLEGAL_INSTRUCTION:
+ case EXCEPTION_DATATYPE_MISALIGNMENT:
+ case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
+ case EXCEPTION_NONCONTINUABLE_EXCEPTION:
+ exit (1);
+ }
+ return EXCEPTION_CONTINUE_SEARCH;
+}
+static void
+nocrash_init (void)
+{
+ SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter);
+}
+#else
+/* Avoid a crash on POSIX systems. */
+#include <signal.h>
+/* A POSIX signal handler. */
+static void
+exception_handler (int sig)
+{
+ exit (1);
+}
+static void
+nocrash_init (void)
+{
+#ifdef SIGSEGV
+ signal (SIGSEGV, exception_handler);
+#endif
+#ifdef SIGBUS
+ signal (SIGBUS, exception_handler);
+#endif
+}
+#endif
+]])
--- /dev/null
+# open.m4 serial 13
+dnl Copyright (C) 2007-2011 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.
+
+AC_DEFUN([gl_FUNC_OPEN],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ case "$host_os" in
+ mingw* | pw*)
+ REPLACE_OPEN=1
+ ;;
+ *)
+ dnl open("foo/") should not create a file when the file name has a
+ dnl trailing slash. FreeBSD only has the problem on symlinks.
+ AC_CHECK_FUNCS_ONCE([lstat])
+ AC_CACHE_CHECK([whether open recognizes a trailing slash],
+ [gl_cv_func_open_slash],
+ [# Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ touch conftest.tmp
+ ln -s conftest.tmp conftest.lnk
+ fi
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <fcntl.h>
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+int main ()
+{
+ int result = 0;
+#if HAVE_LSTAT
+ if (open ("conftest.lnk/", O_RDONLY) != -1)
+ result |= 1;
+#endif
+ if (open ("conftest.sl/", O_CREAT, 0600) >= 0)
+ result |= 2;
+ return result;
+}]])],
+ [gl_cv_func_open_slash=yes],
+ [gl_cv_func_open_slash=no],
+ [
+changequote(,)dnl
+ case "$host_os" in
+ freebsd* | aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*)
+ gl_cv_func_open_slash="guessing no" ;;
+ *)
+ gl_cv_func_open_slash="guessing yes" ;;
+ esac
+changequote([,])dnl
+ ])
+ rm -f conftest.sl conftest.tmp conftest.lnk
+ ])
+ case "$gl_cv_func_open_slash" in
+ *no)
+ AC_DEFINE([OPEN_TRAILING_SLASH_BUG], [1],
+ [Define to 1 if open() fails to recognize a trailing slash.])
+ REPLACE_OPEN=1
+ ;;
+ esac
+ ;;
+ esac
+ dnl Replace open() for supporting the gnulib-defined fchdir() function,
+ dnl to keep fchdir's bookkeeping up-to-date.
+ m4_ifdef([gl_FUNC_FCHDIR], [
+ if test $REPLACE_OPEN = 0; then
+ gl_TEST_FCHDIR
+ if test $HAVE_FCHDIR = 0; then
+ REPLACE_OPEN=1
+ fi
+ fi
+ ])
+ dnl Replace open() for supporting the gnulib-defined O_NONBLOCK flag.
+ m4_ifdef([gl_NONBLOCKING_IO], [
+ if test $REPLACE_OPEN = 0; then
+ gl_NONBLOCKING_IO
+ if test $gl_cv_have_open_O_NONBLOCK != yes; then
+ REPLACE_OPEN=1
+ fi
+ fi
+ ])
+])
+
+# Prerequisites of lib/open.c.
+AC_DEFUN([gl_PREREQ_OPEN],
+[
+ AC_REQUIRE([AC_C_INLINE])
+ AC_REQUIRE([gl_PROMOTED_TYPE_MODE_T])
+ :
+])
--- /dev/null
+# pathmax.m4 serial 10
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_PATHMAX],
+[
+ dnl Prerequisites of lib/pathmax.h.
+ AC_CHECK_HEADERS_ONCE([sys/param.h])
+])
+
+# Expands to a piece of C program that defines PATH_MAX in the same way as
+# "pathmax.h" will do.
+AC_DEFUN([gl_PATHMAX_SNIPPET], [[
+/* Arrange to define PATH_MAX, like "pathmax.h" does. */
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#include <limits.h>
+#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN
+# include <sys/param.h>
+#endif
+#if !defined PATH_MAX && defined MAXPATHLEN
+# define PATH_MAX MAXPATHLEN
+#endif
+#ifdef __hpux
+# undef PATH_MAX
+# define PATH_MAX 1024
+#endif
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# undef PATH_MAX
+# define PATH_MAX 260
+#endif
+]])
+
+# Prerequisites of gl_PATHMAX_SNIPPET.
+AC_DEFUN([gl_PATHMAX_SNIPPET_PREREQ],
+[
+ AC_CHECK_HEADERS_ONCE([unistd.h sys/param.h])
+])
+++ /dev/null
-# pmccabe2html.m4 serial 2
-dnl Copyright (C) 2008, 2009 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 From Simon Josefsson
-
-# Usage: gl_PMCCABE2HTML([]).
-AC_DEFUN([gl_PMCCABE2HTML],
-[
- AC_REQUIRE([AC_PROG_AWK])
- AC_PATH_PROG([PMCCABE], [pmccabe], [false])
-])
--- /dev/null
+# putenv.m4 serial 18
+dnl Copyright (C) 2002-2011 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 From Jim Meyering.
+dnl
+dnl Check whether putenv ("FOO") removes FOO from the environment.
+dnl The putenv in libc on at least SunOS 4.1.4 does *not* do that.
+
+AC_DEFUN([gl_FUNC_PUTENV],
+[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ AC_CACHE_CHECK([for putenv compatible with GNU and SVID],
+ [gl_cv_func_svid_putenv],
+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],[[
+ /* Put it in env. */
+ if (putenv ("CONFTEST_putenv=val"))
+ return 1;
+
+ /* Try to remove it. */
+ if (putenv ("CONFTEST_putenv"))
+ return 2;
+
+ /* Make sure it was deleted. */
+ if (getenv ("CONFTEST_putenv") != 0)
+ return 3;
+
+ return 0;
+ ]])],
+ gl_cv_func_svid_putenv=yes,
+ gl_cv_func_svid_putenv=no,
+ dnl When crosscompiling, assume putenv is broken.
+ gl_cv_func_svid_putenv=no)
+ ])
+ if test $gl_cv_func_svid_putenv = no; then
+ REPLACE_PUTENV=1
+ fi
+])
--- /dev/null
+# setenv.m4 serial 25
+dnl Copyright (C) 2001-2004, 2006-2011 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.
+
+AC_DEFUN([gl_FUNC_SETENV],
+[
+ AC_REQUIRE([gl_FUNC_SETENV_SEPARATE])
+ if test $ac_cv_func_setenv = no; then
+ HAVE_SETENV=0
+ else
+ AC_CACHE_CHECK([whether setenv validates arguments],
+ [gl_cv_func_setenv_works],
+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+ #include <stdlib.h>
+ #include <errno.h>
+ #include <string.h>
+ ]], [[
+ int result = 0;
+ {
+ if (setenv ("", "", 0) != -1)
+ result |= 1;
+ else if (errno != EINVAL)
+ result |= 2;
+ }
+ {
+ if (setenv ("a", "=", 1) != 0)
+ result |= 4;
+ else if (strcmp (getenv ("a"), "=") != 0)
+ result |= 8;
+ }
+ return result;
+ ]])],
+ [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no],
+ [gl_cv_func_setenv_works="guessing no"])])
+ if test "$gl_cv_func_setenv_works" != yes; then
+ REPLACE_SETENV=1
+ fi
+ fi
+])
+
+# Like gl_FUNC_SETENV, except prepare for separate compilation
+# (no REPLACE_SETENV, no AC_LIBOBJ).
+AC_DEFUN([gl_FUNC_SETENV_SEPARATE],
+[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ AC_CHECK_DECLS_ONCE([setenv])
+ if test $ac_cv_have_decl_setenv = no; then
+ HAVE_DECL_SETENV=0
+ fi
+ AC_CHECK_FUNCS_ONCE([setenv])
+ gl_PREREQ_SETENV
+])
+
+AC_DEFUN([gl_FUNC_UNSETENV],
+[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ AC_CHECK_DECLS_ONCE([unsetenv])
+ if test $ac_cv_have_decl_unsetenv = no; then
+ HAVE_DECL_UNSETENV=0
+ fi
+ AC_CHECK_FUNCS([unsetenv])
+ if test $ac_cv_func_unsetenv = no; then
+ HAVE_UNSETENV=0
+ else
+ HAVE_UNSETENV=1
+ dnl Some BSDs return void, failing to do error checking.
+ AC_CACHE_CHECK([for unsetenv() return type], [gt_cv_func_unsetenv_ret],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#undef _BSD
+#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 <stdlib.h> */
+#include <stdlib.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+int unsetenv (const char *name);
+ ]],
+ [[]])],
+ [gt_cv_func_unsetenv_ret='int'],
+ [gt_cv_func_unsetenv_ret='void'])])
+ if test $gt_cv_func_unsetenv_ret = 'void'; then
+ AC_DEFINE([VOID_UNSETENV], [1], [Define to 1 if unsetenv returns void
+ instead of int.])
+ REPLACE_UNSETENV=1
+ fi
+
+ dnl Solaris 10 unsetenv does not remove all copies of a name.
+ dnl Haiku alpha 2 unsetenv gets confused by assignment to environ.
+ dnl OpenBSD 4.7 unsetenv("") does not fail.
+ AC_CACHE_CHECK([whether unsetenv obeys POSIX],
+ [gl_cv_func_unsetenv_works],
+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+ #include <stdlib.h>
+ #include <errno.h>
+ extern char **environ;
+ ]], [[
+ char entry1[] = "a=1";
+ char entry2[] = "b=2";
+ char *env[] = { entry1, entry2, NULL };
+ if (putenv ((char *) "a=1")) return 1;
+ if (putenv (entry2)) return 2;
+ entry2[0] = 'a';
+ unsetenv ("a");
+ if (getenv ("a")) return 3;
+ if (!unsetenv ("") || errno != EINVAL) return 4;
+ entry2[0] = 'b';
+ environ = env;
+ if (!getenv ("a")) return 5;
+ entry2[0] = 'a';
+ unsetenv ("a");
+ if (getenv ("a")) return 6;
+ ]])],
+ [gl_cv_func_unsetenv_works=yes], [gl_cv_func_unsetenv_works=no],
+ [gl_cv_func_unsetenv_works="guessing no"])])
+ if test "$gl_cv_func_unsetenv_works" != yes; then
+ REPLACE_UNSETENV=1
+ fi
+ fi
+])
+
+# Prerequisites of lib/setenv.c.
+AC_DEFUN([gl_PREREQ_SETENV],
+[
+ AC_REQUIRE([AC_FUNC_ALLOCA])
+ AC_REQUIRE([gl_ENVIRON])
+ AC_CHECK_HEADERS_ONCE([unistd.h])
+ AC_CHECK_HEADERS([search.h])
+ AC_CHECK_FUNCS([tsearch])
+])
+
+# Prerequisites of lib/unsetenv.c.
+AC_DEFUN([gl_PREREQ_UNSETENV],
+[
+ AC_REQUIRE([gl_ENVIRON])
+ AC_CHECK_HEADERS_ONCE([unistd.h])
+])
--- /dev/null
+# ssize_t.m4 serial 5 (gettext-0.18.2)
+dnl Copyright (C) 2001-2003, 2006, 2010-2011 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 From Bruno Haible.
+dnl Test whether ssize_t is defined.
+
+AC_DEFUN([gt_TYPE_SSIZE_T],
+[
+ AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/types.h>]],
+ [[int x = sizeof (ssize_t *) + sizeof (ssize_t);
+ return !x;]])],
+ [gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])])
+ if test $gt_cv_ssize_t = no; then
+ AC_DEFINE([ssize_t], [int],
+ [Define as a signed type of the same size as size_t.])
+ fi
+])
--- /dev/null
+# serial 8
+
+# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_STAT],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+ AC_CHECK_FUNCS_ONCE([lstat])
+ dnl mingw is the only known platform where stat(".") and stat("./") differ
+ AC_CACHE_CHECK([whether stat handles trailing slashes on directories],
+ [gl_cv_func_stat_dir_slash],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/stat.h>
+]], [[struct stat st; return stat (".", &st) != stat ("./", &st);]])],
+ [gl_cv_func_stat_dir_slash=yes], [gl_cv_func_stat_dir_slash=no],
+ [case $host_os in
+ mingw*) gl_cv_func_stat_dir_slash="guessing no";;
+ *) gl_cv_func_stat_dir_slash="guessing yes";;
+ esac])])
+ dnl AIX 7.1, Solaris 9 mistakenly succeed on stat("file/")
+ dnl FreeBSD 7.2 mistakenly succeeds on stat("link-to-file/")
+ AC_CACHE_CHECK([whether stat handles trailing slashes on files],
+ [gl_cv_func_stat_file_slash],
+ [touch conftest.tmp
+ # Assume that if we have lstat, we can also check symlinks.
+ if test $ac_cv_func_lstat = yes; then
+ ln -s conftest.tmp conftest.lnk
+ fi
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/stat.h>
+]], [[int result = 0;
+ struct stat st;
+ if (!stat ("conftest.tmp/", &st))
+ result |= 1;
+#if HAVE_LSTAT
+ if (!stat ("conftest.lnk/", &st))
+ result |= 2;
+#endif
+ return result;
+ ]])],
+ [gl_cv_func_stat_file_slash=yes], [gl_cv_func_stat_file_slash=no],
+ [gl_cv_func_stat_file_slash="guessing no"])
+ rm -f conftest.tmp conftest.lnk])
+ case $gl_cv_func_stat_dir_slash in
+ *no) REPLACE_STAT=1
+ AC_DEFINE([REPLACE_FUNC_STAT_DIR], [1], [Define to 1 if stat needs
+ help when passed a directory name with a trailing slash]);;
+ esac
+ case $gl_cv_func_stat_file_slash in
+ *no) REPLACE_STAT=1
+ AC_DEFINE([REPLACE_FUNC_STAT_FILE], [1], [Define to 1 if stat needs
+ help when passed a file name with a trailing slash]);;
+ esac
+])
+
+# Prerequisites of lib/stat.c.
+AC_DEFUN([gl_PREREQ_STAT],
+[
+ AC_REQUIRE([AC_C_INLINE])
+ :
+])
-# stdarg.m4 serial 3
-dnl Copyright (C) 2006, 2008-2009 Free Software Foundation, Inc.
+# stdarg.m4 serial 6
+dnl Copyright (C) 2006, 2008-2011 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.
AC_DEFUN([gl_STDARG_H],
[
- STDARG_H=''; AC_SUBST([STDARG_H])
- NEXT_STDARG_H='<stdarg.h>'; AC_SUBST([NEXT_STDARG_H])
+ STDARG_H=''
+ NEXT_STDARG_H='<stdarg.h>'
AC_MSG_CHECKING([for va_copy])
AC_CACHE_VAL([gl_cv_func_va_copy], [
- AC_TRY_COMPILE([#include <stdarg.h>], [
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdarg.h>]],
+ [[
#ifndef va_copy
void (*func) (va_list, va_list) = va_copy;
#endif
-],
- [gl_cv_func_va_copy=yes], [gl_cv_func_va_copy=no])])
+ ]])],
+ [gl_cv_func_va_copy=yes],
+ [gl_cv_func_va_copy=no])])
AC_MSG_RESULT([$gl_cv_func_va_copy])
if test $gl_cv_func_va_copy = no; then
dnl Provide a substitute.
if test $gl_aixcc = yes; then
dnl Provide a substitute <stdarg.h> file.
STDARG_H=stdarg.h
- gl_CHECK_NEXT_HEADERS([stdarg.h])
+ gl_NEXT_HEADERS([stdarg.h])
dnl Fallback for the case when <stdarg.h> contains only macro definitions.
if test "$gl_cv_next_stdarg_h" = '""'; then
gl_cv_next_stdarg_h='"///usr/include/stdarg.h"'
dnl Provide a substitute in <config.h>, either __va_copy or as a simple
dnl assignment.
gl_CACHE_VAL_SILENT([gl_cv_func___va_copy], [
- AC_TRY_COMPILE([#include <stdarg.h>], [
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdarg.h>]],
+ [[
#ifndef __va_copy
error, bail out
#endif
-],
- [gl_cv_func___va_copy=yes], [gl_cv_func___va_copy=no])])
+ ]])],
+ [gl_cv_func___va_copy=yes],
+ [gl_cv_func___va_copy=no])])
if test $gl_cv_func___va_copy = yes; then
AC_DEFINE([va_copy], [__va_copy],
[Define as a macro for copying va_list variables.])
fi
fi
fi
+ AC_SUBST([STDARG_H])
+ AM_CONDITIONAL([GL_GENERATE_STDARG_H], [test -n "$STDARG_H"])
+ AC_SUBST([NEXT_STDARG_H])
])
--- /dev/null
+# Check for stdbool.h that conforms to C99.
+
+dnl Copyright (C) 2002-2006, 2009-2011 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.
+
+#serial 5
+
+# Prepare for substituting <stdbool.h> if it is not supported.
+
+AC_DEFUN([AM_STDBOOL_H],
+[
+ AC_REQUIRE([AC_CHECK_HEADER_STDBOOL])
+
+ # Define two additional variables used in the Makefile substitution.
+
+ if test "$ac_cv_header_stdbool_h" = yes; then
+ STDBOOL_H=''
+ else
+ STDBOOL_H='stdbool.h'
+ fi
+ AC_SUBST([STDBOOL_H])
+ AM_CONDITIONAL([GL_GENERATE_STDBOOL_H], [test -n "$STDBOOL_H"])
+
+ if test "$ac_cv_type__Bool" = yes; then
+ HAVE__BOOL=1
+ else
+ HAVE__BOOL=0
+ fi
+ AC_SUBST([HAVE__BOOL])
+])
+
+# AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future.
+AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H])
+
+# This version of the macro is needed in autoconf <= 2.68.
+
+AC_DEFUN([AC_CHECK_HEADER_STDBOOL],
+ [AC_CACHE_CHECK([for stdbool.h that conforms to C99],
+ [ac_cv_header_stdbool_h],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+ #include <stdbool.h>
+ #ifndef bool
+ "error: bool is not defined"
+ #endif
+ #ifndef false
+ "error: false is not defined"
+ #endif
+ #if false
+ "error: false is not 0"
+ #endif
+ #ifndef true
+ "error: true is not defined"
+ #endif
+ #if true != 1
+ "error: true is not 1"
+ #endif
+ #ifndef __bool_true_false_are_defined
+ "error: __bool_true_false_are_defined is not defined"
+ #endif
+
+ struct s { _Bool s: 1; _Bool t; } s;
+
+ char a[true == 1 ? 1 : -1];
+ char b[false == 0 ? 1 : -1];
+ char c[__bool_true_false_are_defined == 1 ? 1 : -1];
+ char d[(bool) 0.5 == true ? 1 : -1];
+ /* See body of main program for 'e'. */
+ char f[(_Bool) 0.0 == false ? 1 : -1];
+ char g[true];
+ char h[sizeof (_Bool)];
+ char i[sizeof s.t];
+ enum { j = false, k = true, l = false * true, m = true * 256 };
+ /* The following fails for
+ HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
+ _Bool n[m];
+ char o[sizeof n == m * sizeof n[0] ? 1 : -1];
+ char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+ /* Catch a bug in an HP-UX C compiler. See
+ http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+ http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+ */
+ _Bool q = true;
+ _Bool *pq = &q;
+ ]],
+ [[
+ bool e = &s;
+ *pq |= q;
+ *pq |= ! q;
+ /* Refer to every declared value, to avoid compiler optimizations. */
+ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
+ + !m + !n + !o + !p + !q + !pq);
+ ]])],
+ [ac_cv_header_stdbool_h=yes],
+ [ac_cv_header_stdbool_h=no])])
+ AC_CHECK_TYPES([_Bool])
+])
--- /dev/null
+dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
+# stddef_h.m4 serial 4
+dnl Copyright (C) 2009-2011 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.
+
+AC_DEFUN([gl_STDDEF_H],
+[
+ AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
+ AC_REQUIRE([gt_TYPE_WCHAR_T])
+ STDDEF_H=
+ if test $gt_cv_c_wchar_t = no; then
+ HAVE_WCHAR_T=0
+ STDDEF_H=stddef.h
+ fi
+ AC_CACHE_CHECK([whether NULL can be used in arbitrary expressions],
+ [gl_cv_decl_null_works],
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stddef.h>
+ int test[2 * (sizeof NULL == sizeof (void *)) -1];
+]])],
+ [gl_cv_decl_null_works=yes],
+ [gl_cv_decl_null_works=no])])
+ if test $gl_cv_decl_null_works = no; then
+ REPLACE_NULL=1
+ STDDEF_H=stddef.h
+ fi
+ AC_SUBST([STDDEF_H])
+ AM_CONDITIONAL([GL_GENERATE_STDDEF_H], [test -n "$STDDEF_H"])
+ if test -n "$STDDEF_H"; then
+ gl_NEXT_HEADERS([stddef.h])
+ fi
+])
+
+AC_DEFUN([gl_STDDEF_MODULE_INDICATOR],
+[
+ dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+ AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+])
+
+AC_DEFUN([gl_STDDEF_H_DEFAULTS],
+[
+ dnl Assume proper GNU behavior unless another module says otherwise.
+ REPLACE_NULL=0; AC_SUBST([REPLACE_NULL])
+ HAVE_WCHAR_T=1; AC_SUBST([HAVE_WCHAR_T])
+])
--- /dev/null
+# stdint.m4 serial 41
+dnl Copyright (C) 2001-2011 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 From Paul Eggert and Bruno Haible.
+dnl Test whether <stdint.h> is supported or must be substituted.
+
+AC_DEFUN_ONCE([gl_STDINT_H],
+[
+ AC_PREREQ([2.59])dnl
+
+ dnl Check for long long int and unsigned long long int.
+ AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
+ if test $ac_cv_type_long_long_int = yes; then
+ HAVE_LONG_LONG_INT=1
+ else
+ HAVE_LONG_LONG_INT=0
+ fi
+ AC_SUBST([HAVE_LONG_LONG_INT])
+ AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
+ if test $ac_cv_type_unsigned_long_long_int = yes; then
+ HAVE_UNSIGNED_LONG_LONG_INT=1
+ else
+ HAVE_UNSIGNED_LONG_LONG_INT=0
+ fi
+ AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT])
+
+ dnl Check for <wchar.h>, in the same way as gl_WCHAR_H does.
+ AC_CHECK_HEADERS_ONCE([wchar.h])
+ if test $ac_cv_header_wchar_h = yes; then
+ HAVE_WCHAR_H=1
+ else
+ HAVE_WCHAR_H=0
+ fi
+ AC_SUBST([HAVE_WCHAR_H])
+
+ dnl Check for <inttypes.h>.
+ dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h.
+ if test $ac_cv_header_inttypes_h = yes; then
+ HAVE_INTTYPES_H=1
+ else
+ HAVE_INTTYPES_H=0
+ fi
+ AC_SUBST([HAVE_INTTYPES_H])
+
+ dnl Check for <sys/types.h>.
+ dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h.
+ if test $ac_cv_header_sys_types_h = yes; then
+ HAVE_SYS_TYPES_H=1
+ else
+ HAVE_SYS_TYPES_H=0
+ fi
+ AC_SUBST([HAVE_SYS_TYPES_H])
+
+ gl_CHECK_NEXT_HEADERS([stdint.h])
+ if test $ac_cv_header_stdint_h = yes; then
+ HAVE_STDINT_H=1
+ else
+ HAVE_STDINT_H=0
+ fi
+ AC_SUBST([HAVE_STDINT_H])
+
+ dnl Now see whether we need a substitute <stdint.h>.
+ if test $ac_cv_header_stdint_h = yes; then
+ AC_CACHE_CHECK([whether stdint.h conforms to C99],
+ [gl_cv_header_working_stdint_h],
+ [gl_cv_header_working_stdint_h=no
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
+#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#include <stdint.h>
+/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */
+#if !(defined WCHAR_MIN && defined WCHAR_MAX)
+#error "WCHAR_MIN, WCHAR_MAX not defined in <stdint.h>"
+#endif
+]
+gl_STDINT_INCLUDES
+[
+#ifdef INT8_MAX
+int8_t a1 = INT8_MAX;
+int8_t a1min = INT8_MIN;
+#endif
+#ifdef INT16_MAX
+int16_t a2 = INT16_MAX;
+int16_t a2min = INT16_MIN;
+#endif
+#ifdef INT32_MAX
+int32_t a3 = INT32_MAX;
+int32_t a3min = INT32_MIN;
+#endif
+#ifdef INT64_MAX
+int64_t a4 = INT64_MAX;
+int64_t a4min = INT64_MIN;
+#endif
+#ifdef UINT8_MAX
+uint8_t b1 = UINT8_MAX;
+#else
+typedef int b1[(unsigned char) -1 != 255 ? 1 : -1];
+#endif
+#ifdef UINT16_MAX
+uint16_t b2 = UINT16_MAX;
+#endif
+#ifdef UINT32_MAX
+uint32_t b3 = UINT32_MAX;
+#endif
+#ifdef UINT64_MAX
+uint64_t b4 = UINT64_MAX;
+#endif
+int_least8_t c1 = INT8_C (0x7f);
+int_least8_t c1max = INT_LEAST8_MAX;
+int_least8_t c1min = INT_LEAST8_MIN;
+int_least16_t c2 = INT16_C (0x7fff);
+int_least16_t c2max = INT_LEAST16_MAX;
+int_least16_t c2min = INT_LEAST16_MIN;
+int_least32_t c3 = INT32_C (0x7fffffff);
+int_least32_t c3max = INT_LEAST32_MAX;
+int_least32_t c3min = INT_LEAST32_MIN;
+int_least64_t c4 = INT64_C (0x7fffffffffffffff);
+int_least64_t c4max = INT_LEAST64_MAX;
+int_least64_t c4min = INT_LEAST64_MIN;
+uint_least8_t d1 = UINT8_C (0xff);
+uint_least8_t d1max = UINT_LEAST8_MAX;
+uint_least16_t d2 = UINT16_C (0xffff);
+uint_least16_t d2max = UINT_LEAST16_MAX;
+uint_least32_t d3 = UINT32_C (0xffffffff);
+uint_least32_t d3max = UINT_LEAST32_MAX;
+uint_least64_t d4 = UINT64_C (0xffffffffffffffff);
+uint_least64_t d4max = UINT_LEAST64_MAX;
+int_fast8_t e1 = INT_FAST8_MAX;
+int_fast8_t e1min = INT_FAST8_MIN;
+int_fast16_t e2 = INT_FAST16_MAX;
+int_fast16_t e2min = INT_FAST16_MIN;
+int_fast32_t e3 = INT_FAST32_MAX;
+int_fast32_t e3min = INT_FAST32_MIN;
+int_fast64_t e4 = INT_FAST64_MAX;
+int_fast64_t e4min = INT_FAST64_MIN;
+uint_fast8_t f1 = UINT_FAST8_MAX;
+uint_fast16_t f2 = UINT_FAST16_MAX;
+uint_fast32_t f3 = UINT_FAST32_MAX;
+uint_fast64_t f4 = UINT_FAST64_MAX;
+#ifdef INTPTR_MAX
+intptr_t g = INTPTR_MAX;
+intptr_t gmin = INTPTR_MIN;
+#endif
+#ifdef UINTPTR_MAX
+uintptr_t h = UINTPTR_MAX;
+#endif
+intmax_t i = INTMAX_MAX;
+uintmax_t j = UINTMAX_MAX;
+
+#include <limits.h> /* for CHAR_BIT */
+#define TYPE_MINIMUM(t) \
+ ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t)))
+#define TYPE_MAXIMUM(t) \
+ ((t) ((t) 0 < (t) -1 \
+ ? (t) -1 \
+ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
+struct s {
+ int check_PTRDIFF:
+ PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t)
+ && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t)
+ ? 1 : -1;
+ /* Detect bug in FreeBSD 6.0 / ia64. */
+ int check_SIG_ATOMIC:
+ SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t)
+ && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t)
+ ? 1 : -1;
+ int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1;
+ int check_WCHAR:
+ WCHAR_MIN == TYPE_MINIMUM (wchar_t)
+ && WCHAR_MAX == TYPE_MAXIMUM (wchar_t)
+ ? 1 : -1;
+ /* Detect bug in mingw. */
+ int check_WINT:
+ WINT_MIN == TYPE_MINIMUM (wint_t)
+ && WINT_MAX == TYPE_MAXIMUM (wint_t)
+ ? 1 : -1;
+
+ /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */
+ int check_UINT8_C:
+ (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1;
+ int check_UINT16_C:
+ (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1;
+
+ /* Detect bugs in OpenBSD 3.9 stdint.h. */
+#ifdef UINT8_MAX
+ int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1;
+#endif
+#ifdef UINT16_MAX
+ int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1;
+#endif
+#ifdef UINT32_MAX
+ int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1;
+#endif
+#ifdef UINT64_MAX
+ int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1;
+#endif
+ int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1;
+ int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1;
+ int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1;
+ int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1;
+ int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1;
+ int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1;
+ int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1;
+ int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1;
+ int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1;
+ int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1;
+ int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1;
+};
+ ]])],
+ [dnl Determine whether the various *_MIN, *_MAX macros are usable
+ dnl in preprocessor expression. We could do it by compiling a test
+ dnl program for each of these macros. It is faster to run a program
+ dnl that inspects the macro expansion.
+ dnl This detects a bug on HP-UX 11.23/ia64.
+ AC_RUN_IFELSE([
+ AC_LANG_PROGRAM([[
+#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
+#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
+#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
+#include <stdint.h>
+]
+gl_STDINT_INCLUDES
+[
+#include <stdio.h>
+#include <string.h>
+#define MVAL(macro) MVAL1(macro)
+#define MVAL1(expression) #expression
+static const char *macro_values[] =
+ {
+#ifdef INT8_MAX
+ MVAL (INT8_MAX),
+#endif
+#ifdef INT16_MAX
+ MVAL (INT16_MAX),
+#endif
+#ifdef INT32_MAX
+ MVAL (INT32_MAX),
+#endif
+#ifdef INT64_MAX
+ MVAL (INT64_MAX),
+#endif
+#ifdef UINT8_MAX
+ MVAL (UINT8_MAX),
+#endif
+#ifdef UINT16_MAX
+ MVAL (UINT16_MAX),
+#endif
+#ifdef UINT32_MAX
+ MVAL (UINT32_MAX),
+#endif
+#ifdef UINT64_MAX
+ MVAL (UINT64_MAX),
+#endif
+ NULL
+ };
+]], [[
+ const char **mv;
+ for (mv = macro_values; *mv != NULL; mv++)
+ {
+ const char *value = *mv;
+ /* Test whether it looks like a cast expression. */
+ if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0
+ || strncmp (value, "((unsigned short)"/*)*/, 17) == 0
+ || strncmp (value, "((unsigned char)"/*)*/, 16) == 0
+ || strncmp (value, "((int)"/*)*/, 6) == 0
+ || strncmp (value, "((signed short)"/*)*/, 15) == 0
+ || strncmp (value, "((signed char)"/*)*/, 14) == 0)
+ return mv - macro_values + 1;
+ }
+ return 0;
+]])],
+ [gl_cv_header_working_stdint_h=yes],
+ [],
+ [dnl When cross-compiling, assume it works.
+ gl_cv_header_working_stdint_h=yes
+ ])
+ ])
+ ])
+ fi
+ if test "$gl_cv_header_working_stdint_h" = yes; then
+ STDINT_H=
+ else
+ dnl Check for <sys/inttypes.h>, and for
+ dnl <sys/bitypes.h> (used in Linux libc4 >= 4.6.7 and libc5).
+ AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h])
+ if test $ac_cv_header_sys_inttypes_h = yes; then
+ HAVE_SYS_INTTYPES_H=1
+ else
+ HAVE_SYS_INTTYPES_H=0
+ fi
+ AC_SUBST([HAVE_SYS_INTTYPES_H])
+ if test $ac_cv_header_sys_bitypes_h = yes; then
+ HAVE_SYS_BITYPES_H=1
+ else
+ HAVE_SYS_BITYPES_H=0
+ fi
+ AC_SUBST([HAVE_SYS_BITYPES_H])
+
+ gl_STDINT_TYPE_PROPERTIES
+ STDINT_H=stdint.h
+ fi
+ AC_SUBST([STDINT_H])
+ AM_CONDITIONAL([GL_GENERATE_STDINT_H], [test -n "$STDINT_H"])
+])
+
+dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES)
+dnl Determine the size of each of the given types in bits.
+AC_DEFUN([gl_STDINT_BITSIZEOF],
+[
+ dnl Use a shell loop, to avoid bloating configure, and
+ dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
+ dnl config.h.in,
+ dnl - extra AC_SUBST calls, so that the right substitutions are made.
+ m4_foreach_w([gltype], [$1],
+ [AH_TEMPLATE([BITSIZEOF_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
+ [Define to the number of bits in type ']gltype['.])])
+ for gltype in $1 ; do
+ AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}],
+ [AC_COMPUTE_INT([result], [sizeof ($gltype) * CHAR_BIT],
+ [$2
+#include <limits.h>], [result=unknown])
+ eval gl_cv_bitsizeof_${gltype}=\$result
+ ])
+ eval result=\$gl_cv_bitsizeof_${gltype}
+ if test $result = unknown; then
+ dnl Use a nonempty default, because some compilers, such as IRIX 5 cc,
+ dnl do a syntax check even on unused #if conditions and give an error
+ dnl on valid C code like this:
+ dnl #if 0
+ dnl # if > 32
+ dnl # endif
+ dnl #endif
+ result=0
+ fi
+ GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+ AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result])
+ eval BITSIZEOF_${GLTYPE}=\$result
+ done
+ m4_foreach_w([gltype], [$1],
+ [AC_SUBST([BITSIZEOF_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
+])
+
+dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES)
+dnl Determine the signedness of each of the given types.
+dnl Define HAVE_SIGNED_TYPE if type is signed.
+AC_DEFUN([gl_CHECK_TYPES_SIGNED],
+[
+ dnl Use a shell loop, to avoid bloating configure, and
+ dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
+ dnl config.h.in,
+ dnl - extra AC_SUBST calls, so that the right substitutions are made.
+ m4_foreach_w([gltype], [$1],
+ [AH_TEMPLATE([HAVE_SIGNED_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
+ [Define to 1 if ']gltype[' is a signed integer type.])])
+ for gltype in $1 ; do
+ AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([$2[
+ int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];]])],
+ result=yes, result=no)
+ eval gl_cv_type_${gltype}_signed=\$result
+ ])
+ eval result=\$gl_cv_type_${gltype}_signed
+ GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+ if test "$result" = yes; then
+ AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], [1])
+ eval HAVE_SIGNED_${GLTYPE}=1
+ else
+ eval HAVE_SIGNED_${GLTYPE}=0
+ fi
+ done
+ m4_foreach_w([gltype], [$1],
+ [AC_SUBST([HAVE_SIGNED_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
+])
+
+dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES)
+dnl Determine the suffix to use for integer constants of the given types.
+dnl Define t_SUFFIX for each such type.
+AC_DEFUN([gl_INTEGER_TYPE_SUFFIX],
+[
+ dnl Use a shell loop, to avoid bloating configure, and
+ dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
+ dnl config.h.in,
+ dnl - extra AC_SUBST calls, so that the right substitutions are made.
+ m4_foreach_w([gltype], [$1],
+ [AH_TEMPLATE(m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX],
+ [Define to l, ll, u, ul, ull, etc., as suitable for
+ constants of type ']gltype['.])])
+ for gltype in $1 ; do
+ AC_CACHE_CHECK([for $gltype integer literal suffix],
+ [gl_cv_type_${gltype}_suffix],
+ [eval gl_cv_type_${gltype}_suffix=no
+ eval result=\$gl_cv_type_${gltype}_signed
+ if test "$result" = yes; then
+ glsufu=
+ else
+ glsufu=u
+ fi
+ for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
+ case $glsuf in
+ '') gltype1='int';;
+ l) gltype1='long int';;
+ ll) gltype1='long long int';;
+ i64) gltype1='__int64';;
+ u) gltype1='unsigned int';;
+ ul) gltype1='unsigned long int';;
+ ull) gltype1='unsigned long long int';;
+ ui64)gltype1='unsigned __int64';;
+ esac
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([$2[
+ extern $gltype foo;
+ extern $gltype1 foo;]])],
+ [eval gl_cv_type_${gltype}_suffix=\$glsuf])
+ eval result=\$gl_cv_type_${gltype}_suffix
+ test "$result" != no && break
+ done])
+ GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
+ eval result=\$gl_cv_type_${gltype}_suffix
+ test "$result" = no && result=
+ eval ${GLTYPE}_SUFFIX=\$result
+ AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], [$result])
+ done
+ m4_foreach_w([gltype], [$1],
+ [AC_SUBST(m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])])
+])
+
+dnl gl_STDINT_INCLUDES
+AC_DEFUN([gl_STDINT_INCLUDES],
+[[
+ /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+ #include <stddef.h>
+ #include <signal.h>
+ #if HAVE_WCHAR_H
+ # include <stdio.h>
+ # include <time.h>
+ # include <wchar.h>
+ #endif
+]])
+
+dnl gl_STDINT_TYPE_PROPERTIES
+dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t
+dnl of interest to stdint.in.h.
+AC_DEFUN([gl_STDINT_TYPE_PROPERTIES],
+[
+ AC_REQUIRE([gl_MULTIARCH])
+ if test $APPLE_UNIVERSAL_BUILD = 0; then
+ gl_STDINT_BITSIZEOF([ptrdiff_t size_t],
+ [gl_STDINT_INCLUDES])
+ fi
+ gl_STDINT_BITSIZEOF([sig_atomic_t wchar_t wint_t],
+ [gl_STDINT_INCLUDES])
+ gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t],
+ [gl_STDINT_INCLUDES])
+ gl_cv_type_ptrdiff_t_signed=yes
+ gl_cv_type_size_t_signed=no
+ if test $APPLE_UNIVERSAL_BUILD = 0; then
+ gl_INTEGER_TYPE_SUFFIX([ptrdiff_t size_t],
+ [gl_STDINT_INCLUDES])
+ fi
+ gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t],
+ [gl_STDINT_INCLUDES])
+
+ dnl If wint_t is smaller than 'int', it cannot satisfy the ISO C 99
+ dnl requirement that wint_t is "unchanged by default argument promotions".
+ dnl In this case gnulib's <wchar.h> and <wctype.h> override wint_t.
+ dnl Set the variable BITSIZEOF_WINT_T accordingly.
+ if test $BITSIZEOF_WINT_T -lt 32; then
+ BITSIZEOF_WINT_T=32
+ fi
+])
+
+dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
+dnl Remove this when we can assume autoconf >= 2.61.
+m4_ifdef([AC_COMPUTE_INT], [], [
+ AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
+])
+
+# Hey Emacs!
+# Local Variables:
+# indent-tabs-mode: nil
+# End:
--- /dev/null
+# stdio_h.m4 serial 40
+dnl Copyright (C) 2007-2011 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.
+
+AC_DEFUN([gl_STDIO_H],
+[
+ AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+ AC_REQUIRE([AC_C_INLINE])
+ gl_NEXT_HEADERS([stdio.h])
+
+ dnl No need to create extra modules for these functions. Everyone who uses
+ dnl <stdio.h> likely needs them.
+ GNULIB_FSCANF=1
+ GNULIB_SCANF=1
+ GNULIB_FGETC=1
+ GNULIB_GETC=1
+ GNULIB_GETCHAR=1
+ GNULIB_FGETS=1
+ GNULIB_GETS=1
+ GNULIB_FREAD=1
+ dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c"
+ dnl "expected source file, required through AC_LIBSOURCES, not found". It is
+ dnl also an optimization, to avoid performing a configure check whose result
+ dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
+ dnl or GNULIB_NONBLOCKING redundant.
+ m4_ifdef([gl_NONBLOCKING_IO], [
+ gl_NONBLOCKING_IO
+ if test $gl_cv_have_nonblocking != yes; then
+ REPLACE_STDIO_READ_FUNCS=1
+ AC_LIBOBJ([stdio-read])
+ fi
+ ])
+
+ dnl No need to create extra modules for these functions. Everyone who uses
+ dnl <stdio.h> likely needs them.
+ GNULIB_FPRINTF=1
+ GNULIB_PRINTF=1
+ GNULIB_VFPRINTF=1
+ GNULIB_VPRINTF=1
+ GNULIB_FPUTC=1
+ GNULIB_PUTC=1
+ GNULIB_PUTCHAR=1
+ GNULIB_FPUTS=1
+ GNULIB_PUTS=1
+ GNULIB_FWRITE=1
+ dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
+ dnl "expected source file, required through AC_LIBSOURCES, not found". It is
+ dnl also an optimization, to avoid performing a configure check whose result
+ dnl is not used. But it does not make the test of GNULIB_STDIO_H_SIGPIPE or
+ dnl GNULIB_SIGPIPE redundant.
+ m4_ifdef([gl_SIGNAL_SIGPIPE], [
+ gl_SIGNAL_SIGPIPE
+ if test $gl_cv_header_signal_h_SIGPIPE != yes; then
+ REPLACE_STDIO_WRITE_FUNCS=1
+ AC_LIBOBJ([stdio-write])
+ fi
+ ])
+ dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
+ dnl "expected source file, required through AC_LIBSOURCES, not found". It is
+ dnl also an optimization, to avoid performing a configure check whose result
+ dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
+ dnl or GNULIB_NONBLOCKING redundant.
+ m4_ifdef([gl_NONBLOCKING_IO], [
+ gl_NONBLOCKING_IO
+ if test $gl_cv_have_nonblocking != yes; then
+ REPLACE_STDIO_WRITE_FUNCS=1
+ AC_LIBOBJ([stdio-write])
+ fi
+ ])
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use, and which is not
+ dnl guaranteed by C89.
+ gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
+ ]], [dprintf fpurge fseeko ftello getdelim getline pclose popen renameat
+ snprintf tmpfile vdprintf vsnprintf])
+])
+
+AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
+[
+ dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+ AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_STDIO_H_DEFAULTS],
+[
+ GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF])
+ GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE])
+ GNULIB_FDOPEN=0; AC_SUBST([GNULIB_FDOPEN])
+ GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH])
+ GNULIB_FGETC=0; AC_SUBST([GNULIB_FGETC])
+ GNULIB_FGETS=0; AC_SUBST([GNULIB_FGETS])
+ GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN])
+ GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF])
+ GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX])
+ GNULIB_FPURGE=0; AC_SUBST([GNULIB_FPURGE])
+ GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC])
+ GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS])
+ GNULIB_FREAD=0; AC_SUBST([GNULIB_FREAD])
+ GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN])
+ GNULIB_FSCANF=0; AC_SUBST([GNULIB_FSCANF])
+ GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK])
+ GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO])
+ GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL])
+ GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO])
+ GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE])
+ GNULIB_GETC=0; AC_SUBST([GNULIB_GETC])
+ GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR])
+ GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM])
+ GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE])
+ GNULIB_GETS=0; AC_SUBST([GNULIB_GETS])
+ GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF])
+ GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
+ GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE])
+ GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR])
+ GNULIB_POPEN=0; AC_SUBST([GNULIB_POPEN])
+ GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF])
+ GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX])
+ GNULIB_PUTC=0; AC_SUBST([GNULIB_PUTC])
+ GNULIB_PUTCHAR=0; AC_SUBST([GNULIB_PUTCHAR])
+ GNULIB_PUTS=0; AC_SUBST([GNULIB_PUTS])
+ GNULIB_REMOVE=0; AC_SUBST([GNULIB_REMOVE])
+ GNULIB_RENAME=0; AC_SUBST([GNULIB_RENAME])
+ GNULIB_RENAMEAT=0; AC_SUBST([GNULIB_RENAMEAT])
+ GNULIB_SCANF=0; AC_SUBST([GNULIB_SCANF])
+ GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF])
+ GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX])
+ GNULIB_STDIO_H_NONBLOCKING=0; AC_SUBST([GNULIB_STDIO_H_NONBLOCKING])
+ GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE])
+ GNULIB_TMPFILE=0; AC_SUBST([GNULIB_TMPFILE])
+ GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF])
+ GNULIB_VFSCANF=0; AC_SUBST([GNULIB_VFSCANF])
+ GNULIB_VSCANF=0; AC_SUBST([GNULIB_VSCANF])
+ GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF])
+ GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF])
+ GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX])
+ GNULIB_VPRINTF=0; AC_SUBST([GNULIB_VPRINTF])
+ GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX])
+ GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF])
+ GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX])
+ dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE_DECL_FPURGE=1; AC_SUBST([HAVE_DECL_FPURGE])
+ HAVE_DECL_FSEEKO=1; AC_SUBST([HAVE_DECL_FSEEKO])
+ HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO])
+ HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM])
+ HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE])
+ HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF])
+ HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF])
+ HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF])
+ HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF])
+ HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO])
+ HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO])
+ HAVE_PCLOSE=1; AC_SUBST([HAVE_PCLOSE])
+ HAVE_POPEN=1; AC_SUBST([HAVE_POPEN])
+ HAVE_RENAMEAT=1; AC_SUBST([HAVE_RENAMEAT])
+ HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF])
+ HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF])
+ REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF])
+ REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE])
+ REPLACE_FDOPEN=0; AC_SUBST([REPLACE_FDOPEN])
+ REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH])
+ REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN])
+ REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF])
+ REPLACE_FPURGE=0; AC_SUBST([REPLACE_FPURGE])
+ REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN])
+ REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK])
+ REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO])
+ REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL])
+ REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO])
+ REPLACE_GETDELIM=0; AC_SUBST([REPLACE_GETDELIM])
+ REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE])
+ REPLACE_OBSTACK_PRINTF=0; AC_SUBST([REPLACE_OBSTACK_PRINTF])
+ REPLACE_PERROR=0; AC_SUBST([REPLACE_PERROR])
+ REPLACE_POPEN=0; AC_SUBST([REPLACE_POPEN])
+ REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF])
+ REPLACE_REMOVE=0; AC_SUBST([REPLACE_REMOVE])
+ REPLACE_RENAME=0; AC_SUBST([REPLACE_RENAME])
+ REPLACE_RENAMEAT=0; AC_SUBST([REPLACE_RENAMEAT])
+ REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF])
+ REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF])
+ REPLACE_STDIO_READ_FUNCS=0; AC_SUBST([REPLACE_STDIO_READ_FUNCS])
+ REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS])
+ REPLACE_TMPFILE=0; AC_SUBST([REPLACE_TMPFILE])
+ REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF])
+ REPLACE_VDPRINTF=0; AC_SUBST([REPLACE_VDPRINTF])
+ REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF])
+ REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF])
+ REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF])
+ REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF])
+])
--- /dev/null
+# stdlib_h.m4 serial 39
+dnl Copyright (C) 2007-2011 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.
+
+AC_DEFUN([gl_STDLIB_H],
+[
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ gl_NEXT_HEADERS([stdlib.h])
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use, and which is not
+ dnl guaranteed by C89.
+ gl_WARN_ON_USE_PREPARE([[#include <stdlib.h>
+#if HAVE_SYS_LOADAVG_H
+# include <sys/loadavg.h>
+#endif
+#if HAVE_RANDOM_H
+# include <random.h>
+#endif
+ ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt
+ initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt
+ ptsname ptsname_r random_r realpath rpmatch setenv setstate_r srandom_r
+ strtod strtoll strtoull unlockpt unsetenv])
+])
+
+AC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
+[
+ dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+ AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_STDLIB_H_DEFAULTS],
+[
+ GNULIB__EXIT=0; AC_SUBST([GNULIB__EXIT])
+ GNULIB_ATOLL=0; AC_SUBST([GNULIB_ATOLL])
+ GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX])
+ GNULIB_CANONICALIZE_FILE_NAME=0; AC_SUBST([GNULIB_CANONICALIZE_FILE_NAME])
+ GNULIB_GETLOADAVG=0; AC_SUBST([GNULIB_GETLOADAVG])
+ GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT])
+ GNULIB_GRANTPT=0; AC_SUBST([GNULIB_GRANTPT])
+ GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX])
+ GNULIB_MBTOWC=0; AC_SUBST([GNULIB_MBTOWC])
+ GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP])
+ GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP])
+ GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS])
+ GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP])
+ GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS])
+ GNULIB_POSIX_OPENPT=0; AC_SUBST([GNULIB_POSIX_OPENPT])
+ GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME])
+ GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R])
+ GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV])
+ GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R])
+ GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
+ GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH])
+ GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH])
+ GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV])
+ GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD])
+ GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL])
+ GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL])
+ GNULIB_SYSTEM_POSIX=0; AC_SUBST([GNULIB_SYSTEM_POSIX])
+ GNULIB_UNLOCKPT=0; AC_SUBST([GNULIB_UNLOCKPT])
+ GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV])
+ GNULIB_WCTOMB=0; AC_SUBST([GNULIB_WCTOMB])
+ dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE__EXIT=1; AC_SUBST([HAVE__EXIT])
+ HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL])
+ HAVE_CANONICALIZE_FILE_NAME=1; AC_SUBST([HAVE_CANONICALIZE_FILE_NAME])
+ HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG])
+ HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT])
+ HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT])
+ HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP])
+ HAVE_MKOSTEMP=1; AC_SUBST([HAVE_MKOSTEMP])
+ HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS])
+ HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP])
+ HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS])
+ HAVE_POSIX_OPENPT=1; AC_SUBST([HAVE_POSIX_OPENPT])
+ HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME])
+ HAVE_PTSNAME_R=1; AC_SUBST([HAVE_PTSNAME_R])
+ HAVE_RANDOM_H=1; AC_SUBST([HAVE_RANDOM_H])
+ HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R])
+ HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH])
+ HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH])
+ HAVE_SETENV=1; AC_SUBST([HAVE_SETENV])
+ HAVE_DECL_SETENV=1; AC_SUBST([HAVE_DECL_SETENV])
+ HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD])
+ HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL])
+ HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL])
+ HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA])
+ HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H])
+ HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT])
+ HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV])
+ REPLACE_CALLOC=0; AC_SUBST([REPLACE_CALLOC])
+ REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME])
+ REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC])
+ REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC])
+ REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP])
+ REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R])
+ REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV])
+ REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC])
+ REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH])
+ REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV])
+ REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD])
+ REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV])
+ REPLACE_WCTOMB=0; AC_SUBST([REPLACE_WCTOMB])
+])
-# strerror.m4 serial 9
-dnl Copyright (C) 2002, 2007-2008 Free Software Foundation, Inc.
+# strerror.m4 serial 16
+dnl Copyright (C) 2002, 2007-2011 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.
AC_DEFUN([gl_FUNC_STRERROR],
-[
- AC_REQUIRE([gl_FUNC_STRERROR_SEPARATE])
- if test $REPLACE_STRERROR = 1; then
- AC_LIBOBJ([strerror])
- AC_DEFINE_UNQUOTED([REPLACE_STRERROR], [$REPLACE_STRERROR],
- [Define this to 1 if strerror is broken.])
- fi
-])
-
-# Like gl_FUNC_STRERROR, except prepare for separate compilation (no AC_LIBOBJ).
-AC_DEFUN([gl_FUNC_STRERROR_SEPARATE],
[
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
AC_REQUIRE([gl_HEADER_ERRNO_H])
- if test -z "$ERRNO_H"; then
+ AC_REQUIRE([gl_FUNC_STRERROR_0])
+ m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [
+ AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS])
+ ])
+ if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
AC_CACHE_CHECK([for working strerror function],
[gl_cv_func_working_strerror],
[AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
[[#include <string.h>
]],
- [[return !*strerror (-2);]])],
+ [[if (!*strerror (-2)) return 1;]])],
[gl_cv_func_working_strerror=yes],
[gl_cv_func_working_strerror=no],
- [dnl Assume crossbuild works if it compiles.
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <string.h>
- ]],
- [[return !*strerror (-2);]])],
- [gl_cv_func_working_strerror=yes],
- [gl_cv_func_working_strerror=no])
- ])
+ [dnl Be pessimistic on cross-compiles for now.
+ gl_cv_func_working_strerror="guessing no"])
])
- if test $gl_cv_func_working_strerror = no; then
+ if test "$gl_cv_func_working_strerror" != yes; then
dnl The system's strerror() fails to return a string for out-of-range
dnl integers. Replace it.
REPLACE_STRERROR=1
fi
+ m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [
+ dnl If the system's strerror_r or __xpg_strerror_r clobbers strerror's
+ dnl buffer, we must replace strerror.
+ case "$gl_cv_func_strerror_r_works" in
+ *no) REPLACE_STRERROR=1 ;;
+ esac
+ ])
else
dnl The system's strerror() cannot know about the new errno values we add
- dnl to <errno.h>. Replace it.
+ dnl to <errno.h>, or any fix for strerror(0). Replace it.
REPLACE_STRERROR=1
fi
- if test $REPLACE_STRERROR = 1; then
- gl_PREREQ_STRERROR
- fi
])
-# Prerequisites of lib/strerror.c.
-AC_DEFUN([gl_PREREQ_STRERROR], [
- AC_CHECK_DECLS([strerror])
- AC_CHECK_HEADERS_ONCE([sys/socket.h])
- if test $ac_cv_header_sys_socket_h != yes; then
- dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make
- dnl the check for those headers unconditional; yet cygwin reports
- dnl that the headers are present but cannot be compiled (since on
- dnl cygwin, all socket information should come from sys/socket.h).
- AC_CHECK_HEADERS([winsock2.h])
+dnl Detect if strerror(0) passes (that is, does not set errno, and does not
+dnl return a string that matches strerror(-1)).
+AC_DEFUN([gl_FUNC_STRERROR_0],
+[
+ REPLACE_STRERROR_0=0
+ AC_CACHE_CHECK([whether strerror(0) succeeds],
+ [gl_cv_func_strerror_0_works],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <string.h>
+ #include <errno.h>
+ ]],
+ [[int result = 0;
+ char *str;
+ errno = 0;
+ str = strerror (0);
+ if (!*str) result |= 1;
+ if (errno) result |= 2;
+ if (strstr (str, "nknown") || strstr (str, "ndefined"))
+ result |= 4;
+ return result;]])],
+ [gl_cv_func_strerror_0_works=yes],
+ [gl_cv_func_strerror_0_works=no],
+ [dnl Be pessimistic on cross-compiles for now.
+ gl_cv_func_strerror_0_works="guessing no"])
+ ])
+ if test "$gl_cv_func_strerror_0_works" != yes; then
+ REPLACE_STRERROR_0=1
+ AC_DEFINE([REPLACE_STRERROR_0], [1], [Define to 1 if strerror(0)
+ does not return a message implying success.])
fi
])
# Configure a GNU-like replacement for <string.h>.
-# Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2007-2011 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 6
+# serial 21
# Written by Paul Eggert.
[
AC_REQUIRE([AC_C_RESTRICT])
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- gl_CHECK_NEXT_HEADERS([string.h])
+ gl_NEXT_HEADERS([string.h])
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use, and which is not
+ dnl guaranteed by C89.
+ gl_WARN_ON_USE_PREPARE([[#include <string.h>
+ ]],
+ [ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul
+ strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r
+ strerror_r strsignal strverscmp])
])
AC_DEFUN([gl_STRING_MODULE_INDICATOR],
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
])
AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
[
+ GNULIB_FFSL=0; AC_SUBST([GNULIB_FFSL])
+ GNULIB_FFSLL=0; AC_SUBST([GNULIB_FFSLL])
+ GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR])
GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM])
GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY])
GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR])
GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY])
GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL])
GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP])
+ GNULIB_STRNCAT=0; AC_SUBST([GNULIB_STRNCAT])
GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP])
GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN])
GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK])
GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP])
GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R])
GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR])
+ GNULIB_STRERROR_R=0; AC_SUBST([GNULIB_STRERROR_R])
GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL])
- GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP])
+ GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP])
+ HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN])
dnl Assume proper GNU behavior unless another module says otherwise.
- HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM])
- HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY])
- HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR])
- HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR])
- HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY])
- HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY])
- HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL])
- HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP])
- HAVE_STRNDUP=1; AC_SUBST([HAVE_STRNDUP])
- HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP])
- HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN])
- HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK])
- HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP])
- HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR])
- HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R])
- HAVE_DECL_STRERROR=1; AC_SUBST([HAVE_DECL_STRERROR])
- HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL])
- HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP])
- REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM])
- REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP])
- REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR])
- REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR])
- REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR])
- REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL])
+ HAVE_FFSL=1; AC_SUBST([HAVE_FFSL])
+ HAVE_FFSLL=1; AC_SUBST([HAVE_FFSLL])
+ HAVE_MEMCHR=1; AC_SUBST([HAVE_MEMCHR])
+ HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM])
+ HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY])
+ HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR])
+ HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR])
+ HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY])
+ HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY])
+ HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL])
+ HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP])
+ HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP])
+ HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN])
+ HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK])
+ HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP])
+ HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR])
+ HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R])
+ HAVE_DECL_STRERROR_R=1; AC_SUBST([HAVE_DECL_STRERROR_R])
+ HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL])
+ HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP])
+ REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR])
+ REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM])
+ REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY])
+ REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP])
+ REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR])
+ REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR])
+ REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL])
+ REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR])
+ REPLACE_STRERROR_R=0; AC_SUBST([REPLACE_STRERROR_R])
+ REPLACE_STRNCAT=0; AC_SUBST([REPLACE_STRNCAT])
+ REPLACE_STRNDUP=0; AC_SUBST([REPLACE_STRNDUP])
+ REPLACE_STRNLEN=0; AC_SUBST([REPLACE_STRNLEN])
+ REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL])
+ REPLACE_STRTOK_R=0; AC_SUBST([REPLACE_STRTOK_R])
+ UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R])
])
--- /dev/null
+# serial 5
+# See if we need to provide symlink replacement.
+
+dnl Copyright (C) 2009-2011 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.
+
+# Written by Eric Blake.
+
+AC_DEFUN([gl_FUNC_SYMLINK],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_CHECK_FUNCS_ONCE([symlink])
+ dnl The best we can do on mingw is provide a dummy that always fails, so
+ dnl that compilation can proceed with fewer ifdefs. On FreeBSD 7.2, AIX 7.1,
+ dnl and Solaris 9, we want to fix a bug with trailing slash handling.
+ if test $ac_cv_func_symlink = no; then
+ HAVE_SYMLINK=0
+ else
+ AC_CACHE_CHECK([whether symlink handles trailing slash correctly],
+ [gl_cv_func_symlink_works],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <unistd.h>
+ ]],
+ [[int result = 0;
+ if (!symlink ("a", "conftest.link/"))
+ result |= 1;
+ if (symlink ("conftest.f", "conftest.lnk2"))
+ result |= 2;
+ else if (!symlink ("a", "conftest.lnk2/"))
+ result |= 4;
+ return result;
+ ]])],
+ [gl_cv_func_symlink_works=yes], [gl_cv_func_symlink_works=no],
+ [gl_cv_func_symlink_works="guessing no"])
+ rm -f conftest.f conftest.link conftest.lnk2])
+ if test "$gl_cv_func_symlink_works" != yes; then
+ REPLACE_SYMLINK=1
+ fi
+ fi
+])
--- /dev/null
+# sys_socket_h.m4 serial 22
+dnl Copyright (C) 2005-2011 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 From Simon Josefsson.
+
+AC_DEFUN([gl_HEADER_SYS_SOCKET],
+[
+ AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AC_C_INLINE])
+
+ dnl On OSF/1, the functions recv(), send(), recvfrom(), sendto() have
+ dnl old-style declarations (with return type 'int' instead of 'ssize_t')
+ dnl unless _POSIX_PII_SOCKET is defined.
+ case "$host_os" in
+ osf*)
+ AC_DEFINE([_POSIX_PII_SOCKET], [1],
+ [Define to 1 in order to get the POSIX compatible declarations
+ of socket functions.])
+ ;;
+ esac
+
+ AC_CACHE_CHECK([whether <sys/socket.h> is self-contained],
+ [gl_cv_header_sys_socket_h_selfcontained],
+ [
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]], [[]])],
+ [gl_cv_header_sys_socket_h_selfcontained=yes],
+ [gl_cv_header_sys_socket_h_selfcontained=no])
+ ])
+ if test $gl_cv_header_sys_socket_h_selfcontained = yes; then
+ dnl If the shutdown function exists, <sys/socket.h> should define
+ dnl SHUT_RD, SHUT_WR, SHUT_RDWR.
+ AC_CHECK_FUNCS([shutdown])
+ if test $ac_cv_func_shutdown = yes; then
+ AC_CACHE_CHECK([whether <sys/socket.h> defines the SHUT_* macros],
+ [gl_cv_header_sys_socket_h_shut],
+ [
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <sys/socket.h>]],
+ [[int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR };]])],
+ [gl_cv_header_sys_socket_h_shut=yes],
+ [gl_cv_header_sys_socket_h_shut=no])
+ ])
+ if test $gl_cv_header_sys_socket_h_shut = no; then
+ SYS_SOCKET_H='sys/socket.h'
+ fi
+ fi
+ fi
+ # We need to check for ws2tcpip.h now.
+ gl_PREREQ_SYS_H_SOCKET
+ AC_CHECK_TYPES([struct sockaddr_storage, sa_family_t],,,[
+ /* sys/types.h is not needed according to POSIX, but the
+ sys/socket.h in i386-unknown-freebsd4.10 and
+ powerpc-apple-darwin5.5 required it. */
+#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
+])
+ if test $ac_cv_type_struct_sockaddr_storage = no; then
+ HAVE_STRUCT_SOCKADDR_STORAGE=0
+ fi
+ if test $ac_cv_type_sa_family_t = no; then
+ HAVE_SA_FAMILY_T=0
+ fi
+ if test $ac_cv_type_struct_sockaddr_storage != no; then
+ AC_CHECK_MEMBERS([struct sockaddr_storage.ss_family],
+ [],
+ [HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0],
+ [#include <sys/types.h>
+ #ifdef HAVE_SYS_SOCKET_H
+ #include <sys/socket.h>
+ #endif
+ #ifdef HAVE_WS2TCPIP_H
+ #include <ws2tcpip.h>
+ #endif
+ ])
+ fi
+ if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \
+ || test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then
+ SYS_SOCKET_H='sys/socket.h'
+ fi
+ gl_PREREQ_SYS_H_WINSOCK2
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use.
+ gl_WARN_ON_USE_PREPARE([[
+/* Some systems require prerequisite headers. */
+#include <sys/types.h>
+#include <sys/socket.h>
+ ]], [socket connect accept bind getpeername getsockname getsockopt
+ listen recv send recvfrom sendto setsockopt shutdown accept4])
+])
+
+AC_DEFUN([gl_PREREQ_SYS_H_SOCKET],
+[
+ dnl Check prerequisites of the <sys/socket.h> replacement.
+ AC_REQUIRE([gl_CHECK_SOCKET_HEADERS])
+ gl_CHECK_NEXT_HEADERS([sys/socket.h])
+ if test $ac_cv_header_sys_socket_h = yes; then
+ HAVE_SYS_SOCKET_H=1
+ HAVE_WS2TCPIP_H=0
+ else
+ HAVE_SYS_SOCKET_H=0
+ if test $ac_cv_header_ws2tcpip_h = yes; then
+ HAVE_WS2TCPIP_H=1
+ else
+ HAVE_WS2TCPIP_H=0
+ fi
+ fi
+ AC_SUBST([HAVE_SYS_SOCKET_H])
+ AC_SUBST([HAVE_WS2TCPIP_H])
+])
+
+# Common prerequisites of the <sys/socket.h> replacement and of the
+# <sys/select.h> replacement.
+# Sets and substitutes HAVE_WINSOCK2_H.
+AC_DEFUN([gl_PREREQ_SYS_H_WINSOCK2],
+[
+ m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])])
+ m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])])
+ AC_CHECK_HEADERS_ONCE([sys/socket.h])
+ if test $ac_cv_header_sys_socket_h != yes; then
+ dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make
+ dnl the check for those headers unconditional; yet cygwin reports
+ dnl that the headers are present but cannot be compiled (since on
+ dnl cygwin, all socket information should come from sys/socket.h).
+ AC_CHECK_HEADERS([winsock2.h])
+ fi
+ if test "$ac_cv_header_winsock2_h" = yes; then
+ HAVE_WINSOCK2_H=1
+ UNISTD_H_HAVE_WINSOCK2_H=1
+ SYS_IOCTL_H_HAVE_WINSOCK2_H=1
+ else
+ HAVE_WINSOCK2_H=0
+ fi
+ AC_SUBST([HAVE_WINSOCK2_H])
+])
+
+AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR],
+[
+ dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+ AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS])
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS],
+[
+ GNULIB_SOCKET=0; AC_SUBST([GNULIB_SOCKET])
+ GNULIB_CONNECT=0; AC_SUBST([GNULIB_CONNECT])
+ GNULIB_ACCEPT=0; AC_SUBST([GNULIB_ACCEPT])
+ GNULIB_BIND=0; AC_SUBST([GNULIB_BIND])
+ GNULIB_GETPEERNAME=0; AC_SUBST([GNULIB_GETPEERNAME])
+ GNULIB_GETSOCKNAME=0; AC_SUBST([GNULIB_GETSOCKNAME])
+ GNULIB_GETSOCKOPT=0; AC_SUBST([GNULIB_GETSOCKOPT])
+ GNULIB_LISTEN=0; AC_SUBST([GNULIB_LISTEN])
+ GNULIB_RECV=0; AC_SUBST([GNULIB_RECV])
+ GNULIB_SEND=0; AC_SUBST([GNULIB_SEND])
+ GNULIB_RECVFROM=0; AC_SUBST([GNULIB_RECVFROM])
+ GNULIB_SENDTO=0; AC_SUBST([GNULIB_SENDTO])
+ GNULIB_SETSOCKOPT=0; AC_SUBST([GNULIB_SETSOCKOPT])
+ GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN])
+ GNULIB_ACCEPT4=0; AC_SUBST([GNULIB_ACCEPT4])
+ HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE])
+ HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1;
+ AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY])
+ HAVE_SA_FAMILY_T=1; AC_SUBST([HAVE_SA_FAMILY_T])
+ HAVE_ACCEPT4=1; AC_SUBST([HAVE_ACCEPT4])
+])
--- /dev/null
+# sys_stat_h.m4 serial 26 -*- Autoconf -*-
+dnl Copyright (C) 2006-2011 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 From Eric Blake.
+dnl Provide a GNU-like <sys/stat.h>.
+
+AC_DEFUN([gl_HEADER_SYS_STAT_H],
+[
+ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+
+ dnl For the mkdir substitute.
+ AC_REQUIRE([AC_C_INLINE])
+
+ dnl Check for broken stat macros.
+ AC_REQUIRE([AC_HEADER_STAT])
+
+ gl_CHECK_NEXT_HEADERS([sys/stat.h])
+
+ dnl Ensure the type mode_t gets defined.
+ AC_REQUIRE([AC_TYPE_MODE_T])
+
+ dnl Define types that are supposed to be defined in <sys/types.h> or
+ dnl <sys/stat.h>.
+ AC_CHECK_TYPE([nlink_t], [],
+ [AC_DEFINE([nlink_t], [int],
+ [Define to the type of st_nlink in struct stat, or a supertype.])],
+ [#include <sys/types.h>
+ #include <sys/stat.h>])
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use.
+ gl_WARN_ON_USE_PREPARE([[#include <sys/stat.h>
+ ]], [fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat
+ mknod mknodat stat utimensat])
+]) # gl_HEADER_SYS_STAT_H
+
+AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR],
+[
+ dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_SYS_STAT_H_DEFAULTS],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR
+ GNULIB_FCHMODAT=0; AC_SUBST([GNULIB_FCHMODAT])
+ GNULIB_FSTAT=0; AC_SUBST([GNULIB_FSTAT])
+ GNULIB_FSTATAT=0; AC_SUBST([GNULIB_FSTATAT])
+ GNULIB_FUTIMENS=0; AC_SUBST([GNULIB_FUTIMENS])
+ GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD])
+ GNULIB_LSTAT=0; AC_SUBST([GNULIB_LSTAT])
+ GNULIB_MKDIRAT=0; AC_SUBST([GNULIB_MKDIRAT])
+ GNULIB_MKFIFO=0; AC_SUBST([GNULIB_MKFIFO])
+ GNULIB_MKFIFOAT=0; AC_SUBST([GNULIB_MKFIFOAT])
+ GNULIB_MKNOD=0; AC_SUBST([GNULIB_MKNOD])
+ GNULIB_MKNODAT=0; AC_SUBST([GNULIB_MKNODAT])
+ GNULIB_STAT=0; AC_SUBST([GNULIB_STAT])
+ GNULIB_UTIMENSAT=0; AC_SUBST([GNULIB_UTIMENSAT])
+ dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE_FCHMODAT=1; AC_SUBST([HAVE_FCHMODAT])
+ HAVE_FSTATAT=1; AC_SUBST([HAVE_FSTATAT])
+ HAVE_FUTIMENS=1; AC_SUBST([HAVE_FUTIMENS])
+ HAVE_LCHMOD=1; AC_SUBST([HAVE_LCHMOD])
+ HAVE_LSTAT=1; AC_SUBST([HAVE_LSTAT])
+ HAVE_MKDIRAT=1; AC_SUBST([HAVE_MKDIRAT])
+ HAVE_MKFIFO=1; AC_SUBST([HAVE_MKFIFO])
+ HAVE_MKFIFOAT=1; AC_SUBST([HAVE_MKFIFOAT])
+ HAVE_MKNOD=1; AC_SUBST([HAVE_MKNOD])
+ HAVE_MKNODAT=1; AC_SUBST([HAVE_MKNODAT])
+ HAVE_UTIMENSAT=1; AC_SUBST([HAVE_UTIMENSAT])
+ REPLACE_FSTAT=0; AC_SUBST([REPLACE_FSTAT])
+ REPLACE_FSTATAT=0; AC_SUBST([REPLACE_FSTATAT])
+ REPLACE_FUTIMENS=0; AC_SUBST([REPLACE_FUTIMENS])
+ REPLACE_LSTAT=0; AC_SUBST([REPLACE_LSTAT])
+ REPLACE_MKDIR=0; AC_SUBST([REPLACE_MKDIR])
+ REPLACE_MKFIFO=0; AC_SUBST([REPLACE_MKFIFO])
+ REPLACE_MKNOD=0; AC_SUBST([REPLACE_MKNOD])
+ REPLACE_STAT=0; AC_SUBST([REPLACE_STAT])
+ REPLACE_UTIMENSAT=0; AC_SUBST([REPLACE_UTIMENSAT])
+])
--- /dev/null
+# Configure a more-standard replacement for <time.h>.
+
+# Copyright (C) 2000-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc.
+
+# serial 6
+
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Written by Paul Eggert and Jim Meyering.
+
+AC_DEFUN([gl_HEADER_TIME_H],
+[
+ dnl Use AC_REQUIRE here, so that the default behavior below is expanded
+ dnl once only, before all statements that occur in other macros.
+ AC_REQUIRE([gl_HEADER_TIME_H_BODY])
+])
+
+AC_DEFUN([gl_HEADER_TIME_H_BODY],
+[
+ AC_REQUIRE([AC_C_RESTRICT])
+ AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
+ gl_NEXT_HEADERS([time.h])
+ AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC])
+])
+
+dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
+dnl in time.h, sys/time.h, or pthread.h.
+
+AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
+[
+ AC_CHECK_HEADERS_ONCE([sys/time.h])
+ AC_CACHE_CHECK([for struct timespec in <time.h>],
+ [gl_cv_sys_struct_timespec_in_time_h],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <time.h>
+ ]],
+ [[static struct timespec x; x.tv_sec = x.tv_nsec;]])],
+ [gl_cv_sys_struct_timespec_in_time_h=yes],
+ [gl_cv_sys_struct_timespec_in_time_h=no])])
+
+ TIME_H_DEFINES_STRUCT_TIMESPEC=0
+ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0
+ PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0
+ if test $gl_cv_sys_struct_timespec_in_time_h = yes; then
+ TIME_H_DEFINES_STRUCT_TIMESPEC=1
+ else
+ AC_CACHE_CHECK([for struct timespec in <sys/time.h>],
+ [gl_cv_sys_struct_timespec_in_sys_time_h],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/time.h>
+ ]],
+ [[static struct timespec x; x.tv_sec = x.tv_nsec;]])],
+ [gl_cv_sys_struct_timespec_in_sys_time_h=yes],
+ [gl_cv_sys_struct_timespec_in_sys_time_h=no])])
+ if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then
+ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1
+ else
+ AC_CACHE_CHECK([for struct timespec in <pthread.h>],
+ [gl_cv_sys_struct_timespec_in_pthread_h],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <pthread.h>
+ ]],
+ [[static struct timespec x; x.tv_sec = x.tv_nsec;]])],
+ [gl_cv_sys_struct_timespec_in_pthread_h=yes],
+ [gl_cv_sys_struct_timespec_in_pthread_h=no])])
+ if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then
+ PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1
+ fi
+ fi
+ fi
+ AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC])
+ AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC])
+ AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC])
+])
+
+AC_DEFUN([gl_TIME_MODULE_INDICATOR],
+[
+ dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+ AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_HEADER_TIME_H_DEFAULTS],
+[
+ GNULIB_MKTIME=0; AC_SUBST([GNULIB_MKTIME])
+ GNULIB_NANOSLEEP=0; AC_SUBST([GNULIB_NANOSLEEP])
+ GNULIB_STRPTIME=0; AC_SUBST([GNULIB_STRPTIME])
+ GNULIB_TIMEGM=0; AC_SUBST([GNULIB_TIMEGM])
+ GNULIB_TIME_R=0; AC_SUBST([GNULIB_TIME_R])
+ dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE_DECL_LOCALTIME_R=1; AC_SUBST([HAVE_DECL_LOCALTIME_R])
+ HAVE_NANOSLEEP=1; AC_SUBST([HAVE_NANOSLEEP])
+ HAVE_STRPTIME=1; AC_SUBST([HAVE_STRPTIME])
+ HAVE_TIMEGM=1; AC_SUBST([HAVE_TIMEGM])
+ dnl If another module says to replace or to not replace, do that.
+ dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK;
+ dnl this lets maintainers check for portability.
+ REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; AC_SUBST([REPLACE_LOCALTIME_R])
+ REPLACE_MKTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_MKTIME])
+ REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP])
+ REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM])
+])
-# unistd_h.m4 serial 17
-dnl Copyright (C) 2006-2009 Free Software Foundation, Inc.
+# unistd_h.m4 serial 61
+dnl Copyright (C) 2006-2011 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 Use AC_REQUIRE here, so that the default behavior below is expanded
dnl once only, before all statements that occur in other macros.
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_REQUIRE([AC_C_INLINE])
gl_CHECK_NEXT_HEADERS([unistd.h])
-
- AC_CHECK_HEADERS_ONCE([unistd.h])
if test $ac_cv_header_unistd_h = yes; then
HAVE_UNISTD_H=1
else
HAVE_UNISTD_H=0
fi
AC_SUBST([HAVE_UNISTD_H])
+
+ dnl Ensure the type pid_t gets defined.
+ AC_REQUIRE([AC_TYPE_PID_T])
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use.
+ gl_WARN_ON_USE_PREPARE([[
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+/* Some systems declare various items in the wrong headers. */
+#if !(defined __GLIBC__ && !defined __UCLIBC__)
+# include <fcntl.h>
+# include <stdio.h>
+# include <stdlib.h>
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# include <io.h>
+# endif
+#endif
+ ]], [chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat
+ fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups
+ gethostname getlogin getlogin_r getpagesize getusershell setusershell
+ endusershell group_member lchown link linkat lseek pipe pipe2 pread pwrite
+ readlink readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat
+ usleep])
])
AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
])
AC_DEFUN([gl_UNISTD_H_DEFAULTS],
[
- GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN])
- GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE])
- GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2])
- GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON])
- GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS])
- GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR])
- GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC])
- GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE])
- GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD])
- GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME])
- GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE])
- GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME])
- GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R])
- GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE])
- GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL])
- GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN])
- GNULIB_LINK=0; AC_SUBST([GNULIB_LINK])
- GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK])
- GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK])
- GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP])
- GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
- GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE])
+ GNULIB_CHDIR=0; AC_SUBST([GNULIB_CHDIR])
+ GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN])
+ GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE])
+ GNULIB_DUP=0; AC_SUBST([GNULIB_DUP])
+ GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2])
+ GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3])
+ GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON])
+ GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS])
+ GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT])
+ GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR])
+ GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT])
+ GNULIB_FDATASYNC=0; AC_SUBST([GNULIB_FDATASYNC])
+ GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC])
+ GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE])
+ GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD])
+ GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME])
+ GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE])
+ GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS])
+ GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME])
+ GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN])
+ GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R])
+ GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE])
+ GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL])
+ GNULIB_GROUP_MEMBER=0; AC_SUBST([GNULIB_GROUP_MEMBER])
+ GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN])
+ GNULIB_LINK=0; AC_SUBST([GNULIB_LINK])
+ GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT])
+ GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK])
+ GNULIB_PIPE=0; AC_SUBST([GNULIB_PIPE])
+ GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2])
+ GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD])
+ GNULIB_PWRITE=0; AC_SUBST([GNULIB_PWRITE])
+ GNULIB_READ=0; AC_SUBST([GNULIB_READ])
+ GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK])
+ GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT])
+ GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR])
+ GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP])
+ GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK])
+ GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT])
+ GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R])
+ GNULIB_UNISTD_H_GETOPT=0; AC_SUBST([GNULIB_UNISTD_H_GETOPT])
+ GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING])
+ GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
+ GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK])
+ GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT])
+ GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP])
+ GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE])
dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN])
HAVE_DUP2=1; AC_SUBST([HAVE_DUP2])
+ HAVE_DUP3=1; AC_SUBST([HAVE_DUP3])
HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS])
+ HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT])
+ HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR])
+ HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT])
+ HAVE_FDATASYNC=1; AC_SUBST([HAVE_FDATASYNC])
HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC])
HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE])
- HAVE_GETDOMAINNAME=1; AC_SUBST([HAVE_GETDOMAINNAME])
HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE])
+ HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS])
HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME])
+ HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN])
HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE])
- HAVE_GETUSERSHELL=1; AC_SUBST([HAVE_GETUSERSHELL])
+ HAVE_GROUP_MEMBER=1; AC_SUBST([HAVE_GROUP_MEMBER])
+ HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN])
HAVE_LINK=1; AC_SUBST([HAVE_LINK])
+ HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT])
+ HAVE_PIPE=1; AC_SUBST([HAVE_PIPE])
+ HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2])
+ HAVE_PREAD=1; AC_SUBST([HAVE_PREAD])
+ HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE])
HAVE_READLINK=1; AC_SUBST([HAVE_READLINK])
+ HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT])
HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP])
+ HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK])
+ HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT])
+ HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT])
+ HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP])
HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON])
+ HAVE_DECL_FCHDIR=1; AC_SUBST([HAVE_DECL_FCHDIR])
+ HAVE_DECL_FDATASYNC=1; AC_SUBST([HAVE_DECL_FDATASYNC])
+ HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME])
HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
+ HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE])
+ HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL])
+ HAVE_DECL_TTYNAME_R=1; AC_SUBST([HAVE_DECL_TTYNAME_R])
HAVE_OS_H=0; AC_SUBST([HAVE_OS_H])
HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H])
REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN])
REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE])
- REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR])
+ REPLACE_DUP=0; AC_SUBST([REPLACE_DUP])
+ REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2])
+ REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT])
REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD])
+ REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME])
+ REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R])
+ REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS])
REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE])
REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN])
+ REPLACE_LINK=0; AC_SUBST([REPLACE_LINK])
+ REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT])
REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK])
+ REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD])
+ REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE])
+ REPLACE_READ=0; AC_SUBST([REPLACE_READ])
+ REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK])
+ REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR])
+ REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP])
+ REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK])
+ REPLACE_TTYNAME_R=0; AC_SUBST([REPLACE_TTYNAME_R])
+ REPLACE_UNLINK=0; AC_SUBST([REPLACE_UNLINK])
+ REPLACE_UNLINKAT=0; AC_SUBST([REPLACE_UNLINKAT])
+ REPLACE_USLEEP=0; AC_SUBST([REPLACE_USLEEP])
REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE])
UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H])
+ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0;
+ AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS])
])
--- /dev/null
+# valgrind-tests.m4 serial 3
+dnl Copyright (C) 2008-2011 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 From Simon Josefsson
+
+# gl_VALGRIND_TESTS()
+# -------------------
+# Check if valgrind is available, and set VALGRIND to it if available.
+AC_DEFUN([gl_VALGRIND_TESTS],
+[
+ AC_ARG_ENABLE(valgrind-tests,
+ AS_HELP_STRING([--enable-valgrind-tests],
+ [run self tests under valgrind]),
+ [opt_valgrind_tests=$enableval], [opt_valgrind_tests=yes])
+
+ # Run self-tests under valgrind?
+ if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then
+ AC_CHECK_PROGS(VALGRIND, valgrind)
+ fi
+
+ OPTS="-q --error-exitcode=1 --leak-check=full"
+
+ if test -n "$VALGRIND" \
+ && $VALGRIND $OPTS $SHELL -c 'exit 0' > /dev/null 2>&1; then
+ opt_valgrind_tests=yes
+ VALGRIND="$VALGRIND $OPTS"
+ else
+ opt_valgrind_tests=no
+ VALGRIND=
+ fi
+
+ AC_MSG_CHECKING([whether self tests are run under valgrind])
+ AC_MSG_RESULT($opt_valgrind_tests)
+])
# version-etc.m4 serial 1
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009-2011 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
AC_ARG_WITH([$1], [AS_HELP_STRING([--with-$1], [$2])],
[dnl
case $withval in
- yes|no) ;;
- *) AC_DEFINE_UNQUOTED(AS_TR_CPP([PACKAGE_$1]), ["$withval"], [$2]) ;;
+ yes|no) ;;
+ *) AC_DEFINE_UNQUOTED(AS_TR_CPP([PACKAGE_$1]), ["$withval"], [$2]) ;;
esac
])
])
AC_DEFUN([gl_VERSION_ETC],
[dnl
gl_VERSION_ETC_FLAG([packager],
- [String identifying the packager of this software])
+ [String identifying the packager of this software])
gl_VERSION_ETC_FLAG([packager-version],
- [Packager-specific version information])
+ [Packager-specific version information])
gl_VERSION_ETC_FLAG([packager-bug-reports],
- [Packager info for bug reports (URL/e-mail/...)])
+ [Packager info for bug reports (URL/e-mail/...)])
if test "X$with_packager" = "X" && \
test "X$with_packager_version$with_packager_bug_reports" != "X"
then
--- /dev/null
+# warn-on-use.m4 serial 4
+dnl Copyright (C) 2010-2011 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.
+
+# gl_WARN_ON_USE_PREPARE(INCLUDES, NAMES)
+# ---------------------------------------
+# For each whitespace-separated element in the list of NAMES, define
+# HAVE_RAW_DECL_name if the function has a declaration among INCLUDES
+# even after being undefined as a macro.
+#
+# See warn-on-use.h for some hints on how to poison function names, as
+# well as ideas on poisoning global variables and macros. NAMES may
+# include global variables, but remember that only functions work with
+# _GL_WARN_ON_USE. Typically, INCLUDES only needs to list a single
+# header, but if the replacement header pulls in other headers because
+# some systems declare functions in the wrong header, then INCLUDES
+# should do likewise.
+#
+# If you assume C89, then it is generally safe to assume declarations
+# for functions declared in that standard (such as gets) without
+# needing gl_WARN_ON_USE_PREPARE.
+AC_DEFUN([gl_WARN_ON_USE_PREPARE],
+[
+ m4_foreach_w([gl_decl], [$2],
+ [AH_TEMPLATE([HAVE_RAW_DECL_]AS_TR_CPP(m4_defn([gl_decl])),
+ [Define to 1 if ]m4_defn([gl_decl])[ is declared even after
+ undefining macros.])])dnl
+dnl FIXME: gl_Symbol must be used unquoted until we can assume
+dnl autoconf 2.64 or newer.
+ for gl_func in m4_flatten([$2]); do
+ AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl
+ AC_CACHE_CHECK([whether $gl_func is declared without a macro],
+ gl_Symbol,
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$1],
+[@%:@undef $gl_func
+ (void) $gl_func;])],
+ [AS_VAR_SET(gl_Symbol, [yes])], [AS_VAR_SET(gl_Symbol, [no])])])
+ AS_VAR_IF(gl_Symbol, [yes],
+ [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1])
+ dnl shortcut - if the raw declaration exists, then set a cache
+ dnl variable to allow skipping any later AC_CHECK_DECL efforts
+ eval ac_cv_have_decl_$gl_func=yes])
+ AS_VAR_POPDEF([gl_Symbol])dnl
+ done
+])
-# warnings.m4 serial 2
-dnl Copyright (C) 2008 Free Software Foundation, Inc.
+# warnings.m4 serial 5
+dnl Copyright (C) 2008-2011 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 From Simon Josefsson
-# gl_AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH])
-# ----------------------------------------------------
-# Provide the functionality of AS_VAR_IF if Autoconf does not have it.
-m4_ifdef([AS_VAR_IF],
-[m4_copy([AS_VAR_IF], [gl_AS_VAR_IF])],
-[m4_define([gl_AS_VAR_IF],
-[AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])])
-
# gl_AS_VAR_APPEND(VAR, VALUE)
# ----------------------------
# Provide the functionality of AS_VAR_APPEND if Autoconf does not have it.
# Adds parameter to WARN_CFLAGS if the compiler supports it. For example,
# gl_WARN_ADD([-Wparentheses]).
AC_DEFUN([gl_WARN_ADD],
+dnl FIXME: gl_Warn must be used unquoted until we can assume
+dnl autoconf 2.64 or newer.
[AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_$1])dnl
-AC_CACHE_CHECK([whether compiler handles $1], [gl_Warn], [
- save_CPPFLAGS="$CPPFLAGS"
+AC_CACHE_CHECK([whether compiler handles $1], m4_defn([gl_Warn]), [
+ gl_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="${CPPFLAGS} $1"
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])],
- [AS_VAR_SET([gl_Warn], [yes])],
- [AS_VAR_SET([gl_Warn], [no])])
- CPPFLAGS="$save_CPPFLAGS"
+ [AS_VAR_SET(gl_Warn, [yes])],
+ [AS_VAR_SET(gl_Warn, [no])])
+ CPPFLAGS="$gl_save_CPPFLAGS"
])
-AS_VAR_PUSHDEF([gl_Flags], m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]))dnl
-gl_AS_VAR_IF([gl_Warn], [yes], [gl_AS_VAR_APPEND([gl_Flags], [" $1"])])
-AS_VAR_POPDEF([gl_Flags])dnl
+AS_VAR_IF(gl_Warn, [yes],
+ [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]), [" $1"])])
AS_VAR_POPDEF([gl_Warn])dnl
m4_ifval([$2], [AS_LITERAL_IF([$2], [AC_SUBST([$2])], [])])dnl
])
--- /dev/null
+dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
+
+dnl Copyright (C) 2007-2011 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 Written by Eric Blake.
+
+# wchar_h.m4 serial 39
+
+AC_DEFUN([gl_WCHAR_H],
+[
+ AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
+ AC_REQUIRE([gl_WCHAR_H_INLINE_OK])
+ dnl Prepare for creating substitute <wchar.h>.
+ dnl Check for <wchar.h> (missing in Linux uClibc when built without wide
+ dnl character support).
+ dnl <wchar.h> is always overridden, because of GNULIB_POSIXCHECK.
+ gl_CHECK_NEXT_HEADERS([wchar.h])
+ if test $ac_cv_header_wchar_h = yes; then
+ HAVE_WCHAR_H=1
+ else
+ HAVE_WCHAR_H=0
+ fi
+ AC_SUBST([HAVE_WCHAR_H])
+
+ AC_REQUIRE([gl_FEATURES_H])
+
+ AC_REQUIRE([gt_TYPE_WINT_T])
+ if test $gt_cv_c_wint_t = yes; then
+ HAVE_WINT_T=1
+ else
+ HAVE_WINT_T=0
+ fi
+ AC_SUBST([HAVE_WINT_T])
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use.
+ gl_WARN_ON_USE_PREPARE([[
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+ <wchar.h>.
+ BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+#if !(defined __GLIBC__ && !defined __UCLIBC__)
+# include <stddef.h>
+# include <stdio.h>
+# include <time.h>
+#endif
+#include <wchar.h>
+ ]],
+ [btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb
+ wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset
+ wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp
+ wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr
+ wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth
+ ])
+])
+
+dnl Check whether <wchar.h> is usable at all.
+AC_DEFUN([gl_WCHAR_H_INLINE_OK],
+[
+ dnl Test whether <wchar.h> suffers due to the transition from '__inline' to
+ dnl 'gnu_inline'. See <http://sourceware.org/bugzilla/show_bug.cgi?id=4022>
+ dnl and <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42440>. In summary,
+ dnl glibc version 2.5 or older, together with gcc version 4.3 or newer and
+ dnl the option -std=c99 or -std=gnu99, leads to a broken <wchar.h>.
+ AC_CACHE_CHECK([whether <wchar.h> uses 'inline' correctly],
+ [gl_cv_header_wchar_h_correct_inline],
+ [gl_cv_header_wchar_h_correct_inline=yes
+ AC_LANG_CONFTEST([
+ AC_LANG_SOURCE([[#define wcstod renamed_wcstod
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+ <wchar.h>.
+ BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
+extern int zero (void);
+int main () { return zero(); }
+]])])
+ if AC_TRY_EVAL([ac_compile]); then
+ mv conftest.$ac_objext conftest1.$ac_objext
+ AC_LANG_CONFTEST([
+ AC_LANG_SOURCE([[#define wcstod renamed_wcstod
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+ <wchar.h>.
+ BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
+int zero (void) { return 0; }
+]])])
+ if AC_TRY_EVAL([ac_compile]); then
+ mv conftest.$ac_objext conftest2.$ac_objext
+ if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then
+ :
+ else
+ gl_cv_header_wchar_h_correct_inline=no
+ fi
+ fi
+ fi
+ rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext
+ ])
+ if test $gl_cv_header_wchar_h_correct_inline = no; then
+ AC_MSG_ERROR([<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS).
+This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in
+C99 mode. You have four options:
+ - Add the flag -fgnu89-inline to CC and reconfigure, or
+ - Fix your include files, using parts of
+ <http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b037a293a48718af30d706c2e18c929d0e69a621>, or
+ - Use a gcc version older than 4.3, or
+ - Don't use the flags -std=c99 or -std=gnu99.
+Configuration aborted.])
+ fi
+])
+
+AC_DEFUN([gl_WCHAR_MODULE_INDICATOR],
+[
+ dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+ AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_WCHAR_H_DEFAULTS],
+[
+ GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC])
+ GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB])
+ GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT])
+ GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC])
+ GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN])
+ GNULIB_MBSRTOWCS=0; AC_SUBST([GNULIB_MBSRTOWCS])
+ GNULIB_MBSNRTOWCS=0; AC_SUBST([GNULIB_MBSNRTOWCS])
+ GNULIB_WCRTOMB=0; AC_SUBST([GNULIB_WCRTOMB])
+ GNULIB_WCSRTOMBS=0; AC_SUBST([GNULIB_WCSRTOMBS])
+ GNULIB_WCSNRTOMBS=0; AC_SUBST([GNULIB_WCSNRTOMBS])
+ GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH])
+ GNULIB_WMEMCHR=0; AC_SUBST([GNULIB_WMEMCHR])
+ GNULIB_WMEMCMP=0; AC_SUBST([GNULIB_WMEMCMP])
+ GNULIB_WMEMCPY=0; AC_SUBST([GNULIB_WMEMCPY])
+ GNULIB_WMEMMOVE=0; AC_SUBST([GNULIB_WMEMMOVE])
+ GNULIB_WMEMSET=0; AC_SUBST([GNULIB_WMEMSET])
+ GNULIB_WCSLEN=0; AC_SUBST([GNULIB_WCSLEN])
+ GNULIB_WCSNLEN=0; AC_SUBST([GNULIB_WCSNLEN])
+ GNULIB_WCSCPY=0; AC_SUBST([GNULIB_WCSCPY])
+ GNULIB_WCPCPY=0; AC_SUBST([GNULIB_WCPCPY])
+ GNULIB_WCSNCPY=0; AC_SUBST([GNULIB_WCSNCPY])
+ GNULIB_WCPNCPY=0; AC_SUBST([GNULIB_WCPNCPY])
+ GNULIB_WCSCAT=0; AC_SUBST([GNULIB_WCSCAT])
+ GNULIB_WCSNCAT=0; AC_SUBST([GNULIB_WCSNCAT])
+ GNULIB_WCSCMP=0; AC_SUBST([GNULIB_WCSCMP])
+ GNULIB_WCSNCMP=0; AC_SUBST([GNULIB_WCSNCMP])
+ GNULIB_WCSCASECMP=0; AC_SUBST([GNULIB_WCSCASECMP])
+ GNULIB_WCSNCASECMP=0; AC_SUBST([GNULIB_WCSNCASECMP])
+ GNULIB_WCSCOLL=0; AC_SUBST([GNULIB_WCSCOLL])
+ GNULIB_WCSXFRM=0; AC_SUBST([GNULIB_WCSXFRM])
+ GNULIB_WCSDUP=0; AC_SUBST([GNULIB_WCSDUP])
+ GNULIB_WCSCHR=0; AC_SUBST([GNULIB_WCSCHR])
+ GNULIB_WCSRCHR=0; AC_SUBST([GNULIB_WCSRCHR])
+ GNULIB_WCSCSPN=0; AC_SUBST([GNULIB_WCSCSPN])
+ GNULIB_WCSSPN=0; AC_SUBST([GNULIB_WCSSPN])
+ GNULIB_WCSPBRK=0; AC_SUBST([GNULIB_WCSPBRK])
+ GNULIB_WCSSTR=0; AC_SUBST([GNULIB_WCSSTR])
+ GNULIB_WCSTOK=0; AC_SUBST([GNULIB_WCSTOK])
+ GNULIB_WCSWIDTH=0; AC_SUBST([GNULIB_WCSWIDTH])
+ dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC])
+ HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT])
+ HAVE_MBRTOWC=1; AC_SUBST([HAVE_MBRTOWC])
+ HAVE_MBRLEN=1; AC_SUBST([HAVE_MBRLEN])
+ HAVE_MBSRTOWCS=1; AC_SUBST([HAVE_MBSRTOWCS])
+ HAVE_MBSNRTOWCS=1; AC_SUBST([HAVE_MBSNRTOWCS])
+ HAVE_WCRTOMB=1; AC_SUBST([HAVE_WCRTOMB])
+ HAVE_WCSRTOMBS=1; AC_SUBST([HAVE_WCSRTOMBS])
+ HAVE_WCSNRTOMBS=1; AC_SUBST([HAVE_WCSNRTOMBS])
+ HAVE_WMEMCHR=1; AC_SUBST([HAVE_WMEMCHR])
+ HAVE_WMEMCMP=1; AC_SUBST([HAVE_WMEMCMP])
+ HAVE_WMEMCPY=1; AC_SUBST([HAVE_WMEMCPY])
+ HAVE_WMEMMOVE=1; AC_SUBST([HAVE_WMEMMOVE])
+ HAVE_WMEMSET=1; AC_SUBST([HAVE_WMEMSET])
+ HAVE_WCSLEN=1; AC_SUBST([HAVE_WCSLEN])
+ HAVE_WCSNLEN=1; AC_SUBST([HAVE_WCSNLEN])
+ HAVE_WCSCPY=1; AC_SUBST([HAVE_WCSCPY])
+ HAVE_WCPCPY=1; AC_SUBST([HAVE_WCPCPY])
+ HAVE_WCSNCPY=1; AC_SUBST([HAVE_WCSNCPY])
+ HAVE_WCPNCPY=1; AC_SUBST([HAVE_WCPNCPY])
+ HAVE_WCSCAT=1; AC_SUBST([HAVE_WCSCAT])
+ HAVE_WCSNCAT=1; AC_SUBST([HAVE_WCSNCAT])
+ HAVE_WCSCMP=1; AC_SUBST([HAVE_WCSCMP])
+ HAVE_WCSNCMP=1; AC_SUBST([HAVE_WCSNCMP])
+ HAVE_WCSCASECMP=1; AC_SUBST([HAVE_WCSCASECMP])
+ HAVE_WCSNCASECMP=1; AC_SUBST([HAVE_WCSNCASECMP])
+ HAVE_WCSCOLL=1; AC_SUBST([HAVE_WCSCOLL])
+ HAVE_WCSXFRM=1; AC_SUBST([HAVE_WCSXFRM])
+ HAVE_WCSDUP=1; AC_SUBST([HAVE_WCSDUP])
+ HAVE_WCSCHR=1; AC_SUBST([HAVE_WCSCHR])
+ HAVE_WCSRCHR=1; AC_SUBST([HAVE_WCSRCHR])
+ HAVE_WCSCSPN=1; AC_SUBST([HAVE_WCSCSPN])
+ HAVE_WCSSPN=1; AC_SUBST([HAVE_WCSSPN])
+ HAVE_WCSPBRK=1; AC_SUBST([HAVE_WCSPBRK])
+ HAVE_WCSSTR=1; AC_SUBST([HAVE_WCSSTR])
+ HAVE_WCSTOK=1; AC_SUBST([HAVE_WCSTOK])
+ HAVE_WCSWIDTH=1; AC_SUBST([HAVE_WCSWIDTH])
+ HAVE_DECL_WCTOB=1; AC_SUBST([HAVE_DECL_WCTOB])
+ HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH])
+ REPLACE_MBSTATE_T=0; AC_SUBST([REPLACE_MBSTATE_T])
+ REPLACE_BTOWC=0; AC_SUBST([REPLACE_BTOWC])
+ REPLACE_WCTOB=0; AC_SUBST([REPLACE_WCTOB])
+ REPLACE_MBSINIT=0; AC_SUBST([REPLACE_MBSINIT])
+ REPLACE_MBRTOWC=0; AC_SUBST([REPLACE_MBRTOWC])
+ REPLACE_MBRLEN=0; AC_SUBST([REPLACE_MBRLEN])
+ REPLACE_MBSRTOWCS=0; AC_SUBST([REPLACE_MBSRTOWCS])
+ REPLACE_MBSNRTOWCS=0; AC_SUBST([REPLACE_MBSNRTOWCS])
+ REPLACE_WCRTOMB=0; AC_SUBST([REPLACE_WCRTOMB])
+ REPLACE_WCSRTOMBS=0; AC_SUBST([REPLACE_WCSRTOMBS])
+ REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS])
+ REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH])
+ REPLACE_WCSWIDTH=0; AC_SUBST([REPLACE_WCSWIDTH])
+])
--- /dev/null
+/* Invalid parameter handler for MSVC runtime libraries.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#include <config.h>
+
+/* Specification. */
+#include "msvc-inval.h"
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+ && !(MSVC_INVALID_PARAMETER_HANDLING == SANE_LIBRARY_HANDLING)
+
+/* Get _invalid_parameter_handler type and _set_invalid_parameter_handler
+ declaration. */
+# include <stdlib.h>
+
+# if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+
+static void cdecl
+gl_msvc_invalid_parameter_handler (const wchar_t *expression,
+ const wchar_t *function,
+ const wchar_t *file,
+ unsigned int line,
+ uintptr_t dummy)
+{
+}
+
+# else
+
+/* Get declarations of the Win32 API functions. */
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+
+# if defined _MSC_VER
+
+static void cdecl
+gl_msvc_invalid_parameter_handler (const wchar_t *expression,
+ const wchar_t *function,
+ const wchar_t *file,
+ unsigned int line,
+ uintptr_t dummy)
+{
+ RaiseException (STATUS_GNULIB_INVALID_PARAMETER, 0, 0, NULL);
+}
+
+# else
+
+/* An index to thread-local storage. */
+static DWORD tls_index;
+static int tls_initialized /* = 0 */;
+
+/* Used as a fallback only. */
+static struct gl_msvc_inval_per_thread not_per_thread;
+
+struct gl_msvc_inval_per_thread *
+gl_msvc_inval_current (void)
+{
+ if (!tls_initialized)
+ {
+ tls_index = TlsAlloc ();
+ tls_initialized = 1;
+ }
+ if (tls_index == TLS_OUT_OF_INDEXES)
+ /* TlsAlloc had failed. */
+ return ¬_per_thread;
+ else
+ {
+ struct gl_msvc_inval_per_thread *pointer =
+ (struct gl_msvc_inval_per_thread *) TlsGetValue (tls_index);
+ if (pointer == NULL)
+ {
+ /* First call. Allocate a new 'struct gl_msvc_inval_per_thread'. */
+ pointer =
+ (struct gl_msvc_inval_per_thread *)
+ malloc (sizeof (struct gl_msvc_inval_per_thread));
+ if (pointer == NULL)
+ /* Could not allocate memory. Use the global storage. */
+ pointer = ¬_per_thread;
+ TlsSetValue (tls_index, pointer);
+ }
+ return pointer;
+ }
+}
+
+static void cdecl
+gl_msvc_invalid_parameter_handler (const wchar_t *expression,
+ const wchar_t *function,
+ const wchar_t *file,
+ unsigned int line,
+ uintptr_t dummy)
+{
+ struct gl_msvc_inval_per_thread *current = gl_msvc_inval_current ();
+ if (current->restart_valid)
+ longjmp (current->restart, 1);
+ else
+ /* An invalid parameter notification from outside the gnulib code.
+ Give the caller a chance to intervene. */
+ RaiseException (STATUS_GNULIB_INVALID_PARAMETER, 0, 0, NULL);
+}
+
+# endif
+
+# endif
+
+static int gl_msvc_inval_initialized /* = 0 */;
+
+void
+gl_msvc_inval_ensure_handler (void)
+{
+ if (gl_msvc_inval_initialized == 0)
+ {
+ _set_invalid_parameter_handler (gl_msvc_invalid_parameter_handler);
+ gl_msvc_inval_initialized = 1;
+ }
+}
+
+#endif
--- /dev/null
+/* Invalid parameter handler for MSVC runtime libraries.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#ifndef _MSVC_INVAL_H
+#define _MSVC_INVAL_H
+
+/* With MSVC runtime libraries with the "invalid parameter handler" concept,
+ functions like fprintf(), dup2(), or close() crash when the caller passes
+ an invalid argument. But POSIX wants error codes (such as EINVAL or EBADF)
+ instead.
+ This file defines macros that turn such an invalid parameter notification
+ into a non-local exit. An error code can then be produced at the target
+ of this exit. You can thus write code like
+
+ TRY_MSVC_INVAL
+ {
+ <Code that can trigger an invalid parameter notification
+ but does not do 'return', 'break', 'continue', nor 'goto'.>
+ }
+ CATCH_MSVC_INVAL
+ {
+ <Code that handles an invalid parameter notification
+ but does not do 'return', 'break', 'continue', nor 'goto'.>
+ }
+ DONE_MSVC_INVAL;
+
+ This entire block expands to a single statement.
+
+ The handling of invalid parameters can be done in three ways:
+
+ * The default way, which is reasonable for programs (not libraries):
+ AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [DEFAULT_HANDLING])
+
+ * The way for libraries that make "hairy" calls (like close(-1), or
+ fclose(fp) where fileno(fp) is closed, or simply getdtablesize()):
+ AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [HAIRY_LIBRARY_HANDLING])
+
+ * The way for libraries that make no "hairy" calls:
+ AC_DEFINE([MSVC_INVALID_PARAMETER_HANDLING], [SANE_LIBRARY_HANDLING])
+ */
+
+#define DEFAULT_HANDLING 0
+#define HAIRY_LIBRARY_HANDLING 1
+#define SANE_LIBRARY_HANDLING 2
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+ && !(MSVC_INVALID_PARAMETER_HANDLING == SANE_LIBRARY_HANDLING)
+/* A native Windows platform with the "invalid parameter handler" concept,
+ and either DEFAULT_HANDLING or HAIRY_LIBRARY_HANDLING. */
+
+# if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+/* Default handling. */
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+/* Ensure that the invalid parameter handler in installed that just returns.
+ Because we assume no other part of the program installs a different
+ invalid parameter handler, this solution is multithread-safe. */
+extern void gl_msvc_inval_ensure_handler (void);
+
+# ifdef __cplusplus
+}
+# endif
+
+# define TRY_MSVC_INVAL \
+ do \
+ { \
+ gl_msvc_inval_ensure_handler (); \
+ if (1)
+# define CATCH_MSVC_INVAL \
+ else
+# define DONE_MSVC_INVAL \
+ } \
+ while (0)
+
+# else
+/* Handling for hairy libraries. */
+
+# include <excpt.h>
+
+/* Gnulib can define its own status codes, as described in the page
+ "Raising Software Exceptions" on microsoft.com
+ <http://msdn.microsoft.com/en-us/library/het71c37.aspx>.
+ Our status codes are composed of
+ - 0xE0000000, mandatory for all user-defined status codes,
+ - 0x474E550, a API identifier ("GNU"),
+ - 0, 1, 2, ..., used to distinguish different status codes from the
+ same API. */
+# define STATUS_GNULIB_INVALID_PARAMETER (0xE0000000 + 0x474E550 + 0)
+
+# if defined _MSC_VER
+/* A compiler that supports __try/__except, as described in the page
+ "try-except statement" on microsoft.com
+ <http://msdn.microsoft.com/en-us/library/s58ftw19.aspx>.
+ With __try/__except, we can use the multithread-safe exception handling. */
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+/* Ensure that the invalid parameter handler in installed that raises a
+ software exception with code STATUS_GNULIB_INVALID_PARAMETER.
+ Because we assume no other part of the program installs a different
+ invalid parameter handler, this solution is multithread-safe. */
+extern void gl_msvc_inval_ensure_handler (void);
+
+# ifdef __cplusplus
+}
+# endif
+
+# define TRY_MSVC_INVAL \
+ do \
+ { \
+ gl_msvc_inval_ensure_handler (); \
+ __try
+# define CATCH_MSVC_INVAL \
+ __except (GetExceptionCode () == STATUS_GNULIB_INVALID_PARAMETER \
+ ? EXCEPTION_EXECUTE_HANDLER \
+ : EXCEPTION_CONTINUE_SEARCH)
+# define DONE_MSVC_INVAL \
+ } \
+ while (0)
+
+# else
+/* Any compiler.
+ We can only use setjmp/longjmp. */
+
+# include <setjmp.h>
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+struct gl_msvc_inval_per_thread
+{
+ /* The restart that will resume execution at the code between
+ CATCH_MSVC_INVAL and DONE_MSVC_INVAL. It is enabled only between
+ TRY_MSVC_INVAL and CATCH_MSVC_INVAL. */
+ jmp_buf restart;
+
+ /* Tells whether the contents of restart is valid. */
+ int restart_valid;
+};
+
+/* Ensure that the invalid parameter handler in installed that passes
+ control to the gl_msvc_inval_restart if it is valid, or raises a
+ software exception with code STATUS_GNULIB_INVALID_PARAMETER otherwise.
+ Because we assume no other part of the program installs a different
+ invalid parameter handler, this solution is multithread-safe. */
+extern void gl_msvc_inval_ensure_handler (void);
+
+/* Return a pointer to the per-thread data for the current thread. */
+extern struct gl_msvc_inval_per_thread *gl_msvc_inval_current (void);
+
+# ifdef __cplusplus
+}
+# endif
+
+# define TRY_MSVC_INVAL \
+ do \
+ { \
+ struct gl_msvc_inval_per_thread *msvc_inval_current; \
+ gl_msvc_inval_ensure_handler (); \
+ msvc_inval_current = gl_msvc_inval_current (); \
+ /* First, initialize gl_msvc_inval_restart. */ \
+ if (setjmp (msvc_inval_current->restart) == 0) \
+ { \
+ /* Then, mark it as valid. */ \
+ msvc_inval_current->restart_valid = 1;
+# define CATCH_MSVC_INVAL \
+ /* Execution completed. \
+ Mark gl_msvc_inval_restart as invalid. */ \
+ msvc_inval_current->restart_valid = 0; \
+ } \
+ else \
+ { \
+ /* Execution triggered an invalid parameter notification. \
+ Mark gl_msvc_inval_restart as invalid. */ \
+ msvc_inval_current->restart_valid = 0;
+# define DONE_MSVC_INVAL \
+ } \
+ } \
+ while (0)
+
+# endif
+
+# endif
+
+#else
+/* A platform that does not need to the invalid parameter handler,
+ or when SANE_LIBRARY_HANDLING is desired. */
+
+/* The braces here avoid GCC warnings like
+ "warning: suggest explicit braces to avoid ambiguous `else'". */
+# define TRY_MSVC_INVAL \
+ do \
+ { \
+ if (1)
+# define CATCH_MSVC_INVAL \
+ else
+# define DONE_MSVC_INVAL \
+ } \
+ while (0)
+
+#endif
+
+#endif /* _MSVC_INVAL_H */
--- /dev/null
+/* Wrappers that don't throw invalid parameter notifications
+ with MSVC runtime libraries.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#include <config.h>
+
+/* Specification. */
+#include "msvc-nothrow.h"
+
+/* Get declarations of the Win32 API functions. */
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+
+#include "msvc-inval.h"
+
+#undef _get_osfhandle
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+intptr_t
+_gl_nothrow_get_osfhandle (int fd)
+{
+ intptr_t result;
+
+ TRY_MSVC_INVAL
+ {
+ result = _get_osfhandle (fd);
+ }
+ CATCH_MSVC_INVAL
+ {
+ result = (intptr_t) INVALID_HANDLE_VALUE;
+ }
+ DONE_MSVC_INVAL;
+
+ return result;
+}
+#endif
--- /dev/null
+/* Wrappers that don't throw invalid parameter notifications
+ with MSVC runtime libraries.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#ifndef _MSVC_NOTHROW_H
+#define _MSVC_NOTHROW_H
+
+/* With MSVC runtime libraries with the "invalid parameter handler" concept,
+ functions like fprintf(), dup2(), or close() crash when the caller passes
+ an invalid argument. But POSIX wants error codes (such as EINVAL or EBADF)
+ instead.
+ This file defines wrappers that turn such an invalid parameter notification
+ into an error code. */
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+/* Get original declaration of _get_osfhandle. */
+# include <io.h>
+
+# if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+
+/* Override _get_osfhandle. */
+extern intptr_t _gl_nothrow_get_osfhandle (int fd);
+# define _get_osfhandle _gl_nothrow_get_osfhandle
+
+# endif
+
+#endif
+
+#endif /* _MSVC_NOTHROW_H */
/* Program name management.
- Copyright (C) 2001-2003, 2005-2009 Free Software Foundation, Inc.
- Written by Bruno Haible <haible@clisp.cons.org>, 2001.
+ Copyright (C) 2001-2003, 2005-2011 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2001.
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
#undef ENABLE_RELOCATABLE /* avoid defining set_program_name as a macro */
#include "progname.h"
+#include <errno.h> /* get program_invocation_name declaration */
+#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
To be initialized by main(). */
const char *program_name = NULL;
-/* Set program_name, based on argv[0]. */
+/* Set program_name, based on argv[0].
+ argv0 must be a string allocated with indefinite extent, and must not be
+ modified after this call. */
void
set_program_name (const char *argv0)
{
const char *slash;
const char *base;
+ /* Sanity check. POSIX requires the invoking process to pass a non-NULL
+ argv[0]. */
+ if (argv0 == NULL)
+ {
+ /* It's a bug in the invoking program. Help diagnosing it. */
+ fputs ("A NULL argv[0] was passed through an exec system call.\n",
+ stderr);
+ abort ();
+ }
+
slash = strrchr (argv0, '/');
base = (slash != NULL ? slash + 1 : argv0);
if (base - argv0 >= 7 && strncmp (base - 7, "/.libs/", 7) == 0)
{
argv0 = base;
if (strncmp (base, "lt-", 3) == 0)
- argv0 = base + 3;
+ {
+ argv0 = base + 3;
+ /* On glibc systems, remove the "lt-" prefix from the variable
+ program_invocation_short_name. */
+#if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
+ program_invocation_short_name = (char *) argv0;
+#endif
+ }
}
/* But don't strip off a leading <dirname>/ in general, because when the user
*/
program_name = argv0;
+
+ /* On glibc systems, the error() function comes from libc and uses the
+ variable program_invocation_name, not program_name. So set this variable
+ as well. */
+#if HAVE_DECL_PROGRAM_INVOCATION_NAME
+ program_invocation_name = (char *) argv0;
+#endif
}
/* Program name management.
- Copyright (C) 2001-2004, 2006 Free Software Foundation, Inc.
- Written by Bruno Haible <haible@clisp.cons.org>, 2001.
+ Copyright (C) 2001-2004, 2006, 2009-2011 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2001.
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
/* String containing name the program is called with. */
extern const char *program_name;
-/* Set program_name, based on argv[0]. */
+/* Set program_name, based on argv[0].
+ argv0 must be a string allocated with indefinite extent, and must not be
+ modified after this call. */
extern void set_program_name (const char *argv0);
#if defined(ENABLE_RELOCATABLE) && ENABLE_RELOCATABLE
/* Set program_name, based on argv[0], and original installation prefix and
directory, for relocatability. */
extern void set_program_name_and_installdir (const char *argv0,
- const char *orig_installprefix,
- const char *orig_installdir);
+ const char *orig_installprefix,
+ const char *orig_installdir);
#undef set_program_name
#define set_program_name(ARG0) \
set_program_name_and_installdir (ARG0, INSTALLPREFIX, INSTALLDIR)
/* Substitute for and wrapper around <stdarg.h>.
- Copyright (C) 2008 Free Software Foundation, Inc.
+ Copyright (C) 2008-2011 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-#ifndef _GL_STDARG_H
+#ifndef _@GUARD_PREFIX@_STDARG_H
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
/* The include_next requires a split double-inclusion guard. */
#@INCLUDE_NEXT@ @NEXT_STDARG_H@
-#ifndef _GL_STDARG_H
-#define _GL_STDARG_H
+#ifndef _@GUARD_PREFIX@_STDARG_H
+#define _@GUARD_PREFIX@_STDARG_H
#ifndef va_copy
# define va_copy(a,b) ((a) = (b))
#endif
-#endif /* _GL_STDARG_H */
-#endif /* _GL_STDARG_H */
+#endif /* _@GUARD_PREFIX@_STDARG_H */
+#endif /* _@GUARD_PREFIX@_STDARG_H */
--- /dev/null
+/* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
+
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* Written by Eric Blake. */
+
+/*
+ * POSIX 2008 <stddef.h> for platforms that have issues.
+ * <http://www.opengroup.org/susv3xbd/stddef.h.html>
+ */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined __need_wchar_t || defined __need_size_t \
+ || defined __need_ptrdiff_t || defined __need_NULL \
+ || defined __need_wint_t
+/* Special invocation convention inside gcc header files. In
+ particular, gcc provides a version of <stddef.h> that blindly
+ redefines NULL even when __need_wint_t was defined, even though
+ wint_t is not normally provided by <stddef.h>. Hence, we must
+ remember if special invocation has ever been used to obtain wint_t,
+ in which case we need to clean up NULL yet again. */
+
+# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T)
+# ifdef __need_wint_t
+# undef _@GUARD_PREFIX@_STDDEF_H
+# define _GL_STDDEF_WINT_T
+# endif
+# @INCLUDE_NEXT@ @NEXT_STDDEF_H@
+# endif
+
+#else
+/* Normal invocation convention. */
+
+# ifndef _@GUARD_PREFIX@_STDDEF_H
+
+/* The include_next requires a split double-inclusion guard. */
+
+# @INCLUDE_NEXT@ @NEXT_STDDEF_H@
+
+# ifndef _@GUARD_PREFIX@_STDDEF_H
+# define _@GUARD_PREFIX@_STDDEF_H
+
+/* On NetBSD 5.0, the definition of NULL lacks proper parentheses. */
+#if @REPLACE_NULL@
+# undef NULL
+# ifdef __cplusplus
+ /* ISO C++ says that the macro NULL must expand to an integer constant
+ expression, hence '((void *) 0)' is not allowed in C++. */
+# if __GNUG__ >= 3
+ /* GNU C++ has a __null macro that behaves like an integer ('int' or
+ 'long') but has the same size as a pointer. Use that, to avoid
+ warnings. */
+# define NULL __null
+# else
+# define NULL 0L
+# endif
+# else
+# define NULL ((void *) 0)
+# endif
+#endif
+
+/* Some platforms lack wchar_t. */
+#if !@HAVE_WCHAR_T@
+# define wchar_t int
+#endif
+
+# endif /* _@GUARD_PREFIX@_STDDEF_H */
+# endif /* _@GUARD_PREFIX@_STDDEF_H */
+#endif /* __need_XXX */
--- /dev/null
+/* strerror-override.c --- POSIX compatible system error routine
+
+ Copyright (C) 2010-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010. */
+
+#include <config.h>
+
+#include "strerror-override.h"
+
+#include <errno.h>
+
+#if GNULIB_defined_EWINSOCK /* native Windows platforms */
+# if HAVE_WINSOCK2_H
+# include <winsock2.h>
+# endif
+#endif
+
+/* If ERRNUM maps to an errno value defined by gnulib, return a string
+ describing the error. Otherwise return NULL. */
+const char *
+strerror_override (int errnum)
+{
+ /* These error messages are taken from glibc/sysdeps/gnu/errlist.c. */
+ switch (errnum)
+ {
+#if REPLACE_STRERROR_0
+ case 0:
+ return "Success";
+#endif
+
+#if GNULIB_defined_ESOCK /* native Windows platforms with older <errno.h> */
+ case EINPROGRESS:
+ return "Operation now in progress";
+ case EALREADY:
+ return "Operation already in progress";
+ case ENOTSOCK:
+ return "Socket operation on non-socket";
+ case EDESTADDRREQ:
+ return "Destination address required";
+ case EMSGSIZE:
+ return "Message too long";
+ case EPROTOTYPE:
+ return "Protocol wrong type for socket";
+ case ENOPROTOOPT:
+ return "Protocol not available";
+ case EPROTONOSUPPORT:
+ return "Protocol not supported";
+ case EOPNOTSUPP:
+ return "Operation not supported";
+ case EAFNOSUPPORT:
+ return "Address family not supported by protocol";
+ case EADDRINUSE:
+ return "Address already in use";
+ case EADDRNOTAVAIL:
+ return "Cannot assign requested address";
+ case ENETDOWN:
+ return "Network is down";
+ case ENETUNREACH:
+ return "Network is unreachable";
+ case ECONNRESET:
+ return "Connection reset by peer";
+ case ENOBUFS:
+ return "No buffer space available";
+ case EISCONN:
+ return "Transport endpoint is already connected";
+ case ENOTCONN:
+ return "Transport endpoint is not connected";
+ case ETIMEDOUT:
+ return "Connection timed out";
+ case ECONNREFUSED:
+ return "Connection refused";
+ case ELOOP:
+ return "Too many levels of symbolic links";
+ case EHOSTUNREACH:
+ return "No route to host";
+ case EWOULDBLOCK:
+ return "Operation would block";
+ case ETXTBSY:
+ return "Text file busy";
+ case ENODATA:
+ return "No data available";
+ case ENOSR:
+ return "Out of streams resources";
+ case ENOSTR:
+ return "Device not a stream";
+ case ENOTRECOVERABLE:
+ return "State not recoverable";
+ case EOWNERDEAD:
+ return "Owner died";
+ case ETIME:
+ return "Timer expired";
+ case EOTHER:
+ return "Other error";
+#endif
+#if GNULIB_defined_EWINSOCK /* native Windows platforms */
+ case ESOCKTNOSUPPORT:
+ return "Socket type not supported";
+ case EPFNOSUPPORT:
+ return "Protocol family not supported";
+ case ESHUTDOWN:
+ return "Cannot send after transport endpoint shutdown";
+ case ETOOMANYREFS:
+ return "Too many references: cannot splice";
+ case EHOSTDOWN:
+ return "Host is down";
+ case EPROCLIM:
+ return "Too many processes";
+ case EUSERS:
+ return "Too many users";
+ case EDQUOT:
+ return "Disk quota exceeded";
+ case ESTALE:
+ return "Stale NFS file handle";
+ case EREMOTE:
+ return "Object is remote";
+# if HAVE_WINSOCK2_H
+ /* WSA_INVALID_HANDLE maps to EBADF */
+ /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */
+ /* WSA_INVALID_PARAMETER maps to EINVAL */
+ case WSA_OPERATION_ABORTED:
+ return "Overlapped operation aborted";
+ case WSA_IO_INCOMPLETE:
+ return "Overlapped I/O event object not in signaled state";
+ case WSA_IO_PENDING:
+ return "Overlapped operations will complete later";
+ /* WSAEINTR maps to EINTR */
+ /* WSAEBADF maps to EBADF */
+ /* WSAEACCES maps to EACCES */
+ /* WSAEFAULT maps to EFAULT */
+ /* WSAEINVAL maps to EINVAL */
+ /* WSAEMFILE maps to EMFILE */
+ /* WSAEWOULDBLOCK maps to EWOULDBLOCK */
+ /* WSAEINPROGRESS maps to EINPROGRESS */
+ /* WSAEALREADY maps to EALREADY */
+ /* WSAENOTSOCK maps to ENOTSOCK */
+ /* WSAEDESTADDRREQ maps to EDESTADDRREQ */
+ /* WSAEMSGSIZE maps to EMSGSIZE */
+ /* WSAEPROTOTYPE maps to EPROTOTYPE */
+ /* WSAENOPROTOOPT maps to ENOPROTOOPT */
+ /* WSAEPROTONOSUPPORT maps to EPROTONOSUPPORT */
+ /* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */
+ /* WSAEOPNOTSUPP maps to EOPNOTSUPP */
+ /* WSAEPFNOSUPPORT is EPFNOSUPPORT */
+ /* WSAEAFNOSUPPORT maps to EAFNOSUPPORT */
+ /* WSAEADDRINUSE maps to EADDRINUSE */
+ /* WSAEADDRNOTAVAIL maps to EADDRNOTAVAIL */
+ /* WSAENETDOWN maps to ENETDOWN */
+ /* WSAENETUNREACH maps to ENETUNREACH */
+ /* WSAENETRESET maps to ENETRESET */
+ /* WSAECONNABORTED maps to ECONNABORTED */
+ /* WSAECONNRESET maps to ECONNRESET */
+ /* WSAENOBUFS maps to ENOBUFS */
+ /* WSAEISCONN maps to EISCONN */
+ /* WSAENOTCONN maps to ENOTCONN */
+ /* WSAESHUTDOWN is ESHUTDOWN */
+ /* WSAETOOMANYREFS is ETOOMANYREFS */
+ /* WSAETIMEDOUT maps to ETIMEDOUT */
+ /* WSAECONNREFUSED maps to ECONNREFUSED */
+ /* WSAELOOP maps to ELOOP */
+ /* WSAENAMETOOLONG maps to ENAMETOOLONG */
+ /* WSAEHOSTDOWN is EHOSTDOWN */
+ /* WSAEHOSTUNREACH maps to EHOSTUNREACH */
+ /* WSAENOTEMPTY maps to ENOTEMPTY */
+ /* WSAEPROCLIM is EPROCLIM */
+ /* WSAEUSERS is EUSERS */
+ /* WSAEDQUOT is EDQUOT */
+ /* WSAESTALE is ESTALE */
+ /* WSAEREMOTE is EREMOTE */
+ case WSASYSNOTREADY:
+ return "Network subsystem is unavailable";
+ case WSAVERNOTSUPPORTED:
+ return "Winsock.dll version out of range";
+ case WSANOTINITIALISED:
+ return "Successful WSAStartup not yet performed";
+ case WSAEDISCON:
+ return "Graceful shutdown in progress";
+ case WSAENOMORE: case WSA_E_NO_MORE:
+ return "No more results";
+ case WSAECANCELLED: case WSA_E_CANCELLED:
+ return "Call was canceled";
+ case WSAEINVALIDPROCTABLE:
+ return "Procedure call table is invalid";
+ case WSAEINVALIDPROVIDER:
+ return "Service provider is invalid";
+ case WSAEPROVIDERFAILEDINIT:
+ return "Service provider failed to initialize";
+ case WSASYSCALLFAILURE:
+ return "System call failure";
+ case WSASERVICE_NOT_FOUND:
+ return "Service not found";
+ case WSATYPE_NOT_FOUND:
+ return "Class type not found";
+ case WSAEREFUSED:
+ return "Database query was refused";
+ case WSAHOST_NOT_FOUND:
+ return "Host not found";
+ case WSATRY_AGAIN:
+ return "Nonauthoritative host not found";
+ case WSANO_RECOVERY:
+ return "Nonrecoverable error";
+ case WSANO_DATA:
+ return "Valid name, no data record of requested type";
+ /* WSA_QOS_* omitted */
+# endif
+#endif
+
+#if GNULIB_defined_ENOMSG
+ case ENOMSG:
+ return "No message of desired type";
+#endif
+
+#if GNULIB_defined_EIDRM
+ case EIDRM:
+ return "Identifier removed";
+#endif
+
+#if GNULIB_defined_ENOLINK
+ case ENOLINK:
+ return "Link has been severed";
+#endif
+
+#if GNULIB_defined_EPROTO
+ case EPROTO:
+ return "Protocol error";
+#endif
+
+#if GNULIB_defined_EMULTIHOP
+ case EMULTIHOP:
+ return "Multihop attempted";
+#endif
+
+#if GNULIB_defined_EBADMSG
+ case EBADMSG:
+ return "Bad message";
+#endif
+
+#if GNULIB_defined_EOVERFLOW
+ case EOVERFLOW:
+ return "Value too large for defined data type";
+#endif
+
+#if GNULIB_defined_ENOTSUP
+ case ENOTSUP:
+ return "Not supported";
+#endif
+
+#if GNULIB_defined_ENETRESET
+ case ENETRESET:
+ return "Network dropped connection on reset";
+#endif
+
+#if GNULIB_defined_ECONNABORTED
+ case ECONNABORTED:
+ return "Software caused connection abort";
+#endif
+
+#if GNULIB_defined_ESTALE
+ case ESTALE:
+ return "Stale NFS file handle";
+#endif
+
+#if GNULIB_defined_EDQUOT
+ case EDQUOT:
+ return "Disk quota exceeded";
+#endif
+
+#if GNULIB_defined_ECANCELED
+ case ECANCELED:
+ return "Operation canceled";
+#endif
+
+ default:
+ return NULL;
+ }
+}
--- /dev/null
+/* strerror-override.h --- POSIX compatible system error routine
+
+ Copyright (C) 2010-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _GL_STRERROR_OVERRIDE_H
+# define _GL_STRERROR_OVERRIDE_H
+
+# include <errno.h>
+# include <stddef.h>
+
+/* Reasonable buffer size that should never trigger ERANGE; if this
+ proves too small, we intentionally abort(), to remind us to fix
+ this value. */
+# define STACKBUF_LEN 256
+
+/* If ERRNUM maps to an errno value defined by gnulib, return a string
+ describing the error. Otherwise return NULL. */
+# if REPLACE_STRERROR_0 \
+ || GNULIB_defined_ESOCK \
+ || GNULIB_defined_EWINSOCK \
+ || GNULIB_defined_ENOMSG \
+ || GNULIB_defined_EIDRM \
+ || GNULIB_defined_ENOLINK \
+ || GNULIB_defined_EPROTO \
+ || GNULIB_defined_EMULTIHOP \
+ || GNULIB_defined_EBADMSG \
+ || GNULIB_defined_EOVERFLOW \
+ || GNULIB_defined_ENOTSUP \
+ || GNULIB_defined_ENETRESET \
+ || GNULIB_defined_ECONNABORTED \
+ || GNULIB_defined_ESTALE \
+ || GNULIB_defined_EDQUOT \
+ || GNULIB_defined_ECANCELED
+extern const char *strerror_override (int errnum);
+# else
+# define strerror_override(ignored) NULL
+# endif
+
+#endif /* _GL_STRERROR_OVERRIDE_H */
/* strerror.c --- POSIX compatible system error routine
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <config.h>
+/* Specification. */
#include <string.h>
-#if REPLACE_STRERROR
-
-# include <errno.h>
-# include <stdio.h>
-
-# if GNULIB_defined_ESOCK /* native Windows platforms */
-# if HAVE_WINSOCK2_H
-# include <winsock2.h>
-# endif
-# endif
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
-# include "intprops.h"
+#include "intprops.h"
+#include "strerror-override.h"
+#include "verify.h"
-# undef strerror
-# if ! HAVE_DECL_STRERROR
-# define strerror(n) NULL
-# endif
+/* Use the system functions, not the gnulib overrides in this file. */
+#undef sprintf
char *
-rpl_strerror (int n)
+strerror (int n)
+#undef strerror
{
- char const *msg = NULL;
- /* These error messages are taken from glibc/sysdeps/gnu/errlist.c. */
- switch (n)
- {
-# if GNULIB_defined_ETXTBSY
- case ETXTBSY:
- msg = "Text file busy";
- break;
-# endif
-
-# if GNULIB_defined_ESOCK /* native Windows platforms */
- /* EWOULDBLOCK is the same as EAGAIN. */
- case EINPROGRESS:
- msg = "Operation now in progress";
- break;
- case EALREADY:
- msg = "Operation already in progress";
- break;
- case ENOTSOCK:
- msg = "Socket operation on non-socket";
- break;
- case EDESTADDRREQ:
- msg = "Destination address required";
- break;
- case EMSGSIZE:
- msg = "Message too long";
- break;
- case EPROTOTYPE:
- msg = "Protocol wrong type for socket";
- break;
- case ENOPROTOOPT:
- msg = "Protocol not available";
- break;
- case EPROTONOSUPPORT:
- msg = "Protocol not supported";
- break;
- case ESOCKTNOSUPPORT:
- msg = "Socket type not supported";
- break;
- case EOPNOTSUPP:
- msg = "Operation not supported";
- break;
- case EPFNOSUPPORT:
- msg = "Protocol family not supported";
- break;
- case EAFNOSUPPORT:
- msg = "Address family not supported by protocol";
- break;
- case EADDRINUSE:
- msg = "Address already in use";
- break;
- case EADDRNOTAVAIL:
- msg = "Cannot assign requested address";
- break;
- case ENETDOWN:
- msg = "Network is down";
- break;
- case ENETUNREACH:
- msg = "Network is unreachable";
- break;
- case ENETRESET:
- msg = "Network dropped connection on reset";
- break;
- case ECONNABORTED:
- msg = "Software caused connection abort";
- break;
- case ECONNRESET:
- msg = "Connection reset by peer";
- break;
- case ENOBUFS:
- msg = "No buffer space available";
- break;
- case EISCONN:
- msg = "Transport endpoint is already connected";
- break;
- case ENOTCONN:
- msg = "Transport endpoint is not connected";
- break;
- case ESHUTDOWN:
- msg = "Cannot send after transport endpoint shutdown";
- break;
- case ETOOMANYREFS:
- msg = "Too many references: cannot splice";
- break;
- case ETIMEDOUT:
- msg = "Connection timed out";
- break;
- case ECONNREFUSED:
- msg = "Connection refused";
- break;
- case ELOOP:
- msg = "Too many levels of symbolic links";
- break;
- case EHOSTDOWN:
- msg = "Host is down";
- break;
- case EHOSTUNREACH:
- msg = "No route to host";
- break;
- case EPROCLIM:
- msg = "Too many processes";
- break;
- case EUSERS:
- msg = "Too many users";
- break;
- case EDQUOT:
- msg = "Disk quota exceeded";
- break;
- case ESTALE:
- msg = "Stale NFS file handle";
- break;
- case EREMOTE:
- msg = "Object is remote";
- break;
-# if HAVE_WINSOCK2_H
- /* WSA_INVALID_HANDLE maps to EBADF */
- /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */
- /* WSA_INVALID_PARAMETER maps to EINVAL */
- case WSA_OPERATION_ABORTED:
- msg = "Overlapped operation aborted";
- break;
- case WSA_IO_INCOMPLETE:
- msg = "Overlapped I/O event object not in signaled state";
- break;
- case WSA_IO_PENDING:
- msg = "Overlapped operations will complete later";
- break;
- /* WSAEINTR maps to EINTR */
- /* WSAEBADF maps to EBADF */
- /* WSAEACCES maps to EACCES */
- /* WSAEFAULT maps to EFAULT */
- /* WSAEINVAL maps to EINVAL */
- /* WSAEMFILE maps to EMFILE */
- /* WSAEWOULDBLOCK maps to EWOULDBLOCK */
- /* WSAEINPROGRESS is EINPROGRESS */
- /* WSAEALREADY is EALREADY */
- /* WSAENOTSOCK is ENOTSOCK */
- /* WSAEDESTADDRREQ is EDESTADDRREQ */
- /* WSAEMSGSIZE is EMSGSIZE */
- /* WSAEPROTOTYPE is EPROTOTYPE */
- /* WSAENOPROTOOPT is ENOPROTOOPT */
- /* WSAEPROTONOSUPPORT is EPROTONOSUPPORT */
- /* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */
- /* WSAEOPNOTSUPP is EOPNOTSUPP */
- /* WSAEPFNOSUPPORT is EPFNOSUPPORT */
- /* WSAEAFNOSUPPORT is EAFNOSUPPORT */
- /* WSAEADDRINUSE is EADDRINUSE */
- /* WSAEADDRNOTAVAIL is EADDRNOTAVAIL */
- /* WSAENETDOWN is ENETDOWN */
- /* WSAENETUNREACH is ENETUNREACH */
- /* WSAENETRESET is ENETRESET */
- /* WSAECONNABORTED is ECONNABORTED */
- /* WSAECONNRESET is ECONNRESET */
- /* WSAENOBUFS is ENOBUFS */
- /* WSAEISCONN is EISCONN */
- /* WSAENOTCONN is ENOTCONN */
- /* WSAESHUTDOWN is ESHUTDOWN */
- /* WSAETOOMANYREFS is ETOOMANYREFS */
- /* WSAETIMEDOUT is ETIMEDOUT */
- /* WSAECONNREFUSED is ECONNREFUSED */
- /* WSAELOOP is ELOOP */
- /* WSAENAMETOOLONG maps to ENAMETOOLONG */
- /* WSAEHOSTDOWN is EHOSTDOWN */
- /* WSAEHOSTUNREACH is EHOSTUNREACH */
- /* WSAENOTEMPTY maps to ENOTEMPTY */
- /* WSAEPROCLIM is EPROCLIM */
- /* WSAEUSERS is EUSERS */
- /* WSAEDQUOT is EDQUOT */
- /* WSAESTALE is ESTALE */
- /* WSAEREMOTE is EREMOTE */
- case WSASYSNOTREADY:
- msg = "Network subsystem is unavailable";
- break;
- case WSAVERNOTSUPPORTED:
- msg = "Winsock.dll version out of range";
- break;
- case WSANOTINITIALISED:
- msg = "Successful WSAStartup not yet performed";
- break;
- case WSAEDISCON:
- msg = "Graceful shutdown in progress";
- break;
- case WSAENOMORE: case WSA_E_NO_MORE:
- msg = "No more results";
- break;
- case WSAECANCELLED: case WSA_E_CANCELLED:
- msg = "Call was canceled";
- break;
- case WSAEINVALIDPROCTABLE:
- msg = "Procedure call table is invalid";
- break;
- case WSAEINVALIDPROVIDER:
- msg = "Service provider is invalid";
- break;
- case WSAEPROVIDERFAILEDINIT:
- msg = "Service provider failed to initialize";
- break;
- case WSASYSCALLFAILURE:
- msg = "System call failure";
- break;
- case WSASERVICE_NOT_FOUND:
- msg = "Service not found";
- break;
- case WSATYPE_NOT_FOUND:
- msg = "Class type not found";
- break;
- case WSAEREFUSED:
- msg = "Database query was refused";
- break;
- case WSAHOST_NOT_FOUND:
- msg = "Host not found";
- break;
- case WSATRY_AGAIN:
- msg = "Nonauthoritative host not found";
- break;
- case WSANO_RECOVERY:
- msg = "Nonrecoverable error";
- break;
- case WSANO_DATA:
- msg = "Valid name, no data record of requested type";
- break;
- /* WSA_QOS_* omitted */
-# endif
-# endif
-
-# if GNULIB_defined_ENOMSG
- case ENOMSG:
- msg = "No message of desired type";
- break;
-# endif
-
-# if GNULIB_defined_EIDRM
- case EIDRM:
- msg = "Identifier removed";
- break;
-# endif
-
-# if GNULIB_defined_ENOLINK
- case ENOLINK:
- msg = "Link has been severed";
- break;
-# endif
-
-# if GNULIB_defined_EPROTO
- case EPROTO:
- msg = "Protocol error";
- break;
-# endif
-
-# if GNULIB_defined_EMULTIHOP
- case EMULTIHOP:
- msg = "Multihop attempted";
- break;
-# endif
-
-# if GNULIB_defined_EBADMSG
- case EBADMSG:
- msg = "Bad message";
- break;
-# endif
-
-# if GNULIB_defined_EOVERFLOW
- case EOVERFLOW:
- msg = "Value too large for defined data type";
- break;
-# endif
-
-# if GNULIB_defined_ENOTSUP
- case ENOTSUP:
- msg = "Not supported";
- break;
-# endif
-
-# if GNULIB_defined_
- case ECANCELED:
- msg = "Operation canceled";
- break;
-# endif
- }
+ static char buf[STACKBUF_LEN];
+ size_t len;
+ /* Cast away const, due to the historical signature of strerror;
+ callers should not be modifying the string. */
+ const char *msg = strerror_override (n);
if (msg)
return (char *) msg;
- {
- char *result = strerror (n);
+ msg = strerror (n);
- if (result == NULL || result[0] == '\0')
- {
- static char const fmt[] = "Unknown error (%d)";
- static char msg_buf[sizeof fmt + INT_STRLEN_BOUND (n)];
- sprintf (msg_buf, fmt, n);
- return msg_buf;
- }
+ /* Our strerror_r implementation might use the system's strerror
+ buffer, so all other clients of strerror have to see the error
+ copied into a buffer that we manage. This is not thread-safe,
+ even if the system strerror is, but portable programs shouldn't
+ be using strerror if they care about thread-safety. */
+ if (!msg || !*msg)
+ {
+ static char const fmt[] = "Unknown error %d";
+ verify (sizeof buf >= sizeof (fmt) + INT_STRLEN_BOUND (n));
+ sprintf (buf, fmt, n);
+ errno = EINVAL;
+ return buf;
+ }
- return result;
- }
-}
+ /* Fix STACKBUF_LEN if this ever aborts. */
+ len = strlen (msg);
+ if (sizeof buf <= len)
+ abort ();
-#endif
+ return memcpy (buf, msg, len + 1);
+}
/* A GNU-like <string.h>.
- Copyright (C) 1995-1996, 2001-2008 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 2001-2011 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-#ifndef _GL_STRING_H
+#ifndef _@GUARD_PREFIX@_STRING_H
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
/* The include_next requires a split double-inclusion guard. */
#@INCLUDE_NEXT@ @NEXT_STRING_H@
-#ifndef _GL_STRING_H
-#define _GL_STRING_H
+#ifndef _@GUARD_PREFIX@_STRING_H
+#define _@GUARD_PREFIX@_STRING_H
+/* NetBSD 5.0 mis-defines NULL. */
+#include <stddef.h>
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
-# define __attribute__(Spec) /* empty */
+/* MirBSD defines mbslen as a macro. */
+#if @GNULIB_MBSLEN@ && defined __MirBSD__
+# include <wchar.h>
+#endif
+
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+ The attribute __pure__ was added in gcc 2.96. */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#else
+# define _GL_ATTRIBUTE_PURE /* empty */
+#endif
+
+/* NetBSD 5.0 declares strsignal in <unistd.h>, not in <string.h>. */
+/* But in any case avoid namespace pollution on glibc systems. */
+#if (@GNULIB_STRSIGNAL@ || defined GNULIB_POSIXCHECK) && defined __NetBSD__ \
+ && ! defined __GLIBC__
+# include <unistd.h>
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+
+/* Find the index of the least-significant set bit. */
+#if @GNULIB_FFSL@
+# if !@HAVE_FFSL@
+_GL_FUNCDECL_SYS (ffsl, int, (long int i));
# endif
-/* The attribute __pure__ was added in gcc 2.96. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 96)
-# define __pure__ /* empty */
+_GL_CXXALIAS_SYS (ffsl, int, (long int i));
+_GL_CXXALIASWARN (ffsl);
+#elif defined GNULIB_POSIXCHECK
+# undef ffsl
+# if HAVE_RAW_DECL_FFSL
+_GL_WARN_ON_USE (ffsl, "ffsl is not portable - use the ffsl module");
# endif
#endif
-/* The definition of GL_LINK_WARNING is copied here. */
+/* Find the index of the least-significant set bit. */
+#if @GNULIB_FFSLL@
+# if !@HAVE_FFSLL@
+_GL_FUNCDECL_SYS (ffsll, int, (long long int i));
+# endif
+_GL_CXXALIAS_SYS (ffsll, int, (long long int i));
+_GL_CXXALIASWARN (ffsll);
+#elif defined GNULIB_POSIXCHECK
+# undef ffsll
+# if HAVE_RAW_DECL_FFSLL
+_GL_WARN_ON_USE (ffsll, "ffsll is not portable - use the ffsll module");
+# endif
+#endif
-#ifdef __cplusplus
-extern "C" {
+/* Return the first instance of C within N bytes of S, or NULL. */
+#if @GNULIB_MEMCHR@
+# if @REPLACE_MEMCHR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define memchr rpl_memchr
+# endif
+_GL_FUNCDECL_RPL (memchr, void *, (void const *__s, int __c, size_t __n)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (memchr, void *, (void const *__s, int __c, size_t __n));
+# else
+# if ! @HAVE_MEMCHR@
+_GL_FUNCDECL_SYS (memchr, void *, (void const *__s, int __c, size_t __n)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C" { const void * std::memchr (const void *, int, size_t); }
+ extern "C++" { void * std::memchr (void *, int, size_t); } */
+_GL_CXXALIAS_SYS_CAST2 (memchr,
+ void *, (void const *__s, int __c, size_t __n),
+ void const *, (void const *__s, int __c, size_t __n));
+# endif
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (memchr, void *, (void *__s, int __c, size_t __n));
+_GL_CXXALIASWARN1 (memchr, void const *,
+ (void const *__s, int __c, size_t __n));
+# else
+_GL_CXXALIASWARN (memchr);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef memchr
+/* Assume memchr is always declared. */
+_GL_WARN_ON_USE (memchr, "memchr has platform-specific bugs - "
+ "use gnulib module memchr for portability" );
#endif
-
/* Return the first occurrence of NEEDLE in HAYSTACK. */
#if @GNULIB_MEMMEM@
# if @REPLACE_MEMMEM@
-# define memmem rpl_memmem
-# endif
-# if ! @HAVE_DECL_MEMMEM@ || @REPLACE_MEMMEM@
-extern void *memmem (void const *__haystack, size_t __haystack_len,
- void const *__needle, size_t __needle_len)
- __attribute__ ((__pure__));
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define memmem rpl_memmem
+# endif
+_GL_FUNCDECL_RPL (memmem, void *,
+ (void const *__haystack, size_t __haystack_len,
+ void const *__needle, size_t __needle_len)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 3)));
+_GL_CXXALIAS_RPL (memmem, void *,
+ (void const *__haystack, size_t __haystack_len,
+ void const *__needle, size_t __needle_len));
+# else
+# if ! @HAVE_DECL_MEMMEM@
+_GL_FUNCDECL_SYS (memmem, void *,
+ (void const *__haystack, size_t __haystack_len,
+ void const *__needle, size_t __needle_len)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 3)));
+# endif
+_GL_CXXALIAS_SYS (memmem, void *,
+ (void const *__haystack, size_t __haystack_len,
+ void const *__needle, size_t __needle_len));
# endif
+_GL_CXXALIASWARN (memmem);
#elif defined GNULIB_POSIXCHECK
# undef memmem
-# define memmem(a,al,b,bl) \
- (GL_LINK_WARNING ("memmem is unportable and often quadratic - " \
- "use gnulib module memmem-simple for portability, " \
- "and module memmem for speed" ), \
- memmem (a, al, b, bl))
+# if HAVE_RAW_DECL_MEMMEM
+_GL_WARN_ON_USE (memmem, "memmem is unportable and often quadratic - "
+ "use gnulib module memmem-simple for portability, "
+ "and module memmem for speed" );
+# endif
#endif
/* Copy N bytes of SRC to DEST, return pointer to bytes after the
last written byte. */
#if @GNULIB_MEMPCPY@
# if ! @HAVE_MEMPCPY@
-extern void *mempcpy (void *restrict __dest, void const *restrict __src,
- size_t __n);
+_GL_FUNCDECL_SYS (mempcpy, void *,
+ (void *restrict __dest, void const *restrict __src,
+ size_t __n)
+ _GL_ARG_NONNULL ((1, 2)));
# endif
+_GL_CXXALIAS_SYS (mempcpy, void *,
+ (void *restrict __dest, void const *restrict __src,
+ size_t __n));
+_GL_CXXALIASWARN (mempcpy);
#elif defined GNULIB_POSIXCHECK
# undef mempcpy
-# define mempcpy(a,b,n) \
- (GL_LINK_WARNING ("mempcpy is unportable - " \
- "use gnulib module mempcpy for portability"), \
- mempcpy (a, b, n))
+# if HAVE_RAW_DECL_MEMPCPY
+_GL_WARN_ON_USE (mempcpy, "mempcpy is unportable - "
+ "use gnulib module mempcpy for portability");
+# endif
#endif
/* Search backwards through a block for a byte (specified as an int). */
#if @GNULIB_MEMRCHR@
# if ! @HAVE_DECL_MEMRCHR@
-extern void *memrchr (void const *, int, size_t)
- __attribute__ ((__pure__));
+_GL_FUNCDECL_SYS (memrchr, void *, (void const *, int, size_t)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const void * std::memrchr (const void *, int, size_t); }
+ extern "C++" { void * std::memrchr (void *, int, size_t); } */
+_GL_CXXALIAS_SYS_CAST2 (memrchr,
+ void *, (void const *, int, size_t),
+ void const *, (void const *, int, size_t));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t));
+_GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t));
+# else
+_GL_CXXALIASWARN (memrchr);
# endif
#elif defined GNULIB_POSIXCHECK
# undef memrchr
-# define memrchr(a,b,c) \
- (GL_LINK_WARNING ("memrchr is unportable - " \
- "use gnulib module memrchr for portability"), \
- memrchr (a, b, c))
+# if HAVE_RAW_DECL_MEMRCHR
+_GL_WARN_ON_USE (memrchr, "memrchr is unportable - "
+ "use gnulib module memrchr for portability");
+# endif
#endif
/* Find the first occurrence of C in S. More efficient than
occur within N bytes. */
#if @GNULIB_RAWMEMCHR@
# if ! @HAVE_RAWMEMCHR@
-extern void *rawmemchr (void const *__s, int __c_in)
- __attribute__ ((__pure__));
+_GL_FUNCDECL_SYS (rawmemchr, void *, (void const *__s, int __c_in)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const void * std::rawmemchr (const void *, int); }
+ extern "C++" { void * std::rawmemchr (void *, int); } */
+_GL_CXXALIAS_SYS_CAST2 (rawmemchr,
+ void *, (void const *__s, int __c_in),
+ void const *, (void const *__s, int __c_in));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (rawmemchr, void *, (void *__s, int __c_in));
+_GL_CXXALIASWARN1 (rawmemchr, void const *, (void const *__s, int __c_in));
+# else
+_GL_CXXALIASWARN (rawmemchr);
# endif
#elif defined GNULIB_POSIXCHECK
# undef rawmemchr
-# define rawmemchr(a,b) \
- (GL_LINK_WARNING ("rawmemchr is unportable - " \
- "use gnulib module rawmemchr for portability"), \
- rawmemchr (a, b))
+# if HAVE_RAW_DECL_RAWMEMCHR
+_GL_WARN_ON_USE (rawmemchr, "rawmemchr is unportable - "
+ "use gnulib module rawmemchr for portability");
+# endif
#endif
/* Copy SRC to DST, returning the address of the terminating '\0' in DST. */
#if @GNULIB_STPCPY@
# if ! @HAVE_STPCPY@
-extern char *stpcpy (char *restrict __dst, char const *restrict __src);
+_GL_FUNCDECL_SYS (stpcpy, char *,
+ (char *restrict __dst, char const *restrict __src)
+ _GL_ARG_NONNULL ((1, 2)));
# endif
+_GL_CXXALIAS_SYS (stpcpy, char *,
+ (char *restrict __dst, char const *restrict __src));
+_GL_CXXALIASWARN (stpcpy);
#elif defined GNULIB_POSIXCHECK
# undef stpcpy
-# define stpcpy(a,b) \
- (GL_LINK_WARNING ("stpcpy is unportable - " \
- "use gnulib module stpcpy for portability"), \
- stpcpy (a, b))
+# if HAVE_RAW_DECL_STPCPY
+_GL_WARN_ON_USE (stpcpy, "stpcpy is unportable - "
+ "use gnulib module stpcpy for portability");
+# endif
#endif
/* Copy no more than N bytes of SRC to DST, returning a pointer past the
last non-NUL byte written into DST. */
#if @GNULIB_STPNCPY@
-# if ! @HAVE_STPNCPY@
-# define stpncpy gnu_stpncpy
-extern char *stpncpy (char *restrict __dst, char const *restrict __src,
- size_t __n);
+# if @REPLACE_STPNCPY@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef stpncpy
+# define stpncpy rpl_stpncpy
+# endif
+_GL_FUNCDECL_RPL (stpncpy, char *,
+ (char *restrict __dst, char const *restrict __src,
+ size_t __n)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (stpncpy, char *,
+ (char *restrict __dst, char const *restrict __src,
+ size_t __n));
+# else
+# if ! @HAVE_STPNCPY@
+_GL_FUNCDECL_SYS (stpncpy, char *,
+ (char *restrict __dst, char const *restrict __src,
+ size_t __n)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (stpncpy, char *,
+ (char *restrict __dst, char const *restrict __src,
+ size_t __n));
# endif
+_GL_CXXALIASWARN (stpncpy);
#elif defined GNULIB_POSIXCHECK
# undef stpncpy
-# define stpncpy(a,b,n) \
- (GL_LINK_WARNING ("stpncpy is unportable - " \
- "use gnulib module stpncpy for portability"), \
- stpncpy (a, b, n))
+# if HAVE_RAW_DECL_STPNCPY
+_GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - "
+ "use gnulib module stpncpy for portability");
+# endif
#endif
#if defined GNULIB_POSIXCHECK
/* strchr() does not work with multibyte strings if the locale encoding is
GB18030 and the character to be searched is a digit. */
# undef strchr
-# define strchr(s,c) \
- (GL_LINK_WARNING ("strchr cannot work correctly on character strings " \
- "in some multibyte locales - " \
- "use mbschr if you care about internationalization"), \
- strchr (s, c))
+/* Assume strchr is always declared. */
+_GL_WARN_ON_USE (strchr, "strchr cannot work correctly on character strings "
+ "in some multibyte locales - "
+ "use mbschr if you care about internationalization");
#endif
/* Find the first occurrence of C in S or the final NUL byte. */
#if @GNULIB_STRCHRNUL@
-# if ! @HAVE_STRCHRNUL@
-extern char *strchrnul (char const *__s, int __c_in)
- __attribute__ ((__pure__));
+# if @REPLACE_STRCHRNUL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define strchrnul rpl_strchrnul
+# endif
+_GL_FUNCDECL_RPL (strchrnul, char *, (const char *__s, int __c_in)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strchrnul, char *,
+ (const char *str, int ch));
+# else
+# if ! @HAVE_STRCHRNUL@
+_GL_FUNCDECL_SYS (strchrnul, char *, (char const *__s, int __c_in)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const char * std::strchrnul (const char *, int); }
+ extern "C++" { char * std::strchrnul (char *, int); } */
+_GL_CXXALIAS_SYS_CAST2 (strchrnul,
+ char *, (char const *__s, int __c_in),
+ char const *, (char const *__s, int __c_in));
+# endif
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in));
+_GL_CXXALIASWARN1 (strchrnul, char const *, (char const *__s, int __c_in));
+# else
+_GL_CXXALIASWARN (strchrnul);
# endif
#elif defined GNULIB_POSIXCHECK
# undef strchrnul
-# define strchrnul(a,b) \
- (GL_LINK_WARNING ("strchrnul is unportable - " \
- "use gnulib module strchrnul for portability"), \
- strchrnul (a, b))
+# if HAVE_RAW_DECL_STRCHRNUL
+_GL_WARN_ON_USE (strchrnul, "strchrnul is unportable - "
+ "use gnulib module strchrnul for portability");
+# endif
#endif
/* Duplicate S, returning an identical malloc'd string. */
#if @GNULIB_STRDUP@
# if @REPLACE_STRDUP@
-# undef strdup
-# define strdup rpl_strdup
-# endif
-# if !(@HAVE_DECL_STRDUP@ || defined strdup) || @REPLACE_STRDUP@
-extern char *strdup (char const *__s);
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strdup
+# define strdup rpl_strdup
+# endif
+_GL_FUNCDECL_RPL (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strdup, char *, (char const *__s));
+# else
+# if defined __cplusplus && defined GNULIB_NAMESPACE && defined strdup
+ /* strdup exists as a function and as a macro. Get rid of the macro. */
+# undef strdup
+# endif
+# if !(@HAVE_DECL_STRDUP@ || defined strdup)
+_GL_FUNCDECL_SYS (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strdup, char *, (char const *__s));
# endif
+_GL_CXXALIASWARN (strdup);
#elif defined GNULIB_POSIXCHECK
# undef strdup
-# define strdup(a) \
- (GL_LINK_WARNING ("strdup is unportable - " \
- "use gnulib module strdup for portability"), \
- strdup (a))
+# if HAVE_RAW_DECL_STRDUP
+_GL_WARN_ON_USE (strdup, "strdup is unportable - "
+ "use gnulib module strdup for portability");
+# endif
+#endif
+
+/* Append no more than N characters from SRC onto DEST. */
+#if @GNULIB_STRNCAT@
+# if @REPLACE_STRNCAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strncat
+# define strncat rpl_strncat
+# endif
+_GL_FUNCDECL_RPL (strncat, char *, (char *dest, const char *src, size_t n)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (strncat, char *, (char *dest, const char *src, size_t n));
+# else
+_GL_CXXALIAS_SYS (strncat, char *, (char *dest, const char *src, size_t n));
+# endif
+_GL_CXXALIASWARN (strncat);
+#elif defined GNULIB_POSIXCHECK
+# undef strncat
+# if HAVE_RAW_DECL_STRNCAT
+_GL_WARN_ON_USE (strncat, "strncat is unportable - "
+ "use gnulib module strncat for portability");
+# endif
#endif
/* Return a newly allocated copy of at most N bytes of STRING. */
#if @GNULIB_STRNDUP@
-# if ! @HAVE_STRNDUP@
-# undef strndup
-# define strndup rpl_strndup
-# endif
-# if ! @HAVE_STRNDUP@ || ! @HAVE_DECL_STRNDUP@
-extern char *strndup (char const *__string, size_t __n);
+# if @REPLACE_STRNDUP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strndup
+# define strndup rpl_strndup
+# endif
+_GL_FUNCDECL_RPL (strndup, char *, (char const *__string, size_t __n)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strndup, char *, (char const *__string, size_t __n));
+# else
+# if ! @HAVE_DECL_STRNDUP@
+_GL_FUNCDECL_SYS (strndup, char *, (char const *__string, size_t __n)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strndup, char *, (char const *__string, size_t __n));
# endif
+_GL_CXXALIASWARN (strndup);
#elif defined GNULIB_POSIXCHECK
# undef strndup
-# define strndup(a,n) \
- (GL_LINK_WARNING ("strndup is unportable - " \
- "use gnulib module strndup for portability"), \
- strndup (a, n))
+# if HAVE_RAW_DECL_STRNDUP
+_GL_WARN_ON_USE (strndup, "strndup is unportable - "
+ "use gnulib module strndup for portability");
+# endif
#endif
/* Find the length (number of bytes) of STRING, but scan at most
MAXLEN bytes. If no '\0' terminator is found in that many bytes,
return MAXLEN. */
#if @GNULIB_STRNLEN@
-# if ! @HAVE_DECL_STRNLEN@
-extern size_t strnlen (char const *__string, size_t __maxlen)
- __attribute__ ((__pure__));
+# if @REPLACE_STRNLEN@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strnlen
+# define strnlen rpl_strnlen
+# endif
+_GL_FUNCDECL_RPL (strnlen, size_t, (char const *__string, size_t __maxlen)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strnlen, size_t, (char const *__string, size_t __maxlen));
+# else
+# if ! @HAVE_DECL_STRNLEN@
+_GL_FUNCDECL_SYS (strnlen, size_t, (char const *__string, size_t __maxlen)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strnlen, size_t, (char const *__string, size_t __maxlen));
# endif
+_GL_CXXALIASWARN (strnlen);
#elif defined GNULIB_POSIXCHECK
# undef strnlen
-# define strnlen(a,n) \
- (GL_LINK_WARNING ("strnlen is unportable - " \
- "use gnulib module strnlen for portability"), \
- strnlen (a, n))
+# if HAVE_RAW_DECL_STRNLEN
+_GL_WARN_ON_USE (strnlen, "strnlen is unportable - "
+ "use gnulib module strnlen for portability");
+# endif
#endif
#if defined GNULIB_POSIXCHECK
locale encoding is GB18030 and one of the characters to be searched is a
digit. */
# undef strcspn
-# define strcspn(s,a) \
- (GL_LINK_WARNING ("strcspn cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbscspn if you care about internationalization"), \
- strcspn (s, a))
+/* Assume strcspn is always declared. */
+_GL_WARN_ON_USE (strcspn, "strcspn cannot work correctly on character strings "
+ "in multibyte locales - "
+ "use mbscspn if you care about internationalization");
#endif
/* Find the first occurrence in S of any character in ACCEPT. */
#if @GNULIB_STRPBRK@
# if ! @HAVE_STRPBRK@
-extern char *strpbrk (char const *__s, char const *__accept)
- __attribute__ ((__pure__));
+_GL_FUNCDECL_SYS (strpbrk, char *, (char const *__s, char const *__accept)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C" { const char * strpbrk (const char *, const char *); }
+ extern "C++" { char * strpbrk (char *, const char *); } */
+_GL_CXXALIAS_SYS_CAST2 (strpbrk,
+ char *, (char const *__s, char const *__accept),
+ const char *, (char const *__s, char const *__accept));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (strpbrk, char *, (char *__s, char const *__accept));
+_GL_CXXALIASWARN1 (strpbrk, char const *,
+ (char const *__s, char const *__accept));
+# else
+_GL_CXXALIASWARN (strpbrk);
# endif
# if defined GNULIB_POSIXCHECK
/* strpbrk() assumes the second argument is a list of single-byte characters.
locale encoding is GB18030 and one of the characters to be searched is a
digit. */
# undef strpbrk
-# define strpbrk(s,a) \
- (GL_LINK_WARNING ("strpbrk cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbspbrk if you care about internationalization"), \
- strpbrk (s, a))
+_GL_WARN_ON_USE (strpbrk, "strpbrk cannot work correctly on character strings "
+ "in multibyte locales - "
+ "use mbspbrk if you care about internationalization");
# endif
#elif defined GNULIB_POSIXCHECK
# undef strpbrk
-# define strpbrk(s,a) \
- (GL_LINK_WARNING ("strpbrk is unportable - " \
- "use gnulib module strpbrk for portability"), \
- strpbrk (s, a))
+# if HAVE_RAW_DECL_STRPBRK
+_GL_WARN_ON_USE (strpbrk, "strpbrk is unportable - "
+ "use gnulib module strpbrk for portability");
+# endif
#endif
#if defined GNULIB_POSIXCHECK
/* strspn() assumes the second argument is a list of single-byte characters.
Even in this simple case, it cannot work with multibyte strings. */
# undef strspn
-# define strspn(s,a) \
- (GL_LINK_WARNING ("strspn cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbsspn if you care about internationalization"), \
- strspn (s, a))
+/* Assume strspn is always declared. */
+_GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings "
+ "in multibyte locales - "
+ "use mbsspn if you care about internationalization");
#endif
#if defined GNULIB_POSIXCHECK
/* strrchr() does not work with multibyte strings if the locale encoding is
GB18030 and the character to be searched is a digit. */
# undef strrchr
-# define strrchr(s,c) \
- (GL_LINK_WARNING ("strrchr cannot work correctly on character strings " \
- "in some multibyte locales - " \
- "use mbsrchr if you care about internationalization"), \
- strrchr (s, c))
+/* Assume strrchr is always declared. */
+_GL_WARN_ON_USE (strrchr, "strrchr cannot work correctly on character strings "
+ "in some multibyte locales - "
+ "use mbsrchr if you care about internationalization");
#endif
/* Search the next delimiter (char listed in DELIM) starting at *STRINGP.
See also strtok_r(). */
#if @GNULIB_STRSEP@
# if ! @HAVE_STRSEP@
-extern char *strsep (char **restrict __stringp, char const *restrict __delim);
+_GL_FUNCDECL_SYS (strsep, char *,
+ (char **restrict __stringp, char const *restrict __delim)
+ _GL_ARG_NONNULL ((1, 2)));
# endif
+_GL_CXXALIAS_SYS (strsep, char *,
+ (char **restrict __stringp, char const *restrict __delim));
+_GL_CXXALIASWARN (strsep);
# if defined GNULIB_POSIXCHECK
# undef strsep
-# define strsep(s,d) \
- (GL_LINK_WARNING ("strsep cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbssep if you care about internationalization"), \
- strsep (s, d))
+_GL_WARN_ON_USE (strsep, "strsep cannot work correctly on character strings "
+ "in multibyte locales - "
+ "use mbssep if you care about internationalization");
# endif
#elif defined GNULIB_POSIXCHECK
# undef strsep
-# define strsep(s,d) \
- (GL_LINK_WARNING ("strsep is unportable - " \
- "use gnulib module strsep for portability"), \
- strsep (s, d))
+# if HAVE_RAW_DECL_STRSEP
+_GL_WARN_ON_USE (strsep, "strsep is unportable - "
+ "use gnulib module strsep for portability");
+# endif
#endif
#if @GNULIB_STRSTR@
# if @REPLACE_STRSTR@
-# define strstr rpl_strstr
-char *strstr (const char *haystack, const char *needle)
- __attribute__ ((__pure__));
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define strstr rpl_strstr
+# endif
+_GL_FUNCDECL_RPL (strstr, char *, (const char *haystack, const char *needle)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (strstr, char *, (const char *haystack, const char *needle));
+# else
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const char * strstr (const char *, const char *); }
+ extern "C++" { char * strstr (char *, const char *); } */
+_GL_CXXALIAS_SYS_CAST2 (strstr,
+ char *, (const char *haystack, const char *needle),
+ const char *, (const char *haystack, const char *needle));
+# endif
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (strstr, char *, (char *haystack, const char *needle));
+_GL_CXXALIASWARN1 (strstr, const char *,
+ (const char *haystack, const char *needle));
+# else
+_GL_CXXALIASWARN (strstr);
# endif
#elif defined GNULIB_POSIXCHECK
/* strstr() does not work with multibyte strings if the locale encoding is
POSIX says that it operates on "strings", and "string" in POSIX is defined
as a sequence of bytes, not of characters. */
# undef strstr
-# define strstr(a,b) \
- (GL_LINK_WARNING ("strstr is quadratic on many systems, and cannot " \
- "work correctly on character strings in most " \
- "multibyte locales - " \
- "use mbsstr if you care about internationalization, " \
- "or use strstr if you care about speed"), \
- strstr (a, b))
+/* Assume strstr is always declared. */
+_GL_WARN_ON_USE (strstr, "strstr is quadratic on many systems, and cannot "
+ "work correctly on character strings in most "
+ "multibyte locales - "
+ "use mbsstr if you care about internationalization, "
+ "or use strstr if you care about speed");
#endif
/* Find the first occurrence of NEEDLE in HAYSTACK, using case-insensitive
comparison. */
#if @GNULIB_STRCASESTR@
# if @REPLACE_STRCASESTR@
-# define strcasestr rpl_strcasestr
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define strcasestr rpl_strcasestr
+# endif
+_GL_FUNCDECL_RPL (strcasestr, char *,
+ (const char *haystack, const char *needle)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (strcasestr, char *,
+ (const char *haystack, const char *needle));
+# else
+# if ! @HAVE_STRCASESTR@
+_GL_FUNCDECL_SYS (strcasestr, char *,
+ (const char *haystack, const char *needle)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const char * strcasestr (const char *, const char *); }
+ extern "C++" { char * strcasestr (char *, const char *); } */
+_GL_CXXALIAS_SYS_CAST2 (strcasestr,
+ char *, (const char *haystack, const char *needle),
+ const char *, (const char *haystack, const char *needle));
# endif
-# if ! @HAVE_STRCASESTR@ || @REPLACE_STRCASESTR@
-extern char *strcasestr (const char *haystack, const char *needle)
- __attribute__ ((__pure__));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (strcasestr, char *, (char *haystack, const char *needle));
+_GL_CXXALIASWARN1 (strcasestr, const char *,
+ (const char *haystack, const char *needle));
+# else
+_GL_CXXALIASWARN (strcasestr);
# endif
#elif defined GNULIB_POSIXCHECK
/* strcasestr() does not work with multibyte strings:
It is a glibc extension, and glibc implements it only for unibyte
locales. */
# undef strcasestr
-# define strcasestr(a,b) \
- (GL_LINK_WARNING ("strcasestr does work correctly on character strings " \
- "in multibyte locales - " \
- "use mbscasestr if you care about " \
- "internationalization, or use c-strcasestr if you want " \
- "a locale independent function"), \
- strcasestr (a, b))
+# if HAVE_RAW_DECL_STRCASESTR
+_GL_WARN_ON_USE (strcasestr, "strcasestr does work correctly on character "
+ "strings in multibyte locales - "
+ "use mbscasestr if you care about "
+ "internationalization, or use c-strcasestr if you want "
+ "a locale independent function");
+# endif
#endif
/* Parse S into tokens separated by characters in DELIM.
If S is NULL, the saved pointer in SAVE_PTR is used as
the next starting point. For example:
- char s[] = "-abc-=-def";
- char *sp;
- x = strtok_r(s, "-", &sp); // x = "abc", sp = "=-def"
- x = strtok_r(NULL, "-=", &sp); // x = "def", sp = NULL
- x = strtok_r(NULL, "=", &sp); // x = NULL
- // s = "abc\0-def\0"
+ char s[] = "-abc-=-def";
+ char *sp;
+ x = strtok_r(s, "-", &sp); // x = "abc", sp = "=-def"
+ x = strtok_r(NULL, "-=", &sp); // x = "def", sp = NULL
+ x = strtok_r(NULL, "=", &sp); // x = NULL
+ // s = "abc\0-def\0"
This is a variant of strtok() that is multithread-safe.
See also strsep(). */
#if @GNULIB_STRTOK_R@
-# if ! @HAVE_DECL_STRTOK_R@
-extern char *strtok_r (char *restrict s, char const *restrict delim,
- char **restrict save_ptr);
+# if @REPLACE_STRTOK_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strtok_r
+# define strtok_r rpl_strtok_r
+# endif
+_GL_FUNCDECL_RPL (strtok_r, char *,
+ (char *restrict s, char const *restrict delim,
+ char **restrict save_ptr)
+ _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_RPL (strtok_r, char *,
+ (char *restrict s, char const *restrict delim,
+ char **restrict save_ptr));
+# else
+# if @UNDEFINE_STRTOK_R@ || defined GNULIB_POSIXCHECK
+# undef strtok_r
+# endif
+# if ! @HAVE_DECL_STRTOK_R@
+_GL_FUNCDECL_SYS (strtok_r, char *,
+ (char *restrict s, char const *restrict delim,
+ char **restrict save_ptr)
+ _GL_ARG_NONNULL ((2, 3)));
+# endif
+_GL_CXXALIAS_SYS (strtok_r, char *,
+ (char *restrict s, char const *restrict delim,
+ char **restrict save_ptr));
# endif
+_GL_CXXALIASWARN (strtok_r);
# if defined GNULIB_POSIXCHECK
-# undef strtok_r
-# define strtok_r(s,d,p) \
- (GL_LINK_WARNING ("strtok_r cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbstok_r if you care about internationalization"), \
- strtok_r (s, d, p))
+_GL_WARN_ON_USE (strtok_r, "strtok_r cannot work correctly on character "
+ "strings in multibyte locales - "
+ "use mbstok_r if you care about internationalization");
# endif
#elif defined GNULIB_POSIXCHECK
# undef strtok_r
-# define strtok_r(s,d,p) \
- (GL_LINK_WARNING ("strtok_r is unportable - " \
- "use gnulib module strtok_r for portability"), \
- strtok_r (s, d, p))
+# if HAVE_RAW_DECL_STRTOK_R
+_GL_WARN_ON_USE (strtok_r, "strtok_r is unportable - "
+ "use gnulib module strtok_r for portability");
+# endif
#endif
#if @GNULIB_MBSLEN@
/* Return the number of multibyte characters in the character string STRING.
This considers multibyte characters, unlike strlen, which counts bytes. */
-extern size_t mbslen (const char *string);
+# ifdef __MirBSD__ /* MirBSD defines mbslen as a macro. Override it. */
+# undef mbslen
+# endif
+# if @HAVE_MBSLEN@ /* AIX, OSF/1, MirBSD define mbslen already in libc. */
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define mbslen rpl_mbslen
+# endif
+_GL_FUNCDECL_RPL (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mbslen, size_t, (const char *string));
+# else
+_GL_FUNCDECL_SYS (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_SYS (mbslen, size_t, (const char *string));
+# endif
+_GL_CXXALIASWARN (mbslen);
#endif
#if @GNULIB_MBSNLEN@
/* Return the number of multibyte characters in the character string starting
at STRING and ending at STRING + LEN. */
-extern size_t mbsnlen (const char *string, size_t len);
+_GL_EXTERN_C size_t mbsnlen (const char *string, size_t len)
+ _GL_ARG_NONNULL ((1));
#endif
#if @GNULIB_MBSCHR@
and return a pointer to it. Return NULL if C is not found in STRING.
Unlike strchr(), this function works correctly in multibyte locales with
encodings such as GB18030. */
-# define mbschr rpl_mbschr /* avoid collision with HP-UX function */
-extern char * mbschr (const char *string, int c);
+# if defined __hpux
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define mbschr rpl_mbschr /* avoid collision with HP-UX function */
+# endif
+_GL_FUNCDECL_RPL (mbschr, char *, (const char *string, int c)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mbschr, char *, (const char *string, int c));
+# else
+_GL_FUNCDECL_SYS (mbschr, char *, (const char *string, int c)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_SYS (mbschr, char *, (const char *string, int c));
+# endif
+_GL_CXXALIASWARN (mbschr);
#endif
#if @GNULIB_MBSRCHR@
and return a pointer to it. Return NULL if C is not found in STRING.
Unlike strrchr(), this function works correctly in multibyte locales with
encodings such as GB18030. */
-# define mbsrchr rpl_mbsrchr /* avoid collision with HP-UX function */
-extern char * mbsrchr (const char *string, int c);
+# if defined __hpux || defined __INTERIX
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define mbsrchr rpl_mbsrchr /* avoid collision with system function */
+# endif
+_GL_FUNCDECL_RPL (mbsrchr, char *, (const char *string, int c)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mbsrchr, char *, (const char *string, int c));
+# else
+_GL_FUNCDECL_SYS (mbsrchr, char *, (const char *string, int c)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_SYS (mbsrchr, char *, (const char *string, int c));
+# endif
+_GL_CXXALIASWARN (mbsrchr);
#endif
#if @GNULIB_MBSSTR@
string HAYSTACK. Return NULL if NEEDLE is not found in HAYSTACK.
Unlike strstr(), this function works correctly in multibyte locales with
encodings different from UTF-8. */
-extern char * mbsstr (const char *haystack, const char *needle);
+_GL_EXTERN_C char * mbsstr (const char *haystack, const char *needle)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSCASECMP@
Note: This function may, in multibyte locales, return 0 for strings of
different lengths!
Unlike strcasecmp(), this function works correctly in multibyte locales. */
-extern int mbscasecmp (const char *s1, const char *s2);
+_GL_EXTERN_C int mbscasecmp (const char *s1, const char *s2)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSNCASECMP@
of different lengths!
Unlike strncasecmp(), this function works correctly in multibyte locales.
But beware that N is not a byte count but a character count! */
-extern int mbsncasecmp (const char *s1, const char *s2, size_t n);
+_GL_EXTERN_C int mbsncasecmp (const char *s1, const char *s2, size_t n)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSPCASECMP@
/* Compare the initial segment of the character string STRING consisting of
at most mbslen (PREFIX) characters with the character string PREFIX,
- ignoring case, returning less than, equal to or greater than zero if this
- initial segment is lexicographically less than, equal to or greater than
- PREFIX.
- Note: This function may, in multibyte locales, return 0 if STRING is of
- smaller length than PREFIX!
+ ignoring case. If the two match, return a pointer to the first byte
+ after this prefix in STRING. Otherwise, return NULL.
+ Note: This function may, in multibyte locales, return non-NULL if STRING
+ is of smaller length than PREFIX!
Unlike strncasecmp(), this function works correctly in multibyte
locales. */
-extern char * mbspcasecmp (const char *string, const char *prefix);
+_GL_EXTERN_C char * mbspcasecmp (const char *string, const char *prefix)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSCASESTR@
Note: This function may, in multibyte locales, return success even if
strlen (haystack) < strlen (needle) !
Unlike strcasestr(), this function works correctly in multibyte locales. */
-extern char * mbscasestr (const char *haystack, const char *needle);
+_GL_EXTERN_C char * mbscasestr (const char *haystack, const char *needle)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSCSPN@
beginning of the string to this occurrence, or to the end of the string
if none exists.
Unlike strcspn(), this function works correctly in multibyte locales. */
-extern size_t mbscspn (const char *string, const char *accept);
+_GL_EXTERN_C size_t mbscspn (const char *string, const char *accept)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSPBRK@
in the character string ACCEPT. Return the pointer to it, or NULL if none
exists.
Unlike strpbrk(), this function works correctly in multibyte locales. */
-# define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */
-extern char * mbspbrk (const char *string, const char *accept);
+# if defined __hpux
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */
+# endif
+_GL_FUNCDECL_RPL (mbspbrk, char *, (const char *string, const char *accept)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (mbspbrk, char *, (const char *string, const char *accept));
+# else
+_GL_FUNCDECL_SYS (mbspbrk, char *, (const char *string, const char *accept)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_SYS (mbspbrk, char *, (const char *string, const char *accept));
+# endif
+_GL_CXXALIASWARN (mbspbrk);
#endif
#if @GNULIB_MBSSPN@
beginning of the string to this occurrence, or to the end of the string
if none exists.
Unlike strspn(), this function works correctly in multibyte locales. */
-extern size_t mbsspn (const char *string, const char *reject);
+_GL_EXTERN_C size_t mbsspn (const char *string, const char *reject)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSSEP@
Caveat: The identity of the delimiting character is lost.
See also mbstok_r(). */
-extern char * mbssep (char **stringp, const char *delim);
+_GL_EXTERN_C char * mbssep (char **stringp, const char *delim)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSTOK_R@
the character string DELIM.
If STRING is NULL, the saved pointer in SAVE_PTR is used as
the next starting point. For example:
- char s[] = "-abc-=-def";
- char *sp;
- x = mbstok_r(s, "-", &sp); // x = "abc", sp = "=-def"
- x = mbstok_r(NULL, "-=", &sp); // x = "def", sp = NULL
- x = mbstok_r(NULL, "=", &sp); // x = NULL
- // s = "abc\0-def\0"
+ char s[] = "-abc-=-def";
+ char *sp;
+ x = mbstok_r(s, "-", &sp); // x = "abc", sp = "=-def"
+ x = mbstok_r(NULL, "-=", &sp); // x = "def", sp = NULL
+ x = mbstok_r(NULL, "=", &sp); // x = NULL
+ // s = "abc\0-def\0"
Caveat: It modifies the original string.
Caveat: These functions cannot be used on constant strings.
Caveat: The identity of the delimiting character is lost.
See also mbssep(). */
-extern char * mbstok_r (char *string, const char *delim, char **save_ptr);
+_GL_EXTERN_C char * mbstok_r (char *string, const char *delim, char **save_ptr)
+ _GL_ARG_NONNULL ((2, 3));
#endif
/* Map any int, typically from errno, into an error message. */
#if @GNULIB_STRERROR@
# if @REPLACE_STRERROR@
-# undef strerror
-# define strerror rpl_strerror
-extern char *strerror (int);
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strerror
+# define strerror rpl_strerror
+# endif
+_GL_FUNCDECL_RPL (strerror, char *, (int));
+_GL_CXXALIAS_RPL (strerror, char *, (int));
+# else
+_GL_CXXALIAS_SYS (strerror, char *, (int));
# endif
+_GL_CXXALIASWARN (strerror);
#elif defined GNULIB_POSIXCHECK
# undef strerror
-# define strerror(e) \
- (GL_LINK_WARNING ("strerror is unportable - " \
- "use gnulib module strerror to guarantee non-NULL result"), \
- strerror (e))
+/* Assume strerror is always declared. */
+_GL_WARN_ON_USE (strerror, "strerror is unportable - "
+ "use gnulib module strerror to guarantee non-NULL result");
+#endif
+
+/* Map any int, typically from errno, into an error message. Multithread-safe.
+ Uses the POSIX declaration, not the glibc declaration. */
+#if @GNULIB_STRERROR_R@
+# if @REPLACE_STRERROR_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strerror_r
+# define strerror_r rpl_strerror_r
+# endif
+_GL_FUNCDECL_RPL (strerror_r, int, (int errnum, char *buf, size_t buflen)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (strerror_r, int, (int errnum, char *buf, size_t buflen));
+# else
+# if !@HAVE_DECL_STRERROR_R@
+_GL_FUNCDECL_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen));
+# endif
+# if @HAVE_DECL_STRERROR_R@
+_GL_CXXALIASWARN (strerror_r);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strerror_r
+# if HAVE_RAW_DECL_STRERROR_R
+_GL_WARN_ON_USE (strerror_r, "strerror_r is unportable - "
+ "use gnulib module strerror_r-posix for portability");
+# endif
#endif
#if @GNULIB_STRSIGNAL@
# if @REPLACE_STRSIGNAL@
-# define strsignal rpl_strsignal
-# endif
-# if ! @HAVE_DECL_STRSIGNAL@ || @REPLACE_STRSIGNAL@
-extern char *strsignal (int __sig);
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define strsignal rpl_strsignal
+# endif
+_GL_FUNCDECL_RPL (strsignal, char *, (int __sig));
+_GL_CXXALIAS_RPL (strsignal, char *, (int __sig));
+# else
+# if ! @HAVE_DECL_STRSIGNAL@
+_GL_FUNCDECL_SYS (strsignal, char *, (int __sig));
+# endif
+/* Need to cast, because on Cygwin 1.5.x systems, the return type is
+ 'const char *'. */
+_GL_CXXALIAS_SYS_CAST (strsignal, char *, (int __sig));
# endif
+_GL_CXXALIASWARN (strsignal);
#elif defined GNULIB_POSIXCHECK
# undef strsignal
-# define strsignal(a) \
- (GL_LINK_WARNING ("strsignal is unportable - " \
- "use gnulib module strsignal for portability"), \
- strsignal (a))
+# if HAVE_RAW_DECL_STRSIGNAL
+_GL_WARN_ON_USE (strsignal, "strsignal is unportable - "
+ "use gnulib module strsignal for portability");
+# endif
#endif
#if @GNULIB_STRVERSCMP@
# if !@HAVE_STRVERSCMP@
-extern int strverscmp (const char *, const char *);
+_GL_FUNCDECL_SYS (strverscmp, int, (const char *, const char *)
+ _GL_ARG_NONNULL ((1, 2)));
# endif
+_GL_CXXALIAS_SYS (strverscmp, int, (const char *, const char *));
+_GL_CXXALIASWARN (strverscmp);
#elif defined GNULIB_POSIXCHECK
# undef strverscmp
-# define strverscmp(a, b) \
- (GL_LINK_WARNING ("strverscmp is unportable - " \
- "use gnulib module strverscmp for portability"), \
- strverscmp (a, b))
+# if HAVE_RAW_DECL_STRVERSCMP
+_GL_WARN_ON_USE (strverscmp, "strverscmp is unportable - "
+ "use gnulib module strverscmp for portability");
+# endif
#endif
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GL_STRING_H */
-#endif /* _GL_STRING_H */
+#endif /* _@GUARD_PREFIX@_STRING_H */
+#endif /* _@GUARD_PREFIX@_STRING_H */
/* Substitute for and wrapper around <unistd.h>.
- Copyright (C) 2003-2009 Free Software Foundation, Inc.
+ Copyright (C) 2003-2011 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-#ifndef _GL_UNISTD_H
-
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
+
+/* Special invocation convention:
+ - On mingw, several headers, including <winsock2.h>, include <unistd.h>,
+ but we need to ensure that both the system <unistd.h> and <winsock2.h>
+ are completely included before we replace gethostname. */
+#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \
+ && !defined _GL_WINSOCK2_H_WITNESS && defined _WINSOCK2_H
+/* <unistd.h> is being indirectly included for the first time from
+ <winsock2.h>; avoid declaring any overrides. */
+# if @HAVE_UNISTD_H@
+# @INCLUDE_NEXT@ @NEXT_UNISTD_H@
+# else
+# error unexpected; report this to bug-gnulib@gnu.org
+# endif
+# define _GL_WINSOCK2_H_WITNESS
+
+/* Normal invocation. */
+#elif !defined _@GUARD_PREFIX@_UNISTD_H
/* The include_next requires a split double-inclusion guard. */
#if @HAVE_UNISTD_H@
# @INCLUDE_NEXT@ @NEXT_UNISTD_H@
#endif
-#ifndef _GL_UNISTD_H
-#define _GL_UNISTD_H
+/* Get all possible declarations of gethostname(). */
+#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \
+ && !defined _GL_INCLUDING_WINSOCK2_H
+# define _GL_INCLUDING_WINSOCK2_H
+# include <winsock2.h>
+# undef _GL_INCLUDING_WINSOCK2_H
+#endif
+
+#if !defined _@GUARD_PREFIX@_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H
+#define _@GUARD_PREFIX@_UNISTD_H
+
+/* NetBSD 5.0 mis-defines NULL. Also get size_t. */
+#include <stddef.h>
/* mingw doesn't define the SEEK_* or *_FILENO macros in <unistd.h>. */
-#if !(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET)
+/* Cygwin 1.7.1 declares symlinkat in <stdio.h>, not in <unistd.h>. */
+/* But avoid namespace pollution on glibc systems. */
+#if (!(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) \
+ || ((@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK) \
+ && defined __CYGWIN__)) \
+ && ! defined __GLIBC__
# include <stdio.h>
#endif
+/* Cygwin 1.7.1 declares unlinkat in <fcntl.h>, not in <unistd.h>. */
+/* But avoid namespace pollution on glibc systems. */
+#if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) && defined __CYGWIN__ \
+ && ! defined __GLIBC__
+# include <fcntl.h>
+#endif
+
/* mingw fails to declare _exit in <unistd.h>. */
-/* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>. */
-#include <stdlib.h>
+/* mingw, MSVC, BeOS, Haiku declare environ in <stdlib.h>, not in
+ <unistd.h>. */
+/* Solaris declares getcwd not only in <unistd.h> but also in <stdlib.h>. */
+/* But avoid namespace pollution on glibc systems. */
+#ifndef __GLIBC__
+# include <stdlib.h>
+#endif
+
+/* Native Windows platforms declare chdir, getcwd, rmdir in
+ <io.h> and/or <direct.h>, not in <unistd.h>. */
+#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \
+ || defined GNULIB_POSIXCHECK) \
+ && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+# include <io.h> /* mingw32, mingw64 */
+# include <direct.h> /* mingw64, MSVC 9 */
+#endif
+
+/* AIX and OSF/1 5.1 declare getdomainname in <netdb.h>, not in <unistd.h>.
+ NonStop Kernel declares gethostname in <netdb.h>, not in <unistd.h>. */
+/* But avoid namespace pollution on glibc systems. */
+#if ((@GNULIB_GETDOMAINNAME@ && (defined _AIX || defined __osf__)) \
+ || (@GNULIB_GETHOSTNAME@ && defined __TANDEM)) \
+ && !defined __GLIBC__
+# include <netdb.h>
+#endif
-#if @GNULIB_WRITE@ && @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@
+/* MSVC defines off_t in <sys/types.h>. */
+#if !@HAVE_UNISTD_H@
+/* Get off_t. */
+# include <sys/types.h>
+#endif
+
+#if (@GNULIB_READ@ || @GNULIB_WRITE@ \
+ || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \
+ || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK)
/* Get ssize_t. */
# include <sys/types.h>
#endif
-#if @GNULIB_GETHOSTNAME@
-/* Get all possible declarations of gethostname(). */
-# if @UNISTD_H_HAVE_WINSOCK2_H@
-# include <winsock2.h>
-# if !defined _GL_SYS_SOCKET_H
+/* Get getopt(), optarg, optind, opterr, optopt.
+ But avoid namespace pollution on glibc systems. */
+#if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT
+# include <getopt.h>
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+
+/* Hide some function declarations from <winsock2.h>. */
+
+#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@
+# if !defined _@GUARD_PREFIX@_SYS_SOCKET_H
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# undef socket
-# define socket socket_used_without_including_sys_socket_h
+# define socket socket_used_without_including_sys_socket_h
# undef connect
-# define connect connect_used_without_including_sys_socket_h
+# define connect connect_used_without_including_sys_socket_h
# undef accept
-# define accept accept_used_without_including_sys_socket_h
+# define accept accept_used_without_including_sys_socket_h
# undef bind
-# define bind bind_used_without_including_sys_socket_h
+# define bind bind_used_without_including_sys_socket_h
# undef getpeername
-# define getpeername getpeername_used_without_including_sys_socket_h
+# define getpeername getpeername_used_without_including_sys_socket_h
# undef getsockname
-# define getsockname getsockname_used_without_including_sys_socket_h
+# define getsockname getsockname_used_without_including_sys_socket_h
# undef getsockopt
-# define getsockopt getsockopt_used_without_including_sys_socket_h
+# define getsockopt getsockopt_used_without_including_sys_socket_h
# undef listen
-# define listen listen_used_without_including_sys_socket_h
+# define listen listen_used_without_including_sys_socket_h
# undef recv
-# define recv recv_used_without_including_sys_socket_h
+# define recv recv_used_without_including_sys_socket_h
# undef send
-# define send send_used_without_including_sys_socket_h
+# define send send_used_without_including_sys_socket_h
# undef recvfrom
-# define recvfrom recvfrom_used_without_including_sys_socket_h
+# define recvfrom recvfrom_used_without_including_sys_socket_h
# undef sendto
-# define sendto sendto_used_without_including_sys_socket_h
+# define sendto sendto_used_without_including_sys_socket_h
# undef setsockopt
-# define setsockopt setsockopt_used_without_including_sys_socket_h
+# define setsockopt setsockopt_used_without_including_sys_socket_h
# undef shutdown
-# define shutdown shutdown_used_without_including_sys_socket_h
+# define shutdown shutdown_used_without_including_sys_socket_h
+# else
+ _GL_WARN_ON_USE (socket,
+ "socket() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (connect,
+ "connect() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (accept,
+ "accept() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (bind,
+ "bind() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (getpeername,
+ "getpeername() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (getsockname,
+ "getsockname() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (getsockopt,
+ "getsockopt() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (listen,
+ "listen() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (recv,
+ "recv() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (send,
+ "send() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (recvfrom,
+ "recvfrom() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (sendto,
+ "sendto() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (setsockopt,
+ "setsockopt() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (shutdown,
+ "shutdown() used without including <sys/socket.h>");
# endif
-# if !defined _GL_SYS_SELECT_H
+# endif
+# if !defined _@GUARD_PREFIX@_SYS_SELECT_H
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# undef select
-# define select select_used_without_including_sys_select_h
+# define select select_used_without_including_sys_select_h
+# else
+ _GL_WARN_ON_USE (select,
+ "select() used without including <sys/select.h>");
# endif
# endif
#endif
-/* The definition of GL_LINK_WARNING is copied here. */
-
/* OS/2 EMX lacks these macros. */
#ifndef STDIN_FILENO
# define STDERR_FILENO 2
#endif
+/* Ensure *_OK macros exist. */
+#ifndef F_OK
+# define F_OK 0
+# define X_OK 1
+# define W_OK 2
+# define R_OK 4
+#endif
+
+
/* Declare overridden functions. */
-#ifdef __cplusplus
-extern "C" {
+
+#if defined GNULIB_POSIXCHECK
+/* The access() function is a security risk. */
+_GL_WARN_ON_USE (access, "the access function is a security risk - "
+ "use the gnulib module faccessat instead");
+#endif
+
+
+#if @GNULIB_CHDIR@
+_GL_CXXALIAS_SYS (chdir, int, (const char *file) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIASWARN (chdir);
+#elif defined GNULIB_POSIXCHECK
+# undef chdir
+# if HAVE_RAW_DECL_CHDIR
+_GL_WARN_ON_USE (chown, "chdir is not always in <unistd.h> - "
+ "use gnulib module chdir for portability");
+# endif
#endif
#if @GNULIB_CHOWN@
-# if @REPLACE_CHOWN@
-# ifndef REPLACE_CHOWN
-# define REPLACE_CHOWN 1
-# endif
-# if REPLACE_CHOWN
/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
to GID (if GID is not -1). Follow symbolic links.
Return 0 if successful, otherwise -1 and errno set.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/chown.html>. */
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html. */
+# if @REPLACE_CHOWN@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef chown
# define chown rpl_chown
-extern int chown (const char *file, uid_t uid, gid_t gid);
# endif
+_GL_FUNCDECL_RPL (chown, int, (const char *file, uid_t uid, gid_t gid)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (chown, int, (const char *file, uid_t uid, gid_t gid));
+# else
+# if !@HAVE_CHOWN@
+_GL_FUNCDECL_SYS (chown, int, (const char *file, uid_t uid, gid_t gid)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (chown, int, (const char *file, uid_t uid, gid_t gid));
# endif
+_GL_CXXALIASWARN (chown);
#elif defined GNULIB_POSIXCHECK
# undef chown
-# define chown(f,u,g) \
- (GL_LINK_WARNING ("chown fails to follow symlinks on some systems and " \
- "doesn't treat a uid or gid of -1 on some systems - " \
- "use gnulib module chown for portability"), \
- chown (f, u, g))
+# if HAVE_RAW_DECL_CHOWN
+_GL_WARN_ON_USE (chown, "chown fails to follow symlinks on some systems and "
+ "doesn't treat a uid or gid of -1 on some systems - "
+ "use gnulib module chown for portability");
+# endif
#endif
#if @GNULIB_CLOSE@
# if @REPLACE_CLOSE@
/* Automatically included by modules that need a replacement for close. */
-# undef close
-# define close rpl_close
-extern int close (int);
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef close
+# define close rpl_close
+# endif
+_GL_FUNCDECL_RPL (close, int, (int fd));
+_GL_CXXALIAS_RPL (close, int, (int fd));
+# else
+_GL_CXXALIAS_SYS (close, int, (int fd));
# endif
-#elif @UNISTD_H_HAVE_WINSOCK2_H@
+_GL_CXXALIASWARN (close);
+#elif @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
# undef close
# define close close_used_without_requesting_gnulib_module_close
#elif defined GNULIB_POSIXCHECK
# undef close
-# define close(f) \
- (GL_LINK_WARNING ("close does not portably work on sockets - " \
- "use gnulib module close for portability"), \
- close (f))
+/* Assume close is always declared. */
+_GL_WARN_ON_USE (close, "close does not portably work on sockets - "
+ "use gnulib module close for portability");
+#endif
+
+
+#if @GNULIB_DUP@
+# if @REPLACE_DUP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define dup rpl_dup
+# endif
+_GL_FUNCDECL_RPL (dup, int, (int oldfd));
+_GL_CXXALIAS_RPL (dup, int, (int oldfd));
+# else
+_GL_CXXALIAS_SYS (dup, int, (int oldfd));
+# endif
+_GL_CXXALIASWARN (dup);
+#elif defined GNULIB_POSIXCHECK
+# undef dup
+# if HAVE_RAW_DECL_DUP
+_GL_WARN_ON_USE (dup, "dup is unportable - "
+ "use gnulib module dup for portability");
+# endif
#endif
#if @GNULIB_DUP2@
-# if !@HAVE_DUP2@
/* Copy the file descriptor OLDFD into file descriptor NEWFD. Do nothing if
NEWFD = OLDFD, otherwise close NEWFD first if it is open.
- Return 0 if successful, otherwise -1 and errno set.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/dup2.html>. */
-extern int dup2 (int oldfd, int newfd);
+ Return newfd if successful, otherwise -1 and errno set.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/dup2.html>. */
+# if @REPLACE_DUP2@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define dup2 rpl_dup2
+# endif
+_GL_FUNCDECL_RPL (dup2, int, (int oldfd, int newfd));
+_GL_CXXALIAS_RPL (dup2, int, (int oldfd, int newfd));
+# else
+# if !@HAVE_DUP2@
+_GL_FUNCDECL_SYS (dup2, int, (int oldfd, int newfd));
+# endif
+_GL_CXXALIAS_SYS (dup2, int, (int oldfd, int newfd));
# endif
+_GL_CXXALIASWARN (dup2);
#elif defined GNULIB_POSIXCHECK
# undef dup2
-# define dup2(o,n) \
- (GL_LINK_WARNING ("dup2 is unportable - " \
- "use gnulib module dup2 for portability"), \
- dup2 (o, n))
+# if HAVE_RAW_DECL_DUP2
+_GL_WARN_ON_USE (dup2, "dup2 is unportable - "
+ "use gnulib module dup2 for portability");
+# endif
+#endif
+
+
+#if @GNULIB_DUP3@
+/* Copy the file descriptor OLDFD into file descriptor NEWFD, with the
+ specified flags.
+ The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
+ and O_TEXT, O_BINARY (defined in "binary-io.h").
+ Close NEWFD first if it is open.
+ Return newfd if successful, otherwise -1 and errno set.
+ See the Linux man page at
+ <http://www.kernel.org/doc/man-pages/online/pages/man2/dup3.2.html>. */
+# if @HAVE_DUP3@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define dup3 rpl_dup3
+# endif
+_GL_FUNCDECL_RPL (dup3, int, (int oldfd, int newfd, int flags));
+_GL_CXXALIAS_RPL (dup3, int, (int oldfd, int newfd, int flags));
+# else
+_GL_FUNCDECL_SYS (dup3, int, (int oldfd, int newfd, int flags));
+_GL_CXXALIAS_SYS (dup3, int, (int oldfd, int newfd, int flags));
+# endif
+_GL_CXXALIASWARN (dup3);
+#elif defined GNULIB_POSIXCHECK
+# undef dup3
+# if HAVE_RAW_DECL_DUP3
+_GL_WARN_ON_USE (dup3, "dup3 is unportable - "
+ "use gnulib module dup3 for portability");
+# endif
#endif
# include <crt_externs.h>
# define environ (*_NSGetEnviron ())
# else
+# ifdef __cplusplus
+extern "C" {
+# endif
extern char **environ;
+# ifdef __cplusplus
+}
+# endif
# endif
# endif
#elif defined GNULIB_POSIXCHECK
-# undef environ
-# define environ \
- (GL_LINK_WARNING ("environ is unportable - " \
- "use gnulib module environ for portability"), \
- environ)
+# if HAVE_RAW_DECL_ENVIRON
+static inline char ***
+rpl_environ (void)
+{
+ return &environ;
+}
+_GL_WARN_ON_USE (rpl_environ, "environ is unportable - "
+ "use gnulib module environ for portability");
+# undef environ
+# define environ (*rpl_environ ())
+# endif
#endif
#if @GNULIB_EUIDACCESS@
-# if !@HAVE_EUIDACCESS@
-/* Like access(), except that is uses the effective user id and group id of
+/* Like access(), except that it uses the effective user id and group id of
the current process. */
-extern int euidaccess (const char *filename, int mode);
+# if !@HAVE_EUIDACCESS@
+_GL_FUNCDECL_SYS (euidaccess, int, (const char *filename, int mode)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (euidaccess, int, (const char *filename, int mode));
+_GL_CXXALIASWARN (euidaccess);
+# if defined GNULIB_POSIXCHECK
+/* Like access(), this function is a security risk. */
+_GL_WARN_ON_USE (euidaccess, "the euidaccess function is a security risk - "
+ "use the gnulib module faccessat instead");
# endif
#elif defined GNULIB_POSIXCHECK
# undef euidaccess
-# define euidaccess(f,m) \
- (GL_LINK_WARNING ("euidaccess is unportable - " \
- "use gnulib module euidaccess for portability"), \
- euidaccess (f, m))
+# if HAVE_RAW_DECL_EUIDACCESS
+_GL_WARN_ON_USE (euidaccess, "euidaccess is unportable - "
+ "use gnulib module euidaccess for portability");
+# endif
#endif
-#if @GNULIB_FCHDIR@
-# if @REPLACE_FCHDIR@
+#if @GNULIB_FACCESSAT@
+# if !@HAVE_FACCESSAT@
+_GL_FUNCDECL_SYS (faccessat, int,
+ (int fd, char const *file, int mode, int flag)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (faccessat, int,
+ (int fd, char const *file, int mode, int flag));
+_GL_CXXALIASWARN (faccessat);
+#elif defined GNULIB_POSIXCHECK
+# undef faccessat
+# if HAVE_RAW_DECL_FACCESSAT
+_GL_WARN_ON_USE (faccessat, "faccessat is not portable - "
+ "use gnulib module faccessat for portability");
+# endif
+#endif
+
+#if @GNULIB_FCHDIR@
/* Change the process' current working directory to the directory on which
the given file descriptor is open.
Return 0 if successful, otherwise -1 and errno set.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/fchdir.html>. */
-extern int fchdir (int /*fd*/);
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fchdir.html>. */
+# if ! @HAVE_FCHDIR@
+_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
+
+/* Gnulib internal hooks needed to maintain the fchdir metadata. */
+_GL_EXTERN_C int _gl_register_fd (int fd, const char *filename)
+ _GL_ARG_NONNULL ((2));
+_GL_EXTERN_C void _gl_unregister_fd (int fd);
+_GL_EXTERN_C int _gl_register_dup (int oldfd, int newfd);
+_GL_EXTERN_C const char *_gl_directory_name (int fd);
+
+# else
+# if !@HAVE_DECL_FCHDIR@
+_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
+# endif
+# endif
+_GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/));
+_GL_CXXALIASWARN (fchdir);
+#elif defined GNULIB_POSIXCHECK
+# undef fchdir
+# if HAVE_RAW_DECL_FCHDIR
+_GL_WARN_ON_USE (fchdir, "fchdir is unportable - "
+ "use gnulib module fchdir for portability");
+# endif
+#endif
-# define dup rpl_dup
-extern int dup (int);
-# define dup2 rpl_dup2
-extern int dup2 (int, int);
+#if @GNULIB_FCHOWNAT@
+# if @REPLACE_FCHOWNAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fchownat
+# define fchownat rpl_fchownat
+# endif
+_GL_FUNCDECL_RPL (fchownat, int, (int fd, char const *file,
+ uid_t owner, gid_t group, int flag)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (fchownat, int, (int fd, char const *file,
+ uid_t owner, gid_t group, int flag));
+# else
+# if !@HAVE_FCHOWNAT@
+_GL_FUNCDECL_SYS (fchownat, int, (int fd, char const *file,
+ uid_t owner, gid_t group, int flag)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (fchownat, int, (int fd, char const *file,
+ uid_t owner, gid_t group, int flag));
# endif
+_GL_CXXALIASWARN (fchownat);
#elif defined GNULIB_POSIXCHECK
-# undef fchdir
-# define fchdir(f) \
- (GL_LINK_WARNING ("fchdir is unportable - " \
- "use gnulib module fchdir for portability"), \
- fchdir (f))
+# undef fchownat
+# if HAVE_RAW_DECL_FCHOWNAT
+_GL_WARN_ON_USE (fchownat, "fchownat is not portable - "
+ "use gnulib module openat for portability");
+# endif
#endif
-#if @GNULIB_FSYNC@
+#if @GNULIB_FDATASYNC@
/* Synchronize changes to a file.
Return 0 if successful, otherwise -1 and errno set.
- See POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/fsync.html>. */
+ See POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html>. */
+# if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@
+_GL_FUNCDECL_SYS (fdatasync, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (fdatasync, int, (int fd));
+_GL_CXXALIASWARN (fdatasync);
+#elif defined GNULIB_POSIXCHECK
+# undef fdatasync
+# if HAVE_RAW_DECL_FDATASYNC
+_GL_WARN_ON_USE (fdatasync, "fdatasync is unportable - "
+ "use gnulib module fdatasync for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FSYNC@
+/* Synchronize changes, including metadata, to a file.
+ Return 0 if successful, otherwise -1 and errno set.
+ See POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fsync.html>. */
# if !@HAVE_FSYNC@
-extern int fsync (int fd);
+_GL_FUNCDECL_SYS (fsync, int, (int fd));
# endif
+_GL_CXXALIAS_SYS (fsync, int, (int fd));
+_GL_CXXALIASWARN (fsync);
#elif defined GNULIB_POSIXCHECK
# undef fsync
-# define fsync(fd) \
- (GL_LINK_WARNING ("fsync is unportable - " \
- "use gnulib module fsync for portability"), \
- fsync (fd))
+# if HAVE_RAW_DECL_FSYNC
+_GL_WARN_ON_USE (fsync, "fsync is unportable - "
+ "use gnulib module fsync for portability");
+# endif
#endif
#if @GNULIB_FTRUNCATE@
-# if !@HAVE_FTRUNCATE@
/* Change the size of the file to which FD is opened to become equal to LENGTH.
Return 0 if successful, otherwise -1 and errno set.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/ftruncate.html>. */
-extern int ftruncate (int fd, off_t length);
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html>. */
+# if !@HAVE_FTRUNCATE@
+_GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length));
# endif
+_GL_CXXALIAS_SYS (ftruncate, int, (int fd, off_t length));
+_GL_CXXALIASWARN (ftruncate);
#elif defined GNULIB_POSIXCHECK
# undef ftruncate
-# define ftruncate(f,l) \
- (GL_LINK_WARNING ("ftruncate is unportable - " \
- "use gnulib module ftruncate for portability"), \
- ftruncate (f, l))
+# if HAVE_RAW_DECL_FTRUNCATE
+_GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - "
+ "use gnulib module ftruncate for portability");
+# endif
#endif
#if @GNULIB_GETCWD@
-/* Include the headers that might declare getcwd so that they will not
- cause confusion if included after this file. */
-# include <stdlib.h>
-# if @REPLACE_GETCWD@
/* Get the name of the current working directory, and put it in SIZE bytes
of BUF.
Return BUF if successful, or NULL if the directory couldn't be determined
or SIZE was too small.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/getcwd.html>.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html>.
Additionally, the gnulib module 'getcwd' guarantees the following GNU
extension: If BUF is NULL, an array is allocated with 'malloc'; the array
is SIZE bytes long, unless SIZE == 0, in which case it is as big as
necessary. */
-# define getcwd rpl_getcwd
-extern char * getcwd (char *buf, size_t size);
+# if @REPLACE_GETCWD@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define getcwd rpl_getcwd
+# endif
+_GL_FUNCDECL_RPL (getcwd, char *, (char *buf, size_t size));
+_GL_CXXALIAS_RPL (getcwd, char *, (char *buf, size_t size));
+# else
+/* Need to cast, because on mingw, the second parameter is
+ int size. */
+_GL_CXXALIAS_SYS_CAST (getcwd, char *, (char *buf, size_t size));
# endif
+_GL_CXXALIASWARN (getcwd);
#elif defined GNULIB_POSIXCHECK
# undef getcwd
-# define getcwd(b,s) \
- (GL_LINK_WARNING ("getcwd is unportable - " \
- "use gnulib module getcwd for portability"), \
- getcwd (b, s))
+# if HAVE_RAW_DECL_GETCWD
+_GL_WARN_ON_USE (getcwd, "getcwd is unportable - "
+ "use gnulib module getcwd for portability");
+# endif
#endif
Null terminate it if the name is shorter than LEN.
If the NIS domain name is longer than LEN, set errno = EINVAL and return -1.
Return 0 if successful, otherwise set errno and return -1. */
-# if !@HAVE_GETDOMAINNAME@
-extern int getdomainname(char *name, size_t len);
+# if @REPLACE_GETDOMAINNAME@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef getdomainname
+# define getdomainname rpl_getdomainname
+# endif
+_GL_FUNCDECL_RPL (getdomainname, int, (char *name, size_t len)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (getdomainname, int, (char *name, size_t len));
+# else
+# if !@HAVE_DECL_GETDOMAINNAME@
+_GL_FUNCDECL_SYS (getdomainname, int, (char *name, size_t len)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (getdomainname, int, (char *name, size_t len));
# endif
+_GL_CXXALIASWARN (getdomainname);
#elif defined GNULIB_POSIXCHECK
# undef getdomainname
-# define getdomainname(n,l) \
- (GL_LINK_WARNING ("getdomainname is unportable - " \
- "use gnulib module getdomainname for portability"), \
- getdomainname (n, l))
+# if HAVE_RAW_DECL_GETDOMAINNAME
+_GL_WARN_ON_USE (getdomainname, "getdomainname is unportable - "
+ "use gnulib module getdomainname for portability");
+# endif
#endif
#if @GNULIB_GETDTABLESIZE@
+/* Return the maximum number of file descriptors in the current process.
+ In POSIX, this is same as sysconf (_SC_OPEN_MAX). */
# if !@HAVE_GETDTABLESIZE@
-/* Return the maximum number of file descriptors in the current process. */
-extern int getdtablesize (void);
+_GL_FUNCDECL_SYS (getdtablesize, int, (void));
# endif
+_GL_CXXALIAS_SYS (getdtablesize, int, (void));
+_GL_CXXALIASWARN (getdtablesize);
#elif defined GNULIB_POSIXCHECK
# undef getdtablesize
-# define getdtablesize() \
- (GL_LINK_WARNING ("getdtablesize is unportable - " \
- "use gnulib module getdtablesize for portability"), \
- getdtablesize ())
+# if HAVE_RAW_DECL_GETDTABLESIZE
+_GL_WARN_ON_USE (getdtablesize, "getdtablesize is unportable - "
+ "use gnulib module getdtablesize for portability");
+# endif
+#endif
+
+
+#if @GNULIB_GETGROUPS@
+/* Return the supplemental groups that the current process belongs to.
+ It is unspecified whether the effective group id is in the list.
+ If N is 0, return the group count; otherwise, N describes how many
+ entries are available in GROUPS. Return -1 and set errno if N is
+ not 0 and not large enough. Fails with ENOSYS on some systems. */
+# if @REPLACE_GETGROUPS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef getgroups
+# define getgroups rpl_getgroups
+# endif
+_GL_FUNCDECL_RPL (getgroups, int, (int n, gid_t *groups));
+_GL_CXXALIAS_RPL (getgroups, int, (int n, gid_t *groups));
+# else
+# if !@HAVE_GETGROUPS@
+_GL_FUNCDECL_SYS (getgroups, int, (int n, gid_t *groups));
+# endif
+_GL_CXXALIAS_SYS (getgroups, int, (int n, gid_t *groups));
+# endif
+_GL_CXXALIASWARN (getgroups);
+#elif defined GNULIB_POSIXCHECK
+# undef getgroups
+# if HAVE_RAW_DECL_GETGROUPS
+_GL_WARN_ON_USE (getgroups, "getgroups is unportable - "
+ "use gnulib module getgroups for portability");
+# endif
#endif
If the host name is longer than LEN, set errno = EINVAL and return -1.
Return 0 if successful, otherwise set errno and return -1. */
# if @UNISTD_H_HAVE_WINSOCK2_H@
-# undef gethostname
-# define gethostname rpl_gethostname
-# endif
-# if @UNISTD_H_HAVE_WINSOCK2_H@ || !@HAVE_GETHOSTNAME@
-extern int gethostname(char *name, size_t len);
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef gethostname
+# define gethostname rpl_gethostname
+# endif
+_GL_FUNCDECL_RPL (gethostname, int, (char *name, size_t len)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (gethostname, int, (char *name, size_t len));
+# else
+# if !@HAVE_GETHOSTNAME@
+_GL_FUNCDECL_SYS (gethostname, int, (char *name, size_t len)
+ _GL_ARG_NONNULL ((1)));
+# endif
+/* Need to cast, because on Solaris 10 and OSF/1 5.1 systems, the second
+ parameter is
+ int len. */
+_GL_CXXALIAS_SYS_CAST (gethostname, int, (char *name, size_t len));
# endif
+_GL_CXXALIASWARN (gethostname);
#elif @UNISTD_H_HAVE_WINSOCK2_H@
# undef gethostname
# define gethostname gethostname_used_without_requesting_gnulib_module_gethostname
#elif defined GNULIB_POSIXCHECK
# undef gethostname
-# define gethostname(n,l) \
- (GL_LINK_WARNING ("gethostname is unportable - " \
- "use gnulib module gethostname for portability"), \
- gethostname (n, l))
+# if HAVE_RAW_DECL_GETHOSTNAME
+_GL_WARN_ON_USE (gethostname, "gethostname is unportable - "
+ "use gnulib module gethostname for portability");
+# endif
+#endif
+
+
+#if @GNULIB_GETLOGIN@
+/* Returns the user's login name, or NULL if it cannot be found. Upon error,
+ returns NULL with errno set.
+
+ See <http://www.opengroup.org/susv3xsh/getlogin.html>.
+
+ Most programs don't need to use this function, because the information is
+ available through environment variables:
+ ${LOGNAME-$USER} on Unix platforms,
+ $USERNAME on native Windows platforms.
+ */
+# if !@HAVE_GETLOGIN@
+_GL_FUNCDECL_SYS (getlogin, char *, (void));
+# endif
+_GL_CXXALIAS_SYS (getlogin, char *, (void));
+_GL_CXXALIASWARN (getlogin);
+#elif defined GNULIB_POSIXCHECK
+# undef getlogin
+# if HAVE_RAW_DECL_GETLOGIN
+_GL_WARN_ON_USE (getlogin, "getlogin is unportable - "
+ "use gnulib module getlogin for portability");
+# endif
#endif
provided (this case is hopefully rare but is left open by the POSIX spec).
See <http://www.opengroup.org/susv3xsh/getlogin.html>.
+
+ Most programs don't need to use this function, because the information is
+ available through environment variables:
+ ${LOGNAME-$USER} on Unix platforms,
+ $USERNAME on native Windows platforms.
*/
-# if !@HAVE_DECL_GETLOGIN_R@
-# include <stddef.h>
-extern int getlogin_r (char *name, size_t size);
+# if @REPLACE_GETLOGIN_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define getlogin_r rpl_getlogin_r
+# endif
+_GL_FUNCDECL_RPL (getlogin_r, int, (char *name, size_t size)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (getlogin_r, int, (char *name, size_t size));
+# else
+# if !@HAVE_DECL_GETLOGIN_R@
+_GL_FUNCDECL_SYS (getlogin_r, int, (char *name, size_t size)
+ _GL_ARG_NONNULL ((1)));
+# endif
+/* Need to cast, because on Solaris 10 systems, the second argument is
+ int size. */
+_GL_CXXALIAS_SYS_CAST (getlogin_r, int, (char *name, size_t size));
# endif
+_GL_CXXALIASWARN (getlogin_r);
#elif defined GNULIB_POSIXCHECK
# undef getlogin_r
-# define getlogin_r(n,s) \
- (GL_LINK_WARNING ("getlogin_r is unportable - " \
- "use gnulib module getlogin_r for portability"), \
- getlogin_r (n, s))
+# if HAVE_RAW_DECL_GETLOGIN_R
+_GL_WARN_ON_USE (getlogin_r, "getlogin_r is unportable - "
+ "use gnulib module getlogin_r for portability");
+# endif
#endif
#if @GNULIB_GETPAGESIZE@
# if @REPLACE_GETPAGESIZE@
-# define getpagesize rpl_getpagesize
-extern int getpagesize (void);
-# elif !@HAVE_GETPAGESIZE@
-/* This is for POSIX systems. */
-# if !defined getpagesize && defined _SC_PAGESIZE
-# if ! (defined __VMS && __VMS_VER < 70000000)
-# define getpagesize() sysconf (_SC_PAGESIZE)
-# endif
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define getpagesize rpl_getpagesize
# endif
+_GL_FUNCDECL_RPL (getpagesize, int, (void));
+_GL_CXXALIAS_RPL (getpagesize, int, (void));
+# else
+# if !@HAVE_GETPAGESIZE@
+# if !defined getpagesize
+/* This is for POSIX systems. */
+# if !defined _gl_getpagesize && defined _SC_PAGESIZE
+# if ! (defined __VMS && __VMS_VER < 70000000)
+# define _gl_getpagesize() sysconf (_SC_PAGESIZE)
+# endif
+# endif
/* This is for older VMS. */
-# if !defined getpagesize && defined __VMS
-# ifdef __ALPHA
-# define getpagesize() 8192
-# else
-# define getpagesize() 512
-# endif
-# endif
+# if !defined _gl_getpagesize && defined __VMS
+# ifdef __ALPHA
+# define _gl_getpagesize() 8192
+# else
+# define _gl_getpagesize() 512
+# endif
+# endif
/* This is for BeOS. */
-# if !defined getpagesize && @HAVE_OS_H@
-# include <OS.h>
-# if defined B_PAGE_SIZE
-# define getpagesize() B_PAGE_SIZE
-# endif
-# endif
+# if !defined _gl_getpagesize && @HAVE_OS_H@
+# include <OS.h>
+# if defined B_PAGE_SIZE
+# define _gl_getpagesize() B_PAGE_SIZE
+# endif
+# endif
/* This is for AmigaOS4.0. */
-# if !defined getpagesize && defined __amigaos4__
-# define getpagesize() 2048
-# endif
+# if !defined _gl_getpagesize && defined __amigaos4__
+# define _gl_getpagesize() 2048
+# endif
/* This is for older Unix systems. */
-# if !defined getpagesize && @HAVE_SYS_PARAM_H@
-# include <sys/param.h>
-# ifdef EXEC_PAGESIZE
-# define getpagesize() EXEC_PAGESIZE
-# else
-# ifdef NBPG
-# ifndef CLSIZE
-# define CLSIZE 1
+# if !defined _gl_getpagesize && @HAVE_SYS_PARAM_H@
+# include <sys/param.h>
+# ifdef EXEC_PAGESIZE
+# define _gl_getpagesize() EXEC_PAGESIZE
+# else
+# ifdef NBPG
+# ifndef CLSIZE
+# define CLSIZE 1
+# endif
+# define _gl_getpagesize() (NBPG * CLSIZE)
+# else
+# ifdef NBPC
+# define _gl_getpagesize() NBPC
+# endif
+# endif
# endif
-# define getpagesize() (NBPG * CLSIZE)
+# endif
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define getpagesize() _gl_getpagesize ()
# else
-# ifdef NBPC
-# define getpagesize() NBPC
+# if !GNULIB_defined_getpagesize_function
+static inline int
+getpagesize ()
+{
+ return _gl_getpagesize ();
+}
+# define GNULIB_defined_getpagesize_function 1
# endif
# endif
# endif
# endif
+/* Need to cast, because on Cygwin 1.5.x systems, the return type is size_t. */
+_GL_CXXALIAS_SYS_CAST (getpagesize, int, (void));
+# endif
+# if @HAVE_DECL_GETPAGESIZE@
+_GL_CXXALIASWARN (getpagesize);
# endif
#elif defined GNULIB_POSIXCHECK
# undef getpagesize
-# define getpagesize() \
- (GL_LINK_WARNING ("getpagesize is unportable - " \
- "use gnulib module getpagesize for portability"), \
- getpagesize ())
+# if HAVE_RAW_DECL_GETPAGESIZE
+_GL_WARN_ON_USE (getpagesize, "getpagesize is unportable - "
+ "use gnulib module getpagesize for portability");
+# endif
#endif
#if @GNULIB_GETUSERSHELL@
-# if !@HAVE_GETUSERSHELL@
/* Return the next valid login shell on the system, or NULL when the end of
the list has been reached. */
-extern char *getusershell (void);
+# if !@HAVE_DECL_GETUSERSHELL@
+_GL_FUNCDECL_SYS (getusershell, char *, (void));
+# endif
+_GL_CXXALIAS_SYS (getusershell, char *, (void));
+_GL_CXXALIASWARN (getusershell);
+#elif defined GNULIB_POSIXCHECK
+# undef getusershell
+# if HAVE_RAW_DECL_GETUSERSHELL
+_GL_WARN_ON_USE (getusershell, "getusershell is unportable - "
+ "use gnulib module getusershell for portability");
+# endif
+#endif
+
+#if @GNULIB_GETUSERSHELL@
/* Rewind to pointer that is advanced at each getusershell() call. */
-extern void setusershell (void);
+# if !@HAVE_DECL_GETUSERSHELL@
+_GL_FUNCDECL_SYS (setusershell, void, (void));
+# endif
+_GL_CXXALIAS_SYS (setusershell, void, (void));
+_GL_CXXALIASWARN (setusershell);
+#elif defined GNULIB_POSIXCHECK
+# undef setusershell
+# if HAVE_RAW_DECL_SETUSERSHELL
+_GL_WARN_ON_USE (setusershell, "setusershell is unportable - "
+ "use gnulib module getusershell for portability");
+# endif
+#endif
+
+#if @GNULIB_GETUSERSHELL@
/* Free the pointer that is advanced at each getusershell() call and
associated resources. */
-extern void endusershell (void);
+# if !@HAVE_DECL_GETUSERSHELL@
+_GL_FUNCDECL_SYS (endusershell, void, (void));
# endif
+_GL_CXXALIAS_SYS (endusershell, void, (void));
+_GL_CXXALIASWARN (endusershell);
#elif defined GNULIB_POSIXCHECK
-# undef getusershell
-# define getusershell() \
- (GL_LINK_WARNING ("getusershell is unportable - " \
- "use gnulib module getusershell for portability"), \
- getusershell ())
-# undef setusershell
-# define setusershell() \
- (GL_LINK_WARNING ("setusershell is unportable - " \
- "use gnulib module getusershell for portability"), \
- setusershell ())
# undef endusershell
-# define endusershell() \
- (GL_LINK_WARNING ("endusershell is unportable - " \
- "use gnulib module getusershell for portability"), \
- endusershell ())
+# if HAVE_RAW_DECL_ENDUSERSHELL
+_GL_WARN_ON_USE (endusershell, "endusershell is unportable - "
+ "use gnulib module getusershell for portability");
+# endif
+#endif
+
+
+#if @GNULIB_GROUP_MEMBER@
+/* Determine whether group id is in calling user's group list. */
+# if !@HAVE_GROUP_MEMBER@
+_GL_FUNCDECL_SYS (group_member, int, (gid_t gid));
+# endif
+_GL_CXXALIAS_SYS (group_member, int, (gid_t gid));
+_GL_CXXALIASWARN (group_member);
+#elif defined GNULIB_POSIXCHECK
+# undef group_member
+# if HAVE_RAW_DECL_GROUP_MEMBER
+_GL_WARN_ON_USE (group_member, "group_member is unportable - "
+ "use gnulib module group-member for portability");
+# endif
#endif
#if @GNULIB_LCHOWN@
-# if @REPLACE_LCHOWN@
/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
to GID (if GID is not -1). Do not follow symbolic links.
Return 0 if successful, otherwise -1 and errno set.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/lchown.html>. */
-# define lchown rpl_lchown
-extern int lchown (char const *file, uid_t owner, gid_t group);
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lchown.html>. */
+# if @REPLACE_LCHOWN@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef lchown
+# define lchown rpl_lchown
+# endif
+_GL_FUNCDECL_RPL (lchown, int, (char const *file, uid_t owner, gid_t group)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (lchown, int, (char const *file, uid_t owner, gid_t group));
+# else
+# if !@HAVE_LCHOWN@
+_GL_FUNCDECL_SYS (lchown, int, (char const *file, uid_t owner, gid_t group)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (lchown, int, (char const *file, uid_t owner, gid_t group));
# endif
+_GL_CXXALIASWARN (lchown);
#elif defined GNULIB_POSIXCHECK
# undef lchown
-# define lchown(f,u,g) \
- (GL_LINK_WARNING ("lchown is unportable to pre-POSIX.1-2001 " \
- "systems - use gnulib module lchown for portability"), \
- lchown (f, u, g))
+# if HAVE_RAW_DECL_LCHOWN
+_GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - "
+ "use gnulib module lchown for portability");
+# endif
#endif
#if @GNULIB_LINK@
/* Create a new hard link for an existing file.
Return 0 if successful, otherwise -1 and errno set.
- See POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/link.html>. */
-# if !@HAVE_LINK@
-extern int link (const char *path1, const char *path2);
+ See POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html>. */
+# if @REPLACE_LINK@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define link rpl_link
+# endif
+_GL_FUNCDECL_RPL (link, int, (const char *path1, const char *path2)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (link, int, (const char *path1, const char *path2));
+# else
+# if !@HAVE_LINK@
+_GL_FUNCDECL_SYS (link, int, (const char *path1, const char *path2)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (link, int, (const char *path1, const char *path2));
# endif
+_GL_CXXALIASWARN (link);
#elif defined GNULIB_POSIXCHECK
# undef link
-# define link(path1,path2) \
- (GL_LINK_WARNING ("link is unportable - " \
- "use gnulib module link for portability"), \
- link (path1, path2))
+# if HAVE_RAW_DECL_LINK
+_GL_WARN_ON_USE (link, "link is unportable - "
+ "use gnulib module link for portability");
+# endif
+#endif
+
+
+#if @GNULIB_LINKAT@
+/* Create a new hard link for an existing file, relative to two
+ directories. FLAG controls whether symlinks are followed.
+ Return 0 if successful, otherwise -1 and errno set. */
+# if @REPLACE_LINKAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef linkat
+# define linkat rpl_linkat
+# endif
+_GL_FUNCDECL_RPL (linkat, int,
+ (int fd1, const char *path1, int fd2, const char *path2,
+ int flag)
+ _GL_ARG_NONNULL ((2, 4)));
+_GL_CXXALIAS_RPL (linkat, int,
+ (int fd1, const char *path1, int fd2, const char *path2,
+ int flag));
+# else
+# if !@HAVE_LINKAT@
+_GL_FUNCDECL_SYS (linkat, int,
+ (int fd1, const char *path1, int fd2, const char *path2,
+ int flag)
+ _GL_ARG_NONNULL ((2, 4)));
+# endif
+_GL_CXXALIAS_SYS (linkat, int,
+ (int fd1, const char *path1, int fd2, const char *path2,
+ int flag));
+# endif
+_GL_CXXALIASWARN (linkat);
+#elif defined GNULIB_POSIXCHECK
+# undef linkat
+# if HAVE_RAW_DECL_LINKAT
+_GL_WARN_ON_USE (linkat, "linkat is unportable - "
+ "use gnulib module linkat for portability");
+# endif
#endif
#if @GNULIB_LSEEK@
-# if @REPLACE_LSEEK@
/* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END.
Return the new offset if successful, otherwise -1 and errno set.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/lseek.html>. */
-# define lseek rpl_lseek
- extern off_t lseek (int fd, off_t offset, int whence);
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html>. */
+# if @REPLACE_LSEEK@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define lseek rpl_lseek
+# endif
+_GL_FUNCDECL_RPL (lseek, off_t, (int fd, off_t offset, int whence));
+_GL_CXXALIAS_RPL (lseek, off_t, (int fd, off_t offset, int whence));
+# else
+_GL_CXXALIAS_SYS (lseek, off_t, (int fd, off_t offset, int whence));
# endif
+_GL_CXXALIASWARN (lseek);
#elif defined GNULIB_POSIXCHECK
# undef lseek
-# define lseek(f,o,w) \
- (GL_LINK_WARNING ("lseek does not fail with ESPIPE on pipes on some " \
- "systems - use gnulib module lseek for portability"), \
- lseek (f, o, w))
+# if HAVE_RAW_DECL_LSEEK
+_GL_WARN_ON_USE (lseek, "lseek does not fail with ESPIPE on pipes on some "
+ "systems - use gnulib module lseek for portability");
+# endif
+#endif
+
+
+#if @GNULIB_PIPE@
+/* Create a pipe, defaulting to O_BINARY mode.
+ Store the read-end as fd[0] and the write-end as fd[1].
+ Return 0 upon success, or -1 with errno set upon failure. */
+# if !@HAVE_PIPE@
+_GL_FUNCDECL_SYS (pipe, int, (int fd[2]) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (pipe, int, (int fd[2]));
+_GL_CXXALIASWARN (pipe);
+#elif defined GNULIB_POSIXCHECK
+# undef pipe
+# if HAVE_RAW_DECL_PIPE
+_GL_WARN_ON_USE (pipe, "pipe is unportable - "
+ "use gnulib module pipe-posix for portability");
+# endif
+#endif
+
+
+#if @GNULIB_PIPE2@
+/* Create a pipe, applying the given flags when opening the read-end of the
+ pipe and the write-end of the pipe.
+ The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
+ and O_TEXT, O_BINARY (defined in "binary-io.h").
+ Store the read-end as fd[0] and the write-end as fd[1].
+ Return 0 upon success, or -1 with errno set upon failure.
+ See also the Linux man page at
+ <http://www.kernel.org/doc/man-pages/online/pages/man2/pipe2.2.html>. */
+# if @HAVE_PIPE2@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define pipe2 rpl_pipe2
+# endif
+_GL_FUNCDECL_RPL (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (pipe2, int, (int fd[2], int flags));
+# else
+_GL_FUNCDECL_SYS (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_SYS (pipe2, int, (int fd[2], int flags));
+# endif
+_GL_CXXALIASWARN (pipe2);
+#elif defined GNULIB_POSIXCHECK
+# undef pipe2
+# if HAVE_RAW_DECL_PIPE2
+_GL_WARN_ON_USE (pipe2, "pipe2 is unportable - "
+ "use gnulib module pipe2 for portability");
+# endif
+#endif
+
+
+#if @GNULIB_PREAD@
+/* Read at most BUFSIZE bytes from FD into BUF, starting at OFFSET.
+ Return the number of bytes placed into BUF if successful, otherwise
+ set errno and return -1. 0 indicates EOF.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pread.html>. */
+# if @REPLACE_PREAD@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef pread
+# define pread rpl_pread
+# endif
+_GL_FUNCDECL_RPL (pread, ssize_t,
+ (int fd, void *buf, size_t bufsize, off_t offset)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (pread, ssize_t,
+ (int fd, void *buf, size_t bufsize, off_t offset));
+# else
+# if !@HAVE_PREAD@
+_GL_FUNCDECL_SYS (pread, ssize_t,
+ (int fd, void *buf, size_t bufsize, off_t offset)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (pread, ssize_t,
+ (int fd, void *buf, size_t bufsize, off_t offset));
+# endif
+_GL_CXXALIASWARN (pread);
+#elif defined GNULIB_POSIXCHECK
+# undef pread
+# if HAVE_RAW_DECL_PREAD
+_GL_WARN_ON_USE (pread, "pread is unportable - "
+ "use gnulib module pread for portability");
+# endif
+#endif
+
+
+#if @GNULIB_PWRITE@
+/* Write at most BUFSIZE bytes from BUF into FD, starting at OFFSET.
+ Return the number of bytes written if successful, otherwise
+ set errno and return -1. 0 indicates nothing written. See the
+ POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pwrite.html>. */
+# if @REPLACE_PWRITE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef pwrite
+# define pwrite rpl_pwrite
+# endif
+_GL_FUNCDECL_RPL (pwrite, ssize_t,
+ (int fd, const void *buf, size_t bufsize, off_t offset)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (pwrite, ssize_t,
+ (int fd, const void *buf, size_t bufsize, off_t offset));
+# else
+# if !@HAVE_PWRITE@
+_GL_FUNCDECL_SYS (pwrite, ssize_t,
+ (int fd, const void *buf, size_t bufsize, off_t offset)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (pwrite, ssize_t,
+ (int fd, const void *buf, size_t bufsize, off_t offset));
+# endif
+_GL_CXXALIASWARN (pwrite);
+#elif defined GNULIB_POSIXCHECK
+# undef pwrite
+# if HAVE_RAW_DECL_PWRITE
+_GL_WARN_ON_USE (pwrite, "pwrite is unportable - "
+ "use gnulib module pwrite for portability");
+# endif
+#endif
+
+
+#if @GNULIB_READ@
+/* Read up to COUNT bytes from file descriptor FD into the buffer starting
+ at BUF. See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html>. */
+# if @REPLACE_READ@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef read
+# define read rpl_read
+# endif
+_GL_FUNCDECL_RPL (read, ssize_t, (int fd, void *buf, size_t count)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (read, ssize_t, (int fd, void *buf, size_t count));
+# else
+/* Need to cast, because on mingw, the third parameter is
+ unsigned int count
+ and the return type is 'int'. */
+_GL_CXXALIAS_SYS_CAST (read, ssize_t, (int fd, void *buf, size_t count));
+# endif
+_GL_CXXALIASWARN (read);
#endif
/* Read the contents of the symbolic link FILE and place the first BUFSIZE
bytes of it into BUF. Return the number of bytes placed into BUF if
successful, otherwise -1 and errno set.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/readlink.html>. */
-# if !@HAVE_READLINK@
-# include <stddef.h>
-extern int readlink (const char *file, char *buf, size_t bufsize);
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>. */
+# if @REPLACE_READLINK@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define readlink rpl_readlink
+# endif
+_GL_FUNCDECL_RPL (readlink, ssize_t,
+ (const char *file, char *buf, size_t bufsize)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (readlink, ssize_t,
+ (const char *file, char *buf, size_t bufsize));
+# else
+# if !@HAVE_READLINK@
+_GL_FUNCDECL_SYS (readlink, ssize_t,
+ (const char *file, char *buf, size_t bufsize)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (readlink, ssize_t,
+ (const char *file, char *buf, size_t bufsize));
# endif
+_GL_CXXALIASWARN (readlink);
#elif defined GNULIB_POSIXCHECK
# undef readlink
-# define readlink(f,b,s) \
- (GL_LINK_WARNING ("readlink is unportable - " \
- "use gnulib module readlink for portability"), \
- readlink (f, b, s))
+# if HAVE_RAW_DECL_READLINK
+_GL_WARN_ON_USE (readlink, "readlink is unportable - "
+ "use gnulib module readlink for portability");
+# endif
+#endif
+
+
+#if @GNULIB_READLINKAT@
+# if !@HAVE_READLINKAT@
+_GL_FUNCDECL_SYS (readlinkat, ssize_t,
+ (int fd, char const *file, char *buf, size_t len)
+ _GL_ARG_NONNULL ((2, 3)));
+# endif
+_GL_CXXALIAS_SYS (readlinkat, ssize_t,
+ (int fd, char const *file, char *buf, size_t len));
+_GL_CXXALIASWARN (readlinkat);
+#elif defined GNULIB_POSIXCHECK
+# undef readlinkat
+# if HAVE_RAW_DECL_READLINKAT
+_GL_WARN_ON_USE (readlinkat, "readlinkat is not portable - "
+ "use gnulib module readlinkat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_RMDIR@
+/* Remove the directory DIR. */
+# if @REPLACE_RMDIR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define rmdir rpl_rmdir
+# endif
+_GL_FUNCDECL_RPL (rmdir, int, (char const *name) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (rmdir, int, (char const *name));
+# else
+_GL_CXXALIAS_SYS (rmdir, int, (char const *name));
+# endif
+_GL_CXXALIASWARN (rmdir);
+#elif defined GNULIB_POSIXCHECK
+# undef rmdir
+# if HAVE_RAW_DECL_RMDIR
+_GL_WARN_ON_USE (rmdir, "rmdir is unportable - "
+ "use gnulib module rmdir for portability");
+# endif
#endif
#if @GNULIB_SLEEP@
/* Pause the execution of the current thread for N seconds.
Returns the number of seconds left to sleep.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/sleep.html>. */
-# if !@HAVE_SLEEP@
-extern unsigned int sleep (unsigned int n);
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/sleep.html>. */
+# if @REPLACE_SLEEP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef sleep
+# define sleep rpl_sleep
+# endif
+_GL_FUNCDECL_RPL (sleep, unsigned int, (unsigned int n));
+_GL_CXXALIAS_RPL (sleep, unsigned int, (unsigned int n));
+# else
+# if !@HAVE_SLEEP@
+_GL_FUNCDECL_SYS (sleep, unsigned int, (unsigned int n));
+# endif
+_GL_CXXALIAS_SYS (sleep, unsigned int, (unsigned int n));
# endif
+_GL_CXXALIASWARN (sleep);
#elif defined GNULIB_POSIXCHECK
# undef sleep
-# define sleep(n) \
- (GL_LINK_WARNING ("sleep is unportable - " \
- "use gnulib module sleep for portability"), \
- sleep (n))
+# if HAVE_RAW_DECL_SLEEP
+_GL_WARN_ON_USE (sleep, "sleep is unportable - "
+ "use gnulib module sleep for portability");
+# endif
#endif
-#if @GNULIB_WRITE@ && @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@
-/* Write up to COUNT bytes starting at BUF to file descriptor FD.
- See the POSIX:2001 specification
- <http://www.opengroup.org/susv3xsh/write.html>. */
-# undef write
-# define write rpl_write
-extern ssize_t write (int fd, const void *buf, size_t count);
+#if @GNULIB_SYMLINK@
+# if @REPLACE_SYMLINK@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef symlink
+# define symlink rpl_symlink
+# endif
+_GL_FUNCDECL_RPL (symlink, int, (char const *contents, char const *file)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (symlink, int, (char const *contents, char const *file));
+# else
+# if !@HAVE_SYMLINK@
+_GL_FUNCDECL_SYS (symlink, int, (char const *contents, char const *file)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (symlink, int, (char const *contents, char const *file));
+# endif
+_GL_CXXALIASWARN (symlink);
+#elif defined GNULIB_POSIXCHECK
+# undef symlink
+# if HAVE_RAW_DECL_SYMLINK
+_GL_WARN_ON_USE (symlink, "symlink is not portable - "
+ "use gnulib module symlink for portability");
+# endif
#endif
-#ifdef FCHDIR_REPLACEMENT
-/* gnulib internal function. */
-extern void _gl_unregister_fd (int fd);
+#if @GNULIB_SYMLINKAT@
+# if !@HAVE_SYMLINKAT@
+_GL_FUNCDECL_SYS (symlinkat, int,
+ (char const *contents, int fd, char const *file)
+ _GL_ARG_NONNULL ((1, 3)));
+# endif
+_GL_CXXALIAS_SYS (symlinkat, int,
+ (char const *contents, int fd, char const *file));
+_GL_CXXALIASWARN (symlinkat);
+#elif defined GNULIB_POSIXCHECK
+# undef symlinkat
+# if HAVE_RAW_DECL_SYMLINKAT
+_GL_WARN_ON_USE (symlinkat, "symlinkat is not portable - "
+ "use gnulib module symlinkat for portability");
+# endif
#endif
-#ifdef __cplusplus
-}
+#if @GNULIB_TTYNAME_R@
+/* Store at most BUFLEN characters of the pathname of the terminal FD is
+ open on in BUF. Return 0 on success, otherwise an error number. */
+# if @REPLACE_TTYNAME_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ttyname_r
+# define ttyname_r rpl_ttyname_r
+# endif
+_GL_FUNCDECL_RPL (ttyname_r, int,
+ (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (ttyname_r, int,
+ (int fd, char *buf, size_t buflen));
+# else
+# if !@HAVE_DECL_TTYNAME_R@
+_GL_FUNCDECL_SYS (ttyname_r, int,
+ (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (ttyname_r, int,
+ (int fd, char *buf, size_t buflen));
+# endif
+_GL_CXXALIASWARN (ttyname_r);
+#elif defined GNULIB_POSIXCHECK
+# undef ttyname_r
+# if HAVE_RAW_DECL_TTYNAME_R
+_GL_WARN_ON_USE (ttyname_r, "ttyname_r is not portable - "
+ "use gnulib module ttyname_r for portability");
+# endif
+#endif
+
+
+#if @GNULIB_UNLINK@
+# if @REPLACE_UNLINK@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef unlink
+# define unlink rpl_unlink
+# endif
+_GL_FUNCDECL_RPL (unlink, int, (char const *file) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (unlink, int, (char const *file));
+# else
+_GL_CXXALIAS_SYS (unlink, int, (char const *file));
+# endif
+_GL_CXXALIASWARN (unlink);
+#elif defined GNULIB_POSIXCHECK
+# undef unlink
+# if HAVE_RAW_DECL_UNLINK
+_GL_WARN_ON_USE (unlink, "unlink is not portable - "
+ "use gnulib module unlink for portability");
+# endif
+#endif
+
+
+#if @GNULIB_UNLINKAT@
+# if @REPLACE_UNLINKAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef unlinkat
+# define unlinkat rpl_unlinkat
+# endif
+_GL_FUNCDECL_RPL (unlinkat, int, (int fd, char const *file, int flag)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (unlinkat, int, (int fd, char const *file, int flag));
+# else
+# if !@HAVE_UNLINKAT@
+_GL_FUNCDECL_SYS (unlinkat, int, (int fd, char const *file, int flag)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (unlinkat, int, (int fd, char const *file, int flag));
+# endif
+_GL_CXXALIASWARN (unlinkat);
+#elif defined GNULIB_POSIXCHECK
+# undef unlinkat
+# if HAVE_RAW_DECL_UNLINKAT
+_GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - "
+ "use gnulib module openat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_USLEEP@
+/* Pause the execution of the current thread for N microseconds.
+ Returns 0 on completion, or -1 on range error.
+ See the POSIX:2001 specification
+ <http://www.opengroup.org/susv3xsh/usleep.html>. */
+# if @REPLACE_USLEEP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef usleep
+# define usleep rpl_usleep
+# endif
+_GL_FUNCDECL_RPL (usleep, int, (useconds_t n));
+_GL_CXXALIAS_RPL (usleep, int, (useconds_t n));
+# else
+# if !@HAVE_USLEEP@
+_GL_FUNCDECL_SYS (usleep, int, (useconds_t n));
+# endif
+_GL_CXXALIAS_SYS (usleep, int, (useconds_t n));
+# endif
+_GL_CXXALIASWARN (usleep);
+#elif defined GNULIB_POSIXCHECK
+# undef usleep
+# if HAVE_RAW_DECL_USLEEP
+_GL_WARN_ON_USE (usleep, "usleep is unportable - "
+ "use gnulib module usleep for portability");
+# endif
+#endif
+
+
+#if @GNULIB_WRITE@
+/* Write up to COUNT bytes starting at BUF to file descriptor FD.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html>. */
+# if @REPLACE_WRITE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef write
+# define write rpl_write
+# endif
+_GL_FUNCDECL_RPL (write, ssize_t, (int fd, const void *buf, size_t count)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (write, ssize_t, (int fd, const void *buf, size_t count));
+# else
+/* Need to cast, because on mingw, the third parameter is
+ unsigned int count
+ and the return type is 'int'. */
+_GL_CXXALIAS_SYS_CAST (write, ssize_t, (int fd, const void *buf, size_t count));
+# endif
+_GL_CXXALIASWARN (write);
#endif
-#endif /* _GL_UNISTD_H */
-#endif /* _GL_UNISTD_H */
+#endif /* _@GUARD_PREFIX@_UNISTD_H */
+#endif /* _@GUARD_PREFIX@_UNISTD_H */
--- /dev/null
+/* Compile-time assert-like macros.
+
+ Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */
+
+#ifndef _GL_VERIFY_H
+# define _GL_VERIFY_H
+
+
+/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per the
+ C1X draft N1548 section 6.7.10. This is supported by GCC 4.6.0 and
+ later, in C mode, and its use here generates easier-to-read diagnostics
+ when verify (R) fails.
+
+ Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per the
+ C++0X draft N3242 section 7.(4).
+ This will likely be supported by future GCC versions, in C++ mode.
+
+ Use this only with GCC. If we were willing to slow 'configure'
+ down we could also use it with other compilers, but since this
+ affects only the quality of diagnostics, why bother? */
+# if (4 < __GNUC__ || (__GNUC__ == 4 && 6 <= __GNUC_MINOR__)) && !defined __cplusplus
+# define _GL_HAVE__STATIC_ASSERT 1
+# endif
+/* The condition (99 < __GNUC__) is temporary, until we know about the
+ first G++ release that supports static_assert. */
+# if (99 < __GNUC__) && defined __cplusplus
+# define _GL_HAVE_STATIC_ASSERT 1
+# endif
+
+/* Each of these macros verifies that its argument R is nonzero. To
+ be portable, R should be an integer constant expression. Unlike
+ assert (R), there is no run-time overhead.
+
+ If _Static_assert works, verify (R) uses it directly. Similarly,
+ _GL_VERIFY_TRUE works by packaging a _Static_assert inside a struct
+ that is an operand of sizeof.
+
+ The code below uses several ideas for C++ compilers, and for C
+ compilers that do not support _Static_assert:
+
+ * The first step is ((R) ? 1 : -1). Given an expression R, of
+ integral or boolean or floating-point type, this yields an
+ expression of integral type, whose value is later verified to be
+ constant and nonnegative.
+
+ * Next this expression W is wrapped in a type
+ struct _gl_verify_type {
+ unsigned int _gl_verify_error_if_negative: W;
+ }.
+ If W is negative, this yields a compile-time error. No compiler can
+ deal with a bit-field of negative size.
+
+ One might think that an array size check would have the same
+ effect, that is, that the type struct { unsigned int dummy[W]; }
+ would work as well. However, inside a function, some compilers
+ (such as C++ compilers and GNU C) allow local parameters and
+ variables inside array size expressions. With these compilers,
+ an array size check would not properly diagnose this misuse of
+ the verify macro:
+
+ void function (int n) { verify (n < 0); }
+
+ * For the verify macro, the struct _gl_verify_type will need to
+ somehow be embedded into a declaration. To be portable, this
+ declaration must declare an object, a constant, a function, or a
+ typedef name. If the declared entity uses the type directly,
+ such as in
+
+ struct dummy {...};
+ typedef struct {...} dummy;
+ extern struct {...} *dummy;
+ extern void dummy (struct {...} *);
+ extern struct {...} *dummy (void);
+
+ two uses of the verify macro would yield colliding declarations
+ if the entity names are not disambiguated. A workaround is to
+ attach the current line number to the entity name:
+
+ #define _GL_CONCAT0(x, y) x##y
+ #define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
+ extern struct {...} * _GL_CONCAT (dummy, __LINE__);
+
+ But this has the problem that two invocations of verify from
+ within the same macro would collide, since the __LINE__ value
+ would be the same for both invocations. (The GCC __COUNTER__
+ macro solves this problem, but is not portable.)
+
+ A solution is to use the sizeof operator. It yields a number,
+ getting rid of the identity of the type. Declarations like
+
+ extern int dummy [sizeof (struct {...})];
+ extern void dummy (int [sizeof (struct {...})]);
+ extern int (*dummy (void)) [sizeof (struct {...})];
+
+ can be repeated.
+
+ * Should the implementation use a named struct or an unnamed struct?
+ Which of the following alternatives can be used?
+
+ extern int dummy [sizeof (struct {...})];
+ extern int dummy [sizeof (struct _gl_verify_type {...})];
+ extern void dummy (int [sizeof (struct {...})]);
+ extern void dummy (int [sizeof (struct _gl_verify_type {...})]);
+ extern int (*dummy (void)) [sizeof (struct {...})];
+ extern int (*dummy (void)) [sizeof (struct _gl_verify_type {...})];
+
+ In the second and sixth case, the struct type is exported to the
+ outer scope; two such declarations therefore collide. GCC warns
+ about the first, third, and fourth cases. So the only remaining
+ possibility is the fifth case:
+
+ extern int (*dummy (void)) [sizeof (struct {...})];
+
+ * GCC warns about duplicate declarations of the dummy function if
+ -Wredundant_decls is used. GCC 4.3 and later have a builtin
+ __COUNTER__ macro that can let us generate unique identifiers for
+ each dummy function, to suppress this warning.
+
+ * This implementation exploits the fact that older versions of GCC,
+ which do not support _Static_assert, also do not warn about the
+ last declaration mentioned above.
+
+ * In C++, any struct definition inside sizeof is invalid.
+ Use a template type to work around the problem. */
+
+/* Concatenate two preprocessor tokens. */
+# define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
+# define _GL_CONCAT0(x, y) x##y
+
+/* _GL_COUNTER is an integer, preferably one that changes each time we
+ use it. Use __COUNTER__ if it works, falling back on __LINE__
+ otherwise. __LINE__ isn't perfect, but it's better than a
+ constant. */
+# if defined __COUNTER__ && __COUNTER__ != __COUNTER__
+# define _GL_COUNTER __COUNTER__
+# else
+# define _GL_COUNTER __LINE__
+# endif
+
+/* Generate a symbol with the given prefix, making it unique if
+ possible. */
+# define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER)
+
+/* Verify requirement R at compile-time, as an integer constant expression
+ that returns 1. If R is false, fail at compile-time, preferably
+ with a diagnostic that includes the string-literal DIAGNOSTIC. */
+
+# define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \
+ (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
+
+# ifdef __cplusplus
+# if !GNULIB_defined_struct__gl_verify_type
+template <int w>
+ struct _gl_verify_type {
+ unsigned int _gl_verify_error_if_negative: w;
+ };
+# define GNULIB_defined_struct__gl_verify_type 1
+# endif
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+ _gl_verify_type<(R) ? 1 : -1>
+# elif defined _GL_HAVE__STATIC_ASSERT
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+ struct { \
+ _Static_assert (R, DIAGNOSTIC); \
+ int _gl_dummy; \
+ }
+# else
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+ struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
+# endif
+
+/* Verify requirement R at compile-time, as a declaration without a
+ trailing ';'. If R is false, fail at compile-time, preferably
+ with a diagnostic that includes the string-literal DIAGNOSTIC.
+
+ Unfortunately, unlike C1X, this implementation must appear as an
+ ordinary declaration, and cannot appear inside struct { ... }. */
+
+# ifdef _GL_HAVE__STATIC_ASSERT
+# define _GL_VERIFY _Static_assert
+# else
+# define _GL_VERIFY(R, DIAGNOSTIC) \
+ extern int (*_GL_GENSYM (_gl_verify_function) (void)) \
+ [_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
+# endif
+
+/* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */
+# ifdef _GL_STATIC_ASSERT_H
+# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert
+# define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
+# endif
+# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
+# define static_assert _Static_assert /* Draft C1X requires this #define. */
+# endif
+# endif
+
+/* @assert.h omit start@ */
+
+/* Each of these macros verifies that its argument R is nonzero. To
+ be portable, R should be an integer constant expression. Unlike
+ assert (R), there is no run-time overhead.
+
+ There are two macros, since no single macro can be used in all
+ contexts in C. verify_true (R) is for scalar contexts, including
+ integer constant expression contexts. verify (R) is for declaration
+ contexts, e.g., the top level. */
+
+/* Verify requirement R at compile-time, as an integer constant expression.
+ Return 1. This is equivalent to verify_expr (R, 1).
+
+ verify_true is obsolescent; please use verify_expr instead. */
+
+# define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")")
+
+/* Verify requirement R at compile-time. Return the value of the
+ expression E. */
+
+# define verify_expr(R, E) \
+ (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
+
+/* Verify requirement R at compile-time, as a declaration without a
+ trailing ';'. */
+
+# define verify(R) _GL_VERIFY (R, "verify (" #R ")")
+
+/* @assert.h omit end@ */
+
+#endif
/* Print --version and bug-reporting information in a consistent format.
- Copyright (C) 1999-2009 Free Software Foundation, Inc.
+ Copyright (C) 1999-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "gettext.h"
#define _(msgid) gettext (msgid)
-enum { COPYRIGHT_YEAR = 2009 };
+/* If you use AM_INIT_AUTOMAKE's no-define option,
+ PACKAGE is not defined. Use PACKAGE_TARNAME instead. */
+#if ! defined PACKAGE && defined PACKAGE_TARNAME
+# define PACKAGE PACKAGE_TARNAME
+#endif
-/* Like version_etc, below, but with the NULL-terminated author list
- provided via a variable of type va_list. */
-void
-version_etc_va (FILE *stream,
- const char *command_name, const char *package,
- const char *version, va_list authors)
-{
- size_t n_authors;
+enum { COPYRIGHT_YEAR = 2011 };
- /* Count the number of authors. */
- {
- va_list tmp_authors;
+/* The three functions below display the --version information the
+ standard way.
- va_copy (tmp_authors, authors);
+ If COMMAND_NAME is NULL, the PACKAGE is assumed to be the name of
+ the program. The formats are therefore:
+
+ PACKAGE VERSION
- n_authors = 0;
- while (va_arg (tmp_authors, const char *) != NULL)
- ++n_authors;
- }
+ or
+ COMMAND_NAME (PACKAGE) VERSION.
+
+ The functions differ in the way they are passed author names. */
+
+/* Display the --version information the standard way.
+
+ Author names are given in the array AUTHORS. N_AUTHORS is the
+ number of elements in the array. */
+void
+version_etc_arn (FILE *stream,
+ const char *command_name, const char *package,
+ const char *version,
+ const char * const * authors, size_t n_authors)
+{
if (command_name)
fprintf (stream, "%s (%s) %s\n", command_name, package, version);
else
#ifdef PACKAGE_PACKAGER
# ifdef PACKAGE_PACKAGER_VERSION
fprintf (stream, _("Packaged by %s (%s)\n"), PACKAGE_PACKAGER,
- PACKAGE_PACKAGER_VERSION);
+ PACKAGE_PACKAGER_VERSION);
# else
fprintf (stream, _("Packaged by %s\n"), PACKAGE_PACKAGER);
# endif
There is NO WARRANTY, to the extent permitted by law.\n\
\n\
"),
- stream);
+ stream);
switch (n_authors)
{
abort ();
case 1:
/* TRANSLATORS: %s denotes an author name. */
- vfprintf (stream, _("Written by %s.\n"), authors);
+ fprintf (stream, _("Written by %s.\n"), authors[0]);
break;
case 2:
/* TRANSLATORS: Each %s denotes an author name. */
- vfprintf (stream, _("Written by %s and %s.\n"), authors);
+ fprintf (stream, _("Written by %s and %s.\n"), authors[0], authors[1]);
break;
case 3:
/* TRANSLATORS: Each %s denotes an author name. */
- vfprintf (stream, _("Written by %s, %s, and %s.\n"), authors);
+ fprintf (stream, _("Written by %s, %s, and %s.\n"),
+ authors[0], authors[1], authors[2]);
break;
case 4:
/* TRANSLATORS: Each %s denotes an author name.
- You can use line breaks, estimating that each author name occupies
- ca. 16 screen columns and that a screen line has ca. 80 columns. */
- vfprintf (stream, _("Written by %s, %s, %s,\nand %s.\n"), authors);
+ You can use line breaks, estimating that each author name occupies
+ ca. 16 screen columns and that a screen line has ca. 80 columns. */
+ fprintf (stream, _("Written by %s, %s, %s,\nand %s.\n"),
+ authors[0], authors[1], authors[2], authors[3]);
break;
case 5:
/* TRANSLATORS: Each %s denotes an author name.
- You can use line breaks, estimating that each author name occupies
- ca. 16 screen columns and that a screen line has ca. 80 columns. */
- vfprintf (stream, _("Written by %s, %s, %s,\n%s, and %s.\n"), authors);
+ You can use line breaks, estimating that each author name occupies
+ ca. 16 screen columns and that a screen line has ca. 80 columns. */
+ fprintf (stream, _("Written by %s, %s, %s,\n%s, and %s.\n"),
+ authors[0], authors[1], authors[2], authors[3], authors[4]);
break;
case 6:
/* TRANSLATORS: Each %s denotes an author name.
- You can use line breaks, estimating that each author name occupies
- ca. 16 screen columns and that a screen line has ca. 80 columns. */
- vfprintf (stream, _("Written by %s, %s, %s,\n%s, %s, and %s.\n"),
- authors);
+ You can use line breaks, estimating that each author name occupies
+ ca. 16 screen columns and that a screen line has ca. 80 columns. */
+ fprintf (stream, _("Written by %s, %s, %s,\n%s, %s, and %s.\n"),
+ authors[0], authors[1], authors[2], authors[3], authors[4],
+ authors[5]);
break;
case 7:
/* TRANSLATORS: Each %s denotes an author name.
- You can use line breaks, estimating that each author name occupies
- ca. 16 screen columns and that a screen line has ca. 80 columns. */
- vfprintf (stream, _("Written by %s, %s, %s,\n%s, %s, %s, and %s.\n"),
- authors);
+ You can use line breaks, estimating that each author name occupies
+ ca. 16 screen columns and that a screen line has ca. 80 columns. */
+ fprintf (stream, _("Written by %s, %s, %s,\n%s, %s, %s, and %s.\n"),
+ authors[0], authors[1], authors[2], authors[3], authors[4],
+ authors[5], authors[6]);
break;
case 8:
/* TRANSLATORS: Each %s denotes an author name.
- You can use line breaks, estimating that each author name occupies
- ca. 16 screen columns and that a screen line has ca. 80 columns. */
- vfprintf (stream, _("\
+ You can use line breaks, estimating that each author name occupies
+ ca. 16 screen columns and that a screen line has ca. 80 columns. */
+ fprintf (stream, _("\
Written by %s, %s, %s,\n%s, %s, %s, %s,\nand %s.\n"),
- authors);
+ authors[0], authors[1], authors[2], authors[3], authors[4],
+ authors[5], authors[6], authors[7]);
break;
case 9:
/* TRANSLATORS: Each %s denotes an author name.
- You can use line breaks, estimating that each author name occupies
- ca. 16 screen columns and that a screen line has ca. 80 columns. */
- vfprintf (stream, _("\
+ You can use line breaks, estimating that each author name occupies
+ ca. 16 screen columns and that a screen line has ca. 80 columns. */
+ fprintf (stream, _("\
Written by %s, %s, %s,\n%s, %s, %s, %s,\n%s, and %s.\n"),
- authors);
+ authors[0], authors[1], authors[2], authors[3], authors[4],
+ authors[5], authors[6], authors[7], authors[8]);
break;
default:
/* 10 or more authors. Use an abbreviation, since the human reader
- will probably not want to read the entire list anyway. */
+ will probably not want to read the entire list anyway. */
/* TRANSLATORS: Each %s denotes an author name.
- You can use line breaks, estimating that each author name occupies
- ca. 16 screen columns and that a screen line has ca. 80 columns. */
- vfprintf (stream, _("\
+ You can use line breaks, estimating that each author name occupies
+ ca. 16 screen columns and that a screen line has ca. 80 columns. */
+ fprintf (stream, _("\
Written by %s, %s, %s,\n%s, %s, %s, %s,\n%s, %s, and others.\n"),
- authors);
+ authors[0], authors[1], authors[2], authors[3], authors[4],
+ authors[5], authors[6], authors[7], authors[8]);
break;
}
- va_end (authors);
+}
+
+/* Display the --version information the standard way. See the initial
+ comment to this module, for more information.
+
+ Author names are given in the NULL-terminated array AUTHORS. */
+void
+version_etc_ar (FILE *stream,
+ const char *command_name, const char *package,
+ const char *version, const char * const * authors)
+{
+ size_t n_authors;
+
+ for (n_authors = 0; authors[n_authors]; n_authors++)
+ ;
+ version_etc_arn (stream, command_name, package, version, authors, n_authors);
+}
+
+/* Display the --version information the standard way. See the initial
+ comment to this module, for more information.
+
+ Author names are given in the NULL-terminated va_list AUTHORS. */
+void
+version_etc_va (FILE *stream,
+ const char *command_name, const char *package,
+ const char *version, va_list authors)
+{
+ size_t n_authors;
+ const char *authtab[10];
+
+ for (n_authors = 0;
+ n_authors < 10
+ && (authtab[n_authors] = va_arg (authors, const char *)) != NULL;
+ n_authors++)
+ ;
+ version_etc_arn (stream, command_name, package, version,
+ authtab, n_authors);
}
/* Display the --version information the standard way.
- If COMMAND_NAME is NULL, the PACKAGE is asumed to be the name of
+ If COMMAND_NAME is NULL, the PACKAGE is assumed to be the name of
the program. The formats are therefore:
PACKAGE VERSION
COMMAND_NAME (PACKAGE) VERSION.
- The author names are passed as separate arguments, with an additional
+ The authors names are passed as separate arguments, with an additional
NULL argument at the end. */
void
version_etc (FILE *stream,
- const char *command_name, const char *package,
- const char *version, /* const char *author1, ...*/ ...)
+ const char *command_name, const char *package,
+ const char *version, /* const char *author1, ...*/ ...)
{
va_list authors;
va_start (authors, version);
version_etc_va (stream, command_name, package, version, authors);
+ va_end (authors);
}
void
for this package. Please add _another line_ saying
"Report translation bugs to <...>\n" with the address for translation
bugs (typically your translation team's web or email address). */
- printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+ printf (_("\nReport bugs to: %s\n"), PACKAGE_BUGREPORT);
#ifdef PACKAGE_PACKAGER_BUG_REPORTS
- printf (_("Report %s bugs to <%s>.\n"), PACKAGE_PACKAGER,
- PACKAGE_PACKAGER_BUG_REPORTS);
+ printf (_("Report %s bugs to: %s\n"), PACKAGE_PACKAGER,
+ PACKAGE_PACKAGER_BUG_REPORTS);
+#endif
+#ifdef PACKAGE_URL
+ printf (_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
+#else
+ printf (_("%s home page: <http://www.gnu.org/software/%s/>\n"),
+ PACKAGE_NAME, PACKAGE);
#endif
- printf (_("%s home page: <http://www.gnu.org/software/%s/>.\n"),
- PACKAGE_NAME, PACKAGE);
- fputs (_("General help using GNU software: <http://www.gnu.org/gethelp/>.\n"),
+ fputs (_("General help using GNU software: <http://www.gnu.org/gethelp/>\n"),
stdout);
}
/* Print --version and bug-reporting information in a consistent format.
- Copyright (C) 1999, 2003, 2005, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2003, 2005, 2009-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
# include <stdarg.h>
# include <stdio.h>
+/* The `sentinel' attribute was added in gcc 4.0. */
+#ifndef _GL_ATTRIBUTE_SENTINEL
+# if 4 <= __GNUC__
+# define _GL_ATTRIBUTE_SENTINEL __attribute__ ((__sentinel__))
+# else
+# define _GL_ATTRIBUTE_SENTINEL /* empty */
+# endif
+#endif
+
extern const char version_etc_copyright[];
+/* The three functions below display the --version information in the
+ standard way: command and package names, package version, followed
+ by a short GPLv3+ notice and a list of up to 10 author names.
+
+ If COMMAND_NAME is NULL, the PACKAGE is asumed to be the name of
+ the program. The formats are therefore:
+
+ PACKAGE VERSION
+
+ or
+
+ COMMAND_NAME (PACKAGE) VERSION.
+
+ The functions differ in the way they are passed author names: */
+
+/* N_AUTHORS names are supplied in array AUTHORS. */
+extern void version_etc_arn (FILE *stream,
+ const char *command_name, const char *package,
+ const char *version,
+ const char * const * authors, size_t n_authors);
+
+/* Names are passed in the NULL-terminated array AUTHORS. */
+extern void version_etc_ar (FILE *stream,
+ const char *command_name, const char *package,
+ const char *version, const char * const * authors);
+
+/* Names are passed in the NULL-terminated va_list. */
extern void version_etc_va (FILE *stream,
- const char *command_name, const char *package,
- const char *version, va_list authors);
+ const char *command_name, const char *package,
+ const char *version, va_list authors);
+/* Names are passed as separate arguments, with an additional
+ NULL argument at the end. */
extern void version_etc (FILE *stream,
- const char *command_name, const char *package,
- const char *version,
- /* const char *author1, ...*/ ...);
+ const char *command_name, const char *package,
+ const char *version,
+ /* const char *author1, ..., NULL */ ...)
+ _GL_ATTRIBUTE_SENTINEL;
+/* Display the usual `Report bugs to' stanza */
extern void emit_bug_reporting_address (void);
#endif /* VERSION_ETC_H */
## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
+# Copyright (C) 2002-2011 Free Software Foundation, Inc.
#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
AUTOMAKE_OPTIONS = 1.5 foreign
-SUBDIRS =
+SUBDIRS = .
TESTS =
+XFAIL_TESTS =
TESTS_ENVIRONMENT =
noinst_PROGRAMS =
check_PROGRAMS =
noinst_HEADERS =
noinst_LIBRARIES =
+check_LIBRARIES = libtests.a
EXTRA_DIST =
BUILT_SOURCES =
SUFFIXES =
MAINTAINERCLEANFILES =
AM_CPPFLAGS = \
+ -D@gltests_WITNESS@=1 \
-I. -I$(srcdir) \
-I.. -I$(srcdir)/.. \
-I../gl -I$(srcdir)/../gl
-LDADD = ../gl/libgnu.la
+LDADD = libtests.a ../gl/libgnu.la libtests.a $(LIBTESTS_LIBDEPS)
+
+libtests_a_SOURCES =
+libtests_a_LIBADD = $(gltests_LIBOBJS)
+libtests_a_DEPENDENCIES = $(gltests_LIBOBJS)
+EXTRA_libtests_a_SOURCES =
+AM_LIBTOOLFLAGS = --preserve-dup-deps
+
+TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)'
+
+## begin gnulib module alloca-opt
+
+BUILT_SOURCES += $(ALLOCA_H)
+
+# We need the following in order to create <alloca.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_ALLOCA_H
+alloca.h: alloca.in.h $(top_builddir)/config.status
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/alloca.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
+else
+alloca.h: $(top_builddir)/config.status
+ rm -f $@
+endif
+MOSTLYCLEANFILES += alloca.h alloca.h-t
+
+EXTRA_DIST += alloca.in.h
+
+## end gnulib module alloca-opt
+
+## begin gnulib module alloca-opt-tests
+
+TESTS += test-alloca-opt
+check_PROGRAMS += test-alloca-opt
+
+EXTRA_DIST += test-alloca-opt.c
+
+## end gnulib module alloca-opt-tests
+
+## begin gnulib module binary-io
+
+libtests_a_SOURCES += binary-io.h
+
+## end gnulib module binary-io
+
+## begin gnulib module close
+
+
+EXTRA_DIST += close.c
+
+EXTRA_libtests_a_SOURCES += close.c
+
+## end gnulib module close
+
+## begin gnulib module close-tests
+
+TESTS += test-close
+check_PROGRAMS += test-close
+EXTRA_DIST += test-close.c signature.h macros.h
+
+## end gnulib module close-tests
+
+## begin gnulib module dosname
+
+
+EXTRA_DIST += dosname.h
+
+## end gnulib module dosname
+
+## begin gnulib module dup2
+
+
+EXTRA_DIST += dup2.c
+
+EXTRA_libtests_a_SOURCES += dup2.c
+
+## end gnulib module dup2
+
+## begin gnulib module dup2-tests
+
+TESTS += test-dup2
+check_PROGRAMS += test-dup2
+EXTRA_DIST += test-dup2.c signature.h macros.h
+
+## end gnulib module dup2-tests
+
+## begin gnulib module environ-tests
+
+TESTS += test-environ
+check_PROGRAMS += test-environ
+
+EXTRA_DIST += test-environ.c
+
+## end gnulib module environ-tests
## begin gnulib module errno-tests
## end gnulib module errno-tests
+## begin gnulib module fcntl-h
+
+BUILT_SOURCES += fcntl.h
+
+# We need the following in order to create <fcntl.h> when the system
+# doesn't have one that works with the given compiler.
+fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \
+ -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \
+ -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \
+ -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \
+ -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \
+ -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \
+ -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \
+ -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \
+ -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \
+ -e 's|@''REPLACE_OPENAT''@|$(REPLACE_OPENAT)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/fcntl.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += fcntl.h fcntl.h-t
+
+EXTRA_DIST += fcntl.in.h
+
+## end gnulib module fcntl-h
+
+## begin gnulib module fd-hook
+
+libtests_a_SOURCES += fd-hook.c
+
+EXTRA_DIST += fd-hook.h
+
+## end gnulib module fd-hook
+
+## begin gnulib module fdopen
+
+
+EXTRA_DIST += fdopen.c
+
+EXTRA_libtests_a_SOURCES += fdopen.c
+
+## end gnulib module fdopen
+
+## begin gnulib module fdopen-tests
+
+TESTS += test-fdopen
+check_PROGRAMS += test-fdopen
+EXTRA_DIST += test-fdopen.c signature.h macros.h
+
+## end gnulib module fdopen-tests
+
+## begin gnulib module fgetc-tests
+
+TESTS += test-fgetc
+check_PROGRAMS += test-fgetc
+EXTRA_DIST += test-fgetc.c signature.h macros.h
+
+## end gnulib module fgetc-tests
+
+## begin gnulib module fputc-tests
+
+TESTS += test-fputc
+check_PROGRAMS += test-fputc
+EXTRA_DIST += test-fputc.c signature.h macros.h
+
+## end gnulib module fputc-tests
+
+## begin gnulib module fread-tests
+
+TESTS += test-fread
+check_PROGRAMS += test-fread
+EXTRA_DIST += test-fread.c signature.h macros.h
+
+## end gnulib module fread-tests
+
+## begin gnulib module fstat
+
+
+EXTRA_DIST += fstat.c
+
+EXTRA_libtests_a_SOURCES += fstat.c
+
+## end gnulib module fstat
+
+## begin gnulib module fstat-tests
+
+TESTS += test-fstat
+check_PROGRAMS += test-fstat
+EXTRA_DIST += test-fstat.c signature.h macros.h
+
+## end gnulib module fstat-tests
+
+## begin gnulib module fwrite-tests
+
+TESTS += test-fwrite
+check_PROGRAMS += test-fwrite
+EXTRA_DIST += test-fwrite.c signature.h macros.h
+
+## end gnulib module fwrite-tests
+
+## begin gnulib module getcwd-lgpl
+
+
+EXTRA_DIST += getcwd-lgpl.c
+
+EXTRA_libtests_a_SOURCES += getcwd-lgpl.c
+
+## end gnulib module getcwd-lgpl
+
+## begin gnulib module getcwd-lgpl-tests
+
+TESTS += test-getcwd-lgpl
+check_PROGRAMS += test-getcwd-lgpl
+test_getcwd_lgpl_LDADD = $(LDADD) $(LIBINTL)
+EXTRA_DIST += test-getcwd-lgpl.c signature.h macros.h
+
+## end gnulib module getcwd-lgpl-tests
+
+## begin gnulib module getopt-posix-tests
+
+TESTS += test-getopt
+check_PROGRAMS += test-getopt
+test_getopt_LDADD = $(LDADD) $(LIBINTL)
+EXTRA_DIST += macros.h signature.h test-getopt.c test-getopt.h test-getopt_long.h
+
+## end gnulib module getopt-posix-tests
+
+## begin gnulib module ignore-value
+
+
+EXTRA_DIST += ignore-value.h
+
+## end gnulib module ignore-value
+
+## begin gnulib module ignore-value-tests
+
+TESTS += test-ignore-value
+check_PROGRAMS += test-ignore-value
+EXTRA_DIST += test-ignore-value.c
+
+## end gnulib module ignore-value-tests
+
+## begin gnulib module intprops-tests
+
+TESTS += test-intprops
+check_PROGRAMS += test-intprops
+EXTRA_DIST += test-intprops.c macros.h
+
+## end gnulib module intprops-tests
+
+## begin gnulib module inttypes-incomplete
+
+BUILT_SOURCES += inttypes.h
+
+# We need the following in order to create <inttypes.h> when the system
+# doesn't have one that works with the given compiler.
+inttypes.h: inttypes.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_NONNULL_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
+ -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
+ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
+ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
+ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
+ -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
+ -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
+ -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
+ -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
+ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
+ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
+ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
+ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
+ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
+ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
+ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
+ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/inttypes.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += inttypes.h inttypes.h-t
+
+EXTRA_DIST += inttypes.in.h
+
+## end gnulib module inttypes-incomplete
+
+## begin gnulib module inttypes-tests
+
+TESTS += test-inttypes
+check_PROGRAMS += test-inttypes
+EXTRA_DIST += test-inttypes.c
+
+## end gnulib module inttypes-tests
+
+## begin gnulib module lstat
+
+
+EXTRA_DIST += lstat.c
+
+EXTRA_libtests_a_SOURCES += lstat.c
+
+## end gnulib module lstat
+
+## begin gnulib module lstat-tests
+
+TESTS += test-lstat
+check_PROGRAMS += test-lstat
+EXTRA_DIST += test-lstat.h test-lstat.c signature.h macros.h
+
+## end gnulib module lstat-tests
+
+## begin gnulib module malloc-posix
+
+
+EXTRA_DIST += malloc.c
+
+EXTRA_libtests_a_SOURCES += malloc.c
+
+## end gnulib module malloc-posix
+
+## begin gnulib module malloca
+
+libtests_a_SOURCES += malloca.c
+
+EXTRA_DIST += malloca.h malloca.valgrind
+
+## end gnulib module malloca
+
+## begin gnulib module malloca-tests
+
+TESTS += test-malloca
+check_PROGRAMS += test-malloca
+
+EXTRA_DIST += test-malloca.c
+
+## end gnulib module malloca-tests
+
+## begin gnulib module open
+
+
+EXTRA_DIST += open.c
+
+EXTRA_libtests_a_SOURCES += open.c
+
+## end gnulib module open
+
+## begin gnulib module open-tests
+
+TESTS += test-open
+check_PROGRAMS += test-open
+EXTRA_DIST += test-open.h test-open.c signature.h macros.h
+
+## end gnulib module open-tests
+
+## begin gnulib module pathmax
+
+
+EXTRA_DIST += pathmax.h
+
+## end gnulib module pathmax
+
+## begin gnulib module pathmax-tests
+
+TESTS += test-pathmax
+check_PROGRAMS += test-pathmax
+EXTRA_DIST += test-pathmax.c
+
+## end gnulib module pathmax-tests
+
+## begin gnulib module putenv
+
+
+EXTRA_DIST += putenv.c
+
+EXTRA_libtests_a_SOURCES += putenv.c
+
+## end gnulib module putenv
+
+## begin gnulib module same-inode
+
+
+EXTRA_DIST += same-inode.h
+
+## end gnulib module same-inode
+
+## begin gnulib module setenv
+
+
+EXTRA_DIST += setenv.c
+
+EXTRA_libtests_a_SOURCES += setenv.c
+
+## end gnulib module setenv
+
+## begin gnulib module setenv-tests
+
+TESTS += test-setenv
+check_PROGRAMS += test-setenv
+EXTRA_DIST += test-setenv.c signature.h macros.h
+
+## end gnulib module setenv-tests
+
+## begin gnulib module snippet/_Noreturn
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all Makefile.am that
+# need it. This is ensured by the applicability 'all' defined above.
+
+_NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h
+
+## end gnulib module snippet/_Noreturn
+
+## begin gnulib module snippet/arg-nonnull
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+BUILT_SOURCES += arg-nonnull.h
+# The arg-nonnull.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
+# off.
+arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_ARG_NONNULL/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
+
+ARG_NONNULL_H=arg-nonnull.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+
+## end gnulib module snippet/arg-nonnull
+
+## begin gnulib module snippet/c++defs
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+BUILT_SOURCES += c++defs.h
+# The c++defs.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
+c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/_GL_CXXDEFS/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/c++defs.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += c++defs.h c++defs.h-t
+
+CXXDEFS_H=c++defs.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h
+
+## end gnulib module snippet/c++defs
+
+## begin gnulib module snippet/warn-on-use
+
+BUILT_SOURCES += warn-on-use.h
+# The warn-on-use.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
+# off.
+warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/^.ifndef/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
+
+WARN_ON_USE_H=warn-on-use.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h
+
+## end gnulib module snippet/warn-on-use
+
+## begin gnulib module stat
+
+
+EXTRA_DIST += stat.c
+
+EXTRA_libtests_a_SOURCES += stat.c
+
+## end gnulib module stat
+
+## begin gnulib module stat-tests
+
+TESTS += test-stat
+check_PROGRAMS += test-stat
+test_stat_LDADD = $(LDADD) $(LIBINTL)
+EXTRA_DIST += test-stat.h test-stat.c signature.h macros.h
+
+## end gnulib module stat-tests
+
+## begin gnulib module stdbool
+
+BUILT_SOURCES += $(STDBOOL_H)
+
+# We need the following in order to create <stdbool.h> when the system
+# doesn't have one that works.
+if GL_GENERATE_STDBOOL_H
+stdbool.h: stdbool.in.h $(top_builddir)/config.status
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+else
+stdbool.h: $(top_builddir)/config.status
+ rm -f $@
+endif
+MOSTLYCLEANFILES += stdbool.h stdbool.h-t
+
+EXTRA_DIST += stdbool.in.h
+
+## end gnulib module stdbool
+
+## begin gnulib module stdbool-tests
+
+TESTS += test-stdbool
+check_PROGRAMS += test-stdbool
+EXTRA_DIST += test-stdbool.c
+
+## end gnulib module stdbool-tests
+
+## begin gnulib module stddef-tests
+
+TESTS += test-stddef
+check_PROGRAMS += test-stddef
+EXTRA_DIST += test-stddef.c
+
+## end gnulib module stddef-tests
+
+## begin gnulib module stdint
+
+BUILT_SOURCES += $(STDINT_H)
+
+# We need the following in order to create <stdint.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_STDINT_H
+stdint.h: stdint.in.h $(top_builddir)/config.status
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
+ -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
+ -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+ -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
+ -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
+ -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
+ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
+ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
+ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+ -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
+ -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
+ -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
+ -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
+ -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
+ -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
+ -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
+ -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
+ -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
+ -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
+ -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
+ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
+ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
+ < $(srcdir)/stdint.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+else
+stdint.h: $(top_builddir)/config.status
+ rm -f $@
+endif
+MOSTLYCLEANFILES += stdint.h stdint.h-t
+
+EXTRA_DIST += stdint.in.h
+
+## end gnulib module stdint
+
+## begin gnulib module stdint-tests
+
+TESTS += test-stdint
+check_PROGRAMS += test-stdint
+EXTRA_DIST += test-stdint.c
+
+## end gnulib module stdint-tests
+
+## begin gnulib module stdio
+
+BUILT_SOURCES += stdio.h
+
+# We need the following in order to create <stdio.h> when the system
+# doesn't have one that works with the given compiler.
+stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
+ -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \
+ -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \
+ -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \
+ -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \
+ -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \
+ -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \
+ -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \
+ -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \
+ -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \
+ -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \
+ -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \
+ -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \
+ -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \
+ -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \
+ -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \
+ -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \
+ -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \
+ -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \
+ -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \
+ -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \
+ -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \
+ -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
+ -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
+ -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
+ -e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \
+ -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
+ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
+ -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
+ -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \
+ -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \
+ -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \
+ -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \
+ -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \
+ -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \
+ -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \
+ -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \
+ -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \
+ -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \
+ -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \
+ -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \
+ -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \
+ -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \
+ -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \
+ -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \
+ -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \
+ -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \
+ -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \
+ -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \
+ -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \
+ -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \
+ -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \
+ -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \
+ -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \
+ -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \
+ < $(srcdir)/stdio.in.h | \
+ sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
+ -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \
+ -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \
+ -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
+ -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
+ -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
+ -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
+ -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
+ -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
+ -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
+ -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
+ -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \
+ -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \
+ -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
+ -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
+ -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
+ -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
+ -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
+ -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
+ -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
+ -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
+ -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
+ -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \
+ -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
+ -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \
+ -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
+ -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
+ -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
+ -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \
+ -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
+ -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
+ -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
+ -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \
+ -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
+ -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \
+ -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \
+ -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \
+ -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
+ -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
+ -e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \
+ -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
+ -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \
+ -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
+ -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
+ -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
+ -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
+ -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
+ -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
+ -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += stdio.h stdio.h-t
+
+EXTRA_DIST += stdio.in.h
+
+## end gnulib module stdio
+
+## begin gnulib module stdio-tests
+
+TESTS += test-stdio
+check_PROGRAMS += test-stdio
+EXTRA_DIST += test-stdio.c
+
+## end gnulib module stdio-tests
+
+## begin gnulib module stdlib
+
+BUILT_SOURCES += stdlib.h
+
+# We need the following in order to create <stdlib.h> when the system
+# doesn't have one that works with the given compiler.
+stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
+ $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
+ -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \
+ -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \
+ -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \
+ -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \
+ -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \
+ -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \
+ -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \
+ -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \
+ -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \
+ -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
+ -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
+ -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
+ -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
+ -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
+ -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
+ -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
+ -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
+ -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
+ -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
+ -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
+ -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
+ -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
+ -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \
+ -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \
+ -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \
+ -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \
+ -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \
+ < $(srcdir)/stdlib.in.h | \
+ sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
+ -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
+ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
+ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
+ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
+ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
+ -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
+ -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
+ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
+ -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
+ -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+ -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
+ -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
+ -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+ -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
+ -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
+ -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
+ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
+ -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
+ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
+ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
+ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
+ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
+ -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
+ -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
+ -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
+ -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
+ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
+ -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
+ -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
+ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
+ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
+ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+ -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
+ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
+ -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
+ -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
+ -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
+ -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _Noreturn/r $(_NORETURN_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += stdlib.h stdlib.h-t
+
+EXTRA_DIST += stdlib.in.h
+
+## end gnulib module stdlib
+
## begin gnulib module strerror-tests
TESTS += test-strerror
check_PROGRAMS += test-strerror
-EXTRA_DIST += test-strerror.c
+EXTRA_DIST += test-strerror.c signature.h macros.h
## end gnulib module strerror-tests
-## begin gnulib module string-tests
+## begin gnulib module symlink
+
-TESTS += test-string
-check_PROGRAMS += test-string
+EXTRA_DIST += symlink.c
-EXTRA_DIST += test-string.c
+EXTRA_libtests_a_SOURCES += symlink.c
-## end gnulib module string-tests
+## end gnulib module symlink
-## begin gnulib module unistd-tests
+## begin gnulib module symlink-tests
-TESTS += test-unistd
-check_PROGRAMS += test-unistd
+TESTS += test-symlink
+check_PROGRAMS += test-symlink
+EXTRA_DIST += test-symlink.h test-symlink.c signature.h macros.h
-EXTRA_DIST += test-unistd.c
+## end gnulib module symlink-tests
-## end gnulib module unistd-tests
+## begin gnulib module sys_stat
+
+BUILT_SOURCES += sys/stat.h
+
+# We need the following in order to create <sys/stat.h> when the system
+# has one that is incomplete.
+sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_at)$(MKDIR_P) sys
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
+ -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \
+ -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \
+ -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \
+ -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \
+ -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \
+ -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \
+ -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \
+ -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \
+ -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \
+ -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \
+ -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \
+ -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \
+ -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \
+ -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \
+ -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \
+ -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \
+ -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \
+ -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \
+ -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \
+ -e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \
+ -e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \
+ -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \
+ -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \
+ -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \
+ -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \
+ -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \
+ -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \
+ -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \
+ -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \
+ -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \
+ -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \
+ -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \
+ -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/sys_stat.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += sys/stat.h sys/stat.h-t
+MOSTLYCLEANDIRS += sys
+
+EXTRA_DIST += sys_stat.in.h
+
+## end gnulib module sys_stat
+
+## begin gnulib module time
+
+BUILT_SOURCES += time.h
+
+# We need the following in order to create <time.h> when the system
+# doesn't have one that works with the given compiler.
+time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
+ -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \
+ -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \
+ -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
+ -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \
+ -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
+ -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
+ -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
+ -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
+ -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
+ -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
+ -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
+ -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
+ -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
+ -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
+ -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
+ -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/time.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += time.h time.h-t
+
+EXTRA_DIST += time.in.h
+
+## end gnulib module time
+
+## begin gnulib module unsetenv
+
+
+EXTRA_DIST += unsetenv.c
+
+EXTRA_libtests_a_SOURCES += unsetenv.c
+
+## end gnulib module unsetenv
+
+## begin gnulib module unsetenv-tests
+
+TESTS += test-unsetenv
+check_PROGRAMS += test-unsetenv
+EXTRA_DIST += test-unsetenv.c signature.h macros.h
+
+## end gnulib module unsetenv-tests
## begin gnulib module vc-list-files-tests
TESTS += test-vc-list-files-git.sh
TESTS += test-vc-list-files-cvs.sh
-TESTS_ENVIRONMENT += PATH='$(abs_aux_dir)'$(PATH_SEPARATOR)"$$PATH"
-EXTRA_DIST += test-vc-list-files-git.sh test-vc-list-files-cvs.sh
+TESTS_ENVIRONMENT += abs_aux_dir='$(abs_aux_dir)'
+EXTRA_DIST += test-vc-list-files-git.sh test-vc-list-files-cvs.sh init.sh
## end gnulib module vc-list-files-tests
+## begin gnulib module verify-tests
+
+TESTS_ENVIRONMENT += MAKE='$(MAKE)'
+TESTS += test-verify test-verify.sh
+check_PROGRAMS += test-verify
+EXTRA_DIST += test-verify.c test-verify.sh init.sh
+
+## end gnulib module verify-tests
+
+## begin gnulib module version-etc-fsf
+
+libtests_a_SOURCES += version-etc-fsf.c
+
+## end gnulib module version-etc-fsf
+
+## begin gnulib module version-etc-tests
+
+TESTS += test-version-etc.sh
+check_PROGRAMS += test-version-etc
+test_version_etc_LDADD = $(LDADD) @LIBINTL@
+EXTRA_DIST += test-version-etc.c test-version-etc.sh
+
+## end gnulib module version-etc-tests
+
+## begin gnulib module wchar
+
+BUILT_SOURCES += wchar.h
+
+# We need the following in order to create <wchar.h> when the system
+# version does not work standalone.
+wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
+ -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
+ -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
+ -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
+ -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
+ -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
+ -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \
+ -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \
+ -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \
+ -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \
+ -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \
+ -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \
+ -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \
+ -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \
+ -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \
+ -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \
+ -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \
+ -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \
+ -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \
+ -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \
+ -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \
+ -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \
+ -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \
+ -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \
+ -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \
+ -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \
+ -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \
+ -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \
+ -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \
+ -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \
+ -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \
+ -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \
+ -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \
+ -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \
+ -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \
+ -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \
+ -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \
+ -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \
+ -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \
+ -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \
+ -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
+ -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
+ < $(srcdir)/wchar.in.h | \
+ sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
+ -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
+ -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
+ -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
+ -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
+ -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
+ -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
+ -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
+ -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
+ -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
+ -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
+ -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
+ -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
+ -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
+ -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
+ -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
+ -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
+ -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
+ -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
+ -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
+ -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
+ -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
+ -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
+ -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
+ -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
+ -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
+ -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
+ -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
+ -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
+ -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
+ -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
+ -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
+ -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
+ -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
+ -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
+ -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
+ -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
+ -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
+ -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
+ -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
+ | \
+ sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
+ -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
+ -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
+ -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
+ -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
+ -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
+ -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
+ -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
+ -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
+ -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
+ -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
+ -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
+ -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += wchar.h wchar.h-t
+
+EXTRA_DIST += wchar.in.h
+
+## end gnulib module wchar
+
# Clean up after Solaris cc.
clean-local:
rm -rf SunWS_cache
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
+# Copyright (C) 2002-2011 Free Software Foundation, Inc.
#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-TESTS = test-errno$(EXEEXT) test-strerror$(EXEEXT) \
- test-string$(EXEEXT) test-unistd$(EXEEXT) \
- test-vc-list-files-git.sh test-vc-list-files-cvs.sh
+TESTS = test-alloca-opt$(EXEEXT) test-close$(EXEEXT) \
+ test-dup2$(EXEEXT) test-environ$(EXEEXT) test-errno$(EXEEXT) \
+ test-fdopen$(EXEEXT) test-fgetc$(EXEEXT) test-fputc$(EXEEXT) \
+ test-fread$(EXEEXT) test-fstat$(EXEEXT) test-fwrite$(EXEEXT) \
+ test-getcwd-lgpl$(EXEEXT) test-getopt$(EXEEXT) \
+ test-ignore-value$(EXEEXT) test-intprops$(EXEEXT) \
+ test-inttypes$(EXEEXT) test-lstat$(EXEEXT) \
+ test-malloca$(EXEEXT) test-open$(EXEEXT) test-pathmax$(EXEEXT) \
+ test-setenv$(EXEEXT) test-stat$(EXEEXT) test-stdbool$(EXEEXT) \
+ test-stddef$(EXEEXT) test-stdint$(EXEEXT) test-stdio$(EXEEXT) \
+ test-strerror$(EXEEXT) test-symlink$(EXEEXT) \
+ test-unsetenv$(EXEEXT) test-vc-list-files-git.sh \
+ test-vc-list-files-cvs.sh test-verify$(EXEEXT) test-verify.sh \
+ test-version-etc.sh
+XFAIL_TESTS =
noinst_PROGRAMS =
-check_PROGRAMS = test-errno$(EXEEXT) test-strerror$(EXEEXT) \
- test-string$(EXEEXT) test-unistd$(EXEEXT)
+check_PROGRAMS = test-alloca-opt$(EXEEXT) test-close$(EXEEXT) \
+ test-dup2$(EXEEXT) test-environ$(EXEEXT) test-errno$(EXEEXT) \
+ test-fdopen$(EXEEXT) test-fgetc$(EXEEXT) test-fputc$(EXEEXT) \
+ test-fread$(EXEEXT) test-fstat$(EXEEXT) test-fwrite$(EXEEXT) \
+ test-getcwd-lgpl$(EXEEXT) test-getopt$(EXEEXT) \
+ test-ignore-value$(EXEEXT) test-intprops$(EXEEXT) \
+ test-inttypes$(EXEEXT) test-lstat$(EXEEXT) \
+ test-malloca$(EXEEXT) test-open$(EXEEXT) test-pathmax$(EXEEXT) \
+ test-setenv$(EXEEXT) test-stat$(EXEEXT) test-stdbool$(EXEEXT) \
+ test-stddef$(EXEEXT) test-stdint$(EXEEXT) test-stdio$(EXEEXT) \
+ test-strerror$(EXEEXT) test-symlink$(EXEEXT) \
+ test-unsetenv$(EXEEXT) test-verify$(EXEEXT) \
+ test-version-etc$(EXEEXT)
subdir = gltests
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
+AM_V_AR = $(am__v_AR_$(V))
+am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+am__v_AR_0 = @echo " AR " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+libtests_a_AR = $(AR) $(ARFLAGS)
+am__DEPENDENCIES_1 =
+am_libtests_a_OBJECTS = fd-hook.$(OBJEXT) malloca.$(OBJEXT) \
+ version-etc-fsf.$(OBJEXT)
+libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
PROGRAMS = $(noinst_PROGRAMS)
+test_alloca_opt_SOURCES = test-alloca-opt.c
+test_alloca_opt_OBJECTS = test-alloca-opt.$(OBJEXT)
+test_alloca_opt_LDADD = $(LDADD)
+test_alloca_opt_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+test_close_SOURCES = test-close.c
+test_close_OBJECTS = test-close.$(OBJEXT)
+test_close_LDADD = $(LDADD)
+test_close_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_dup2_SOURCES = test-dup2.c
+test_dup2_OBJECTS = test-dup2.$(OBJEXT)
+test_dup2_LDADD = $(LDADD)
+test_dup2_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_environ_SOURCES = test-environ.c
+test_environ_OBJECTS = test-environ.$(OBJEXT)
+test_environ_LDADD = $(LDADD)
+test_environ_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
test_errno_SOURCES = test-errno.c
test_errno_OBJECTS = test-errno.$(OBJEXT)
test_errno_LDADD = $(LDADD)
-test_errno_DEPENDENCIES = ../gl/libgnu.la
+test_errno_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_fdopen_SOURCES = test-fdopen.c
+test_fdopen_OBJECTS = test-fdopen.$(OBJEXT)
+test_fdopen_LDADD = $(LDADD)
+test_fdopen_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_fgetc_SOURCES = test-fgetc.c
+test_fgetc_OBJECTS = test-fgetc.$(OBJEXT)
+test_fgetc_LDADD = $(LDADD)
+test_fgetc_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_fputc_SOURCES = test-fputc.c
+test_fputc_OBJECTS = test-fputc.$(OBJEXT)
+test_fputc_LDADD = $(LDADD)
+test_fputc_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_fread_SOURCES = test-fread.c
+test_fread_OBJECTS = test-fread.$(OBJEXT)
+test_fread_LDADD = $(LDADD)
+test_fread_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_fstat_SOURCES = test-fstat.c
+test_fstat_OBJECTS = test-fstat.$(OBJEXT)
+test_fstat_LDADD = $(LDADD)
+test_fstat_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_fwrite_SOURCES = test-fwrite.c
+test_fwrite_OBJECTS = test-fwrite.$(OBJEXT)
+test_fwrite_LDADD = $(LDADD)
+test_fwrite_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_getcwd_lgpl_SOURCES = test-getcwd-lgpl.c
+test_getcwd_lgpl_OBJECTS = test-getcwd-lgpl.$(OBJEXT)
+am__DEPENDENCIES_2 = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_getcwd_lgpl_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1)
+test_getopt_SOURCES = test-getopt.c
+test_getopt_OBJECTS = test-getopt.$(OBJEXT)
+test_getopt_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
+test_ignore_value_SOURCES = test-ignore-value.c
+test_ignore_value_OBJECTS = test-ignore-value.$(OBJEXT)
+test_ignore_value_LDADD = $(LDADD)
+test_ignore_value_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_intprops_SOURCES = test-intprops.c
+test_intprops_OBJECTS = test-intprops.$(OBJEXT)
+test_intprops_LDADD = $(LDADD)
+test_intprops_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_inttypes_SOURCES = test-inttypes.c
+test_inttypes_OBJECTS = test-inttypes.$(OBJEXT)
+test_inttypes_LDADD = $(LDADD)
+test_inttypes_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_lstat_SOURCES = test-lstat.c
+test_lstat_OBJECTS = test-lstat.$(OBJEXT)
+test_lstat_LDADD = $(LDADD)
+test_lstat_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_malloca_SOURCES = test-malloca.c
+test_malloca_OBJECTS = test-malloca.$(OBJEXT)
+test_malloca_LDADD = $(LDADD)
+test_malloca_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_open_SOURCES = test-open.c
+test_open_OBJECTS = test-open.$(OBJEXT)
+test_open_LDADD = $(LDADD)
+test_open_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_pathmax_SOURCES = test-pathmax.c
+test_pathmax_OBJECTS = test-pathmax.$(OBJEXT)
+test_pathmax_LDADD = $(LDADD)
+test_pathmax_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_setenv_SOURCES = test-setenv.c
+test_setenv_OBJECTS = test-setenv.$(OBJEXT)
+test_setenv_LDADD = $(LDADD)
+test_setenv_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_stat_SOURCES = test-stat.c
+test_stat_OBJECTS = test-stat.$(OBJEXT)
+test_stat_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
+test_stdbool_SOURCES = test-stdbool.c
+test_stdbool_OBJECTS = test-stdbool.$(OBJEXT)
+test_stdbool_LDADD = $(LDADD)
+test_stdbool_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_stddef_SOURCES = test-stddef.c
+test_stddef_OBJECTS = test-stddef.$(OBJEXT)
+test_stddef_LDADD = $(LDADD)
+test_stddef_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_stdint_SOURCES = test-stdint.c
+test_stdint_OBJECTS = test-stdint.$(OBJEXT)
+test_stdint_LDADD = $(LDADD)
+test_stdint_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_stdio_SOURCES = test-stdio.c
+test_stdio_OBJECTS = test-stdio.$(OBJEXT)
+test_stdio_LDADD = $(LDADD)
+test_stdio_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
test_strerror_SOURCES = test-strerror.c
test_strerror_OBJECTS = test-strerror.$(OBJEXT)
test_strerror_LDADD = $(LDADD)
-test_strerror_DEPENDENCIES = ../gl/libgnu.la
-test_string_SOURCES = test-string.c
-test_string_OBJECTS = test-string.$(OBJEXT)
-test_string_LDADD = $(LDADD)
-test_string_DEPENDENCIES = ../gl/libgnu.la
-test_unistd_SOURCES = test-unistd.c
-test_unistd_OBJECTS = test-unistd.$(OBJEXT)
-test_unistd_LDADD = $(LDADD)
-test_unistd_DEPENDENCIES = ../gl/libgnu.la
+test_strerror_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_symlink_SOURCES = test-symlink.c
+test_symlink_OBJECTS = test-symlink.$(OBJEXT)
+test_symlink_LDADD = $(LDADD)
+test_symlink_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_unsetenv_SOURCES = test-unsetenv.c
+test_unsetenv_OBJECTS = test-unsetenv.$(OBJEXT)
+test_unsetenv_LDADD = $(LDADD)
+test_unsetenv_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_verify_SOURCES = test-verify.c
+test_verify_OBJECTS = test-verify.$(OBJEXT)
+test_verify_LDADD = $(LDADD)
+test_verify_DEPENDENCIES = libtests.a ../gl/libgnu.la libtests.a \
+ $(am__DEPENDENCIES_1)
+test_version_etc_SOURCES = test-version-etc.c
+test_version_etc_OBJECTS = test-version-etc.$(OBJEXT)
+test_version_etc_DEPENDENCIES = $(am__DEPENDENCIES_2)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = test-errno.c test-strerror.c test-string.c test-unistd.c
-DIST_SOURCES = test-errno.c test-strerror.c test-string.c \
- test-unistd.c
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
+ test-alloca-opt.c test-close.c test-dup2.c test-environ.c \
+ test-errno.c test-fdopen.c test-fgetc.c test-fputc.c \
+ test-fread.c test-fstat.c test-fwrite.c test-getcwd-lgpl.c \
+ test-getopt.c test-ignore-value.c test-intprops.c \
+ test-inttypes.c test-lstat.c test-malloca.c test-open.c \
+ test-pathmax.c test-setenv.c test-stat.c test-stdbool.c \
+ test-stddef.c test-stdint.c test-stdio.c test-strerror.c \
+ test-symlink.c test-unsetenv.c test-verify.c \
+ test-version-etc.c
+DIST_SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
+ test-alloca-opt.c test-close.c test-dup2.c test-environ.c \
+ test-errno.c test-fdopen.c test-fgetc.c test-fputc.c \
+ test-fread.c test-fstat.c test-fwrite.c test-getcwd-lgpl.c \
+ test-getopt.c test-ignore-value.c test-intprops.c \
+ test-inttypes.c test-lstat.c test-malloca.c test-open.c \
+ test-pathmax.c test-setenv.c test-stat.c test-stdbool.c \
+ test-stddef.c test-stdint.c test-stdio.c test-strerror.c \
+ test-symlink.c test-unsetenv.c test-verify.c \
+ test-version-etc.c
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.5 foreign
-SUBDIRS =
-TESTS_ENVIRONMENT = PATH='$(abs_aux_dir)'$(PATH_SEPARATOR)"$$PATH"
+SUBDIRS = .
+TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \
+ abs_aux_dir='$(abs_aux_dir)' MAKE='$(MAKE)'
noinst_HEADERS =
noinst_LIBRARIES =
-EXTRA_DIST = test-errno.c test-strerror.c test-string.c test-unistd.c \
- test-vc-list-files-git.sh test-vc-list-files-cvs.sh
-BUILT_SOURCES =
+check_LIBRARIES = libtests.a
+EXTRA_DIST = alloca.in.h test-alloca-opt.c close.c test-close.c \
+ signature.h macros.h dosname.h dup2.c test-dup2.c signature.h \
+ macros.h test-environ.c test-errno.c fcntl.in.h fd-hook.h \
+ fdopen.c test-fdopen.c signature.h macros.h test-fgetc.c \
+ signature.h macros.h test-fputc.c signature.h macros.h \
+ test-fread.c signature.h macros.h fstat.c test-fstat.c \
+ signature.h macros.h test-fwrite.c signature.h macros.h \
+ getcwd-lgpl.c test-getcwd-lgpl.c signature.h macros.h macros.h \
+ signature.h test-getopt.c test-getopt.h test-getopt_long.h \
+ ignore-value.h test-ignore-value.c test-intprops.c macros.h \
+ inttypes.in.h test-inttypes.c lstat.c test-lstat.h \
+ test-lstat.c signature.h macros.h malloc.c malloca.h \
+ malloca.valgrind test-malloca.c open.c test-open.h test-open.c \
+ signature.h macros.h pathmax.h test-pathmax.c putenv.c \
+ same-inode.h setenv.c test-setenv.c signature.h macros.h \
+ $(top_srcdir)/build-aux/snippet/_Noreturn.h \
+ $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ $(top_srcdir)/build-aux/snippet/c++defs.h \
+ $(top_srcdir)/build-aux/snippet/warn-on-use.h stat.c \
+ test-stat.h test-stat.c signature.h macros.h stdbool.in.h \
+ test-stdbool.c test-stddef.c stdint.in.h test-stdint.c \
+ stdio.in.h test-stdio.c stdlib.in.h test-strerror.c \
+ signature.h macros.h symlink.c test-symlink.h test-symlink.c \
+ signature.h macros.h sys_stat.in.h time.in.h unsetenv.c \
+ test-unsetenv.c signature.h macros.h test-vc-list-files-git.sh \
+ test-vc-list-files-cvs.sh init.sh test-verify.c test-verify.sh \
+ init.sh test-version-etc.c test-version-etc.sh wchar.in.h
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+BUILT_SOURCES = $(ALLOCA_H) fcntl.h inttypes.h arg-nonnull.h c++defs.h \
+ warn-on-use.h $(STDBOOL_H) $(STDINT_H) stdio.h stdlib.h \
+ sys/stat.h time.h wchar.h
SUFFIXES =
-MOSTLYCLEANFILES = core *.stackdump
-MOSTLYCLEANDIRS =
+MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t fcntl.h \
+ fcntl.h-t inttypes.h inttypes.h-t arg-nonnull.h \
+ arg-nonnull.h-t c++defs.h c++defs.h-t warn-on-use.h \
+ warn-on-use.h-t stdbool.h stdbool.h-t stdint.h stdint.h-t \
+ stdio.h stdio.h-t stdlib.h stdlib.h-t sys/stat.h sys/stat.h-t \
+ time.h time.h-t wchar.h wchar.h-t
+MOSTLYCLEANDIRS = sys
CLEANFILES =
DISTCLEANFILES =
MAINTAINERCLEANFILES =
AM_CPPFLAGS = \
+ -D@gltests_WITNESS@=1 \
-I. -I$(srcdir) \
-I.. -I$(srcdir)/.. \
-I../gl -I$(srcdir)/../gl
-LDADD = ../gl/libgnu.la
+LDADD = libtests.a ../gl/libgnu.la libtests.a $(LIBTESTS_LIBDEPS)
+libtests_a_SOURCES = binary-io.h fd-hook.c malloca.c version-etc-fsf.c
+libtests_a_LIBADD = $(gltests_LIBOBJS)
+libtests_a_DEPENDENCIES = $(gltests_LIBOBJS)
+EXTRA_libtests_a_SOURCES = close.c dup2.c fdopen.c fstat.c \
+ getcwd-lgpl.c lstat.c malloc.c open.c putenv.c setenv.c stat.c \
+ symlink.c unsetenv.c
+AM_LIBTOOLFLAGS = --preserve-dup-deps
+test_getcwd_lgpl_LDADD = $(LDADD) $(LIBINTL)
+test_getopt_LDADD = $(LDADD) $(LIBINTL)
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all Makefile.am that
+# need it. This is ensured by the applicability 'all' defined above.
+_NORETURN_H = $(top_srcdir)/build-aux/snippet/_Noreturn.h
+ARG_NONNULL_H = arg-nonnull.h
+CXXDEFS_H = c++defs.h
+WARN_ON_USE_H = warn-on-use.h
+test_stat_LDADD = $(LDADD) $(LIBINTL)
+test_version_etc_LDADD = $(LDADD) @LIBINTL@
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-recursive
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES)
+ $(AM_V_at)-rm -f libtests.a
+ $(AM_V_AR)$(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD)
+ $(AM_V_at)$(RANLIB) libtests.a
clean-checkPROGRAMS:
@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+test-alloca-opt$(EXEEXT): $(test_alloca_opt_OBJECTS) $(test_alloca_opt_DEPENDENCIES)
+ @rm -f test-alloca-opt$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_alloca_opt_OBJECTS) $(test_alloca_opt_LDADD) $(LIBS)
+test-close$(EXEEXT): $(test_close_OBJECTS) $(test_close_DEPENDENCIES)
+ @rm -f test-close$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_close_OBJECTS) $(test_close_LDADD) $(LIBS)
+test-dup2$(EXEEXT): $(test_dup2_OBJECTS) $(test_dup2_DEPENDENCIES)
+ @rm -f test-dup2$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_dup2_OBJECTS) $(test_dup2_LDADD) $(LIBS)
+test-environ$(EXEEXT): $(test_environ_OBJECTS) $(test_environ_DEPENDENCIES)
+ @rm -f test-environ$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_environ_OBJECTS) $(test_environ_LDADD) $(LIBS)
test-errno$(EXEEXT): $(test_errno_OBJECTS) $(test_errno_DEPENDENCIES)
@rm -f test-errno$(EXEEXT)
- $(LINK) $(test_errno_OBJECTS) $(test_errno_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_errno_OBJECTS) $(test_errno_LDADD) $(LIBS)
+test-fdopen$(EXEEXT): $(test_fdopen_OBJECTS) $(test_fdopen_DEPENDENCIES)
+ @rm -f test-fdopen$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fdopen_OBJECTS) $(test_fdopen_LDADD) $(LIBS)
+test-fgetc$(EXEEXT): $(test_fgetc_OBJECTS) $(test_fgetc_DEPENDENCIES)
+ @rm -f test-fgetc$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fgetc_OBJECTS) $(test_fgetc_LDADD) $(LIBS)
+test-fputc$(EXEEXT): $(test_fputc_OBJECTS) $(test_fputc_DEPENDENCIES)
+ @rm -f test-fputc$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fputc_OBJECTS) $(test_fputc_LDADD) $(LIBS)
+test-fread$(EXEEXT): $(test_fread_OBJECTS) $(test_fread_DEPENDENCIES)
+ @rm -f test-fread$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fread_OBJECTS) $(test_fread_LDADD) $(LIBS)
+test-fstat$(EXEEXT): $(test_fstat_OBJECTS) $(test_fstat_DEPENDENCIES)
+ @rm -f test-fstat$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fstat_OBJECTS) $(test_fstat_LDADD) $(LIBS)
+test-fwrite$(EXEEXT): $(test_fwrite_OBJECTS) $(test_fwrite_DEPENDENCIES)
+ @rm -f test-fwrite$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_fwrite_OBJECTS) $(test_fwrite_LDADD) $(LIBS)
+test-getcwd-lgpl$(EXEEXT): $(test_getcwd_lgpl_OBJECTS) $(test_getcwd_lgpl_DEPENDENCIES)
+ @rm -f test-getcwd-lgpl$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_getcwd_lgpl_OBJECTS) $(test_getcwd_lgpl_LDADD) $(LIBS)
+test-getopt$(EXEEXT): $(test_getopt_OBJECTS) $(test_getopt_DEPENDENCIES)
+ @rm -f test-getopt$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_getopt_OBJECTS) $(test_getopt_LDADD) $(LIBS)
+test-ignore-value$(EXEEXT): $(test_ignore_value_OBJECTS) $(test_ignore_value_DEPENDENCIES)
+ @rm -f test-ignore-value$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_ignore_value_OBJECTS) $(test_ignore_value_LDADD) $(LIBS)
+test-intprops$(EXEEXT): $(test_intprops_OBJECTS) $(test_intprops_DEPENDENCIES)
+ @rm -f test-intprops$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_intprops_OBJECTS) $(test_intprops_LDADD) $(LIBS)
+test-inttypes$(EXEEXT): $(test_inttypes_OBJECTS) $(test_inttypes_DEPENDENCIES)
+ @rm -f test-inttypes$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_inttypes_OBJECTS) $(test_inttypes_LDADD) $(LIBS)
+test-lstat$(EXEEXT): $(test_lstat_OBJECTS) $(test_lstat_DEPENDENCIES)
+ @rm -f test-lstat$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_lstat_OBJECTS) $(test_lstat_LDADD) $(LIBS)
+test-malloca$(EXEEXT): $(test_malloca_OBJECTS) $(test_malloca_DEPENDENCIES)
+ @rm -f test-malloca$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_malloca_OBJECTS) $(test_malloca_LDADD) $(LIBS)
+test-open$(EXEEXT): $(test_open_OBJECTS) $(test_open_DEPENDENCIES)
+ @rm -f test-open$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_open_OBJECTS) $(test_open_LDADD) $(LIBS)
+test-pathmax$(EXEEXT): $(test_pathmax_OBJECTS) $(test_pathmax_DEPENDENCIES)
+ @rm -f test-pathmax$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_pathmax_OBJECTS) $(test_pathmax_LDADD) $(LIBS)
+test-setenv$(EXEEXT): $(test_setenv_OBJECTS) $(test_setenv_DEPENDENCIES)
+ @rm -f test-setenv$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_setenv_OBJECTS) $(test_setenv_LDADD) $(LIBS)
+test-stat$(EXEEXT): $(test_stat_OBJECTS) $(test_stat_DEPENDENCIES)
+ @rm -f test-stat$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_stat_OBJECTS) $(test_stat_LDADD) $(LIBS)
+test-stdbool$(EXEEXT): $(test_stdbool_OBJECTS) $(test_stdbool_DEPENDENCIES)
+ @rm -f test-stdbool$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_stdbool_OBJECTS) $(test_stdbool_LDADD) $(LIBS)
+test-stddef$(EXEEXT): $(test_stddef_OBJECTS) $(test_stddef_DEPENDENCIES)
+ @rm -f test-stddef$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_stddef_OBJECTS) $(test_stddef_LDADD) $(LIBS)
+test-stdint$(EXEEXT): $(test_stdint_OBJECTS) $(test_stdint_DEPENDENCIES)
+ @rm -f test-stdint$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_stdint_OBJECTS) $(test_stdint_LDADD) $(LIBS)
+test-stdio$(EXEEXT): $(test_stdio_OBJECTS) $(test_stdio_DEPENDENCIES)
+ @rm -f test-stdio$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_stdio_OBJECTS) $(test_stdio_LDADD) $(LIBS)
test-strerror$(EXEEXT): $(test_strerror_OBJECTS) $(test_strerror_DEPENDENCIES)
@rm -f test-strerror$(EXEEXT)
- $(LINK) $(test_strerror_OBJECTS) $(test_strerror_LDADD) $(LIBS)
-test-string$(EXEEXT): $(test_string_OBJECTS) $(test_string_DEPENDENCIES)
- @rm -f test-string$(EXEEXT)
- $(LINK) $(test_string_OBJECTS) $(test_string_LDADD) $(LIBS)
-test-unistd$(EXEEXT): $(test_unistd_OBJECTS) $(test_unistd_DEPENDENCIES)
- @rm -f test-unistd$(EXEEXT)
- $(LINK) $(test_unistd_OBJECTS) $(test_unistd_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_strerror_OBJECTS) $(test_strerror_LDADD) $(LIBS)
+test-symlink$(EXEEXT): $(test_symlink_OBJECTS) $(test_symlink_DEPENDENCIES)
+ @rm -f test-symlink$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_symlink_OBJECTS) $(test_symlink_LDADD) $(LIBS)
+test-unsetenv$(EXEEXT): $(test_unsetenv_OBJECTS) $(test_unsetenv_DEPENDENCIES)
+ @rm -f test-unsetenv$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_unsetenv_OBJECTS) $(test_unsetenv_LDADD) $(LIBS)
+test-verify$(EXEEXT): $(test_verify_OBJECTS) $(test_verify_DEPENDENCIES)
+ @rm -f test-verify$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_verify_OBJECTS) $(test_verify_LDADD) $(LIBS)
+test-version-etc$(EXEEXT): $(test_version_etc_OBJECTS) $(test_version_etc_DEPENDENCIES)
+ @rm -f test-version-etc$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_version_etc_OBJECTS) $(test_version_etc_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fd-hook.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdopen.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getcwd-lgpl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloca.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/putenv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alloca-opt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-close.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-dup2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-environ.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-errno.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fdopen.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fgetc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fputc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fread.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fstat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-fwrite.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getcwd-lgpl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-getopt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ignore-value.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-intprops.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-inttypes.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lstat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-malloca.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-open.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pathmax.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setenv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdbool.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stddef.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdint.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdio.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strerror.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-string.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unistd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-symlink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unsetenv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-verify.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-version-etc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc-fsf.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
fi; \
done
check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) check-recursive
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-recursive
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \
- clean-noinstLIBRARIES clean-noinstPROGRAMS mostlyclean-am
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local clean-noinstLIBRARIES \
+ clean-noinstPROGRAMS mostlyclean-am
distclean: distclean-recursive
-rm -rf ./$(DEPDIR)
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-TESTS check-am clean \
- clean-checkPROGRAMS clean-generic clean-libtool clean-local \
- clean-noinstLIBRARIES clean-noinstPROGRAMS ctags \
- ctags-recursive distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \
- pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
-
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool clean-local clean-noinstLIBRARIES \
+ clean-noinstPROGRAMS ctags ctags-recursive distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool mostlyclean-local pdf pdf-am ps ps-am tags \
+ tags-recursive uninstall uninstall-am
+
+
+# We need the following in order to create <alloca.h> when the system
+# doesn't have one that works with the given compiler.
+@GL_GENERATE_ALLOCA_H_TRUE@alloca.h: alloca.in.h $(top_builddir)/config.status
+@GL_GENERATE_ALLOCA_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_ALLOCA_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+@GL_GENERATE_ALLOCA_H_TRUE@ cat $(srcdir)/alloca.in.h; \
+@GL_GENERATE_ALLOCA_H_TRUE@ } > $@-t && \
+@GL_GENERATE_ALLOCA_H_TRUE@ mv -f $@-t $@
+@GL_GENERATE_ALLOCA_H_FALSE@alloca.h: $(top_builddir)/config.status
+@GL_GENERATE_ALLOCA_H_FALSE@ rm -f $@
+
+# We need the following in order to create <fcntl.h> when the system
+# doesn't have one that works with the given compiler.
+fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \
+ -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \
+ -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \
+ -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \
+ -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \
+ -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \
+ -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \
+ -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \
+ -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \
+ -e 's|@''REPLACE_OPENAT''@|$(REPLACE_OPENAT)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/fcntl.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+
+# We need the following in order to create <inttypes.h> when the system
+# doesn't have one that works with the given compiler.
+inttypes.h: inttypes.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_NONNULL_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
+ -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
+ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
+ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
+ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
+ -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
+ -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
+ -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
+ -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
+ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
+ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
+ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
+ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
+ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
+ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
+ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
+ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/inttypes.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+# The arg-nonnull.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
+# off.
+arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_ARG_NONNULL/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ > $@-t && \
+ mv $@-t $@
+# The c++defs.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
+c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/_GL_CXXDEFS/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/c++defs.h \
+ > $@-t && \
+ mv $@-t $@
+# The warn-on-use.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
+# off.
+warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/^.ifndef/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
+ > $@-t && \
+ mv $@-t $@
+
+# We need the following in order to create <stdbool.h> when the system
+# doesn't have one that works.
+@GL_GENERATE_STDBOOL_H_TRUE@stdbool.h: stdbool.in.h $(top_builddir)/config.status
+@GL_GENERATE_STDBOOL_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_STDBOOL_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+@GL_GENERATE_STDBOOL_H_TRUE@ sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \
+@GL_GENERATE_STDBOOL_H_TRUE@ } > $@-t && \
+@GL_GENERATE_STDBOOL_H_TRUE@ mv $@-t $@
+@GL_GENERATE_STDBOOL_H_FALSE@stdbool.h: $(top_builddir)/config.status
+@GL_GENERATE_STDBOOL_H_FALSE@ rm -f $@
+
+# We need the following in order to create <stdint.h> when the system
+# doesn't have one that works with the given compiler.
+@GL_GENERATE_STDINT_H_TRUE@stdint.h: stdint.in.h $(top_builddir)/config.status
+@GL_GENERATE_STDINT_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_STDINT_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+@GL_GENERATE_STDINT_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ < $(srcdir)/stdint.in.h; \
+@GL_GENERATE_STDINT_H_TRUE@ } > $@-t && \
+@GL_GENERATE_STDINT_H_TRUE@ mv $@-t $@
+@GL_GENERATE_STDINT_H_FALSE@stdint.h: $(top_builddir)/config.status
+@GL_GENERATE_STDINT_H_FALSE@ rm -f $@
+
+# We need the following in order to create <stdio.h> when the system
+# doesn't have one that works with the given compiler.
+stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
+ -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \
+ -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \
+ -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \
+ -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \
+ -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \
+ -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \
+ -e 's/@''GNULIB_FOPEN''@/$(GNULIB_FOPEN)/g' \
+ -e 's/@''GNULIB_FPRINTF''@/$(GNULIB_FPRINTF)/g' \
+ -e 's/@''GNULIB_FPRINTF_POSIX''@/$(GNULIB_FPRINTF_POSIX)/g' \
+ -e 's/@''GNULIB_FPURGE''@/$(GNULIB_FPURGE)/g' \
+ -e 's/@''GNULIB_FPUTC''@/$(GNULIB_FPUTC)/g' \
+ -e 's/@''GNULIB_FPUTS''@/$(GNULIB_FPUTS)/g' \
+ -e 's/@''GNULIB_FREAD''@/$(GNULIB_FREAD)/g' \
+ -e 's/@''GNULIB_FREOPEN''@/$(GNULIB_FREOPEN)/g' \
+ -e 's/@''GNULIB_FSCANF''@/$(GNULIB_FSCANF)/g' \
+ -e 's/@''GNULIB_FSEEK''@/$(GNULIB_FSEEK)/g' \
+ -e 's/@''GNULIB_FSEEKO''@/$(GNULIB_FSEEKO)/g' \
+ -e 's/@''GNULIB_FTELL''@/$(GNULIB_FTELL)/g' \
+ -e 's/@''GNULIB_FTELLO''@/$(GNULIB_FTELLO)/g' \
+ -e 's/@''GNULIB_FWRITE''@/$(GNULIB_FWRITE)/g' \
+ -e 's/@''GNULIB_GETC''@/$(GNULIB_GETC)/g' \
+ -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
+ -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
+ -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
+ -e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \
+ -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
+ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
+ -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
+ -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \
+ -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \
+ -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \
+ -e 's/@''GNULIB_PRINTF_POSIX''@/$(GNULIB_PRINTF_POSIX)/g' \
+ -e 's/@''GNULIB_PUTC''@/$(GNULIB_PUTC)/g' \
+ -e 's/@''GNULIB_PUTCHAR''@/$(GNULIB_PUTCHAR)/g' \
+ -e 's/@''GNULIB_PUTS''@/$(GNULIB_PUTS)/g' \
+ -e 's/@''GNULIB_REMOVE''@/$(GNULIB_REMOVE)/g' \
+ -e 's/@''GNULIB_RENAME''@/$(GNULIB_RENAME)/g' \
+ -e 's/@''GNULIB_RENAMEAT''@/$(GNULIB_RENAMEAT)/g' \
+ -e 's/@''GNULIB_SCANF''@/$(GNULIB_SCANF)/g' \
+ -e 's/@''GNULIB_SNPRINTF''@/$(GNULIB_SNPRINTF)/g' \
+ -e 's/@''GNULIB_SPRINTF_POSIX''@/$(GNULIB_SPRINTF_POSIX)/g' \
+ -e 's/@''GNULIB_STDIO_H_NONBLOCKING''@/$(GNULIB_STDIO_H_NONBLOCKING)/g' \
+ -e 's/@''GNULIB_STDIO_H_SIGPIPE''@/$(GNULIB_STDIO_H_SIGPIPE)/g' \
+ -e 's/@''GNULIB_TMPFILE''@/$(GNULIB_TMPFILE)/g' \
+ -e 's/@''GNULIB_VASPRINTF''@/$(GNULIB_VASPRINTF)/g' \
+ -e 's/@''GNULIB_VDPRINTF''@/$(GNULIB_VDPRINTF)/g' \
+ -e 's/@''GNULIB_VFPRINTF''@/$(GNULIB_VFPRINTF)/g' \
+ -e 's/@''GNULIB_VFPRINTF_POSIX''@/$(GNULIB_VFPRINTF_POSIX)/g' \
+ -e 's/@''GNULIB_VFSCANF''@/$(GNULIB_VFSCANF)/g' \
+ -e 's/@''GNULIB_VSCANF''@/$(GNULIB_VSCANF)/g' \
+ -e 's/@''GNULIB_VPRINTF''@/$(GNULIB_VPRINTF)/g' \
+ -e 's/@''GNULIB_VPRINTF_POSIX''@/$(GNULIB_VPRINTF_POSIX)/g' \
+ -e 's/@''GNULIB_VSNPRINTF''@/$(GNULIB_VSNPRINTF)/g' \
+ -e 's/@''GNULIB_VSPRINTF_POSIX''@/$(GNULIB_VSPRINTF_POSIX)/g' \
+ < $(srcdir)/stdio.in.h | \
+ sed -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \
+ -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \
+ -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \
+ -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
+ -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
+ -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
+ -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
+ -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
+ -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
+ -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
+ -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
+ -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \
+ -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \
+ -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
+ -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
+ -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
+ -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
+ -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
+ -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
+ -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
+ -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
+ -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
+ -e 's|@''REPLACE_FPURGE''@|$(REPLACE_FPURGE)|g' \
+ -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
+ -e 's|@''REPLACE_FSEEK''@|$(REPLACE_FSEEK)|g' \
+ -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
+ -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
+ -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
+ -e 's|@''REPLACE_GETDELIM''@|$(REPLACE_GETDELIM)|g' \
+ -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
+ -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
+ -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
+ -e 's|@''REPLACE_POPEN''@|$(REPLACE_POPEN)|g' \
+ -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
+ -e 's|@''REPLACE_REMOVE''@|$(REPLACE_REMOVE)|g' \
+ -e 's|@''REPLACE_RENAME''@|$(REPLACE_RENAME)|g' \
+ -e 's|@''REPLACE_RENAMEAT''@|$(REPLACE_RENAMEAT)|g' \
+ -e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
+ -e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
+ -e 's|@''REPLACE_STDIO_READ_FUNCS''@|$(REPLACE_STDIO_READ_FUNCS)|g' \
+ -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
+ -e 's|@''REPLACE_TMPFILE''@|$(REPLACE_TMPFILE)|g' \
+ -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
+ -e 's|@''REPLACE_VDPRINTF''@|$(REPLACE_VDPRINTF)|g' \
+ -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
+ -e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
+ -e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
+ -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
+ -e 's|@''ASM_SYMBOL_PREFIX''@|$(ASM_SYMBOL_PREFIX)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
+ mv $@-t $@
+
+# We need the following in order to create <stdlib.h> when the system
+# doesn't have one that works with the given compiler.
+stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
+ $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
+ -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \
+ -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \
+ -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \
+ -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \
+ -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \
+ -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \
+ -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \
+ -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \
+ -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \
+ -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
+ -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
+ -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
+ -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
+ -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
+ -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
+ -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
+ -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
+ -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
+ -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
+ -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
+ -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
+ -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
+ -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \
+ -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \
+ -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \
+ -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \
+ -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \
+ < $(srcdir)/stdlib.in.h | \
+ sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
+ -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
+ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
+ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
+ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
+ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
+ -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
+ -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
+ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
+ -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
+ -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+ -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
+ -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
+ -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+ -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
+ -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
+ -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
+ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
+ -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
+ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
+ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
+ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
+ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
+ -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
+ -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
+ -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
+ -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
+ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
+ -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
+ -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
+ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
+ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
+ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+ -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
+ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
+ -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
+ -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
+ -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
+ -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _Noreturn/r $(_NORETURN_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
+ mv $@-t $@
+
+# We need the following in order to create <sys/stat.h> when the system
+# has one that is incomplete.
+sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_at)$(MKDIR_P) sys
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
+ -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \
+ -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \
+ -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \
+ -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \
+ -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \
+ -e 's/@''GNULIB_LSTAT''@/$(GNULIB_LSTAT)/g' \
+ -e 's/@''GNULIB_MKDIRAT''@/$(GNULIB_MKDIRAT)/g' \
+ -e 's/@''GNULIB_MKFIFO''@/$(GNULIB_MKFIFO)/g' \
+ -e 's/@''GNULIB_MKFIFOAT''@/$(GNULIB_MKFIFOAT)/g' \
+ -e 's/@''GNULIB_MKNOD''@/$(GNULIB_MKNOD)/g' \
+ -e 's/@''GNULIB_MKNODAT''@/$(GNULIB_MKNODAT)/g' \
+ -e 's/@''GNULIB_STAT''@/$(GNULIB_STAT)/g' \
+ -e 's/@''GNULIB_UTIMENSAT''@/$(GNULIB_UTIMENSAT)/g' \
+ -e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \
+ -e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \
+ -e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \
+ -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \
+ -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \
+ -e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \
+ -e 's|@''HAVE_MKFIFO''@|$(HAVE_MKFIFO)|g' \
+ -e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \
+ -e 's|@''HAVE_MKNOD''@|$(HAVE_MKNOD)|g' \
+ -e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \
+ -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \
+ -e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \
+ -e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \
+ -e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \
+ -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \
+ -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \
+ -e 's|@''REPLACE_MKFIFO''@|$(REPLACE_MKFIFO)|g' \
+ -e 's|@''REPLACE_MKNOD''@|$(REPLACE_MKNOD)|g' \
+ -e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \
+ -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/sys_stat.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+
+# We need the following in order to create <time.h> when the system
+# doesn't have one that works with the given compiler.
+time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
+ -e 's/@''GNULIB_MKTIME''@/$(GNULIB_MKTIME)/g' \
+ -e 's/@''GNULIB_NANOSLEEP''@/$(GNULIB_NANOSLEEP)/g' \
+ -e 's/@''GNULIB_STRPTIME''@/$(GNULIB_STRPTIME)/g' \
+ -e 's/@''GNULIB_TIMEGM''@/$(GNULIB_TIMEGM)/g' \
+ -e 's/@''GNULIB_TIME_R''@/$(GNULIB_TIME_R)/g' \
+ -e 's|@''HAVE_DECL_LOCALTIME_R''@|$(HAVE_DECL_LOCALTIME_R)|g' \
+ -e 's|@''HAVE_NANOSLEEP''@|$(HAVE_NANOSLEEP)|g' \
+ -e 's|@''HAVE_STRPTIME''@|$(HAVE_STRPTIME)|g' \
+ -e 's|@''HAVE_TIMEGM''@|$(HAVE_TIMEGM)|g' \
+ -e 's|@''REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
+ -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \
+ -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
+ -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
+ -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \
+ -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
+ -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/time.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+
+# We need the following in order to create <wchar.h> when the system
+# version does not work standalone.
+wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
+ -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
+ -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
+ -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
+ -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
+ -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
+ -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \
+ -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \
+ -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \
+ -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \
+ -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \
+ -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \
+ -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \
+ -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \
+ -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \
+ -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \
+ -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \
+ -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \
+ -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \
+ -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \
+ -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \
+ -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \
+ -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \
+ -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \
+ -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \
+ -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \
+ -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \
+ -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \
+ -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \
+ -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \
+ -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \
+ -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \
+ -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \
+ -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \
+ -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \
+ -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \
+ -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \
+ -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \
+ -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \
+ -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \
+ -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
+ -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
+ < $(srcdir)/wchar.in.h | \
+ sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
+ -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
+ -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
+ -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
+ -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
+ -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
+ -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
+ -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
+ -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
+ -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
+ -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
+ -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
+ -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
+ -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
+ -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
+ -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
+ -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
+ -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
+ -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
+ -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
+ -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
+ -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
+ -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
+ -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
+ -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
+ -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
+ -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
+ -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
+ -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
+ -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
+ -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
+ -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
+ -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
+ -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
+ -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
+ -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
+ -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
+ -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
+ -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
+ -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
+ | \
+ sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
+ -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
+ -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
+ -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
+ -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
+ -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
+ -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
+ -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
+ -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
+ -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
+ -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
+ -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
+ -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
+ mv $@-t $@
# Clean up after Solaris cc.
clean-local:
--- /dev/null
+/* Memory allocation on the stack.
+
+ Copyright (C) 1995, 1999, 2001-2004, 2006-2011 Free Software Foundation,
+ Inc.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public
+ License along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ USA. */
+
+/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H
+ means there is a real alloca function. */
+#ifndef _GL_ALLOCA_H
+#define _GL_ALLOCA_H
+
+/* alloca (N) returns a pointer to N bytes of memory
+ allocated on the stack, which will last until the function returns.
+ Use of alloca should be avoided:
+ - inside arguments of function calls - undefined behaviour,
+ - in inline functions - the allocation may actually last until the
+ calling function returns,
+ - for huge N (say, N >= 65536) - you never know how large (or small)
+ the stack is, and when the stack cannot fulfill the memory allocation
+ request, the program just crashes.
+ */
+
+#ifndef alloca
+# ifdef __GNUC__
+# define alloca __builtin_alloca
+# elif defined _AIX
+# define alloca __alloca
+# elif defined _MSC_VER
+# include <malloc.h>
+# define alloca _alloca
+# elif defined __DECC && defined __VMS
+# define alloca __ALLOCA
+# else
+# include <stddef.h>
+# ifdef __cplusplus
+extern "C"
+# endif
+void *alloca (size_t);
+# endif
+#endif
+
+#endif /* _GL_ALLOCA_H */
--- /dev/null
+/* Binary mode I/O.
+ Copyright (C) 2001, 2003, 2005, 2008-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _BINARY_H
+#define _BINARY_H
+
+/* For systems that distinguish between text and binary I/O.
+ O_BINARY is guaranteed by the gnulib <fcntl.h>. */
+#include <fcntl.h>
+
+/* The MSVC7 <stdio.h> doesn't like to be included after '#define fileno ...',
+ so we include it here first. */
+#include <stdio.h>
+
+/* SET_BINARY (fd);
+ changes the file descriptor fd to perform binary I/O. */
+#if O_BINARY
+# if defined __EMX__ || defined __DJGPP__ || defined __CYGWIN__
+# include <io.h> /* declares setmode() */
+# else
+# define setmode _setmode
+# undef fileno
+# define fileno _fileno
+# endif
+# ifdef __DJGPP__
+# include <unistd.h> /* declares isatty() */
+ /* Avoid putting stdin/stdout in binary mode if it is connected to
+ the console, because that would make it impossible for the user
+ to interrupt the program through Ctrl-C or Ctrl-Break. */
+# define SET_BINARY(fd) ((void) (!isatty (fd) ? (setmode (fd, O_BINARY), 0) : 0))
+# else
+# define SET_BINARY(fd) ((void) setmode (fd, O_BINARY))
+# endif
+#else
+ /* On reasonable systems, binary I/O is the default. */
+# define SET_BINARY(fd) /* do nothing */ ((void) 0)
+#endif
+
+#endif /* _BINARY_H */
--- /dev/null
+/* close replacement.
+ Copyright (C) 2008-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <unistd.h>
+
+#include <errno.h>
+
+#include "fd-hook.h"
+#include "msvc-inval.h"
+
+#undef close
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static int
+close_nothrow (int fd)
+{
+ int result;
+
+ TRY_MSVC_INVAL
+ {
+ result = close (fd);
+ }
+ CATCH_MSVC_INVAL
+ {
+ result = -1;
+ errno = EBADF;
+ }
+ DONE_MSVC_INVAL;
+
+ return result;
+}
+#else
+# define close_nothrow close
+#endif
+
+/* Override close() to call into other gnulib modules. */
+
+int
+rpl_close (int fd)
+{
+#if WINDOWS_SOCKETS
+ int retval = execute_all_close_hooks (close_nothrow, fd);
+#else
+ int retval = close_nothrow (fd);
+#endif
+
+#if REPLACE_FCHDIR
+ if (retval >= 0)
+ _gl_unregister_fd (fd);
+#endif
+
+ return retval;
+}
--- /dev/null
+/* File names on MS-DOS/Windows systems.
+
+ Copyright (C) 2000-2001, 2004-2006, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ From Paul Eggert and Jim Meyering. */
+
+#ifndef _DOSNAME_H
+#define _DOSNAME_H
+
+#if (defined _WIN32 || defined __WIN32__ || \
+ defined __MSDOS__ || defined __CYGWIN__ || \
+ defined __EMX__ || defined __DJGPP__)
+ /* This internal macro assumes ASCII, but all hosts that support drive
+ letters use ASCII. */
+# define _IS_DRIVE_LETTER(C) (((unsigned int) (C) | ('a' - 'A')) - 'a' \
+ <= 'z' - 'a')
+# define FILE_SYSTEM_PREFIX_LEN(Filename) \
+ (_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':' ? 2 : 0)
+# ifndef __CYGWIN__
+# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 1
+# endif
+# define ISSLASH(C) ((C) == '/' || (C) == '\\')
+#else
+# define FILE_SYSTEM_PREFIX_LEN(Filename) 0
+# define ISSLASH(C) ((C) == '/')
+#endif
+
+#ifndef FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
+# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
+#endif
+
+#if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
+# define IS_ABSOLUTE_FILE_NAME(F) ISSLASH ((F)[FILE_SYSTEM_PREFIX_LEN (F)])
+# else
+# define IS_ABSOLUTE_FILE_NAME(F) \
+ (ISSLASH ((F)[0]) || FILE_SYSTEM_PREFIX_LEN (F) != 0)
+#endif
+#define IS_RELATIVE_FILE_NAME(F) (! IS_ABSOLUTE_FILE_NAME (F))
+
+#endif /* DOSNAME_H_ */
--- /dev/null
+/* Duplicate an open file descriptor to a specified file descriptor.
+
+ Copyright (C) 1999, 2004-2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* written by Paul Eggert */
+
+#include <config.h>
+
+/* Specification. */
+#include <unistd.h>
+
+#include <errno.h>
+#include <fcntl.h>
+
+#if HAVE_DUP2
+
+# undef dup2
+
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+/* Get declarations of the Win32 API functions. */
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+
+# include "msvc-inval.h"
+
+/* Get _get_osfhandle. */
+# include "msvc-nothrow.h"
+
+static int
+ms_windows_dup2 (int fd, int desired_fd)
+{
+ int result;
+
+ /* If fd is closed, mingw hangs on dup2 (fd, fd). If fd is open,
+ dup2 (fd, fd) returns 0, but all further attempts to use fd in
+ future dup2 calls will hang. */
+ if (fd == desired_fd)
+ {
+ if ((HANDLE) _get_osfhandle (fd) == INVALID_HANDLE_VALUE)
+ {
+ errno = EBADF;
+ return -1;
+ }
+ return fd;
+ }
+
+ /* Wine 1.0.1 return 0 when desired_fd is negative but not -1:
+ http://bugs.winehq.org/show_bug.cgi?id=21289 */
+ if (desired_fd < 0)
+ {
+ errno = EBADF;
+ return -1;
+ }
+
+ TRY_MSVC_INVAL
+ {
+ result = dup2 (fd, desired_fd);
+ }
+ CATCH_MSVC_INVAL
+ {
+ errno = EBADF;
+ result = -1;
+ }
+ DONE_MSVC_INVAL;
+
+ if (result == 0)
+ result = desired_fd;
+
+ return result;
+}
+
+# define dup2 ms_windows_dup2
+
+# endif
+
+int
+rpl_dup2 (int fd, int desired_fd)
+{
+ int result;
+
+# ifdef F_GETFL
+ /* On Linux kernels 2.6.26-2.6.29, dup2 (fd, fd) returns -EBADF.
+ On Cygwin 1.5.x, dup2 (1, 1) returns 0.
+ On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC. */
+ if (fd == desired_fd)
+ return fcntl (fd, F_GETFL) == -1 ? -1 : fd;
+# endif
+
+ result = dup2 (fd, desired_fd);
+
+ /* Correct an errno value on FreeBSD 6.1 and Cygwin 1.5.x. */
+ if (result == -1 && errno == EMFILE)
+ errno = EBADF;
+# if REPLACE_FCHDIR
+ if (fd != desired_fd && result != -1)
+ result = _gl_register_dup (fd, result);
+# endif
+ return result;
+}
+
+#else /* !HAVE_DUP2 */
+
+/* On older platforms, dup2 did not exist. */
+
+# ifndef F_DUPFD
+static int
+dupfd (int fd, int desired_fd)
+{
+ int duplicated_fd = dup (fd);
+ if (duplicated_fd < 0 || duplicated_fd == desired_fd)
+ return duplicated_fd;
+ else
+ {
+ int r = dupfd (fd, desired_fd);
+ int e = errno;
+ close (duplicated_fd);
+ errno = e;
+ return r;
+ }
+}
+# endif
+
+int
+dup2 (int fd, int desired_fd)
+{
+ int result = fcntl (fd, F_GETFL) < 0 ? -1 : fd;
+ if (result == -1 || fd == desired_fd)
+ return result;
+ close (desired_fd);
+# ifdef F_DUPFD
+ result = fcntl (fd, F_DUPFD, desired_fd);
+# if REPLACE_FCHDIR
+ if (0 <= result)
+ result = _gl_register_dup (fd, result);
+# endif
+# else
+ result = dupfd (fd, desired_fd);
+# endif
+ if (result == -1 && (errno == EMFILE || errno == EINVAL))
+ errno = EBADF;
+ return result;
+}
+#endif /* !HAVE_DUP2 */
--- /dev/null
+/* Like <fcntl.h>, but with non-working flags defined to 0.
+
+ Copyright (C) 2006-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* written by Paul Eggert */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined __need_system_fcntl_h
+/* Special invocation convention. */
+
+#include <sys/types.h>
+/* On some systems other than glibc, <sys/stat.h> is a prerequisite of
+ <fcntl.h>. On glibc systems, we would like to avoid namespace pollution.
+ But on glibc systems, <fcntl.h> includes <sys/stat.h> inside an
+ extern "C" { ... } block, which leads to errors in C++ mode with the
+ overridden <sys/stat.h> from gnulib. These errors are known to be gone
+ with g++ version >= 4.3. */
+#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
+# include <sys/stat.h>
+#endif
+#@INCLUDE_NEXT@ @NEXT_FCNTL_H@
+
+#else
+/* Normal invocation convention. */
+
+#ifndef _@GUARD_PREFIX@_FCNTL_H
+
+#include <sys/types.h>
+/* On some systems other than glibc, <sys/stat.h> is a prerequisite of
+ <fcntl.h>. On glibc systems, we would like to avoid namespace pollution.
+ But on glibc systems, <fcntl.h> includes <sys/stat.h> inside an
+ extern "C" { ... } block, which leads to errors in C++ mode with the
+ overridden <sys/stat.h> from gnulib. These errors are known to be gone
+ with g++ version >= 4.3. */
+#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
+# include <sys/stat.h>
+#endif
+/* The include_next requires a split double-inclusion guard. */
+#@INCLUDE_NEXT@ @NEXT_FCNTL_H@
+
+#ifndef _@GUARD_PREFIX@_FCNTL_H
+#define _@GUARD_PREFIX@_FCNTL_H
+
+#ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems. */
+# include <unistd.h>
+#endif
+
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+
+/* Declare overridden functions. */
+
+#if @GNULIB_FCNTL@
+# if @REPLACE_FCNTL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fcntl
+# define fcntl rpl_fcntl
+# endif
+_GL_FUNCDECL_RPL (fcntl, int, (int fd, int action, ...));
+_GL_CXXALIAS_RPL (fcntl, int, (int fd, int action, ...));
+# else
+# if !@HAVE_FCNTL@
+_GL_FUNCDECL_SYS (fcntl, int, (int fd, int action, ...));
+# endif
+_GL_CXXALIAS_SYS (fcntl, int, (int fd, int action, ...));
+# endif
+_GL_CXXALIASWARN (fcntl);
+#elif defined GNULIB_POSIXCHECK
+# undef fcntl
+# if HAVE_RAW_DECL_FCNTL
+_GL_WARN_ON_USE (fcntl, "fcntl is not always POSIX compliant - "
+ "use gnulib module fcntl for portability");
+# endif
+#endif
+
+#if @GNULIB_OPEN@
+# if @REPLACE_OPEN@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef open
+# define open rpl_open
+# endif
+_GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
+# else
+_GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
+# endif
+/* On HP-UX 11, in C++ mode, open() is defined as an inline function with a
+ default argument. _GL_CXXALIASWARN does not work in this case. */
+# if !defined __hpux
+_GL_CXXALIASWARN (open);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef open
+/* Assume open is always declared. */
+_GL_WARN_ON_USE (open, "open is not always POSIX compliant - "
+ "use gnulib module open for portability");
+#endif
+
+#if @GNULIB_OPENAT@
+# if @REPLACE_OPENAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef openat
+# define openat rpl_openat
+# endif
+_GL_FUNCDECL_RPL (openat, int,
+ (int fd, char const *file, int flags, /* mode_t mode */ ...)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (openat, int,
+ (int fd, char const *file, int flags, /* mode_t mode */ ...));
+# else
+# if !@HAVE_OPENAT@
+_GL_FUNCDECL_SYS (openat, int,
+ (int fd, char const *file, int flags, /* mode_t mode */ ...)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (openat, int,
+ (int fd, char const *file, int flags, /* mode_t mode */ ...));
+# endif
+_GL_CXXALIASWARN (openat);
+#elif defined GNULIB_POSIXCHECK
+# undef openat
+# if HAVE_RAW_DECL_OPENAT
+_GL_WARN_ON_USE (openat, "openat is not portable - "
+ "use gnulib module openat for portability");
+# endif
+#endif
+
+
+/* Fix up the FD_* macros, only known to be missing on mingw. */
+
+#ifndef FD_CLOEXEC
+# define FD_CLOEXEC 1
+#endif
+
+/* Fix up the supported F_* macros. Intentionally leave other F_*
+ macros undefined. Only known to be missing on mingw. */
+
+#ifndef F_DUPFD_CLOEXEC
+# define F_DUPFD_CLOEXEC 0x40000000
+/* Witness variable: 1 if gnulib defined F_DUPFD_CLOEXEC, 0 otherwise. */
+# define GNULIB_defined_F_DUPFD_CLOEXEC 1
+#else
+# define GNULIB_defined_F_DUPFD_CLOEXEC 0
+#endif
+
+#ifndef F_DUPFD
+# define F_DUPFD 1
+#endif
+
+#ifndef F_GETFD
+# define F_GETFD 2
+#endif
+
+/* Fix up the O_* macros. */
+
+#if !defined O_DIRECT && defined O_DIRECTIO
+/* Tru64 spells it `O_DIRECTIO'. */
+# define O_DIRECT O_DIRECTIO
+#endif
+
+#if !defined O_CLOEXEC && defined O_NOINHERIT
+/* Mingw spells it `O_NOINHERIT'. */
+# define O_CLOEXEC O_NOINHERIT
+#endif
+
+#ifndef O_CLOEXEC
+# define O_CLOEXEC 0
+#endif
+
+#ifndef O_DIRECT
+# define O_DIRECT 0
+#endif
+
+#ifndef O_DIRECTORY
+# define O_DIRECTORY 0
+#endif
+
+#ifndef O_DSYNC
+# define O_DSYNC 0
+#endif
+
+#ifndef O_EXEC
+# define O_EXEC O_RDONLY /* This is often close enough in older systems. */
+#endif
+
+#ifndef O_NDELAY
+# define O_NDELAY 0
+#endif
+
+#ifndef O_NOATIME
+# define O_NOATIME 0
+#endif
+
+#ifndef O_NONBLOCK
+# define O_NONBLOCK O_NDELAY
+#endif
+
+/* If the gnulib module 'nonblocking' is in use, guarantee a working non-zero
+ value of O_NONBLOCK. Otherwise, O_NONBLOCK is defined (above) to O_NDELAY
+ or to 0 as fallback. */
+#if @GNULIB_NONBLOCKING@
+# if O_NONBLOCK
+# define GNULIB_defined_O_NONBLOCK 0
+# else
+# define GNULIB_defined_O_NONBLOCK 1
+# undef O_NONBLOCK
+# define O_NONBLOCK 0x40000000
+# endif
+#endif
+
+#ifndef O_NOCTTY
+# define O_NOCTTY 0
+#endif
+
+#ifndef O_NOFOLLOW
+# define O_NOFOLLOW 0
+#endif
+
+#ifndef O_NOLINKS
+# define O_NOLINKS 0
+#endif
+
+#ifndef O_RSYNC
+# define O_RSYNC 0
+#endif
+
+#ifndef O_SEARCH
+# define O_SEARCH O_RDONLY /* This is often close enough in older systems. */
+#endif
+
+#ifndef O_SYNC
+# define O_SYNC 0
+#endif
+
+#ifndef O_TTY_INIT
+# define O_TTY_INIT 0
+#endif
+
+#if O_ACCMODE != (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH)
+# undef O_ACCMODE
+# define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH)
+#endif
+
+/* For systems that distinguish between text and binary I/O.
+ O_BINARY is usually declared in fcntl.h */
+#if !defined O_BINARY && defined _O_BINARY
+ /* For MSC-compatible compilers. */
+# define O_BINARY _O_BINARY
+# define O_TEXT _O_TEXT
+#endif
+
+#if defined __BEOS__ || defined __HAIKU__
+ /* BeOS 5 and Haiku have O_BINARY and O_TEXT, but they have no effect. */
+# undef O_BINARY
+# undef O_TEXT
+#endif
+
+#ifndef O_BINARY
+# define O_BINARY 0
+# define O_TEXT 0
+#endif
+
+/* Fix up the AT_* macros. */
+
+/* Work around a bug in Solaris 9 and 10: AT_FDCWD is positive. Its
+ value exceeds INT_MAX, so its use as an int doesn't conform to the
+ C standard, and GCC and Sun C complain in some cases. If the bug
+ is present, undef AT_FDCWD here, so it can be redefined below. */
+#if 0 < AT_FDCWD && AT_FDCWD == 0xffd19553
+# undef AT_FDCWD
+#endif
+
+/* Use the same bit pattern as Solaris 9, but with the proper
+ signedness. The bit pattern is important, in case this actually is
+ Solaris with the above workaround. */
+#ifndef AT_FDCWD
+# define AT_FDCWD (-3041965)
+#endif
+
+/* Use the same values as Solaris 9. This shouldn't matter, but
+ there's no real reason to differ. */
+#ifndef AT_SYMLINK_NOFOLLOW
+# define AT_SYMLINK_NOFOLLOW 4096
+#endif
+
+#ifndef AT_REMOVEDIR
+# define AT_REMOVEDIR 1
+#endif
+
+/* Solaris 9 lacks these two, so just pick unique values. */
+#ifndef AT_SYMLINK_FOLLOW
+# define AT_SYMLINK_FOLLOW 2
+#endif
+
+#ifndef AT_EACCESS
+# define AT_EACCESS 4
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_FCNTL_H */
+#endif /* _@GUARD_PREFIX@_FCNTL_H */
+#endif
--- /dev/null
+/* Hook for making making file descriptor functions close(), ioctl() extensible.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2009.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "fd-hook.h"
+
+#include <stdlib.h>
+
+/* Currently, this entire code is only needed for the handling of sockets
+ on native Windows platforms. */
+#if WINDOWS_SOCKETS
+
+/* The first and last link in the doubly linked list.
+ Initially the list is empty. */
+static struct fd_hook anchor = { &anchor, &anchor, NULL, NULL };
+
+int
+execute_close_hooks (const struct fd_hook *remaining_list, gl_close_fn primary,
+ int fd)
+{
+ if (remaining_list == &anchor)
+ /* End of list reached. */
+ return primary (fd);
+ else
+ return remaining_list->private_close_fn (remaining_list->private_next,
+ primary, fd);
+}
+
+int
+execute_all_close_hooks (gl_close_fn primary, int fd)
+{
+ return execute_close_hooks (anchor.private_next, primary, fd);
+}
+
+int
+execute_ioctl_hooks (const struct fd_hook *remaining_list, gl_ioctl_fn primary,
+ int fd, int request, void *arg)
+{
+ if (remaining_list == &anchor)
+ /* End of list reached. */
+ return primary (fd, request, arg);
+ else
+ return remaining_list->private_ioctl_fn (remaining_list->private_next,
+ primary, fd, request, arg);
+}
+
+int
+execute_all_ioctl_hooks (gl_ioctl_fn primary,
+ int fd, int request, void *arg)
+{
+ return execute_ioctl_hooks (anchor.private_next, primary, fd, request, arg);
+}
+
+void
+register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook, struct fd_hook *link)
+{
+ if (close_hook == NULL)
+ close_hook = execute_close_hooks;
+ if (ioctl_hook == NULL)
+ ioctl_hook = execute_ioctl_hooks;
+
+ if (link->private_next == NULL && link->private_prev == NULL)
+ {
+ /* Add the link to the doubly linked list. */
+ link->private_next = anchor.private_next;
+ link->private_prev = &anchor;
+ link->private_close_fn = close_hook;
+ link->private_ioctl_fn = ioctl_hook;
+ anchor.private_next->private_prev = link;
+ anchor.private_next = link;
+ }
+ else
+ {
+ /* The link is already in use. */
+ if (link->private_close_fn != close_hook
+ || link->private_ioctl_fn != ioctl_hook)
+ abort ();
+ }
+}
+
+void
+unregister_fd_hook (struct fd_hook *link)
+{
+ struct fd_hook *next = link->private_next;
+ struct fd_hook *prev = link->private_prev;
+
+ if (next != NULL && prev != NULL)
+ {
+ /* The link is in use. Remove it from the doubly linked list. */
+ prev->private_next = next;
+ next->private_prev = prev;
+ /* Clear the link, to mark it unused. */
+ link->private_next = NULL;
+ link->private_prev = NULL;
+ link->private_close_fn = NULL;
+ link->private_ioctl_fn = NULL;
+ }
+}
+
+#endif
--- /dev/null
+/* Hook for making making file descriptor functions close(), ioctl() extensible.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+
+#ifndef FD_HOOK_H
+#define FD_HOOK_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Currently, this entire code is only needed for the handling of sockets
+ on native Windows platforms. */
+#if WINDOWS_SOCKETS
+
+
+/* Type of function that closes FD. */
+typedef int (*gl_close_fn) (int fd);
+
+/* Type of function that applies a control request to FD. */
+typedef int (*gl_ioctl_fn) (int fd, int request, void *arg);
+
+/* An element of the list of file descriptor hooks.
+ In CLOS (Common Lisp Object System) speak, it consists of an "around"
+ method for the close() function and an "around" method for the ioctl()
+ function.
+ The fields of this structure are considered private. */
+struct fd_hook
+{
+ /* Doubly linked list. */
+ struct fd_hook *private_next;
+ struct fd_hook *private_prev;
+ /* Function that treats the types of FD that it knows about and calls
+ execute_close_hooks (REMAINING_LIST, PRIMARY, FD) as a fallback. */
+ int (*private_close_fn) (const struct fd_hook *remaining_list,
+ gl_close_fn primary,
+ int fd);
+ /* Function that treats the types of FD that it knows about and calls
+ execute_ioctl_hooks (REMAINING_LIST, PRIMARY, FD, REQUEST, ARG) as a
+ fallback. */
+ int (*private_ioctl_fn) (const struct fd_hook *remaining_list,
+ gl_ioctl_fn primary,
+ int fd, int request, void *arg);
+};
+
+/* This type of function closes FD, applying special knowledge for the FD
+ types it knows about, and calls
+ execute_close_hooks (REMAINING_LIST, PRIMARY, FD)
+ for the other FD types.
+ In CLOS speak, REMAINING_LIST is the remaining list of "around" methods,
+ and PRIMARY is the "primary" method for close(). */
+typedef int (*close_hook_fn) (const struct fd_hook *remaining_list,
+ gl_close_fn primary,
+ int fd);
+
+/* Execute the close hooks in REMAINING_LIST, with PRIMARY as "primary" method.
+ Return 0 or -1, like close() would do. */
+extern int execute_close_hooks (const struct fd_hook *remaining_list,
+ gl_close_fn primary,
+ int fd);
+
+/* Execute all close hooks, with PRIMARY as "primary" method.
+ Return 0 or -1, like close() would do. */
+extern int execute_all_close_hooks (gl_close_fn primary, int fd);
+
+/* This type of function applies a control request to FD, applying special
+ knowledge for the FD types it knows about, and calls
+ execute_ioctl_hooks (REMAINING_LIST, PRIMARY, FD, REQUEST, ARG)
+ for the other FD types.
+ In CLOS speak, REMAINING_LIST is the remaining list of "around" methods,
+ and PRIMARY is the "primary" method for ioctl(). */
+typedef int (*ioctl_hook_fn) (const struct fd_hook *remaining_list,
+ gl_ioctl_fn primary,
+ int fd, int request, void *arg);
+
+/* Execute the ioctl hooks in REMAINING_LIST, with PRIMARY as "primary" method.
+ Return 0 or -1, like ioctl() would do. */
+extern int execute_ioctl_hooks (const struct fd_hook *remaining_list,
+ gl_ioctl_fn primary,
+ int fd, int request, void *arg);
+
+/* Execute all ioctl hooks, with PRIMARY as "primary" method.
+ Return 0 or -1, like ioctl() would do. */
+extern int execute_all_ioctl_hooks (gl_ioctl_fn primary,
+ int fd, int request, void *arg);
+
+/* Add a function pair to the list of file descriptor hooks.
+ CLOSE_HOOK and IOCTL_HOOK may be NULL, indicating no change.
+ The LINK variable points to a piece of memory which is guaranteed to be
+ accessible until the corresponding call to unregister_fd_hook. */
+extern void register_fd_hook (close_hook_fn close_hook, ioctl_hook_fn ioctl_hook,
+ struct fd_hook *link);
+
+/* Removes a hook from the list of file descriptor hooks. */
+extern void unregister_fd_hook (struct fd_hook *link);
+
+
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* FD_HOOK_H */
--- /dev/null
+/* Open a stream with a given file descriptor.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <stdio.h>
+
+#include <errno.h>
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+# include "msvc-inval.h"
+#endif
+
+#undef fdopen
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static FILE *
+fdopen_nothrow (int fd, const char *mode)
+{
+ FILE *result;
+
+ TRY_MSVC_INVAL
+ {
+ result = fdopen (fd, mode);
+ }
+ CATCH_MSVC_INVAL
+ {
+ result = NULL;
+ }
+ DONE_MSVC_INVAL;
+
+ return result;
+}
+#else
+# define fdopen_nothrow fdopen
+#endif
+
+FILE *
+rpl_fdopen (int fd, const char *mode)
+{
+ int saved_errno = errno;
+ FILE *fp;
+
+ errno = 0;
+ fp = fdopen_nothrow (fd, mode);
+ if (fp == NULL)
+ {
+ if (errno == 0)
+ errno = EBADF;
+ }
+ else
+ errno = saved_errno;
+
+ return fp;
+}
--- /dev/null
+/* fstat() replacement.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* If the user's config.h happens to include <sys/stat.h>, let it include only
+ the system's <sys/stat.h> here, so that orig_fstat doesn't recurse to
+ rpl_fstat. */
+#define __need_system_sys_stat_h
+#include <config.h>
+
+/* Get the original definition of fstat. It might be defined as a macro. */
+#include <sys/types.h>
+#include <sys/stat.h>
+#undef __need_system_sys_stat_h
+
+static inline int
+orig_fstat (int fd, struct stat *buf)
+{
+ return fstat (fd, buf);
+}
+
+/* Specification. */
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+ eliminates this include because of the preliminary #include <sys/stat.h>
+ above. */
+#include "sys/stat.h"
+
+#include <errno.h>
+#include <unistd.h>
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+# include "msvc-inval.h"
+#endif
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static inline int
+fstat_nothrow (int fd, struct stat *buf)
+{
+ int result;
+
+ TRY_MSVC_INVAL
+ {
+ result = orig_fstat (fd, buf);
+ }
+ CATCH_MSVC_INVAL
+ {
+ result = -1;
+ errno = EBADF;
+ }
+ DONE_MSVC_INVAL;
+
+ return result;
+}
+#else
+# define fstat_nothrow orig_fstat
+#endif
+
+int
+rpl_fstat (int fd, struct stat *buf)
+{
+#if REPLACE_FCHDIR && REPLACE_OPEN_DIRECTORY
+ /* Handle the case when rpl_open() used a dummy file descriptor to work
+ around an open() that can't normally visit directories. */
+ const char *name = _gl_directory_name (fd);
+ if (name != NULL)
+ return stat (name, buf);
+#endif
+
+ return fstat_nothrow (fd, buf);
+}
--- /dev/null
+/* Copyright (C) 2011 Free Software Foundation, Inc.
+ This file is part of gnulib.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification */
+#include <unistd.h>
+
+#include <errno.h>
+#include <string.h>
+
+#if GNULIB_GETCWD
+/* Favor GPL getcwd.c if both getcwd and getcwd-lgpl modules are in use. */
+typedef int dummy;
+#else
+
+/* Get the name of the current working directory, and put it in SIZE
+ bytes of BUF. Returns NULL if the directory couldn't be determined
+ (perhaps because the absolute name was longer than PATH_MAX, or
+ because of missing read/search permissions on parent directories)
+ or SIZE was too small. If successful, returns BUF. If BUF is
+ NULL, an array is allocated with `malloc'; the array is SIZE bytes
+ long, unless SIZE == 0, in which case it is as big as
+ necessary. */
+
+# undef getcwd
+char *
+rpl_getcwd (char *buf, size_t size)
+{
+ char *ptr;
+ char *result;
+
+ /* Handle single size operations. */
+ if (buf)
+ {
+ if (!size)
+ {
+ errno = EINVAL;
+ return NULL;
+ }
+ return getcwd (buf, size);
+ }
+
+ if (size)
+ {
+ buf = malloc (size);
+ if (!buf)
+ {
+ errno = ENOMEM;
+ return NULL;
+ }
+ result = getcwd (buf, size);
+ if (!result)
+ {
+ int saved_errno = errno;
+ free (buf);
+ errno = saved_errno;
+ }
+ return result;
+ }
+
+ /* Flexible sizing requested. Avoid over-allocation for the common
+ case of a name that fits within a 4k page, minus some space for
+ local variables, to be sure we don't skip over a guard page. */
+ {
+ char tmp[4032];
+ size = sizeof tmp;
+ ptr = getcwd (tmp, size);
+ if (ptr)
+ {
+ result = strdup (ptr);
+ if (!result)
+ errno = ENOMEM;
+ return result;
+ }
+ if (errno != ERANGE)
+ return NULL;
+ }
+
+ /* My what a large directory name we have. */
+ do
+ {
+ size <<= 1;
+ ptr = realloc (buf, size);
+ if (ptr == NULL)
+ {
+ free (buf);
+ errno = ENOMEM;
+ return NULL;
+ }
+ buf = ptr;
+ result = getcwd (buf, size);
+ }
+ while (!result && errno == ERANGE);
+
+ if (!result)
+ {
+ int saved_errno = errno;
+ free (buf);
+ errno = saved_errno;
+ }
+ else
+ {
+ /* Trim to fit, if possible. */
+ result = realloc (buf, strlen (buf) + 1);
+ if (!result)
+ result = buf;
+ }
+ return result;
+}
+
+#endif
--- /dev/null
+/* ignore a function return without a compiler warning
+
+ Copyright (C) 2008-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Jim Meyering, Eric Blake and Pádraig Brady. */
+
+/* Use "ignore_value" to avoid a warning when using a function declared with
+ gcc's warn_unused_result attribute, but for which you really do want to
+ ignore the result. Traditionally, people have used a "(void)" cast to
+ indicate that a function's return value is deliberately unused. However,
+ if the function is declared with __attribute__((warn_unused_result)),
+ gcc issues a warning even with the cast.
+
+ Caution: most of the time, you really should heed gcc's warning, and
+ check the return value. However, in those exceptional cases in which
+ you're sure you know what you're doing, use this function.
+
+ For the record, here's one of the ignorable warnings:
+ "copy.c:233: warning: ignoring return value of 'fchown',
+ declared with attribute warn_unused_result". */
+
+#ifndef _GL_IGNORE_VALUE_H
+# define _GL_IGNORE_VALUE_H
+
+# ifndef _GL_ATTRIBUTE_DEPRECATED
+/* The __attribute__((__deprecated__)) feature
+ is available in gcc versions 3.1 and newer. */
+# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 1)
+# define _GL_ATTRIBUTE_DEPRECATED /* empty */
+# else
+# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
+# endif
+# endif
+
+/* The __attribute__((__warn_unused_result__)) feature
+ is available in gcc versions 3.4 and newer,
+ while the typeof feature has been available since 2.7 at least. */
+# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
+# define ignore_value(x) ((void) (x))
+# else
+# define ignore_value(x) (({ __typeof__ (x) __x = (x); (void) __x; }))
+# endif
+
+/* ignore_value works for scalars, pointers and aggregates;
+ deprecate ignore_ptr. */
+static inline void _GL_ATTRIBUTE_DEPRECATED
+ignore_ptr (void *p) { (void) p; } /* deprecated: use ignore_value */
+
+#endif
--- /dev/null
+# source this file; set up for tests
+
+# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Using this file in a test
+# =========================
+#
+# The typical skeleton of a test looks like this:
+#
+# #!/bin/sh
+# . "${srcdir=.}/init.sh"; path_prepend_ .
+# Execute some commands.
+# Note that these commands are executed in a subdirectory, therefore you
+# need to prepend "../" to relative filenames in the build directory.
+# Note that the "path_prepend_ ." is useful only if the body of your
+# test invokes programs residing in the initial directory.
+# For example, if the programs you want to test are in src/, and this test
+# script is named tests/test-1, then you would use "path_prepend_ ../src",
+# or perhaps export PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH"
+# to all tests via automake's TESTS_ENVIRONMENT.
+# Set the exit code 0 for success, 77 for skipped, or 1 or other for failure.
+# Use the skip_ and fail_ functions to print a diagnostic and then exit
+# with the corresponding exit code.
+# Exit $?
+
+# Executing a test that uses this file
+# ====================================
+#
+# Running a single test:
+# $ make check TESTS=test-foo.sh
+#
+# Running a single test, with verbose output:
+# $ make check TESTS=test-foo.sh VERBOSE=yes
+#
+# Running a single test, with single-stepping:
+# 1. Go into a sub-shell:
+# $ bash
+# 2. Set relevant environment variables from TESTS_ENVIRONMENT in the
+# Makefile:
+# $ export srcdir=../../tests # this is an example
+# 3. Execute the commands from the test, copy&pasting them one by one:
+# $ . "$srcdir/init.sh"; path_prepend_ .
+# ...
+# 4. Finally
+# $ exit
+
+ME_=`expr "./$0" : '.*/\(.*\)$'`
+
+# We use a trap below for cleanup. This requires us to go through
+# hoops to get the right exit status transported through the handler.
+# So use `Exit STATUS' instead of `exit STATUS' inside of the tests.
+# Turn off errexit here so that we don't trip the bug with OSF1/Tru64
+# sh inside this function.
+Exit () { set +e; (exit $1); exit $1; }
+
+# Print warnings (e.g., about skipped and failed tests) to this file number.
+# Override by defining to say, 9, in init.cfg, and putting say,
+# export ...ENVVAR_SETTINGS...; $(SHELL) 9>&2
+# in the definition of TESTS_ENVIRONMENT in your tests/Makefile.am file.
+# This is useful when using automake's parallel tests mode, to print
+# the reason for skip/failure to console, rather than to the .log files.
+: ${stderr_fileno_=2}
+
+# Note that correct expansion of "$*" depends on IFS starting with ' '.
+# Always write the full diagnostic to stderr.
+# When stderr_fileno_ is not 2, also emit the first line of the
+# diagnostic to that file descriptor.
+warn_ ()
+{
+ # If IFS does not start with ' ', set it and emit the warning in a subshell.
+ case $IFS in
+ ' '*) printf '%s\n' "$*" >&2
+ test $stderr_fileno_ = 2 \
+ || { printf '%s\n' "$*" | sed 1q >&$stderr_fileno_ ; } ;;
+ *) (IFS=' '; warn_ "$@");;
+ esac
+}
+fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; }
+skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; }
+fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; }
+framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; }
+
+# Sanitize this shell to POSIX mode, if possible.
+DUALCASE=1; export DUALCASE
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+ esac
+fi
+
+# We require $(...) support unconditionally.
+# We require a few additional shell features only when $EXEEXT is nonempty,
+# in order to support automatic $EXEEXT emulation:
+# - hyphen-containing alias names
+# - we prefer to use ${var#...} substitution, rather than having
+# to work around lack of support for that feature.
+# The following code attempts to find a shell with support for these features.
+# If the current shell passes the test, we're done. Otherwise, test other
+# shells until we find one that passes. If one is found, re-exec it.
+# If no acceptable shell is found, skip the current test.
+#
+# The "...set -x; P=1 true 2>err..." test is to disqualify any shell that
+# emits "P=1" into err, as /bin/sh from SunOS 5.11 and OpenBSD 4.7 do.
+#
+# Use "9" to indicate success (rather than 0), in case some shell acts
+# like Solaris 10's /bin/sh but exits successfully instead of with status 2.
+
+# Eval this code in a subshell to determine a shell's suitability.
+# 10 - passes all tests; ok to use
+# 9 - ok, but enabling "set -x" corrupts app stderr; prefer higher score
+# ? - not ok
+gl_shell_test_script_='
+test $(echo y) = y || exit 1
+score_=10
+if test "$VERBOSE" = yes; then
+ test -n "$( (exec 3>&1; set -x; P=1 true 2>&3) 2> /dev/null)" && score_=9
+fi
+test -z "$EXEEXT" && exit $score_
+shopt -s expand_aliases
+alias a-b="echo zoo"
+v=abx
+ test ${v%x} = ab \
+ && test ${v#a} = bx \
+ && test $(a-b) = zoo \
+ && exit $score_
+'
+
+if test "x$1" = "x--no-reexec"; then
+ shift
+else
+ # Assume a working shell. Export to subshells (setup_ needs this).
+ gl_set_x_corrupts_stderr_=false
+ export gl_set_x_corrupts_stderr_
+
+ # Record the first marginally acceptable shell.
+ marginal_=
+
+ # Search for a shell that meets our requirements.
+ for re_shell_ in __current__ "${CONFIG_SHELL:-no_shell}" \
+ /bin/sh bash dash zsh pdksh fail
+ do
+ test "$re_shell_" = no_shell && continue
+
+ # If we've made it all the way to the sentinel, "fail" without
+ # finding even a marginal shell, skip this test.
+ if test "$re_shell_" = fail; then
+ test -z "$marginal_" && skip_ failed to find an adequate shell
+ re_shell_=$marginal_
+ break
+ fi
+
+ # When testing the current shell, simply "eval" the test code.
+ # Otherwise, run it via $re_shell_ -c ...
+ if test "$re_shell_" = __current__; then
+ # 'eval'ing this code makes Solaris 10's /bin/sh exit with
+ # $? set to 2. It does not evaluate any of the code after the
+ # "unexpected" first `('. Thus, we must run it in a subshell.
+ ( eval "$gl_shell_test_script_" ) > /dev/null 2>&1
+ else
+ "$re_shell_" -c "$gl_shell_test_script_" 2>/dev/null
+ fi
+
+ st_=$?
+
+ # $re_shell_ works just fine. Use it.
+ if test $st_ = 10; then
+ gl_set_x_corrupts_stderr_=false
+ break
+ fi
+
+ # If this is our first marginally acceptable shell, remember it.
+ if test "$st_:$marginal_" = 9: ; then
+ marginal_="$re_shell_"
+ gl_set_x_corrupts_stderr_=true
+ fi
+ done
+
+ if test "$re_shell_" != __current__; then
+ # Found a usable shell. Preserve -v and -x.
+ case $- in
+ *v*x* | *x*v*) opts_=-vx ;;
+ *v*) opts_=-v ;;
+ *x*) opts_=-x ;;
+ *) opts_= ;;
+ esac
+ exec "$re_shell_" $opts_ "$0" --no-reexec "$@"
+ echo "$ME_: exec failed" 1>&2
+ exit 127
+ fi
+fi
+
+test -n "$EXEEXT" && shopt -s expand_aliases
+
+# Enable glibc's malloc-perturbing option.
+# This is useful for exposing code that depends on the fact that
+# malloc-related functions often return memory that is mostly zeroed.
+# If you have the time and cycles, use valgrind to do an even better job.
+: ${MALLOC_PERTURB_=87}
+export MALLOC_PERTURB_
+
+# This is a stub function that is run upon trap (upon regular exit and
+# interrupt). Override it with a per-test function, e.g., to unmount
+# a partition, or to undo any other global state changes.
+cleanup_ () { :; }
+
+# Emit a header similar to that from diff -u; Print the simulated "diff"
+# command so that the order of arguments is clear. Don't bother with @@ lines.
+emit_diff_u_header_ ()
+{
+ printf '%s\n' "diff -u $*" \
+ "--- $1 1970-01-01" \
+ "+++ $2 1970-01-01"
+}
+
+# Arrange not to let diff or cmp operate on /dev/null,
+# since on some systems (at least OSF/1 5.1), that doesn't work.
+# When there are not two arguments, or no argument is /dev/null, return 2.
+# When one argument is /dev/null and the other is not empty,
+# cat the nonempty file to stderr and return 1.
+# Otherwise, return 0.
+compare_dev_null_ ()
+{
+ test $# = 2 || return 2
+
+ if test "x$1" = x/dev/null; then
+ test -s "$2" || return 0
+ { emit_diff_u_header_ "$@"; sed 's/^/+/' -- "$2"; } >&2
+ return 1
+ fi
+
+ if test "x$2" = x/dev/null; then
+ test -s "$1" || return 0
+ { emit_diff_u_header_ "$@"; sed 's/^/-/' -- "$1"; } >&2
+ return 1
+ fi
+
+ return 2
+}
+
+if diff_out_=`( diff -u "$0" "$0" < /dev/null ) 2>/dev/null`; then
+ if test -z "$diff_out_"; then
+ compare_ () { diff -u "$@"; }
+ else
+ compare_ ()
+ {
+ if diff -u "$@" > diff.out; then
+ # No differences were found, but Solaris 'diff' produces output
+ # "No differences encountered". Hide this output.
+ rm -f diff.out
+ true
+ else
+ cat diff.out
+ rm -f diff.out
+ false
+ fi
+ }
+ fi
+elif diff_out_=`( diff -c "$0" "$0" < /dev/null ) 2>/dev/null`; then
+ if test -z "$diff_out_"; then
+ compare_ () { diff -c "$@"; }
+ else
+ compare_ ()
+ {
+ if diff -c "$@" > diff.out; then
+ # No differences were found, but AIX and HP-UX 'diff' produce output
+ # "No differences encountered" or "There are no differences between the
+ # files.". Hide this output.
+ rm -f diff.out
+ true
+ else
+ cat diff.out
+ rm -f diff.out
+ false
+ fi
+ }
+ fi
+elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
+ compare_ () { cmp -s "$@"; }
+else
+ compare_ () { cmp "$@"; }
+fi
+
+# Usage: compare EXPECTED ACTUAL
+#
+# Given compare_dev_null_'s preprocessing, defer to compare_ if 2 or more.
+# Otherwise, propagate $? to caller: any diffs have already been printed.
+compare ()
+{
+ compare_dev_null_ "$@"
+ case $? in
+ 0|1) return $?;;
+ *) compare_ "$@";;
+ esac
+}
+
+# An arbitrary prefix to help distinguish test directories.
+testdir_prefix_ () { printf gt; }
+
+# Run the user-overridable cleanup_ function, remove the temporary
+# directory and exit with the incoming value of $?.
+remove_tmp_ ()
+{
+ __st=$?
+ cleanup_
+ # cd out of the directory we're about to remove
+ cd "$initial_cwd_" || cd / || cd /tmp
+ chmod -R u+rwx "$test_dir_"
+ # If removal fails and exit status was to be 0, then change it to 1.
+ rm -rf "$test_dir_" || { test $__st = 0 && __st=1; }
+ exit $__st
+}
+
+# Given a directory name, DIR, if every entry in it that matches *.exe
+# contains only the specified bytes (see the case stmt below), then print
+# a space-separated list of those names and return 0. Otherwise, don't
+# print anything and return 1. Naming constraints apply also to DIR.
+find_exe_basenames_ ()
+{
+ feb_dir_=$1
+ feb_fail_=0
+ feb_result_=
+ feb_sp_=
+ for feb_file_ in $feb_dir_/*.exe; do
+ # If there was no *.exe file, or there existed a file named "*.exe" that
+ # was deleted between the above glob expansion and the existence test
+ # below, just skip it.
+ test "x$feb_file_" = "x$feb_dir_/*.exe" && test ! -f "$feb_file_" \
+ && continue
+ # Exempt [.exe, since we can't create a function by that name, yet
+ # we can't invoke [ by PATH search anyways due to shell builtins.
+ test "x$feb_file_" = "x$feb_dir_/[.exe" && continue
+ case $feb_file_ in
+ *[!-a-zA-Z/0-9_.+]*) feb_fail_=1; break;;
+ *) # Remove leading file name components as well as the .exe suffix.
+ feb_file_=${feb_file_##*/}
+ feb_file_=${feb_file_%.exe}
+ feb_result_="$feb_result_$feb_sp_$feb_file_";;
+ esac
+ feb_sp_=' '
+ done
+ test $feb_fail_ = 0 && printf %s "$feb_result_"
+ return $feb_fail_
+}
+
+# Consider the files in directory, $1.
+# For each file name of the form PROG.exe, create an alias named
+# PROG that simply invokes PROG.exe, then return 0. If any selected
+# file name or the directory name, $1, contains an unexpected character,
+# define no alias and return 1.
+create_exe_shims_ ()
+{
+ case $EXEEXT in
+ '') return 0 ;;
+ .exe) ;;
+ *) echo "$0: unexpected \$EXEEXT value: $EXEEXT" 1>&2; return 1 ;;
+ esac
+
+ base_names_=`find_exe_basenames_ $1` \
+ || { echo "$0 (exe_shim): skipping directory: $1" 1>&2; return 0; }
+
+ if test -n "$base_names_"; then
+ for base_ in $base_names_; do
+ alias "$base_"="$base_$EXEEXT"
+ done
+ fi
+
+ return 0
+}
+
+# Use this function to prepend to PATH an absolute name for each
+# specified, possibly-$initial_cwd_-relative, directory.
+path_prepend_ ()
+{
+ while test $# != 0; do
+ path_dir_=$1
+ case $path_dir_ in
+ '') fail_ "invalid path dir: '$1'";;
+ /*) abs_path_dir_=$path_dir_;;
+ *) abs_path_dir_=`cd "$initial_cwd_/$path_dir_" && echo "$PWD"` \
+ || fail_ "invalid path dir: $path_dir_";;
+ esac
+ case $abs_path_dir_ in
+ *:*) fail_ "invalid path dir: '$abs_path_dir_'";;
+ esac
+ PATH="$abs_path_dir_:$PATH"
+
+ # Create an alias, FOO, for each FOO.exe in this directory.
+ create_exe_shims_ "$abs_path_dir_" \
+ || fail_ "something failed (above): $abs_path_dir_"
+ shift
+ done
+ export PATH
+}
+
+setup_ ()
+{
+ if test "$VERBOSE" = yes; then
+ # Test whether set -x may cause the selected shell to corrupt an
+ # application's stderr. Many do, including zsh-4.3.10 and the /bin/sh
+ # from SunOS 5.11, OpenBSD 4.7 and Irix 5.x and 6.5.
+ # If enabling verbose output this way would cause trouble, simply
+ # issue a warning and refrain.
+ if $gl_set_x_corrupts_stderr_; then
+ warn_ "using SHELL=$SHELL with 'set -x' corrupts stderr"
+ else
+ set -x
+ fi
+ fi
+
+ initial_cwd_=$PWD
+ fail=0
+
+ pfx_=`testdir_prefix_`
+ test_dir_=`mktempd_ "$initial_cwd_" "$pfx_-$ME_.XXXX"` \
+ || fail_ "failed to create temporary directory in $initial_cwd_"
+ cd "$test_dir_"
+
+ # As autoconf-generated configure scripts do, ensure that IFS
+ # is defined initially, so that saving and restoring $IFS works.
+ gl_init_sh_nl_='
+'
+ IFS=" "" $gl_init_sh_nl_"
+
+ # This trap statement, along with a trap on 0 below, ensure that the
+ # temporary directory, $test_dir_, is removed upon exit as well as
+ # upon receipt of any of the listed signals.
+ for sig_ in 1 2 3 13 15; do
+ eval "trap 'Exit $(expr $sig_ + 128)' $sig_"
+ done
+}
+
+# Create a temporary directory, much like mktemp -d does.
+# Written by Jim Meyering.
+#
+# Usage: mktempd_ /tmp phoey.XXXXXXXXXX
+#
+# First, try to use the mktemp program.
+# Failing that, we'll roll our own mktemp-like function:
+# - try to get random bytes from /dev/urandom
+# - failing that, generate output from a combination of quickly-varying
+# sources and gzip. Ignore non-varying gzip header, and extract
+# "random" bits from there.
+# - given those bits, map to file-name bytes using tr, and try to create
+# the desired directory.
+# - make only $MAX_TRIES_ attempts
+
+# Helper function. Print $N pseudo-random bytes from a-zA-Z0-9.
+rand_bytes_ ()
+{
+ n_=$1
+
+ # Maybe try openssl rand -base64 $n_prime_|tr '+/=\012' abcd first?
+ # But if they have openssl, they probably have mktemp, too.
+
+ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
+ dev_rand_=/dev/urandom
+ if test -r "$dev_rand_"; then
+ # Note: 256-length($chars_) == 194; 3 copies of $chars_ is 186 + 8 = 194.
+ dd ibs=$n_ count=1 if=$dev_rand_ 2>/dev/null \
+ | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_
+ return
+ fi
+
+ n_plus_50_=`expr $n_ + 50`
+ cmds_='date; date +%N; free; who -a; w; ps auxww; ps ef; netstat -n'
+ data_=` (eval "$cmds_") 2>&1 | gzip `
+
+ # Ensure that $data_ has length at least 50+$n_
+ while :; do
+ len_=`echo "$data_"|wc -c`
+ test $n_plus_50_ -le $len_ && break;
+ data_=` (echo "$data_"; eval "$cmds_") 2>&1 | gzip `
+ done
+
+ echo "$data_" \
+ | dd bs=1 skip=50 count=$n_ 2>/dev/null \
+ | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_
+}
+
+mktempd_ ()
+{
+ case $# in
+ 2);;
+ *) fail_ "Usage: mktempd_ DIR TEMPLATE";;
+ esac
+
+ destdir_=$1
+ template_=$2
+
+ MAX_TRIES_=4
+
+ # Disallow any trailing slash on specified destdir:
+ # it would subvert the post-mktemp "case"-based destdir test.
+ case $destdir_ in
+ /) ;;
+ */) fail_ "invalid destination dir: remove trailing slash(es)";;
+ esac
+
+ case $template_ in
+ *XXXX) ;;
+ *) fail_ \
+ "invalid template: $template_ (must have a suffix of at least 4 X's)";;
+ esac
+
+ # First, try to use mktemp.
+ d=`unset TMPDIR; mktemp -d -t -p "$destdir_" "$template_" 2>/dev/null` \
+ || fail=1
+
+ # The resulting name must be in the specified directory.
+ case $d in "$destdir_"*);; *) fail=1;; esac
+
+ # It must have created the directory.
+ test -d "$d" || fail=1
+
+ # It must have 0700 permissions. Handle sticky "S" bits.
+ perms=`ls -dgo "$d" 2>/dev/null|tr S -` || fail=1
+ case $perms in drwx------*) ;; *) fail=1;; esac
+
+ test $fail = 0 && {
+ echo "$d"
+ return
+ }
+
+ # If we reach this point, we'll have to create a directory manually.
+
+ # Get a copy of the template without its suffix of X's.
+ base_template_=`echo "$template_"|sed 's/XX*$//'`
+
+ # Calculate how many X's we've just removed.
+ template_length_=`echo "$template_" | wc -c`
+ nx_=`echo "$base_template_" | wc -c`
+ nx_=`expr $template_length_ - $nx_`
+
+ err_=
+ i_=1
+ while :; do
+ X_=`rand_bytes_ $nx_`
+ candidate_dir_="$destdir_/$base_template_$X_"
+ err_=`mkdir -m 0700 "$candidate_dir_" 2>&1` \
+ && { echo "$candidate_dir_"; return; }
+ test $MAX_TRIES_ -le $i_ && break;
+ i_=`expr $i_ + 1`
+ done
+ fail_ "$err_"
+}
+
+# If you want to override the testdir_prefix_ function,
+# or to add more utility functions, use this file.
+test -f "$srcdir/init.cfg" \
+ && . "$srcdir/init.cfg"
+
+setup_ "$@"
+# This trap is here, rather than in the setup_ function, because some
+# shells run the exit trap at shell function exit, rather than script exit.
+trap remove_tmp_ 0
--- /dev/null
+/* Copyright (C) 2006-2011 Free Software Foundation, Inc.
+ Written by Paul Eggert, Bruno Haible, Derek Price.
+ This file is part of gnulib.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/*
+ * ISO C 99 <inttypes.h> for platforms that lack it.
+ * <http://www.opengroup.org/susv3xbd/inttypes.h.html>
+ */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* Include the original <inttypes.h> if it exists, and if this file
+ has not been included yet or if this file includes gnulib stdint.h
+ which in turn includes this file.
+ The include_next requires a split double-inclusion guard. */
+#if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+# if @HAVE_INTTYPES_H@
+# @INCLUDE_NEXT@ @NEXT_INTTYPES_H@
+# endif
+#endif
+
+#if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+#define INTTYPES_H
+
+/* Include <stdint.h> or the gnulib replacement.
+ But avoid namespace pollution on glibc systems. */
+#ifndef __GLIBC__
+# include <stdint.h>
+#endif
+/* Get CHAR_BIT. */
+#include <limits.h>
+
+#if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX)
+# error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>."
+#endif
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+/* 7.8.1 Macros for format specifiers */
+
+#if ! defined __cplusplus || defined __STDC_FORMAT_MACROS
+
+# if defined _TNS_R_TARGET
+ /* Tandem NonStop R series and compatible platforms released before
+ July 2005 support %Ld but not %lld. */
+# define _LONG_LONG_FORMAT_PREFIX "L"
+# else
+# define _LONG_LONG_FORMAT_PREFIX "ll"
+# endif
+
+# if !defined PRId8 || @PRI_MACROS_BROKEN@
+# undef PRId8
+# ifdef INT8_MAX
+# define PRId8 "d"
+# endif
+# endif
+# if !defined PRIi8 || @PRI_MACROS_BROKEN@
+# undef PRIi8
+# ifdef INT8_MAX
+# define PRIi8 "i"
+# endif
+# endif
+# if !defined PRIo8 || @PRI_MACROS_BROKEN@
+# undef PRIo8
+# ifdef UINT8_MAX
+# define PRIo8 "o"
+# endif
+# endif
+# if !defined PRIu8 || @PRI_MACROS_BROKEN@
+# undef PRIu8
+# ifdef UINT8_MAX
+# define PRIu8 "u"
+# endif
+# endif
+# if !defined PRIx8 || @PRI_MACROS_BROKEN@
+# undef PRIx8
+# ifdef UINT8_MAX
+# define PRIx8 "x"
+# endif
+# endif
+# if !defined PRIX8 || @PRI_MACROS_BROKEN@
+# undef PRIX8
+# ifdef UINT8_MAX
+# define PRIX8 "X"
+# endif
+# endif
+# if !defined PRId16 || @PRI_MACROS_BROKEN@
+# undef PRId16
+# ifdef INT16_MAX
+# define PRId16 "d"
+# endif
+# endif
+# if !defined PRIi16 || @PRI_MACROS_BROKEN@
+# undef PRIi16
+# ifdef INT16_MAX
+# define PRIi16 "i"
+# endif
+# endif
+# if !defined PRIo16 || @PRI_MACROS_BROKEN@
+# undef PRIo16
+# ifdef UINT16_MAX
+# define PRIo16 "o"
+# endif
+# endif
+# if !defined PRIu16 || @PRI_MACROS_BROKEN@
+# undef PRIu16
+# ifdef UINT16_MAX
+# define PRIu16 "u"
+# endif
+# endif
+# if !defined PRIx16 || @PRI_MACROS_BROKEN@
+# undef PRIx16
+# ifdef UINT16_MAX
+# define PRIx16 "x"
+# endif
+# endif
+# if !defined PRIX16 || @PRI_MACROS_BROKEN@
+# undef PRIX16
+# ifdef UINT16_MAX
+# define PRIX16 "X"
+# endif
+# endif
+# if !defined PRId32 || @PRI_MACROS_BROKEN@
+# undef PRId32
+# ifdef INT32_MAX
+# define PRId32 "d"
+# endif
+# endif
+# if !defined PRIi32 || @PRI_MACROS_BROKEN@
+# undef PRIi32
+# ifdef INT32_MAX
+# define PRIi32 "i"
+# endif
+# endif
+# if !defined PRIo32 || @PRI_MACROS_BROKEN@
+# undef PRIo32
+# ifdef UINT32_MAX
+# define PRIo32 "o"
+# endif
+# endif
+# if !defined PRIu32 || @PRI_MACROS_BROKEN@
+# undef PRIu32
+# ifdef UINT32_MAX
+# define PRIu32 "u"
+# endif
+# endif
+# if !defined PRIx32 || @PRI_MACROS_BROKEN@
+# undef PRIx32
+# ifdef UINT32_MAX
+# define PRIx32 "x"
+# endif
+# endif
+# if !defined PRIX32 || @PRI_MACROS_BROKEN@
+# undef PRIX32
+# ifdef UINT32_MAX
+# define PRIX32 "X"
+# endif
+# endif
+# ifdef INT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@)
+# define _PRI64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+# define _PRI64_PREFIX "I64"
+# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined PRId64 || @PRI_MACROS_BROKEN@
+# undef PRId64
+# define PRId64 _PRI64_PREFIX "d"
+# endif
+# if !defined PRIi64 || @PRI_MACROS_BROKEN@
+# undef PRIi64
+# define PRIi64 _PRI64_PREFIX "i"
+# endif
+# endif
+# ifdef UINT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@)
+# define _PRIu64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+# define _PRIu64_PREFIX "I64"
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined PRIo64 || @PRI_MACROS_BROKEN@
+# undef PRIo64
+# define PRIo64 _PRIu64_PREFIX "o"
+# endif
+# if !defined PRIu64 || @PRI_MACROS_BROKEN@
+# undef PRIu64
+# define PRIu64 _PRIu64_PREFIX "u"
+# endif
+# if !defined PRIx64 || @PRI_MACROS_BROKEN@
+# undef PRIx64
+# define PRIx64 _PRIu64_PREFIX "x"
+# endif
+# if !defined PRIX64 || @PRI_MACROS_BROKEN@
+# undef PRIX64
+# define PRIX64 _PRIu64_PREFIX "X"
+# endif
+# endif
+
+# if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST8
+# define PRIdLEAST8 "d"
+# endif
+# if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST8
+# define PRIiLEAST8 "i"
+# endif
+# if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST8
+# define PRIoLEAST8 "o"
+# endif
+# if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST8
+# define PRIuLEAST8 "u"
+# endif
+# if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST8
+# define PRIxLEAST8 "x"
+# endif
+# if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST8
+# define PRIXLEAST8 "X"
+# endif
+# if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST16
+# define PRIdLEAST16 "d"
+# endif
+# if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST16
+# define PRIiLEAST16 "i"
+# endif
+# if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST16
+# define PRIoLEAST16 "o"
+# endif
+# if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST16
+# define PRIuLEAST16 "u"
+# endif
+# if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST16
+# define PRIxLEAST16 "x"
+# endif
+# if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST16
+# define PRIXLEAST16 "X"
+# endif
+# if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST32
+# define PRIdLEAST32 "d"
+# endif
+# if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST32
+# define PRIiLEAST32 "i"
+# endif
+# if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST32
+# define PRIoLEAST32 "o"
+# endif
+# if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST32
+# define PRIuLEAST32 "u"
+# endif
+# if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST32
+# define PRIxLEAST32 "x"
+# endif
+# if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST32
+# define PRIXLEAST32 "X"
+# endif
+# ifdef INT64_MAX
+# if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST64
+# define PRIdLEAST64 PRId64
+# endif
+# if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST64
+# define PRIiLEAST64 PRIi64
+# endif
+# endif
+# ifdef UINT64_MAX
+# if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST64
+# define PRIoLEAST64 PRIo64
+# endif
+# if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST64
+# define PRIuLEAST64 PRIu64
+# endif
+# if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST64
+# define PRIxLEAST64 PRIx64
+# endif
+# if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST64
+# define PRIXLEAST64 PRIX64
+# endif
+# endif
+
+# if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST8
+# if INT_FAST8_MAX > INT32_MAX
+# define PRIdFAST8 PRId64
+# else
+# define PRIdFAST8 "d"
+# endif
+# endif
+# if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST8
+# if INT_FAST8_MAX > INT32_MAX
+# define PRIiFAST8 PRIi64
+# else
+# define PRIiFAST8 "i"
+# endif
+# endif
+# if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define PRIoFAST8 PRIo64
+# else
+# define PRIoFAST8 "o"
+# endif
+# endif
+# if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define PRIuFAST8 PRIu64
+# else
+# define PRIuFAST8 "u"
+# endif
+# endif
+# if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define PRIxFAST8 PRIx64
+# else
+# define PRIxFAST8 "x"
+# endif
+# endif
+# if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define PRIXFAST8 PRIX64
+# else
+# define PRIXFAST8 "X"
+# endif
+# endif
+# if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST16
+# if INT_FAST16_MAX > INT32_MAX
+# define PRIdFAST16 PRId64
+# else
+# define PRIdFAST16 "d"
+# endif
+# endif
+# if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST16
+# if INT_FAST16_MAX > INT32_MAX
+# define PRIiFAST16 PRIi64
+# else
+# define PRIiFAST16 "i"
+# endif
+# endif
+# if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define PRIoFAST16 PRIo64
+# else
+# define PRIoFAST16 "o"
+# endif
+# endif
+# if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define PRIuFAST16 PRIu64
+# else
+# define PRIuFAST16 "u"
+# endif
+# endif
+# if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define PRIxFAST16 PRIx64
+# else
+# define PRIxFAST16 "x"
+# endif
+# endif
+# if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define PRIXFAST16 PRIX64
+# else
+# define PRIXFAST16 "X"
+# endif
+# endif
+# if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST32
+# if INT_FAST32_MAX > INT32_MAX
+# define PRIdFAST32 PRId64
+# else
+# define PRIdFAST32 "d"
+# endif
+# endif
+# if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST32
+# if INT_FAST32_MAX > INT32_MAX
+# define PRIiFAST32 PRIi64
+# else
+# define PRIiFAST32 "i"
+# endif
+# endif
+# if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define PRIoFAST32 PRIo64
+# else
+# define PRIoFAST32 "o"
+# endif
+# endif
+# if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define PRIuFAST32 PRIu64
+# else
+# define PRIuFAST32 "u"
+# endif
+# endif
+# if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define PRIxFAST32 PRIx64
+# else
+# define PRIxFAST32 "x"
+# endif
+# endif
+# if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define PRIXFAST32 PRIX64
+# else
+# define PRIXFAST32 "X"
+# endif
+# endif
+# ifdef INT64_MAX
+# if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST64
+# define PRIdFAST64 PRId64
+# endif
+# if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST64
+# define PRIiFAST64 PRIi64
+# endif
+# endif
+# ifdef UINT64_MAX
+# if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST64
+# define PRIoFAST64 PRIo64
+# endif
+# if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST64
+# define PRIuFAST64 PRIu64
+# endif
+# if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST64
+# define PRIxFAST64 PRIx64
+# endif
+# if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST64
+# define PRIXFAST64 PRIX64
+# endif
+# endif
+
+# if !defined PRIdMAX || @PRI_MACROS_BROKEN@
+# undef PRIdMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+# define PRIdMAX PRId64
+# else
+# define PRIdMAX "ld"
+# endif
+# endif
+# if !defined PRIiMAX || @PRI_MACROS_BROKEN@
+# undef PRIiMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+# define PRIiMAX PRIi64
+# else
+# define PRIiMAX "li"
+# endif
+# endif
+# if !defined PRIoMAX || @PRI_MACROS_BROKEN@
+# undef PRIoMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define PRIoMAX PRIo64
+# else
+# define PRIoMAX "lo"
+# endif
+# endif
+# if !defined PRIuMAX || @PRI_MACROS_BROKEN@
+# undef PRIuMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define PRIuMAX PRIu64
+# else
+# define PRIuMAX "lu"
+# endif
+# endif
+# if !defined PRIxMAX || @PRI_MACROS_BROKEN@
+# undef PRIxMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define PRIxMAX PRIx64
+# else
+# define PRIxMAX "lx"
+# endif
+# endif
+# if !defined PRIXMAX || @PRI_MACROS_BROKEN@
+# undef PRIXMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define PRIXMAX PRIX64
+# else
+# define PRIXMAX "lX"
+# endif
+# endif
+
+# if !defined PRIdPTR || @PRI_MACROS_BROKEN@
+# undef PRIdPTR
+# ifdef INTPTR_MAX
+# define PRIdPTR @PRIPTR_PREFIX@ "d"
+# endif
+# endif
+# if !defined PRIiPTR || @PRI_MACROS_BROKEN@
+# undef PRIiPTR
+# ifdef INTPTR_MAX
+# define PRIiPTR @PRIPTR_PREFIX@ "i"
+# endif
+# endif
+# if !defined PRIoPTR || @PRI_MACROS_BROKEN@
+# undef PRIoPTR
+# ifdef UINTPTR_MAX
+# define PRIoPTR @PRIPTR_PREFIX@ "o"
+# endif
+# endif
+# if !defined PRIuPTR || @PRI_MACROS_BROKEN@
+# undef PRIuPTR
+# ifdef UINTPTR_MAX
+# define PRIuPTR @PRIPTR_PREFIX@ "u"
+# endif
+# endif
+# if !defined PRIxPTR || @PRI_MACROS_BROKEN@
+# undef PRIxPTR
+# ifdef UINTPTR_MAX
+# define PRIxPTR @PRIPTR_PREFIX@ "x"
+# endif
+# endif
+# if !defined PRIXPTR || @PRI_MACROS_BROKEN@
+# undef PRIXPTR
+# ifdef UINTPTR_MAX
+# define PRIXPTR @PRIPTR_PREFIX@ "X"
+# endif
+# endif
+
+# if !defined SCNd8 || @PRI_MACROS_BROKEN@
+# undef SCNd8
+# ifdef INT8_MAX
+# define SCNd8 "hhd"
+# endif
+# endif
+# if !defined SCNi8 || @PRI_MACROS_BROKEN@
+# undef SCNi8
+# ifdef INT8_MAX
+# define SCNi8 "hhi"
+# endif
+# endif
+# if !defined SCNo8 || @PRI_MACROS_BROKEN@
+# undef SCNo8
+# ifdef UINT8_MAX
+# define SCNo8 "hho"
+# endif
+# endif
+# if !defined SCNu8 || @PRI_MACROS_BROKEN@
+# undef SCNu8
+# ifdef UINT8_MAX
+# define SCNu8 "hhu"
+# endif
+# endif
+# if !defined SCNx8 || @PRI_MACROS_BROKEN@
+# undef SCNx8
+# ifdef UINT8_MAX
+# define SCNx8 "hhx"
+# endif
+# endif
+# if !defined SCNd16 || @PRI_MACROS_BROKEN@
+# undef SCNd16
+# ifdef INT16_MAX
+# define SCNd16 "hd"
+# endif
+# endif
+# if !defined SCNi16 || @PRI_MACROS_BROKEN@
+# undef SCNi16
+# ifdef INT16_MAX
+# define SCNi16 "hi"
+# endif
+# endif
+# if !defined SCNo16 || @PRI_MACROS_BROKEN@
+# undef SCNo16
+# ifdef UINT16_MAX
+# define SCNo16 "ho"
+# endif
+# endif
+# if !defined SCNu16 || @PRI_MACROS_BROKEN@
+# undef SCNu16
+# ifdef UINT16_MAX
+# define SCNu16 "hu"
+# endif
+# endif
+# if !defined SCNx16 || @PRI_MACROS_BROKEN@
+# undef SCNx16
+# ifdef UINT16_MAX
+# define SCNx16 "hx"
+# endif
+# endif
+# if !defined SCNd32 || @PRI_MACROS_BROKEN@
+# undef SCNd32
+# ifdef INT32_MAX
+# define SCNd32 "d"
+# endif
+# endif
+# if !defined SCNi32 || @PRI_MACROS_BROKEN@
+# undef SCNi32
+# ifdef INT32_MAX
+# define SCNi32 "i"
+# endif
+# endif
+# if !defined SCNo32 || @PRI_MACROS_BROKEN@
+# undef SCNo32
+# ifdef UINT32_MAX
+# define SCNo32 "o"
+# endif
+# endif
+# if !defined SCNu32 || @PRI_MACROS_BROKEN@
+# undef SCNu32
+# ifdef UINT32_MAX
+# define SCNu32 "u"
+# endif
+# endif
+# if !defined SCNx32 || @PRI_MACROS_BROKEN@
+# undef SCNx32
+# ifdef UINT32_MAX
+# define SCNx32 "x"
+# endif
+# endif
+# ifdef INT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@)
+# define _SCN64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+# define _SCN64_PREFIX "I64"
+# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined SCNd64 || @PRI_MACROS_BROKEN@
+# undef SCNd64
+# define SCNd64 _SCN64_PREFIX "d"
+# endif
+# if !defined SCNi64 || @PRI_MACROS_BROKEN@
+# undef SCNi64
+# define SCNi64 _SCN64_PREFIX "i"
+# endif
+# endif
+# ifdef UINT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@)
+# define _SCNu64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+# define _SCNu64_PREFIX "I64"
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined SCNo64 || @PRI_MACROS_BROKEN@
+# undef SCNo64
+# define SCNo64 _SCNu64_PREFIX "o"
+# endif
+# if !defined SCNu64 || @PRI_MACROS_BROKEN@
+# undef SCNu64
+# define SCNu64 _SCNu64_PREFIX "u"
+# endif
+# if !defined SCNx64 || @PRI_MACROS_BROKEN@
+# undef SCNx64
+# define SCNx64 _SCNu64_PREFIX "x"
+# endif
+# endif
+
+# if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST8
+# define SCNdLEAST8 "hhd"
+# endif
+# if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST8
+# define SCNiLEAST8 "hhi"
+# endif
+# if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST8
+# define SCNoLEAST8 "hho"
+# endif
+# if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST8
+# define SCNuLEAST8 "hhu"
+# endif
+# if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST8
+# define SCNxLEAST8 "hhx"
+# endif
+# if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST16
+# define SCNdLEAST16 "hd"
+# endif
+# if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST16
+# define SCNiLEAST16 "hi"
+# endif
+# if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST16
+# define SCNoLEAST16 "ho"
+# endif
+# if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST16
+# define SCNuLEAST16 "hu"
+# endif
+# if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST16
+# define SCNxLEAST16 "hx"
+# endif
+# if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST32
+# define SCNdLEAST32 "d"
+# endif
+# if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST32
+# define SCNiLEAST32 "i"
+# endif
+# if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST32
+# define SCNoLEAST32 "o"
+# endif
+# if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST32
+# define SCNuLEAST32 "u"
+# endif
+# if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST32
+# define SCNxLEAST32 "x"
+# endif
+# ifdef INT64_MAX
+# if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST64
+# define SCNdLEAST64 SCNd64
+# endif
+# if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST64
+# define SCNiLEAST64 SCNi64
+# endif
+# endif
+# ifdef UINT64_MAX
+# if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST64
+# define SCNoLEAST64 SCNo64
+# endif
+# if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST64
+# define SCNuLEAST64 SCNu64
+# endif
+# if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST64
+# define SCNxLEAST64 SCNx64
+# endif
+# endif
+
+# if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST8
+# if INT_FAST8_MAX > INT32_MAX
+# define SCNdFAST8 SCNd64
+# elif INT_FAST8_MAX == 0x7fff
+# define SCNdFAST8 "hd"
+# elif INT_FAST8_MAX == 0x7f
+# define SCNdFAST8 "hhd"
+# else
+# define SCNdFAST8 "d"
+# endif
+# endif
+# if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST8
+# if INT_FAST8_MAX > INT32_MAX
+# define SCNiFAST8 SCNi64
+# elif INT_FAST8_MAX == 0x7fff
+# define SCNiFAST8 "hi"
+# elif INT_FAST8_MAX == 0x7f
+# define SCNiFAST8 "hhi"
+# else
+# define SCNiFAST8 "i"
+# endif
+# endif
+# if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define SCNoFAST8 SCNo64
+# elif UINT_FAST8_MAX == 0xffff
+# define SCNoFAST8 "ho"
+# elif UINT_FAST8_MAX == 0xff
+# define SCNoFAST8 "hho"
+# else
+# define SCNoFAST8 "o"
+# endif
+# endif
+# if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define SCNuFAST8 SCNu64
+# elif UINT_FAST8_MAX == 0xffff
+# define SCNuFAST8 "hu"
+# elif UINT_FAST8_MAX == 0xff
+# define SCNuFAST8 "hhu"
+# else
+# define SCNuFAST8 "u"
+# endif
+# endif
+# if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define SCNxFAST8 SCNx64
+# elif UINT_FAST8_MAX == 0xffff
+# define SCNxFAST8 "hx"
+# elif UINT_FAST8_MAX == 0xff
+# define SCNxFAST8 "hhx"
+# else
+# define SCNxFAST8 "x"
+# endif
+# endif
+# if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST16
+# if INT_FAST16_MAX > INT32_MAX
+# define SCNdFAST16 SCNd64
+# elif INT_FAST16_MAX == 0x7fff
+# define SCNdFAST16 "hd"
+# else
+# define SCNdFAST16 "d"
+# endif
+# endif
+# if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST16
+# if INT_FAST16_MAX > INT32_MAX
+# define SCNiFAST16 SCNi64
+# elif INT_FAST16_MAX == 0x7fff
+# define SCNiFAST16 "hi"
+# else
+# define SCNiFAST16 "i"
+# endif
+# endif
+# if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define SCNoFAST16 SCNo64
+# elif UINT_FAST16_MAX == 0xffff
+# define SCNoFAST16 "ho"
+# else
+# define SCNoFAST16 "o"
+# endif
+# endif
+# if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define SCNuFAST16 SCNu64
+# elif UINT_FAST16_MAX == 0xffff
+# define SCNuFAST16 "hu"
+# else
+# define SCNuFAST16 "u"
+# endif
+# endif
+# if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define SCNxFAST16 SCNx64
+# elif UINT_FAST16_MAX == 0xffff
+# define SCNxFAST16 "hx"
+# else
+# define SCNxFAST16 "x"
+# endif
+# endif
+# if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST32
+# if INT_FAST32_MAX > INT32_MAX
+# define SCNdFAST32 SCNd64
+# else
+# define SCNdFAST32 "d"
+# endif
+# endif
+# if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST32
+# if INT_FAST32_MAX > INT32_MAX
+# define SCNiFAST32 SCNi64
+# else
+# define SCNiFAST32 "i"
+# endif
+# endif
+# if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define SCNoFAST32 SCNo64
+# else
+# define SCNoFAST32 "o"
+# endif
+# endif
+# if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define SCNuFAST32 SCNu64
+# else
+# define SCNuFAST32 "u"
+# endif
+# endif
+# if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define SCNxFAST32 SCNx64
+# else
+# define SCNxFAST32 "x"
+# endif
+# endif
+# ifdef INT64_MAX
+# if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST64
+# define SCNdFAST64 SCNd64
+# endif
+# if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST64
+# define SCNiFAST64 SCNi64
+# endif
+# endif
+# ifdef UINT64_MAX
+# if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST64
+# define SCNoFAST64 SCNo64
+# endif
+# if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST64
+# define SCNuFAST64 SCNu64
+# endif
+# if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST64
+# define SCNxFAST64 SCNx64
+# endif
+# endif
+
+# if !defined SCNdMAX || @PRI_MACROS_BROKEN@
+# undef SCNdMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+# define SCNdMAX SCNd64
+# else
+# define SCNdMAX "ld"
+# endif
+# endif
+# if !defined SCNiMAX || @PRI_MACROS_BROKEN@
+# undef SCNiMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+# define SCNiMAX SCNi64
+# else
+# define SCNiMAX "li"
+# endif
+# endif
+# if !defined SCNoMAX || @PRI_MACROS_BROKEN@
+# undef SCNoMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define SCNoMAX SCNo64
+# else
+# define SCNoMAX "lo"
+# endif
+# endif
+# if !defined SCNuMAX || @PRI_MACROS_BROKEN@
+# undef SCNuMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define SCNuMAX SCNu64
+# else
+# define SCNuMAX "lu"
+# endif
+# endif
+# if !defined SCNxMAX || @PRI_MACROS_BROKEN@
+# undef SCNxMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define SCNxMAX SCNx64
+# else
+# define SCNxMAX "lx"
+# endif
+# endif
+
+# if !defined SCNdPTR || @PRI_MACROS_BROKEN@
+# undef SCNdPTR
+# ifdef INTPTR_MAX
+# define SCNdPTR @PRIPTR_PREFIX@ "d"
+# endif
+# endif
+# if !defined SCNiPTR || @PRI_MACROS_BROKEN@
+# undef SCNiPTR
+# ifdef INTPTR_MAX
+# define SCNiPTR @PRIPTR_PREFIX@ "i"
+# endif
+# endif
+# if !defined SCNoPTR || @PRI_MACROS_BROKEN@
+# undef SCNoPTR
+# ifdef UINTPTR_MAX
+# define SCNoPTR @PRIPTR_PREFIX@ "o"
+# endif
+# endif
+# if !defined SCNuPTR || @PRI_MACROS_BROKEN@
+# undef SCNuPTR
+# ifdef UINTPTR_MAX
+# define SCNuPTR @PRIPTR_PREFIX@ "u"
+# endif
+# endif
+# if !defined SCNxPTR || @PRI_MACROS_BROKEN@
+# undef SCNxPTR
+# ifdef UINTPTR_MAX
+# define SCNxPTR @PRIPTR_PREFIX@ "x"
+# endif
+# endif
+
+#endif
+
+/* 7.8.2 Functions for greatest-width integer types */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if @GNULIB_IMAXABS@
+# if !@HAVE_DECL_IMAXABS@
+extern intmax_t imaxabs (intmax_t);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef imaxabs
+# if HAVE_RAW_DECL_IMAXABS
+_GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - "
+ "use gnulib module imaxabs for portability");
+# endif
+#endif
+
+#if @GNULIB_IMAXDIV@
+# if !@HAVE_DECL_IMAXDIV@
+# if !GNULIB_defined_imaxdiv_t
+typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t;
+# define GNULIB_defined_imaxdiv_t 1
+# endif
+extern imaxdiv_t imaxdiv (intmax_t, intmax_t);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef imaxdiv
+# if HAVE_RAW_DECL_IMAXDIV
+_GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - "
+ "use gnulib module imaxdiv for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOIMAX@
+# if !@HAVE_DECL_STRTOIMAX@
+# undef strtoimax
+extern intmax_t strtoimax (const char *, char **, int) _GL_ARG_NONNULL ((1));
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strtoimax
+# if HAVE_RAW_DECL_STRTOIMAX
+_GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - "
+ "use gnulib module strtoimax for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOUMAX@
+# if !@HAVE_DECL_STRTOUMAX@
+# undef strtoumax
+extern uintmax_t strtoumax (const char *, char **, int) _GL_ARG_NONNULL ((1));
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strtoumax
+# if HAVE_RAW_DECL_STRTOUMAX
+_GL_WARN_ON_USE (strtoumax, "strtoumax is unportable - "
+ "use gnulib module strtoumax for portability");
+# endif
+#endif
+
+/* Don't bother defining or declaring wcstoimax and wcstoumax, since
+ wide-character functions like this are hardly ever useful. */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !defined INTTYPES_H && !defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H */
--- /dev/null
+/* Work around a bug of lstat on some systems
+
+ Copyright (C) 1997-2006, 2008-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* written by Jim Meyering */
+
+/* If the user's config.h happens to include <sys/stat.h>, let it include only
+ the system's <sys/stat.h> here, so that orig_lstat doesn't recurse to
+ rpl_lstat. */
+#define __need_system_sys_stat_h
+#include <config.h>
+
+#if !HAVE_LSTAT
+/* On systems that lack symlinks, our replacement <sys/stat.h> already
+ defined lstat as stat, so there is nothing further to do other than
+ avoid an empty file. */
+typedef int dummy;
+#else /* HAVE_LSTAT */
+
+/* Get the original definition of lstat. It might be defined as a macro. */
+# include <sys/types.h>
+# include <sys/stat.h>
+# undef __need_system_sys_stat_h
+
+static inline int
+orig_lstat (const char *filename, struct stat *buf)
+{
+ return lstat (filename, buf);
+}
+
+/* Specification. */
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+ eliminates this include because of the preliminary #include <sys/stat.h>
+ above. */
+# include "sys/stat.h"
+
+# include <string.h>
+# include <errno.h>
+
+/* lstat works differently on Linux and Solaris systems. POSIX (see
+ `pathname resolution' in the glossary) requires that programs like
+ `ls' take into consideration the fact that FILE has a trailing slash
+ when FILE is a symbolic link. On Linux and Solaris 10 systems, the
+ lstat function already has the desired semantics (in treating
+ `lstat ("symlink/", sbuf)' just like `lstat ("symlink/.", sbuf)',
+ but on Solaris 9 and earlier it does not.
+
+ If FILE has a trailing slash and specifies a symbolic link,
+ then use stat() to get more info on the referent of FILE.
+ If the referent is a non-directory, then set errno to ENOTDIR
+ and return -1. Otherwise, return stat's result. */
+
+int
+rpl_lstat (const char *file, struct stat *sbuf)
+{
+ size_t len;
+ int lstat_result = orig_lstat (file, sbuf);
+
+ if (lstat_result != 0)
+ return lstat_result;
+
+ /* This replacement file can blindly check against '/' rather than
+ using the ISSLASH macro, because all platforms with '\\' either
+ lack symlinks (mingw) or have working lstat (cygwin) and thus do
+ not compile this file. 0 len should have already been filtered
+ out above, with a failure return of ENOENT. */
+ len = strlen (file);
+ if (file[len - 1] != '/' || S_ISDIR (sbuf->st_mode))
+ return 0;
+
+ /* At this point, a trailing slash is only permitted on
+ symlink-to-dir; but it should have found information on the
+ directory, not the symlink. Call stat() to get info about the
+ link's referent. Our replacement stat guarantees valid results,
+ even if the symlink is not pointing to a directory. */
+ if (!S_ISLNK (sbuf->st_mode))
+ {
+ errno = ENOTDIR;
+ return -1;
+ }
+ return stat (file, sbuf);
+}
+
+#endif /* HAVE_LSTAT */
--- /dev/null
+/* Common macros used by gnulib tests.
+ Copyright (C) 2006-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+
+/* This file contains macros that are used by many gnulib tests.
+ Put here only frequently used macros, say, used by 10 tests or more. */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+/* Define ASSERT_STREAM before including this file if ASSERT must
+ target a stream other than stderr. */
+#ifndef ASSERT_STREAM
+# define ASSERT_STREAM stderr
+#endif
+
+/* ASSERT (condition);
+ verifies that the specified condition is fulfilled. If not, a message
+ is printed to ASSERT_STREAM if defined (defaulting to stderr if
+ undefined) and the program is terminated with an error code.
+
+ This macro has the following properties:
+ - The programmer specifies the expected condition, not the failure
+ condition. This simplifies thinking.
+ - The condition is tested always, regardless of compilation flags.
+ (Unlike the macro from <assert.h>.)
+ - On Unix platforms, the tester can debug the test program with a
+ debugger (provided core dumps are enabled: "ulimit -c unlimited").
+ - For the sake of platforms where no debugger is available (such as
+ some mingw systems), an error message is printed on the error
+ stream that includes the source location of the ASSERT invocation.
+ */
+#define ASSERT(expr) \
+ do \
+ { \
+ if (!(expr)) \
+ { \
+ fprintf (ASSERT_STREAM, "%s:%d: assertion failed\n", \
+ __FILE__, __LINE__); \
+ fflush (ASSERT_STREAM); \
+ abort (); \
+ } \
+ } \
+ while (0)
+
+/* SIZEOF (array)
+ returns the number of elements of an array. It works for arrays that are
+ declared outside functions and for local variables of array type. It does
+ *not* work for function parameters of array type, because they are actually
+ parameters of pointer type. */
+#define SIZEOF(array) (sizeof (array) / sizeof (array[0]))
+
+/* STREQ (str1, str2)
+ Return true if two strings compare equal. */
+#define STREQ(a, b) (strcmp (a, b) == 0)
--- /dev/null
+/* malloc() function that is glibc compatible.
+
+ Copyright (C) 1997-1998, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* written by Jim Meyering and Bruno Haible */
+
+#define _GL_USE_STDLIB_ALLOC 1
+#include <config.h>
+/* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */
+#ifdef malloc
+# define NEED_MALLOC_GNU 1
+# undef malloc
+/* Whereas the gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU. */
+#elif GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU
+# define NEED_MALLOC_GNU 1
+#endif
+
+#include <stdlib.h>
+
+#include <errno.h>
+
+/* Allocate an N-byte block of memory from the heap.
+ If N is zero, allocate a 1-byte block. */
+
+void *
+rpl_malloc (size_t n)
+{
+ void *result;
+
+#if NEED_MALLOC_GNU
+ if (n == 0)
+ n = 1;
+#endif
+
+ result = malloc (n);
+
+#if !HAVE_MALLOC_POSIX
+ if (result == NULL)
+ errno = ENOMEM;
+#endif
+
+ return result;
+}
--- /dev/null
+/* Safe automatic memory allocation.
+ Copyright (C) 2003, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2003.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#define _GL_USE_STDLIB_ALLOC 1
+#include <config.h>
+
+/* Specification. */
+#include "malloca.h"
+
+#include "verify.h"
+
+/* The speed critical point in this file is freea() applied to an alloca()
+ result: it must be fast, to match the speed of alloca(). The speed of
+ mmalloca() and freea() in the other case are not critical, because they
+ are only invoked for big memory sizes. */
+
+#if HAVE_ALLOCA
+
+/* Store the mmalloca() results in a hash table. This is needed to reliably
+ distinguish a mmalloca() result and an alloca() result.
+
+ Although it is possible that the same pointer is returned by alloca() and
+ by mmalloca() at different times in the same application, it does not lead
+ to a bug in freea(), because:
+ - Before a pointer returned by alloca() can point into malloc()ed memory,
+ the function must return, and once this has happened the programmer must
+ not call freea() on it anyway.
+ - Before a pointer returned by mmalloca() can point into the stack, it
+ must be freed. The only function that can free it is freea(), and
+ when freea() frees it, it also removes it from the hash table. */
+
+#define MAGIC_NUMBER 0x1415fb4a
+#define MAGIC_SIZE sizeof (int)
+/* This is how the header info would look like without any alignment
+ considerations. */
+struct preliminary_header { void *next; char room[MAGIC_SIZE]; };
+/* But the header's size must be a multiple of sa_alignment_max. */
+#define HEADER_SIZE \
+ (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max)
+struct header { void *next; char room[HEADER_SIZE - sizeof (struct preliminary_header) + MAGIC_SIZE]; };
+verify (HEADER_SIZE == sizeof (struct header));
+/* We make the hash table quite big, so that during lookups the probability
+ of empty hash buckets is quite high. There is no need to make the hash
+ table resizable, because when the hash table gets filled so much that the
+ lookup becomes slow, it means that the application has memory leaks. */
+#define HASH_TABLE_SIZE 257
+static void * mmalloca_results[HASH_TABLE_SIZE];
+
+#endif
+
+void *
+mmalloca (size_t n)
+{
+#if HAVE_ALLOCA
+ /* Allocate one more word, that serves as an indicator for malloc()ed
+ memory, so that freea() of an alloca() result is fast. */
+ size_t nplus = n + HEADER_SIZE;
+
+ if (nplus >= n)
+ {
+ char *p = (char *) malloc (nplus);
+
+ if (p != NULL)
+ {
+ size_t slot;
+
+ p += HEADER_SIZE;
+
+ /* Put a magic number into the indicator word. */
+ ((int *) p)[-1] = MAGIC_NUMBER;
+
+ /* Enter p into the hash table. */
+ slot = (unsigned long) p % HASH_TABLE_SIZE;
+ ((struct header *) (p - HEADER_SIZE))->next = mmalloca_results[slot];
+ mmalloca_results[slot] = p;
+
+ return p;
+ }
+ }
+ /* Out of memory. */
+ return NULL;
+#else
+# if !MALLOC_0_IS_NONNULL
+ if (n == 0)
+ n = 1;
+# endif
+ return malloc (n);
+#endif
+}
+
+#if HAVE_ALLOCA
+void
+freea (void *p)
+{
+ /* mmalloca() may have returned NULL. */
+ if (p != NULL)
+ {
+ /* Attempt to quickly distinguish the mmalloca() result - which has
+ a magic indicator word - and the alloca() result - which has an
+ uninitialized indicator word. It is for this test that sa_increment
+ additional bytes are allocated in the alloca() case. */
+ if (((int *) p)[-1] == MAGIC_NUMBER)
+ {
+ /* Looks like a mmalloca() result. To see whether it really is one,
+ perform a lookup in the hash table. */
+ size_t slot = (unsigned long) p % HASH_TABLE_SIZE;
+ void **chain = &mmalloca_results[slot];
+ for (; *chain != NULL;)
+ {
+ if (*chain == p)
+ {
+ /* Found it. Remove it from the hash table and free it. */
+ char *p_begin = (char *) p - HEADER_SIZE;
+ *chain = ((struct header *) p_begin)->next;
+ free (p_begin);
+ return;
+ }
+ chain = &((struct header *) ((char *) *chain - HEADER_SIZE))->next;
+ }
+ }
+ /* At this point, we know it was not a mmalloca() result. */
+ }
+}
+#endif
--- /dev/null
+/* Safe automatic memory allocation.
+ Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2003.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#ifndef _MALLOCA_H
+#define _MALLOCA_H
+
+#include <alloca.h>
+#include <stddef.h>
+#include <stdlib.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* safe_alloca(N) is equivalent to alloca(N) when it is safe to call
+ alloca(N); otherwise it returns NULL. It either returns N bytes of
+ memory allocated on the stack, that lasts until the function returns,
+ or NULL.
+ Use of safe_alloca should be avoided:
+ - inside arguments of function calls - undefined behaviour,
+ - in inline functions - the allocation may actually last until the
+ calling function returns.
+*/
+#if HAVE_ALLOCA
+/* The OS usually guarantees only one guard page at the bottom of the stack,
+ and a page size can be as small as 4096 bytes. So we cannot safely
+ allocate anything larger than 4096 bytes. Also care for the possibility
+ of a few compiler-allocated temporary stack slots.
+ This must be a macro, not an inline function. */
+# define safe_alloca(N) ((N) < 4032 ? alloca (N) : NULL)
+#else
+# define safe_alloca(N) ((void) (N), NULL)
+#endif
+
+/* malloca(N) is a safe variant of alloca(N). It allocates N bytes of
+ memory allocated on the stack, that must be freed using freea() before
+ the function returns. Upon failure, it returns NULL. */
+#if HAVE_ALLOCA
+# define malloca(N) \
+ ((N) < 4032 - sa_increment \
+ ? (void *) ((char *) alloca ((N) + sa_increment) + sa_increment) \
+ : mmalloca (N))
+#else
+# define malloca(N) \
+ mmalloca (N)
+#endif
+extern void * mmalloca (size_t n);
+
+/* Free a block of memory allocated through malloca(). */
+#if HAVE_ALLOCA
+extern void freea (void *p);
+#else
+# define freea free
+#endif
+
+/* nmalloca(N,S) is an overflow-safe variant of malloca (N * S).
+ It allocates an array of N objects, each with S bytes of memory,
+ on the stack. S must be positive and N must be nonnegative.
+ The array must be freed using freea() before the function returns. */
+#if 1
+/* Cf. the definition of xalloc_oversized. */
+# define nmalloca(n, s) \
+ ((n) > (size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) \
+ ? NULL \
+ : malloca ((n) * (s)))
+#else
+extern void * nmalloca (size_t n, size_t s);
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+/* ------------------- Auxiliary, non-public definitions ------------------- */
+
+/* Determine the alignment of a type at compile time. */
+#if defined __GNUC__
+# define sa_alignof __alignof__
+#elif defined __cplusplus
+ template <class type> struct sa_alignof_helper { char __slot1; type __slot2; };
+# define sa_alignof(type) offsetof (sa_alignof_helper<type>, __slot2)
+#elif defined __hpux
+ /* Work around a HP-UX 10.20 cc bug with enums constants defined as offsetof
+ values. */
+# define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8)
+#elif defined _AIX
+ /* Work around an AIX 3.2.5 xlc bug with enums constants defined as offsetof
+ values. */
+# define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8)
+#else
+# define sa_alignof(type) offsetof (struct { char __slot1; type __slot2; }, __slot2)
+#endif
+
+enum
+{
+/* The desired alignment of memory allocations is the maximum alignment
+ among all elementary types. */
+ sa_alignment_long = sa_alignof (long),
+ sa_alignment_double = sa_alignof (double),
+#if HAVE_LONG_LONG_INT
+ sa_alignment_longlong = sa_alignof (long long),
+#endif
+ sa_alignment_longdouble = sa_alignof (long double),
+ sa_alignment_max = ((sa_alignment_long - 1) | (sa_alignment_double - 1)
+#if HAVE_LONG_LONG_INT
+ | (sa_alignment_longlong - 1)
+#endif
+ | (sa_alignment_longdouble - 1)
+ ) + 1,
+/* The increment that guarantees room for a magic word must be >= sizeof (int)
+ and a multiple of sa_alignment_max. */
+ sa_increment = ((sizeof (int) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max
+};
+
+#endif /* _MALLOCA_H */
--- /dev/null
+# Suppress a valgrind message about use of uninitialized memory in freea().
+# This use is OK because it provides only a speedup.
+{
+ freea
+ Memcheck:Cond
+ fun:freea
+}
--- /dev/null
+/* Open a descriptor to a file.
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+/* If the user's config.h happens to include <fcntl.h>, let it include only
+ the system's <fcntl.h> here, so that orig_open doesn't recurse to
+ rpl_open. */
+#define __need_system_fcntl_h
+#include <config.h>
+
+/* Get the original definition of open. It might be defined as a macro. */
+#include <fcntl.h>
+#include <sys/types.h>
+#undef __need_system_fcntl_h
+
+static inline int
+orig_open (const char *filename, int flags, mode_t mode)
+{
+ return open (filename, flags, mode);
+}
+
+/* Specification. */
+/* Write "fcntl.h" here, not <fcntl.h>, otherwise OSF/1 5.1 DTK cc eliminates
+ this include because of the preliminary #include <fcntl.h> above. */
+#include "fcntl.h"
+
+#include <errno.h>
+#include <stdarg.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#ifndef REPLACE_OPEN_DIRECTORY
+# define REPLACE_OPEN_DIRECTORY 0
+#endif
+
+int
+open (const char *filename, int flags, ...)
+{
+ mode_t mode;
+ int fd;
+
+ mode = 0;
+ if (flags & O_CREAT)
+ {
+ va_list arg;
+ va_start (arg, flags);
+
+ /* We have to use PROMOTED_MODE_T instead of mode_t, otherwise GCC 4
+ creates crashing code when 'mode_t' is smaller than 'int'. */
+ mode = va_arg (arg, PROMOTED_MODE_T);
+
+ va_end (arg);
+ }
+
+#if GNULIB_defined_O_NONBLOCK
+ /* The only known platform that lacks O_NONBLOCK is mingw, but it
+ also lacks named pipes and Unix sockets, which are the only two
+ file types that require non-blocking handling in open().
+ Therefore, it is safe to ignore O_NONBLOCK here. It is handy
+ that mingw also lacks openat(), so that is also covered here. */
+ flags &= ~O_NONBLOCK;
+#endif
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+ if (strcmp (filename, "/dev/null") == 0)
+ filename = "NUL";
+#endif
+
+#if OPEN_TRAILING_SLASH_BUG
+ /* If the filename ends in a slash and one of O_CREAT, O_WRONLY, O_RDWR
+ is specified, then fail.
+ Rationale: POSIX <http://www.opengroup.org/susv3/basedefs/xbd_chap04.html>
+ says that
+ "A pathname that contains at least one non-slash character and that
+ ends with one or more trailing slashes shall be resolved as if a
+ single dot character ( '.' ) were appended to the pathname."
+ and
+ "The special filename dot shall refer to the directory specified by
+ its predecessor."
+ If the named file already exists as a directory, then
+ - if O_CREAT is specified, open() must fail because of the semantics
+ of O_CREAT,
+ - if O_WRONLY or O_RDWR is specified, open() must fail because POSIX
+ <http://www.opengroup.org/susv3/functions/open.html> says that it
+ fails with errno = EISDIR in this case.
+ If the named file does not exist or does not name a directory, then
+ - if O_CREAT is specified, open() must fail since open() cannot create
+ directories,
+ - if O_WRONLY or O_RDWR is specified, open() must fail because the
+ file does not contain a '.' directory. */
+ if (flags & (O_CREAT | O_WRONLY | O_RDWR))
+ {
+ size_t len = strlen (filename);
+ if (len > 0 && filename[len - 1] == '/')
+ {
+ errno = EISDIR;
+ return -1;
+ }
+ }
+#endif
+
+ fd = orig_open (filename, flags, mode);
+
+#if REPLACE_FCHDIR
+ /* Implementing fchdir and fdopendir requires the ability to open a
+ directory file descriptor. If open doesn't support that (as on
+ mingw), we use a dummy file that behaves the same as directories
+ on Linux (ie. always reports EOF on attempts to read()), and
+ override fstat() in fchdir.c to hide the fact that we have a
+ dummy. */
+ if (REPLACE_OPEN_DIRECTORY && fd < 0 && errno == EACCES
+ && ((flags & O_ACCMODE) == O_RDONLY
+ || (O_SEARCH != O_RDONLY && (flags & O_ACCMODE) == O_SEARCH)))
+ {
+ struct stat statbuf;
+ if (stat (filename, &statbuf) == 0 && S_ISDIR (statbuf.st_mode))
+ {
+ /* Maximum recursion depth of 1. */
+ fd = open ("/dev/null", flags, mode);
+ if (0 <= fd)
+ fd = _gl_register_fd (fd, filename);
+ }
+ else
+ errno = EACCES;
+ }
+#endif
+
+#if OPEN_TRAILING_SLASH_BUG
+ /* If the filename ends in a slash and fd does not refer to a directory,
+ then fail.
+ Rationale: POSIX <http://www.opengroup.org/susv3/basedefs/xbd_chap04.html>
+ says that
+ "A pathname that contains at least one non-slash character and that
+ ends with one or more trailing slashes shall be resolved as if a
+ single dot character ( '.' ) were appended to the pathname."
+ and
+ "The special filename dot shall refer to the directory specified by
+ its predecessor."
+ If the named file without the slash is not a directory, open() must fail
+ with ENOTDIR. */
+ if (fd >= 0)
+ {
+ /* We know len is positive, since open did not fail with ENOENT. */
+ size_t len = strlen (filename);
+ if (filename[len - 1] == '/')
+ {
+ struct stat statbuf;
+
+ if (fstat (fd, &statbuf) >= 0 && !S_ISDIR (statbuf.st_mode))
+ {
+ close (fd);
+ errno = ENOTDIR;
+ return -1;
+ }
+ }
+ }
+#endif
+
+#if REPLACE_FCHDIR
+ if (!REPLACE_OPEN_DIRECTORY && 0 <= fd)
+ fd = _gl_register_fd (fd, filename);
+#endif
+
+ return fd;
+}
--- /dev/null
+/* Define PATH_MAX somehow. Requires sys/types.h.
+ Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2011 Free Software
+ Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#ifndef _PATHMAX_H
+# define _PATHMAX_H
+
+/* POSIX:2008 defines PATH_MAX to be the maximum number of bytes in a filename,
+ including the terminating NUL byte.
+ <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html>
+ PATH_MAX is not defined on systems which have no limit on filename length,
+ such as GNU/Hurd.
+
+ This file does *not* define PATH_MAX always. Programs that use this file
+ can handle the GNU/Hurd case in several ways:
+ - Either with a package-wide handling, or with a per-file handling,
+ - Either through a
+ #ifdef PATH_MAX
+ or through a fallback like
+ #ifndef PATH_MAX
+ # define PATH_MAX 8192
+ #endif
+ or through a fallback like
+ #ifndef PATH_MAX
+ # define PATH_MAX pathconf ("/", _PC_PATH_MAX)
+ #endif
+ */
+
+# include <unistd.h>
+
+# include <limits.h>
+
+# ifndef _POSIX_PATH_MAX
+# define _POSIX_PATH_MAX 256
+# endif
+
+/* Don't include sys/param.h if it already has been. */
+# if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN
+# include <sys/param.h>
+# endif
+
+# if !defined PATH_MAX && defined MAXPATHLEN
+# define PATH_MAX MAXPATHLEN
+# endif
+
+# ifdef __hpux
+/* On HP-UX, PATH_MAX designates the maximum number of bytes in a filename,
+ *not* including the terminating NUL byte, and is set to 1023.
+ Additionally, when _XOPEN_SOURCE is defined to 500 or more, PATH_MAX is
+ not defined at all any more. */
+# undef PATH_MAX
+# define PATH_MAX 1024
+# endif
+
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* The page "Naming Files, Paths, and Namespaces" on msdn.microsoft.com,
+ section "Maximum Path Length Limitation",
+ <http://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).aspx#maxpath>
+ explains that the maximum size of a filename, including the terminating
+ NUL byte, is 260 = 3 + 256 + 1.
+ This is the same value as
+ - FILENAME_MAX in <stdio.h>,
+ - _MAX_PATH in <stdlib.h>,
+ - MAX_PATH in <windef.h>.
+ Undefine the original value, because mingw's <limits.h> gets it wrong. */
+# undef PATH_MAX
+# define PATH_MAX 260
+# endif
+
+#endif /* _PATHMAX_H */
--- /dev/null
+/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2011 Free Software
+ Foundation, Inc.
+
+ NOTE: The canonical source of this file is maintained with the GNU C
+ Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 3 of the License, or any
+ later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <stdlib.h>
+
+#include <stddef.h>
+
+/* Include errno.h *after* sys/types.h to work around header problems
+ on AIX 3.2.5. */
+#include <errno.h>
+#ifndef __set_errno
+# define __set_errno(ev) ((errno) = (ev))
+#endif
+
+#include <string.h>
+#include <unistd.h>
+
+#if _LIBC
+# if HAVE_GNU_LD
+# define environ __environ
+# else
+extern char **environ;
+# endif
+#endif
+
+#if _LIBC
+/* This lock protects against simultaneous modifications of `environ'. */
+# include <bits/libc-lock.h>
+__libc_lock_define_initialized (static, envlock)
+# define LOCK __libc_lock_lock (envlock)
+# define UNLOCK __libc_lock_unlock (envlock)
+#else
+# define LOCK
+# define UNLOCK
+#endif
+
+static int
+_unsetenv (const char *name)
+{
+ size_t len;
+ char **ep;
+
+ if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
+ {
+ __set_errno (EINVAL);
+ return -1;
+ }
+
+ len = strlen (name);
+
+ LOCK;
+
+ ep = environ;
+ while (*ep != NULL)
+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
+ {
+ /* Found it. Remove this pointer by moving later ones back. */
+ char **dp = ep;
+
+ do
+ dp[0] = dp[1];
+ while (*dp++);
+ /* Continue the loop in case NAME appears again. */
+ }
+ else
+ ++ep;
+
+ UNLOCK;
+
+ return 0;
+}
+
+
+/* Put STRING, which is of the form "NAME=VALUE", in the environment.
+ If STRING contains no `=', then remove STRING from the environment. */
+int
+putenv (char *string)
+{
+ const char *const name_end = strchr (string, '=');
+ register size_t size;
+ register char **ep;
+
+ if (name_end == NULL)
+ {
+ /* Remove the variable from the environment. */
+ return _unsetenv (string);
+ }
+
+ size = 0;
+ for (ep = environ; *ep != NULL; ++ep)
+ if (!strncmp (*ep, string, name_end - string) &&
+ (*ep)[name_end - string] == '=')
+ break;
+ else
+ ++size;
+
+ if (*ep == NULL)
+ {
+ static char **last_environ = NULL;
+ char **new_environ = (char **) malloc ((size + 2) * sizeof (char *));
+ if (new_environ == NULL)
+ return -1;
+ (void) memcpy ((void *) new_environ, (void *) environ,
+ size * sizeof (char *));
+ new_environ[size] = (char *) string;
+ new_environ[size + 1] = NULL;
+ free (last_environ);
+ last_environ = new_environ;
+ environ = new_environ;
+ }
+ else
+ *ep = string;
+
+ return 0;
+}
--- /dev/null
+/* Determine whether two stat buffers refer to the same file.
+
+ Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef SAME_INODE_H
+# define SAME_INODE_H 1
+
+# define SAME_INODE(Stat_buf_1, Stat_buf_2) \
+ ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
+ && (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
+
+#endif
--- /dev/null
+/* Copyright (C) 1992, 1995-2003, 2005-2011 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#if !_LIBC
+# define _GL_USE_STDLIB_ALLOC 1
+# include <config.h>
+#endif
+
+/* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc
+ optimizes away the name == NULL test below. */
+#define _GL_ARG_NONNULL(params)
+
+#include <alloca.h>
+
+/* Specification. */
+#include <stdlib.h>
+
+#include <errno.h>
+#ifndef __set_errno
+# define __set_errno(ev) ((errno) = (ev))
+#endif
+
+#include <string.h>
+#if _LIBC || HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#if !_LIBC
+# include "malloca.h"
+#endif
+
+#if _LIBC || !HAVE_SETENV
+
+#if !_LIBC
+# define __environ environ
+#endif
+
+#if _LIBC
+/* This lock protects against simultaneous modifications of `environ'. */
+# include <bits/libc-lock.h>
+__libc_lock_define_initialized (static, envlock)
+# define LOCK __libc_lock_lock (envlock)
+# define UNLOCK __libc_lock_unlock (envlock)
+#else
+# define LOCK
+# define UNLOCK
+#endif
+
+/* In the GNU C library we must keep the namespace clean. */
+#ifdef _LIBC
+# define setenv __setenv
+# define clearenv __clearenv
+# define tfind __tfind
+# define tsearch __tsearch
+#endif
+
+/* In the GNU C library implementation we try to be more clever and
+ allow arbitrarily many changes of the environment given that the used
+ values are from a small set. Outside glibc this will eat up all
+ memory after a while. */
+#if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH \
+ && defined __GNUC__)
+# define USE_TSEARCH 1
+# include <search.h>
+typedef int (*compar_fn_t) (const void *, const void *);
+
+/* This is a pointer to the root of the search tree with the known
+ values. */
+static void *known_values;
+
+# define KNOWN_VALUE(Str) \
+ ({ \
+ void *value = tfind (Str, &known_values, (compar_fn_t) strcmp); \
+ value != NULL ? *(char **) value : NULL; \
+ })
+# define STORE_VALUE(Str) \
+ tsearch (Str, &known_values, (compar_fn_t) strcmp)
+
+#else
+# undef USE_TSEARCH
+
+# define KNOWN_VALUE(Str) NULL
+# define STORE_VALUE(Str) do { } while (0)
+
+#endif
+
+
+/* If this variable is not a null pointer we allocated the current
+ environment. */
+static char **last_environ;
+
+
+/* This function is used by `setenv' and `putenv'. The difference between
+ the two functions is that for the former must create a new string which
+ is then placed in the environment, while the argument of `putenv'
+ must be used directly. This is all complicated by the fact that we try
+ to reuse values once generated for a `setenv' call since we can never
+ free the strings. */
+int
+__add_to_environ (const char *name, const char *value, const char *combined,
+ int replace)
+{
+ char **ep;
+ size_t size;
+ const size_t namelen = strlen (name);
+ const size_t vallen = value != NULL ? strlen (value) + 1 : 0;
+
+ LOCK;
+
+ /* We have to get the pointer now that we have the lock and not earlier
+ since another thread might have created a new environment. */
+ ep = __environ;
+
+ size = 0;
+ if (ep != NULL)
+ {
+ for (; *ep != NULL; ++ep)
+ if (!strncmp (*ep, name, namelen) && (*ep)[namelen] == '=')
+ break;
+ else
+ ++size;
+ }
+
+ if (ep == NULL || *ep == NULL)
+ {
+ char **new_environ;
+#ifdef USE_TSEARCH
+ char *new_value;
+#endif
+
+ /* We allocated this space; we can extend it. */
+ new_environ =
+ (char **) (last_environ == NULL
+ ? malloc ((size + 2) * sizeof (char *))
+ : realloc (last_environ, (size + 2) * sizeof (char *)));
+ if (new_environ == NULL)
+ {
+ /* It's easier to set errno to ENOMEM than to rely on the
+ 'malloc-posix' and 'realloc-posix' gnulib modules. */
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+
+ /* If the whole entry is given add it. */
+ if (combined != NULL)
+ /* We must not add the string to the search tree since it belongs
+ to the user. */
+ new_environ[size] = (char *) combined;
+ else
+ {
+ /* See whether the value is already known. */
+#ifdef USE_TSEARCH
+# ifdef _LIBC
+ new_value = (char *) alloca (namelen + 1 + vallen);
+ __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
+ value, vallen);
+# else
+ new_value = (char *) malloca (namelen + 1 + vallen);
+ if (new_value == NULL)
+ {
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+ memcpy (new_value, name, namelen);
+ new_value[namelen] = '=';
+ memcpy (&new_value[namelen + 1], value, vallen);
+# endif
+
+ new_environ[size] = KNOWN_VALUE (new_value);
+ if (new_environ[size] == NULL)
+#endif
+ {
+ new_environ[size] = (char *) malloc (namelen + 1 + vallen);
+ if (new_environ[size] == NULL)
+ {
+#if defined USE_TSEARCH && !defined _LIBC
+ freea (new_value);
+#endif
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+
+#ifdef USE_TSEARCH
+ memcpy (new_environ[size], new_value, namelen + 1 + vallen);
+#else
+ memcpy (new_environ[size], name, namelen);
+ new_environ[size][namelen] = '=';
+ memcpy (&new_environ[size][namelen + 1], value, vallen);
+#endif
+ /* And save the value now. We cannot do this when we remove
+ the string since then we cannot decide whether it is a
+ user string or not. */
+ STORE_VALUE (new_environ[size]);
+ }
+#if defined USE_TSEARCH && !defined _LIBC
+ freea (new_value);
+#endif
+ }
+
+ if (__environ != last_environ)
+ memcpy ((char *) new_environ, (char *) __environ,
+ size * sizeof (char *));
+
+ new_environ[size + 1] = NULL;
+
+ last_environ = __environ = new_environ;
+ }
+ else if (replace)
+ {
+ char *np;
+
+ /* Use the user string if given. */
+ if (combined != NULL)
+ np = (char *) combined;
+ else
+ {
+#ifdef USE_TSEARCH
+ char *new_value;
+# ifdef _LIBC
+ new_value = alloca (namelen + 1 + vallen);
+ __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
+ value, vallen);
+# else
+ new_value = malloca (namelen + 1 + vallen);
+ if (new_value == NULL)
+ {
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+ memcpy (new_value, name, namelen);
+ new_value[namelen] = '=';
+ memcpy (&new_value[namelen + 1], value, vallen);
+# endif
+
+ np = KNOWN_VALUE (new_value);
+ if (np == NULL)
+#endif
+ {
+ np = (char *) malloc (namelen + 1 + vallen);
+ if (np == NULL)
+ {
+#if defined USE_TSEARCH && !defined _LIBC
+ freea (new_value);
+#endif
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+
+#ifdef USE_TSEARCH
+ memcpy (np, new_value, namelen + 1 + vallen);
+#else
+ memcpy (np, name, namelen);
+ np[namelen] = '=';
+ memcpy (&np[namelen + 1], value, vallen);
+#endif
+ /* And remember the value. */
+ STORE_VALUE (np);
+ }
+#if defined USE_TSEARCH && !defined _LIBC
+ freea (new_value);
+#endif
+ }
+
+ *ep = np;
+ }
+
+ UNLOCK;
+
+ return 0;
+}
+
+int
+setenv (const char *name, const char *value, int replace)
+{
+ if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
+ {
+ __set_errno (EINVAL);
+ return -1;
+ }
+
+ return __add_to_environ (name, value, NULL, replace);
+}
+
+/* The `clearenv' was planned to be added to POSIX.1 but probably
+ never made it. Nevertheless the POSIX.9 standard (POSIX bindings
+ for Fortran 77) requires this function. */
+int
+clearenv (void)
+{
+ LOCK;
+
+ if (__environ == last_environ && __environ != NULL)
+ {
+ /* We allocated this environment so we can free it. */
+ free (__environ);
+ last_environ = NULL;
+ }
+
+ /* Clear the environment pointer removes the whole environment. */
+ __environ = NULL;
+
+ UNLOCK;
+
+ return 0;
+}
+
+#ifdef _LIBC
+static void
+free_mem (void)
+{
+ /* Remove all traces. */
+ clearenv ();
+
+ /* Now remove the search tree. */
+ __tdestroy (known_values, free);
+ known_values = NULL;
+}
+text_set_element (__libc_subfreeres, free_mem);
+
+
+# undef setenv
+# undef clearenv
+weak_alias (__setenv, setenv)
+weak_alias (__clearenv, clearenv)
+#endif
+
+#endif /* _LIBC || !HAVE_SETENV */
+
+/* The rest of this file is called into use when replacing an existing
+ but buggy setenv. Known bugs include failure to diagnose invalid
+ name, and consuming a leading '=' from value. */
+#if HAVE_SETENV
+
+# undef setenv
+# if !HAVE_DECL_SETENV
+extern int setenv (const char *, const char *, int);
+# endif
+# define STREQ(a, b) (strcmp (a, b) == 0)
+
+int
+rpl_setenv (const char *name, const char *value, int replace)
+{
+ int result;
+ if (!name || !*name || strchr (name, '='))
+ {
+ errno = EINVAL;
+ return -1;
+ }
+ /* Call the real setenv even if replace is 0, in case implementation
+ has underlying data to update, such as when environ changes. */
+ result = setenv (name, value, replace);
+ if (result == 0 && replace && *value == '=')
+ {
+ char *tmp = getenv (name);
+ if (!STREQ (tmp, value))
+ {
+ int saved_errno;
+ size_t len = strlen (value);
+ tmp = malloca (len + 2);
+ /* Since leading '=' is eaten, double it up. */
+ *tmp = '=';
+ memcpy (tmp + 1, value, len + 1);
+ result = setenv (name, tmp, replace);
+ saved_errno = errno;
+ freea (tmp);
+ errno = saved_errno;
+ }
+ }
+ return result;
+}
+
+#endif /* HAVE_SETENV */
--- /dev/null
+/* Macro for checking that a function declaration is compliant.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef SIGNATURE_CHECK
+
+/* Check that the function FN takes the specified arguments ARGS with
+ a return type of RET. This header is designed to be included after
+ <config.h> and the one system header that is supposed to contain
+ the function being checked, but prior to any other system headers
+ that are necessary for the unit test. Therefore, this file does
+ not include any system headers, nor reference anything outside of
+ the macro arguments. For an example, if foo.h should provide:
+
+ extern int foo (char, float);
+
+ then the unit test named test-foo.c would start out with:
+
+ #include <config.h>
+ #include <foo.h>
+ #include "signature.h"
+ SIGNATURE_CHECK (foo, int, (char, float));
+ #include <other.h>
+ ...
+*/
+# define SIGNATURE_CHECK(fn, ret, args) \
+ SIGNATURE_CHECK1 (fn, ret, args, __LINE__)
+
+/* Necessary to allow multiple SIGNATURE_CHECK lines in a unit test.
+ Note that the checks must not occupy the same line. */
+# define SIGNATURE_CHECK1(fn, ret, args, id) \
+ SIGNATURE_CHECK2 (fn, ret, args, id) /* macroexpand line */
+# define SIGNATURE_CHECK2(fn, ret, args, id) \
+ static ret (* _GL_UNUSED signature_check ## id) args = fn
+
+#endif /* SIGNATURE_CHECK */
--- /dev/null
+/* Work around platform bugs in stat.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* written by Eric Blake */
+
+/* If the user's config.h happens to include <sys/stat.h>, let it include only
+ the system's <sys/stat.h> here, so that orig_stat doesn't recurse to
+ rpl_stat. */
+#define __need_system_sys_stat_h
+#include <config.h>
+
+/* Get the original definition of stat. It might be defined as a macro. */
+#include <sys/types.h>
+#include <sys/stat.h>
+#undef __need_system_sys_stat_h
+
+static inline int
+orig_stat (const char *filename, struct stat *buf)
+{
+ return stat (filename, buf);
+}
+
+/* Specification. */
+/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
+ eliminates this include because of the preliminary #include <sys/stat.h>
+ above. */
+#include "sys/stat.h"
+
+#include <errno.h>
+#include <limits.h>
+#include <stdbool.h>
+#include <string.h>
+#include "dosname.h"
+#include "verify.h"
+
+#if REPLACE_FUNC_STAT_DIR
+# include "pathmax.h"
+ /* The only known systems where REPLACE_FUNC_STAT_DIR is needed also
+ have a constant PATH_MAX. */
+# ifndef PATH_MAX
+# error "Please port this replacement to your platform"
+# endif
+#endif
+
+/* Store information about NAME into ST. Work around bugs with
+ trailing slashes. Mingw has other bugs (such as st_ino always
+ being 0 on success) which this wrapper does not work around. But
+ at least this implementation provides the ability to emulate fchdir
+ correctly. */
+
+int
+rpl_stat (char const *name, struct stat *st)
+{
+ int result = orig_stat (name, st);
+#if REPLACE_FUNC_STAT_FILE
+ /* Solaris 9 mistakenly succeeds when given a non-directory with a
+ trailing slash. */
+ if (result == 0 && !S_ISDIR (st->st_mode))
+ {
+ size_t len = strlen (name);
+ if (ISSLASH (name[len - 1]))
+ {
+ errno = ENOTDIR;
+ return -1;
+ }
+ }
+#endif /* REPLACE_FUNC_STAT_FILE */
+#if REPLACE_FUNC_STAT_DIR
+
+ if (result == -1 && errno == ENOENT)
+ {
+ /* Due to mingw's oddities, there are some directories (like
+ c:\) where stat() only succeeds with a trailing slash, and
+ other directories (like c:\windows) where stat() only
+ succeeds without a trailing slash. But we want the two to be
+ synonymous, since chdir() manages either style. Likewise, Mingw also
+ reports ENOENT for names longer than PATH_MAX, when we want
+ ENAMETOOLONG, and for stat("file/"), when we want ENOTDIR.
+ Fortunately, mingw PATH_MAX is small enough for stack
+ allocation. */
+ char fixed_name[PATH_MAX + 1] = {0};
+ size_t len = strlen (name);
+ bool check_dir = false;
+ verify (PATH_MAX <= 4096);
+ if (PATH_MAX <= len)
+ errno = ENAMETOOLONG;
+ else if (len)
+ {
+ strcpy (fixed_name, name);
+ if (ISSLASH (fixed_name[len - 1]))
+ {
+ check_dir = true;
+ while (len && ISSLASH (fixed_name[len - 1]))
+ fixed_name[--len] = '\0';
+ if (!len)
+ fixed_name[0] = '/';
+ }
+ else
+ fixed_name[len++] = '/';
+ result = orig_stat (fixed_name, st);
+ if (result == 0 && check_dir && !S_ISDIR (st->st_mode))
+ {
+ result = -1;
+ errno = ENOTDIR;
+ }
+ }
+ }
+#endif /* REPLACE_FUNC_STAT_DIR */
+ return result;
+}
--- /dev/null
+/* Copyright (C) 2001-2003, 2006-2011 Free Software Foundation, Inc.
+ Written by Bruno Haible <haible@clisp.cons.org>, 2001.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#ifndef _GL_STDBOOL_H
+#define _GL_STDBOOL_H
+
+/* ISO C 99 <stdbool.h> for platforms that lack it. */
+
+/* Usage suggestions:
+
+ Programs that use <stdbool.h> should be aware of some limitations
+ and standards compliance issues.
+
+ Standards compliance:
+
+ - <stdbool.h> must be #included before 'bool', 'false', 'true'
+ can be used.
+
+ - You cannot assume that sizeof (bool) == 1.
+
+ - Programs should not undefine the macros bool, true, and false,
+ as C99 lists that as an "obsolescent feature".
+
+ Limitations of this substitute, when used in a C89 environment:
+
+ - <stdbool.h> must be #included before the '_Bool' type can be used.
+
+ - You cannot assume that _Bool is a typedef; it might be a macro.
+
+ - Bit-fields of type 'bool' are not supported. Portable code
+ should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'.
+
+ - In C99, casts and automatic conversions to '_Bool' or 'bool' are
+ performed in such a way that every nonzero value gets converted
+ to 'true', and zero gets converted to 'false'. This doesn't work
+ with this substitute. With this substitute, only the values 0 and 1
+ give the expected result when converted to _Bool' or 'bool'.
+
+ - C99 allows the use of (_Bool)0.0 in constant expressions, but
+ this substitute cannot always provide this property.
+
+ Also, it is suggested that programs use 'bool' rather than '_Bool';
+ this isn't required, but 'bool' is more common. */
+
+
+/* 7.16. Boolean type and values */
+
+/* BeOS <sys/socket.h> already #defines false 0, true 1. We use the same
+ definitions below, but temporarily we have to #undef them. */
+#if defined __BEOS__ && !defined __HAIKU__
+# include <OS.h> /* defines bool but not _Bool */
+# undef false
+# undef true
+#endif
+
+/* For the sake of symbolic names in gdb, we define true and false as
+ enum constants, not only as macros.
+ It is tempting to write
+ typedef enum { false = 0, true = 1 } _Bool;
+ so that gdb prints values of type 'bool' symbolically. But if we do
+ this, values of type '_Bool' may promote to 'int' or 'unsigned int'
+ (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int'
+ (see ISO C 99 6.3.1.1.(2)). So we add a negative value to the
+ enum; this ensures that '_Bool' promotes to 'int'. */
+#if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__)
+ /* A compiler known to have 'bool'. */
+ /* If the compiler already has both 'bool' and '_Bool', we can assume they
+ are the same types. */
+# if !@HAVE__BOOL@
+typedef bool _Bool;
+# endif
+#else
+# if !defined __GNUC__
+ /* If @HAVE__BOOL@:
+ Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when
+ the built-in _Bool type is used. See
+ http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+ http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+ http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
+ Similar bugs are likely with other compilers as well; this file
+ wouldn't be used if <stdbool.h> was working.
+ So we override the _Bool type.
+ If !@HAVE__BOOL@:
+ Need to define _Bool ourselves. As 'signed char' or as an enum type?
+ Use of a typedef, with SunPRO C, leads to a stupid
+ "warning: _Bool is a keyword in ISO C99".
+ Use of an enum type, with IRIX cc, leads to a stupid
+ "warning(1185): enumerated type mixed with another type".
+ Even the existence of an enum type, without a typedef,
+ "Invalid enumerator. (badenum)" with HP-UX cc on Tru64.
+ The only benefit of the enum, debuggability, is not important
+ with these compilers. So use 'signed char' and no enum. */
+# define _Bool signed char
+# else
+ /* With this compiler, trust the _Bool type if the compiler has it. */
+# if !@HAVE__BOOL@
+typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool;
+# endif
+# endif
+#endif
+#define bool _Bool
+
+/* The other macros must be usable in preprocessor directives. */
+#define false 0
+#define true 1
+#define __bool_true_false_are_defined 1
+
+#endif /* _GL_STDBOOL_H */
--- /dev/null
+/* Copyright (C) 2001-2002, 2004-2011 Free Software Foundation, Inc.
+ Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
+ This file is part of gnulib.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/*
+ * ISO C 99 <stdint.h> for platforms that lack it.
+ * <http://www.opengroup.org/susv3xbd/stdint.h.html>
+ */
+
+#ifndef _@GUARD_PREFIX@_STDINT_H
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* When including a system file that in turn includes <inttypes.h>,
+ use the system <inttypes.h>, not our substitute. This avoids
+ problems with (for example) VMS, whose <sys/bitypes.h> includes
+ <inttypes.h>. */
+#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+
+/* Get those types that are already defined in other system include
+ files, so that we can "#define int8_t signed char" below without
+ worrying about a later system include file containing a "typedef
+ signed char int8_t;" that will get messed up by our macro. Our
+ macros should all be consistent with the system versions, except
+ for the "fast" types and macros, which we recommend against using
+ in public interfaces due to compiler differences. */
+
+#if @HAVE_STDINT_H@
+# if defined __sgi && ! defined __c99
+ /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users
+ with "This header file is to be used only for c99 mode compilations"
+ diagnostics. */
+# define __STDINT_H__
+# endif
+ /* Other systems may have an incomplete or buggy <stdint.h>.
+ Include it before <inttypes.h>, since any "#include <stdint.h>"
+ in <inttypes.h> would reinclude us, skipping our contents because
+ _@GUARD_PREFIX@_STDINT_H is defined.
+ The include_next requires a split double-inclusion guard. */
+# @INCLUDE_NEXT@ @NEXT_STDINT_H@
+#endif
+
+#if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+#define _@GUARD_PREFIX@_STDINT_H
+
+/* <sys/types.h> defines some of the stdint.h types as well, on glibc,
+ IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
+ AIX 5.2 <sys/types.h> isn't needed and causes troubles.
+ MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
+ relies on the system <stdint.h> definitions, so include
+ <sys/types.h> after @NEXT_STDINT_H@. */
+#if @HAVE_SYS_TYPES_H@ && ! defined _AIX
+# include <sys/types.h>
+#endif
+
+/* Get LONG_MIN, LONG_MAX, ULONG_MAX. */
+#include <limits.h>
+
+#if @HAVE_INTTYPES_H@
+ /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
+ int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
+ <inttypes.h> also defines intptr_t and uintptr_t. */
+# include <inttypes.h>
+#elif @HAVE_SYS_INTTYPES_H@
+ /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
+ the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */
+# include <sys/inttypes.h>
+#endif
+
+#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
+ /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
+ int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is
+ included by <sys/types.h>. */
+# include <sys/bitypes.h>
+#endif
+
+#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+
+/* Minimum and maximum values for an integer type under the usual assumption.
+ Return an unspecified value if BITS == 0, adding a check to pacify
+ picky compilers. */
+
+#define _STDINT_MIN(signed, bits, zero) \
+ ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero))
+
+#define _STDINT_MAX(signed, bits, zero) \
+ ((signed) \
+ ? ~ _STDINT_MIN (signed, bits, zero) \
+ : /* The expression for the unsigned case. The subtraction of (signed) \
+ is a nop in the unsigned case and avoids "signed integer overflow" \
+ warnings in the signed case. */ \
+ ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
+
+#if !GNULIB_defined_stdint_types
+
+/* 7.18.1.1. Exact-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+ types have 8, 16, 32, optionally 64 bits. */
+
+#undef int8_t
+#undef uint8_t
+typedef signed char gl_int8_t;
+typedef unsigned char gl_uint8_t;
+#define int8_t gl_int8_t
+#define uint8_t gl_uint8_t
+
+#undef int16_t
+#undef uint16_t
+typedef short int gl_int16_t;
+typedef unsigned short int gl_uint16_t;
+#define int16_t gl_int16_t
+#define uint16_t gl_uint16_t
+
+#undef int32_t
+#undef uint32_t
+typedef int gl_int32_t;
+typedef unsigned int gl_uint32_t;
+#define int32_t gl_int32_t
+#define uint32_t gl_uint32_t
+
+/* If the system defines INT64_MAX, assume int64_t works. That way,
+ if the underlying platform defines int64_t to be a 64-bit long long
+ int, the code below won't mistakenly define it to be a 64-bit long
+ int, which would mess up C++ name mangling. We must use #ifdef
+ rather than #if, to avoid an error with HP-UX 10.20 cc. */
+
+#ifdef INT64_MAX
+# define GL_INT64_T
+#else
+/* Do not undefine int64_t if gnulib is not being used with 64-bit
+ types, since otherwise it breaks platforms like Tandem/NSK. */
+# if LONG_MAX >> 31 >> 31 == 1
+# undef int64_t
+typedef long int gl_int64_t;
+# define int64_t gl_int64_t
+# define GL_INT64_T
+# elif defined _MSC_VER
+# undef int64_t
+typedef __int64 gl_int64_t;
+# define int64_t gl_int64_t
+# define GL_INT64_T
+# elif @HAVE_LONG_LONG_INT@
+# undef int64_t
+typedef long long int gl_int64_t;
+# define int64_t gl_int64_t
+# define GL_INT64_T
+# endif
+#endif
+
+#ifdef UINT64_MAX
+# define GL_UINT64_T
+#else
+# if ULONG_MAX >> 31 >> 31 >> 1 == 1
+# undef uint64_t
+typedef unsigned long int gl_uint64_t;
+# define uint64_t gl_uint64_t
+# define GL_UINT64_T
+# elif defined _MSC_VER
+# undef uint64_t
+typedef unsigned __int64 gl_uint64_t;
+# define uint64_t gl_uint64_t
+# define GL_UINT64_T
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@
+# undef uint64_t
+typedef unsigned long long int gl_uint64_t;
+# define uint64_t gl_uint64_t
+# define GL_UINT64_T
+# endif
+#endif
+
+/* Avoid collision with Solaris 2.5.1 <pthread.h> etc. */
+#define _UINT8_T
+#define _UINT32_T
+#define _UINT64_T
+
+
+/* 7.18.1.2. Minimum-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+ types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
+ are the same as the corresponding N_t types. */
+
+#undef int_least8_t
+#undef uint_least8_t
+#undef int_least16_t
+#undef uint_least16_t
+#undef int_least32_t
+#undef uint_least32_t
+#undef int_least64_t
+#undef uint_least64_t
+#define int_least8_t int8_t
+#define uint_least8_t uint8_t
+#define int_least16_t int16_t
+#define uint_least16_t uint16_t
+#define int_least32_t int32_t
+#define uint_least32_t uint32_t
+#ifdef GL_INT64_T
+# define int_least64_t int64_t
+#endif
+#ifdef GL_UINT64_T
+# define uint_least64_t uint64_t
+#endif
+
+/* 7.18.1.3. Fastest minimum-width integer types */
+
+/* Note: Other <stdint.h> substitutes may define these types differently.
+ It is not recommended to use these types in public header files. */
+
+/* Here we assume a standard architecture where the hardware integer
+ types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
+ are taken from the same list of types. Assume that 'long int'
+ is fast enough for all narrower integers. */
+
+#undef int_fast8_t
+#undef uint_fast8_t
+#undef int_fast16_t
+#undef uint_fast16_t
+#undef int_fast32_t
+#undef uint_fast32_t
+#undef int_fast64_t
+#undef uint_fast64_t
+typedef long int gl_int_fast8_t;
+typedef unsigned long int gl_uint_fast8_t;
+typedef long int gl_int_fast16_t;
+typedef unsigned long int gl_uint_fast16_t;
+typedef long int gl_int_fast32_t;
+typedef unsigned long int gl_uint_fast32_t;
+#define int_fast8_t gl_int_fast8_t
+#define uint_fast8_t gl_uint_fast8_t
+#define int_fast16_t gl_int_fast16_t
+#define uint_fast16_t gl_uint_fast16_t
+#define int_fast32_t gl_int_fast32_t
+#define uint_fast32_t gl_uint_fast32_t
+#ifdef GL_INT64_T
+# define int_fast64_t int64_t
+#endif
+#ifdef GL_UINT64_T
+# define uint_fast64_t uint64_t
+#endif
+
+/* 7.18.1.4. Integer types capable of holding object pointers */
+
+#undef intptr_t
+#undef uintptr_t
+typedef long int gl_intptr_t;
+typedef unsigned long int gl_uintptr_t;
+#define intptr_t gl_intptr_t
+#define uintptr_t gl_uintptr_t
+
+/* 7.18.1.5. Greatest-width integer types */
+
+/* Note: These types are compiler dependent. It may be unwise to use them in
+ public header files. */
+
+/* If the system defines INTMAX_MAX, assume that intmax_t works, and
+ similarly for UINTMAX_MAX and uintmax_t. This avoids problems with
+ assuming one type where another is used by the system. */
+
+#ifndef INTMAX_MAX
+# undef INTMAX_C
+# undef intmax_t
+# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+typedef long long int gl_intmax_t;
+# define intmax_t gl_intmax_t
+# elif defined GL_INT64_T
+# define intmax_t int64_t
+# else
+typedef long int gl_intmax_t;
+# define intmax_t gl_intmax_t
+# endif
+#endif
+
+#ifndef UINTMAX_MAX
+# undef UINTMAX_C
+# undef uintmax_t
+# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+typedef unsigned long long int gl_uintmax_t;
+# define uintmax_t gl_uintmax_t
+# elif defined GL_UINT64_T
+# define uintmax_t uint64_t
+# else
+typedef unsigned long int gl_uintmax_t;
+# define uintmax_t gl_uintmax_t
+# endif
+#endif
+
+/* Verify that intmax_t and uintmax_t have the same size. Too much code
+ breaks if this is not the case. If this check fails, the reason is likely
+ to be found in the autoconf macros. */
+typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
+ ? 1 : -1];
+
+#define GNULIB_defined_stdint_types 1
+#endif /* !GNULIB_defined_stdint_types */
+
+/* 7.18.2. Limits of specified-width integer types */
+
+#if ! defined __cplusplus || defined __STDC_LIMIT_MACROS
+
+/* 7.18.2.1. Limits of exact-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+ types have 8, 16, 32, optionally 64 bits. */
+
+#undef INT8_MIN
+#undef INT8_MAX
+#undef UINT8_MAX
+#define INT8_MIN (~ INT8_MAX)
+#define INT8_MAX 127
+#define UINT8_MAX 255
+
+#undef INT16_MIN
+#undef INT16_MAX
+#undef UINT16_MAX
+#define INT16_MIN (~ INT16_MAX)
+#define INT16_MAX 32767
+#define UINT16_MAX 65535
+
+#undef INT32_MIN
+#undef INT32_MAX
+#undef UINT32_MAX
+#define INT32_MIN (~ INT32_MAX)
+#define INT32_MAX 2147483647
+#define UINT32_MAX 4294967295U
+
+#if defined GL_INT64_T && ! defined INT64_MAX
+/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0
+ evaluates the latter incorrectly in preprocessor expressions. */
+# define INT64_MIN (- INTMAX_C (1) << 63)
+# define INT64_MAX INTMAX_C (9223372036854775807)
+#endif
+
+#if defined GL_UINT64_T && ! defined UINT64_MAX
+# define UINT64_MAX UINTMAX_C (18446744073709551615)
+#endif
+
+/* 7.18.2.2. Limits of minimum-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+ types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
+ are the same as the corresponding N_t types. */
+
+#undef INT_LEAST8_MIN
+#undef INT_LEAST8_MAX
+#undef UINT_LEAST8_MAX
+#define INT_LEAST8_MIN INT8_MIN
+#define INT_LEAST8_MAX INT8_MAX
+#define UINT_LEAST8_MAX UINT8_MAX
+
+#undef INT_LEAST16_MIN
+#undef INT_LEAST16_MAX
+#undef UINT_LEAST16_MAX
+#define INT_LEAST16_MIN INT16_MIN
+#define INT_LEAST16_MAX INT16_MAX
+#define UINT_LEAST16_MAX UINT16_MAX
+
+#undef INT_LEAST32_MIN
+#undef INT_LEAST32_MAX
+#undef UINT_LEAST32_MAX
+#define INT_LEAST32_MIN INT32_MIN
+#define INT_LEAST32_MAX INT32_MAX
+#define UINT_LEAST32_MAX UINT32_MAX
+
+#undef INT_LEAST64_MIN
+#undef INT_LEAST64_MAX
+#ifdef GL_INT64_T
+# define INT_LEAST64_MIN INT64_MIN
+# define INT_LEAST64_MAX INT64_MAX
+#endif
+
+#undef UINT_LEAST64_MAX
+#ifdef GL_UINT64_T
+# define UINT_LEAST64_MAX UINT64_MAX
+#endif
+
+/* 7.18.2.3. Limits of fastest minimum-width integer types */
+
+/* Here we assume a standard architecture where the hardware integer
+ types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
+ are taken from the same list of types. */
+
+#undef INT_FAST8_MIN
+#undef INT_FAST8_MAX
+#undef UINT_FAST8_MAX
+#define INT_FAST8_MIN LONG_MIN
+#define INT_FAST8_MAX LONG_MAX
+#define UINT_FAST8_MAX ULONG_MAX
+
+#undef INT_FAST16_MIN
+#undef INT_FAST16_MAX
+#undef UINT_FAST16_MAX
+#define INT_FAST16_MIN LONG_MIN
+#define INT_FAST16_MAX LONG_MAX
+#define UINT_FAST16_MAX ULONG_MAX
+
+#undef INT_FAST32_MIN
+#undef INT_FAST32_MAX
+#undef UINT_FAST32_MAX
+#define INT_FAST32_MIN LONG_MIN
+#define INT_FAST32_MAX LONG_MAX
+#define UINT_FAST32_MAX ULONG_MAX
+
+#undef INT_FAST64_MIN
+#undef INT_FAST64_MAX
+#ifdef GL_INT64_T
+# define INT_FAST64_MIN INT64_MIN
+# define INT_FAST64_MAX INT64_MAX
+#endif
+
+#undef UINT_FAST64_MAX
+#ifdef GL_UINT64_T
+# define UINT_FAST64_MAX UINT64_MAX
+#endif
+
+/* 7.18.2.4. Limits of integer types capable of holding object pointers */
+
+#undef INTPTR_MIN
+#undef INTPTR_MAX
+#undef UINTPTR_MAX
+#define INTPTR_MIN LONG_MIN
+#define INTPTR_MAX LONG_MAX
+#define UINTPTR_MAX ULONG_MAX
+
+/* 7.18.2.5. Limits of greatest-width integer types */
+
+#ifndef INTMAX_MAX
+# undef INTMAX_MIN
+# ifdef INT64_MAX
+# define INTMAX_MIN INT64_MIN
+# define INTMAX_MAX INT64_MAX
+# else
+# define INTMAX_MIN INT32_MIN
+# define INTMAX_MAX INT32_MAX
+# endif
+#endif
+
+#ifndef UINTMAX_MAX
+# ifdef UINT64_MAX
+# define UINTMAX_MAX UINT64_MAX
+# else
+# define UINTMAX_MAX UINT32_MAX
+# endif
+#endif
+
+/* 7.18.3. Limits of other integer types */
+
+/* ptrdiff_t limits */
+#undef PTRDIFF_MIN
+#undef PTRDIFF_MAX
+#if @APPLE_UNIVERSAL_BUILD@
+# ifdef _LP64
+# define PTRDIFF_MIN _STDINT_MIN (1, 64, 0l)
+# define PTRDIFF_MAX _STDINT_MAX (1, 64, 0l)
+# else
+# define PTRDIFF_MIN _STDINT_MIN (1, 32, 0)
+# define PTRDIFF_MAX _STDINT_MAX (1, 32, 0)
+# endif
+#else
+# define PTRDIFF_MIN \
+ _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
+# define PTRDIFF_MAX \
+ _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
+#endif
+
+/* sig_atomic_t limits */
+#undef SIG_ATOMIC_MIN
+#undef SIG_ATOMIC_MAX
+#define SIG_ATOMIC_MIN \
+ _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
+ 0@SIG_ATOMIC_T_SUFFIX@)
+#define SIG_ATOMIC_MAX \
+ _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
+ 0@SIG_ATOMIC_T_SUFFIX@)
+
+
+/* size_t limit */
+#undef SIZE_MAX
+#if @APPLE_UNIVERSAL_BUILD@
+# ifdef _LP64
+# define SIZE_MAX _STDINT_MAX (0, 64, 0ul)
+# else
+# define SIZE_MAX _STDINT_MAX (0, 32, 0ul)
+# endif
+#else
+# define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
+#endif
+
+/* wchar_t limits */
+/* Get WCHAR_MIN, WCHAR_MAX.
+ This include is not on the top, above, because on OSF/1 4.0 we have a
+ sequence of nested includes
+ <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
+ <stdint.h> and assumes its types are already defined. */
+#if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX)
+ /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+# include <stddef.h>
+# include <stdio.h>
+# include <time.h>
+# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
+# include <wchar.h>
+# undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
+#endif
+#undef WCHAR_MIN
+#undef WCHAR_MAX
+#define WCHAR_MIN \
+ _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
+#define WCHAR_MAX \
+ _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
+
+/* wint_t limits */
+#undef WINT_MIN
+#undef WINT_MAX
+#define WINT_MIN \
+ _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
+#define WINT_MAX \
+ _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
+
+#endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */
+
+/* 7.18.4. Macros for integer constants */
+
+#if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS
+
+/* 7.18.4.1. Macros for minimum-width integer constants */
+/* According to ISO C 99 Technical Corrigendum 1 */
+
+/* Here we assume a standard architecture where the hardware integer
+ types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */
+
+#undef INT8_C
+#undef UINT8_C
+#define INT8_C(x) x
+#define UINT8_C(x) x
+
+#undef INT16_C
+#undef UINT16_C
+#define INT16_C(x) x
+#define UINT16_C(x) x
+
+#undef INT32_C
+#undef UINT32_C
+#define INT32_C(x) x
+#define UINT32_C(x) x ## U
+
+#undef INT64_C
+#undef UINT64_C
+#if LONG_MAX >> 31 >> 31 == 1
+# define INT64_C(x) x##L
+#elif defined _MSC_VER
+# define INT64_C(x) x##i64
+#elif @HAVE_LONG_LONG_INT@
+# define INT64_C(x) x##LL
+#endif
+#if ULONG_MAX >> 31 >> 31 >> 1 == 1
+# define UINT64_C(x) x##UL
+#elif defined _MSC_VER
+# define UINT64_C(x) x##ui64
+#elif @HAVE_UNSIGNED_LONG_LONG_INT@
+# define UINT64_C(x) x##ULL
+#endif
+
+/* 7.18.4.2. Macros for greatest-width integer constants */
+
+#ifndef INTMAX_C
+# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# define INTMAX_C(x) x##LL
+# elif defined GL_INT64_T
+# define INTMAX_C(x) INT64_C(x)
+# else
+# define INTMAX_C(x) x##L
+# endif
+#endif
+
+#ifndef UINTMAX_C
+# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# define UINTMAX_C(x) x##ULL
+# elif defined GL_UINT64_T
+# define UINTMAX_C(x) UINT64_C(x)
+# else
+# define UINTMAX_C(x) x##UL
+# endif
+#endif
+
+#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */
+
+#endif /* _@GUARD_PREFIX@_STDINT_H */
+#endif /* !defined _@GUARD_PREFIX@_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
--- /dev/null
+/* A GNU-like <stdio.h>.
+
+ Copyright (C) 2004, 2007-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined __need_FILE || defined __need___FILE || defined _GL_ALREADY_INCLUDING_STDIO_H
+/* Special invocation convention:
+ - Inside glibc header files.
+ - On OSF/1 5.1 we have a sequence of nested includes
+ <stdio.h> -> <getopt.h> -> <ctype.h> -> <sys/localedef.h> ->
+ <sys/lc_core.h> -> <nl_types.h> -> <mesg.h> -> <stdio.h>.
+ In this situation, the functions are not yet declared, therefore we cannot
+ provide the C++ aliases. */
+
+#@INCLUDE_NEXT@ @NEXT_STDIO_H@
+
+#else
+/* Normal invocation convention. */
+
+#ifndef _@GUARD_PREFIX@_STDIO_H
+
+#define _GL_ALREADY_INCLUDING_STDIO_H
+
+/* The include_next requires a split double-inclusion guard. */
+#@INCLUDE_NEXT@ @NEXT_STDIO_H@
+
+#undef _GL_ALREADY_INCLUDING_STDIO_H
+
+#ifndef _@GUARD_PREFIX@_STDIO_H
+#define _@GUARD_PREFIX@_STDIO_H
+
+/* Get va_list. Needed on many systems, including glibc 2.8. */
+#include <stdarg.h>
+
+#include <stddef.h>
+
+/* Get off_t and ssize_t. Needed on many systems, including glibc 2.8
+ and eglibc 2.11.2. */
+#include <sys/types.h>
+
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+ The __-protected variants of the attributes 'format' and 'printf' are
+ accepted by gcc versions 2.6.4 (effectively 2.7) and later.
+ We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because
+ gnulib and libintl do '#define printf __printf__' when they override
+ the 'printf' function. */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
+#else
+# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
+#endif
+
+/* _GL_ATTRIBUTE_FORMAT_PRINTF
+ indicates to GCC that the function takes a format string and arguments,
+ where the format string directives are the ones standardized by ISO C99
+ and POSIX. */
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
+# define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \
+ _GL_ATTRIBUTE_FORMAT ((__gnu_printf__, formatstring_parameter, first_argument))
+#else
+# define _GL_ATTRIBUTE_FORMAT_PRINTF(formatstring_parameter, first_argument) \
+ _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
+#endif
+
+/* _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM is like _GL_ATTRIBUTE_FORMAT_PRINTF,
+ except that it indicates to GCC that the supported format string directives
+ are the ones of the system printf(), rather than the ones standardized by
+ ISO C99 and POSIX. */
+#define _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM(formatstring_parameter, first_argument) \
+ _GL_ATTRIBUTE_FORMAT ((__printf__, formatstring_parameter, first_argument))
+
+/* _GL_ATTRIBUTE_FORMAT_SCANF
+ indicates to GCC that the function takes a format string and arguments,
+ where the format string directives are the ones standardized by ISO C99
+ and POSIX. */
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
+# define _GL_ATTRIBUTE_FORMAT_SCANF(formatstring_parameter, first_argument) \
+ _GL_ATTRIBUTE_FORMAT ((__gnu_scanf__, formatstring_parameter, first_argument))
+#else
+# define _GL_ATTRIBUTE_FORMAT_SCANF(formatstring_parameter, first_argument) \
+ _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument))
+#endif
+
+/* _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM is like _GL_ATTRIBUTE_FORMAT_SCANF,
+ except that it indicates to GCC that the supported format string directives
+ are the ones of the system scanf(), rather than the ones standardized by
+ ISO C99 and POSIX. */
+#define _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM(formatstring_parameter, first_argument) \
+ _GL_ATTRIBUTE_FORMAT ((__scanf__, formatstring_parameter, first_argument))
+
+/* Solaris 10 declares renameat in <unistd.h>, not in <stdio.h>. */
+/* But in any case avoid namespace pollution on glibc systems. */
+#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __sun \
+ && ! defined __GLIBC__
+# include <unistd.h>
+#endif
+
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+/* Macros for stringification. */
+#define _GL_STDIO_STRINGIZE(token) #token
+#define _GL_STDIO_MACROEXPAND_AND_STRINGIZE(token) _GL_STDIO_STRINGIZE(token)
+
+
+#if @GNULIB_DPRINTF@
+# if @REPLACE_DPRINTF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define dprintf rpl_dprintf
+# endif
+_GL_FUNCDECL_RPL (dprintf, int, (int fd, const char *format, ...)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (dprintf, int, (int fd, const char *format, ...));
+# else
+# if !@HAVE_DPRINTF@
+_GL_FUNCDECL_SYS (dprintf, int, (int fd, const char *format, ...)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (dprintf, int, (int fd, const char *format, ...));
+# endif
+_GL_CXXALIASWARN (dprintf);
+#elif defined GNULIB_POSIXCHECK
+# undef dprintf
+# if HAVE_RAW_DECL_DPRINTF
+_GL_WARN_ON_USE (dprintf, "dprintf is unportable - "
+ "use gnulib module dprintf for portability");
+# endif
+#endif
+
+#if @GNULIB_FCLOSE@
+/* Close STREAM and its underlying file descriptor. */
+# if @REPLACE_FCLOSE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define fclose rpl_fclose
+# endif
+_GL_FUNCDECL_RPL (fclose, int, (FILE *stream) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (fclose, int, (FILE *stream));
+# else
+_GL_CXXALIAS_SYS (fclose, int, (FILE *stream));
+# endif
+_GL_CXXALIASWARN (fclose);
+#elif defined GNULIB_POSIXCHECK
+# undef fclose
+/* Assume fclose is always declared. */
+_GL_WARN_ON_USE (fclose, "fclose is not always POSIX compliant - "
+ "use gnulib module fclose for portable POSIX compliance");
+#endif
+
+#if @GNULIB_FDOPEN@
+# if @REPLACE_FDOPEN@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fdopen
+# define fdopen rpl_fdopen
+# endif
+_GL_FUNCDECL_RPL (fdopen, FILE *, (int fd, const char *mode)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode));
+# else
+_GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode));
+# endif
+_GL_CXXALIASWARN (fdopen);
+#elif defined GNULIB_POSIXCHECK
+# undef fdopen
+/* Assume fdopen is always declared. */
+_GL_WARN_ON_USE (fdopen, "fdopen on Win32 platforms is not POSIX compatible - "
+ "use gnulib module fdopen for portability");
+#endif
+
+#if @GNULIB_FFLUSH@
+/* Flush all pending data on STREAM according to POSIX rules. Both
+ output and seekable input streams are supported.
+ Note! LOSS OF DATA can occur if fflush is applied on an input stream
+ that is _not_seekable_ or on an update stream that is _not_seekable_
+ and in which the most recent operation was input. Seekability can
+ be tested with lseek(fileno(fp),0,SEEK_CUR). */
+# if @REPLACE_FFLUSH@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define fflush rpl_fflush
+# endif
+_GL_FUNCDECL_RPL (fflush, int, (FILE *gl_stream));
+_GL_CXXALIAS_RPL (fflush, int, (FILE *gl_stream));
+# else
+_GL_CXXALIAS_SYS (fflush, int, (FILE *gl_stream));
+# endif
+_GL_CXXALIASWARN (fflush);
+#elif defined GNULIB_POSIXCHECK
+# undef fflush
+/* Assume fflush is always declared. */
+_GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - "
+ "use gnulib module fflush for portable POSIX compliance");
+#endif
+
+#if @GNULIB_FGETC@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fgetc
+# define fgetc rpl_fgetc
+# endif
+_GL_FUNCDECL_RPL (fgetc, int, (FILE *stream) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (fgetc, int, (FILE *stream));
+# else
+_GL_CXXALIAS_SYS (fgetc, int, (FILE *stream));
+# endif
+_GL_CXXALIASWARN (fgetc);
+#endif
+
+#if @GNULIB_FGETS@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fgets
+# define fgets rpl_fgets
+# endif
+_GL_FUNCDECL_RPL (fgets, char *, (char *s, int n, FILE *stream)
+ _GL_ARG_NONNULL ((1, 3)));
+_GL_CXXALIAS_RPL (fgets, char *, (char *s, int n, FILE *stream));
+# else
+_GL_CXXALIAS_SYS (fgets, char *, (char *s, int n, FILE *stream));
+# endif
+_GL_CXXALIASWARN (fgets);
+#endif
+
+#if @GNULIB_FOPEN@
+# if @REPLACE_FOPEN@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fopen
+# define fopen rpl_fopen
+# endif
+_GL_FUNCDECL_RPL (fopen, FILE *, (const char *filename, const char *mode)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (fopen, FILE *, (const char *filename, const char *mode));
+# else
+_GL_CXXALIAS_SYS (fopen, FILE *, (const char *filename, const char *mode));
+# endif
+_GL_CXXALIASWARN (fopen);
+#elif defined GNULIB_POSIXCHECK
+# undef fopen
+/* Assume fopen is always declared. */
+_GL_WARN_ON_USE (fopen, "fopen on Win32 platforms is not POSIX compatible - "
+ "use gnulib module fopen for portability");
+#endif
+
+#if @GNULIB_FPRINTF_POSIX@ || @GNULIB_FPRINTF@
+# if (@GNULIB_FPRINTF_POSIX@ && @REPLACE_FPRINTF@) \
+ || (@GNULIB_FPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@))
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define fprintf rpl_fprintf
+# endif
+# define GNULIB_overrides_fprintf 1
+# if @GNULIB_FPRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@
+_GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+ _GL_ARG_NONNULL ((1, 2)));
+# else
+_GL_FUNCDECL_RPL (fprintf, int, (FILE *fp, const char *format, ...)
+ _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 3)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_RPL (fprintf, int, (FILE *fp, const char *format, ...));
+# else
+_GL_CXXALIAS_SYS (fprintf, int, (FILE *fp, const char *format, ...));
+# endif
+_GL_CXXALIASWARN (fprintf);
+#endif
+#if !@GNULIB_FPRINTF_POSIX@ && defined GNULIB_POSIXCHECK
+# if !GNULIB_overrides_fprintf
+# undef fprintf
+# endif
+/* Assume fprintf is always declared. */
+_GL_WARN_ON_USE (fprintf, "fprintf is not always POSIX compliant - "
+ "use gnulib module fprintf-posix for portable "
+ "POSIX compliance");
+#endif
+
+#if @GNULIB_FPURGE@
+/* Discard all pending buffered I/O data on STREAM.
+ STREAM must not be wide-character oriented.
+ When discarding pending output, the file position is set back to where it
+ was before the write calls. When discarding pending input, the file
+ position is advanced to match the end of the previously read input.
+ Return 0 if successful. Upon error, return -1 and set errno. */
+# if @REPLACE_FPURGE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define fpurge rpl_fpurge
+# endif
+_GL_FUNCDECL_RPL (fpurge, int, (FILE *gl_stream) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (fpurge, int, (FILE *gl_stream));
+# else
+# if !@HAVE_DECL_FPURGE@
+_GL_FUNCDECL_SYS (fpurge, int, (FILE *gl_stream) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (fpurge, int, (FILE *gl_stream));
+# endif
+_GL_CXXALIASWARN (fpurge);
+#elif defined GNULIB_POSIXCHECK
+# undef fpurge
+# if HAVE_RAW_DECL_FPURGE
+_GL_WARN_ON_USE (fpurge, "fpurge is not always present - "
+ "use gnulib module fpurge for portability");
+# endif
+#endif
+
+#if @GNULIB_FPUTC@
+# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fputc
+# define fputc rpl_fputc
+# endif
+_GL_FUNCDECL_RPL (fputc, int, (int c, FILE *stream) _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (fputc, int, (int c, FILE *stream));
+# else
+_GL_CXXALIAS_SYS (fputc, int, (int c, FILE *stream));
+# endif
+_GL_CXXALIASWARN (fputc);
+#endif
+
+#if @GNULIB_FPUTS@
+# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fputs
+# define fputs rpl_fputs
+# endif
+_GL_FUNCDECL_RPL (fputs, int, (const char *string, FILE *stream)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (fputs, int, (const char *string, FILE *stream));
+# else
+_GL_CXXALIAS_SYS (fputs, int, (const char *string, FILE *stream));
+# endif
+_GL_CXXALIASWARN (fputs);
+#endif
+
+#if @GNULIB_FREAD@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fread
+# define fread rpl_fread
+# endif
+_GL_FUNCDECL_RPL (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream)
+ _GL_ARG_NONNULL ((4)));
+_GL_CXXALIAS_RPL (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream));
+# else
+_GL_CXXALIAS_SYS (fread, size_t, (void *ptr, size_t s, size_t n, FILE *stream));
+# endif
+_GL_CXXALIASWARN (fread);
+#endif
+
+#if @GNULIB_FREOPEN@
+# if @REPLACE_FREOPEN@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef freopen
+# define freopen rpl_freopen
+# endif
+_GL_FUNCDECL_RPL (freopen, FILE *,
+ (const char *filename, const char *mode, FILE *stream)
+ _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_RPL (freopen, FILE *,
+ (const char *filename, const char *mode, FILE *stream));
+# else
+_GL_CXXALIAS_SYS (freopen, FILE *,
+ (const char *filename, const char *mode, FILE *stream));
+# endif
+_GL_CXXALIASWARN (freopen);
+#elif defined GNULIB_POSIXCHECK
+# undef freopen
+/* Assume freopen is always declared. */
+_GL_WARN_ON_USE (freopen,
+ "freopen on Win32 platforms is not POSIX compatible - "
+ "use gnulib module freopen for portability");
+#endif
+
+#if @GNULIB_FSCANF@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fscanf
+# define fscanf rpl_fscanf
+# endif
+_GL_FUNCDECL_RPL (fscanf, int, (FILE *stream, const char *format, ...)
+ _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 3)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (fscanf, int, (FILE *stream, const char *format, ...));
+# else
+_GL_CXXALIAS_SYS (fscanf, int, (FILE *stream, const char *format, ...));
+# endif
+_GL_CXXALIASWARN (fscanf);
+#endif
+
+
+/* Set up the following warnings, based on which modules are in use.
+ GNU Coding Standards discourage the use of fseek, since it imposes
+ an arbitrary limitation on some 32-bit hosts. Remember that the
+ fseek module depends on the fseeko module, so we only have three
+ cases to consider:
+
+ 1. The developer is not using either module. Issue a warning under
+ GNULIB_POSIXCHECK for both functions, to remind them that both
+ functions have bugs on some systems. _GL_NO_LARGE_FILES has no
+ impact on this warning.
+
+ 2. The developer is using both modules. They may be unaware of the
+ arbitrary limitations of fseek, so issue a warning under
+ GNULIB_POSIXCHECK. On the other hand, they may be using both
+ modules intentionally, so the developer can define
+ _GL_NO_LARGE_FILES in the compilation units where the use of fseek
+ is safe, to silence the warning.
+
+ 3. The developer is using the fseeko module, but not fseek. Gnulib
+ guarantees that fseek will still work around platform bugs in that
+ case, but we presume that the developer is aware of the pitfalls of
+ fseek and was trying to avoid it, so issue a warning even when
+ GNULIB_POSIXCHECK is undefined. Again, _GL_NO_LARGE_FILES can be
+ defined to silence the warning in particular compilation units.
+ In C++ compilations with GNULIB_NAMESPACE, in order to avoid that
+ fseek gets defined as a macro, it is recommended that the developer
+ uses the fseek module, even if he is not calling the fseek function.
+
+ Most gnulib clients that perform stream operations should fall into
+ category 3. */
+
+#if @GNULIB_FSEEK@
+# if defined GNULIB_POSIXCHECK && !defined _GL_NO_LARGE_FILES
+# define _GL_FSEEK_WARN /* Category 2, above. */
+# undef fseek
+# endif
+# if @REPLACE_FSEEK@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fseek
+# define fseek rpl_fseek
+# endif
+_GL_FUNCDECL_RPL (fseek, int, (FILE *fp, long offset, int whence)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (fseek, int, (FILE *fp, long offset, int whence));
+# else
+_GL_CXXALIAS_SYS (fseek, int, (FILE *fp, long offset, int whence));
+# endif
+_GL_CXXALIASWARN (fseek);
+#endif
+
+#if @GNULIB_FSEEKO@
+# if !@GNULIB_FSEEK@ && !defined _GL_NO_LARGE_FILES
+# define _GL_FSEEK_WARN /* Category 3, above. */
+# undef fseek
+# endif
+# if @REPLACE_FSEEKO@
+/* Provide an fseeko function that is aware of a preceding fflush(), and which
+ detects pipes. */
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fseeko
+# define fseeko rpl_fseeko
+# endif
+_GL_FUNCDECL_RPL (fseeko, int, (FILE *fp, off_t offset, int whence)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (fseeko, int, (FILE *fp, off_t offset, int whence));
+# else
+# if ! @HAVE_DECL_FSEEKO@
+_GL_FUNCDECL_SYS (fseeko, int, (FILE *fp, off_t offset, int whence)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (fseeko, int, (FILE *fp, off_t offset, int whence));
+# endif
+_GL_CXXALIASWARN (fseeko);
+#elif defined GNULIB_POSIXCHECK
+# define _GL_FSEEK_WARN /* Category 1, above. */
+# undef fseek
+# undef fseeko
+# if HAVE_RAW_DECL_FSEEKO
+_GL_WARN_ON_USE (fseeko, "fseeko is unportable - "
+ "use gnulib module fseeko for portability");
+# endif
+#endif
+
+#ifdef _GL_FSEEK_WARN
+# undef _GL_FSEEK_WARN
+/* Here, either fseek is undefined (but C89 guarantees that it is
+ declared), or it is defined as rpl_fseek (declared above). */
+_GL_WARN_ON_USE (fseek, "fseek cannot handle files larger than 4 GB "
+ "on 32-bit platforms - "
+ "use fseeko function for handling of large files");
+#endif
+
+
+/* ftell, ftello. See the comments on fseek/fseeko. */
+
+#if @GNULIB_FTELL@
+# if defined GNULIB_POSIXCHECK && !defined _GL_NO_LARGE_FILES
+# define _GL_FTELL_WARN /* Category 2, above. */
+# undef ftell
+# endif
+# if @REPLACE_FTELL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ftell
+# define ftell rpl_ftell
+# endif
+_GL_FUNCDECL_RPL (ftell, long, (FILE *fp) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (ftell, long, (FILE *fp));
+# else
+_GL_CXXALIAS_SYS (ftell, long, (FILE *fp));
+# endif
+_GL_CXXALIASWARN (ftell);
+#endif
+
+#if @GNULIB_FTELLO@
+# if !@GNULIB_FTELL@ && !defined _GL_NO_LARGE_FILES
+# define _GL_FTELL_WARN /* Category 3, above. */
+# undef ftell
+# endif
+# if @REPLACE_FTELLO@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ftello
+# define ftello rpl_ftello
+# endif
+_GL_FUNCDECL_RPL (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (ftello, off_t, (FILE *fp));
+# else
+# if ! @HAVE_DECL_FTELLO@
+_GL_FUNCDECL_SYS (ftello, off_t, (FILE *fp) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (ftello, off_t, (FILE *fp));
+# endif
+_GL_CXXALIASWARN (ftello);
+#elif defined GNULIB_POSIXCHECK
+# define _GL_FTELL_WARN /* Category 1, above. */
+# undef ftell
+# undef ftello
+# if HAVE_RAW_DECL_FTELLO
+_GL_WARN_ON_USE (ftello, "ftello is unportable - "
+ "use gnulib module ftello for portability");
+# endif
+#endif
+
+#ifdef _GL_FTELL_WARN
+# undef _GL_FTELL_WARN
+/* Here, either ftell is undefined (but C89 guarantees that it is
+ declared), or it is defined as rpl_ftell (declared above). */
+_GL_WARN_ON_USE (ftell, "ftell cannot handle files larger than 4 GB "
+ "on 32-bit platforms - "
+ "use ftello function for handling of large files");
+#endif
+
+
+#if @GNULIB_FWRITE@
+# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fwrite
+# define fwrite rpl_fwrite
+# endif
+_GL_FUNCDECL_RPL (fwrite, size_t,
+ (const void *ptr, size_t s, size_t n, FILE *stream)
+ _GL_ARG_NONNULL ((1, 4)));
+_GL_CXXALIAS_RPL (fwrite, size_t,
+ (const void *ptr, size_t s, size_t n, FILE *stream));
+# else
+_GL_CXXALIAS_SYS (fwrite, size_t,
+ (const void *ptr, size_t s, size_t n, FILE *stream));
+
+/* Work around glibc bug 11959
+ <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>,
+ which sometimes causes an unwanted diagnostic for fwrite calls.
+ This affects only function declaration attributes, so it's not
+ needed for C++. */
+# if !defined __cplusplus && 0 < __USE_FORTIFY_LEVEL
+static inline size_t _GL_ARG_NONNULL ((1, 4))
+rpl_fwrite (const void *ptr, size_t s, size_t n, FILE *stream)
+{
+ size_t r = fwrite (ptr, s, n, stream);
+ (void) r;
+ return r;
+}
+# undef fwrite
+# define fwrite rpl_fwrite
+# endif
+# endif
+_GL_CXXALIASWARN (fwrite);
+#endif
+
+#if @GNULIB_GETC@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef getc
+# define getc rpl_fgetc
+# endif
+_GL_FUNCDECL_RPL (fgetc, int, (FILE *stream) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL_1 (getc, rpl_fgetc, int, (FILE *stream));
+# else
+_GL_CXXALIAS_SYS (getc, int, (FILE *stream));
+# endif
+_GL_CXXALIASWARN (getc);
+#endif
+
+#if @GNULIB_GETCHAR@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef getchar
+# define getchar rpl_getchar
+# endif
+_GL_FUNCDECL_RPL (getchar, int, (void));
+_GL_CXXALIAS_RPL (getchar, int, (void));
+# else
+_GL_CXXALIAS_SYS (getchar, int, (void));
+# endif
+_GL_CXXALIASWARN (getchar);
+#endif
+
+#if @GNULIB_GETDELIM@
+/* Read input, up to (and including) the next occurrence of DELIMITER, from
+ STREAM, store it in *LINEPTR (and NUL-terminate it).
+ *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE
+ bytes of space. It is realloc'd as necessary.
+ Return the number of bytes read and stored at *LINEPTR (not including the
+ NUL terminator), or -1 on error or EOF. */
+# if @REPLACE_GETDELIM@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef getdelim
+# define getdelim rpl_getdelim
+# endif
+_GL_FUNCDECL_RPL (getdelim, ssize_t,
+ (char **lineptr, size_t *linesize, int delimiter,
+ FILE *stream)
+ _GL_ARG_NONNULL ((1, 2, 4)));
+_GL_CXXALIAS_RPL (getdelim, ssize_t,
+ (char **lineptr, size_t *linesize, int delimiter,
+ FILE *stream));
+# else
+# if !@HAVE_DECL_GETDELIM@
+_GL_FUNCDECL_SYS (getdelim, ssize_t,
+ (char **lineptr, size_t *linesize, int delimiter,
+ FILE *stream)
+ _GL_ARG_NONNULL ((1, 2, 4)));
+# endif
+_GL_CXXALIAS_SYS (getdelim, ssize_t,
+ (char **lineptr, size_t *linesize, int delimiter,
+ FILE *stream));
+# endif
+_GL_CXXALIASWARN (getdelim);
+#elif defined GNULIB_POSIXCHECK
+# undef getdelim
+# if HAVE_RAW_DECL_GETDELIM
+_GL_WARN_ON_USE (getdelim, "getdelim is unportable - "
+ "use gnulib module getdelim for portability");
+# endif
+#endif
+
+#if @GNULIB_GETLINE@
+/* Read a line, up to (and including) the next newline, from STREAM, store it
+ in *LINEPTR (and NUL-terminate it).
+ *LINEPTR is a pointer returned from malloc (or NULL), pointing to *LINESIZE
+ bytes of space. It is realloc'd as necessary.
+ Return the number of bytes read and stored at *LINEPTR (not including the
+ NUL terminator), or -1 on error or EOF. */
+# if @REPLACE_GETLINE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef getline
+# define getline rpl_getline
+# endif
+_GL_FUNCDECL_RPL (getline, ssize_t,
+ (char **lineptr, size_t *linesize, FILE *stream)
+ _GL_ARG_NONNULL ((1, 2, 3)));
+_GL_CXXALIAS_RPL (getline, ssize_t,
+ (char **lineptr, size_t *linesize, FILE *stream));
+# else
+# if !@HAVE_DECL_GETLINE@
+_GL_FUNCDECL_SYS (getline, ssize_t,
+ (char **lineptr, size_t *linesize, FILE *stream)
+ _GL_ARG_NONNULL ((1, 2, 3)));
+# endif
+_GL_CXXALIAS_SYS (getline, ssize_t,
+ (char **lineptr, size_t *linesize, FILE *stream));
+# endif
+# if @HAVE_DECL_GETLINE@
+_GL_CXXALIASWARN (getline);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getline
+# if HAVE_RAW_DECL_GETLINE
+_GL_WARN_ON_USE (getline, "getline is unportable - "
+ "use gnulib module getline for portability");
+# endif
+#endif
+
+#if @GNULIB_GETS@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef gets
+# define gets rpl_gets
+# endif
+_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (gets, char *, (char *s));
+# else
+_GL_CXXALIAS_SYS (gets, char *, (char *s));
+# undef gets
+# endif
+_GL_CXXALIASWARN (gets);
+/* It is very rare that the developer ever has full control of stdin,
+ so any use of gets warrants an unconditional warning. Assume it is
+ always declared, since it is required by C89. */
+_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+#endif
+
+
+#if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@
+struct obstack;
+/* Grow an obstack with formatted output. Return the number of
+ bytes added to OBS. No trailing nul byte is added, and the
+ object should be closed with obstack_finish before use. Upon
+ memory allocation error, call obstack_alloc_failed_handler. Upon
+ other error, return -1. */
+# if @REPLACE_OBSTACK_PRINTF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define obstack_printf rpl_obstack_printf
+# endif
+_GL_FUNCDECL_RPL (obstack_printf, int,
+ (struct obstack *obs, const char *format, ...)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (obstack_printf, int,
+ (struct obstack *obs, const char *format, ...));
+# else
+# if !@HAVE_DECL_OBSTACK_PRINTF@
+_GL_FUNCDECL_SYS (obstack_printf, int,
+ (struct obstack *obs, const char *format, ...)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (obstack_printf, int,
+ (struct obstack *obs, const char *format, ...));
+# endif
+_GL_CXXALIASWARN (obstack_printf);
+# if @REPLACE_OBSTACK_PRINTF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define obstack_vprintf rpl_obstack_vprintf
+# endif
+_GL_FUNCDECL_RPL (obstack_vprintf, int,
+ (struct obstack *obs, const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (obstack_vprintf, int,
+ (struct obstack *obs, const char *format, va_list args));
+# else
+# if !@HAVE_DECL_OBSTACK_PRINTF@
+_GL_FUNCDECL_SYS (obstack_vprintf, int,
+ (struct obstack *obs, const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (obstack_vprintf, int,
+ (struct obstack *obs, const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (obstack_vprintf);
+#endif
+
+#if @GNULIB_PCLOSE@
+# if !@HAVE_PCLOSE@
+_GL_FUNCDECL_SYS (pclose, int, (FILE *stream) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (pclose, int, (FILE *stream));
+_GL_CXXALIASWARN (pclose);
+#elif defined GNULIB_POSIXCHECK
+# undef pclose
+# if HAVE_RAW_DECL_PCLOSE
+_GL_WARN_ON_USE (pclose, "popen is unportable - "
+ "use gnulib module pclose for more portability");
+# endif
+#endif
+
+#if @GNULIB_PERROR@
+/* Print a message to standard error, describing the value of ERRNO,
+ (if STRING is not NULL and not empty) prefixed with STRING and ": ",
+ and terminated with a newline. */
+# if @REPLACE_PERROR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define perror rpl_perror
+# endif
+_GL_FUNCDECL_RPL (perror, void, (const char *string));
+_GL_CXXALIAS_RPL (perror, void, (const char *string));
+# else
+_GL_CXXALIAS_SYS (perror, void, (const char *string));
+# endif
+_GL_CXXALIASWARN (perror);
+#elif defined GNULIB_POSIXCHECK
+# undef perror
+/* Assume perror is always declared. */
+_GL_WARN_ON_USE (perror, "perror is not always POSIX compliant - "
+ "use gnulib module perror for portability");
+#endif
+
+#if @GNULIB_POPEN@
+# if @REPLACE_POPEN@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef popen
+# define popen rpl_popen
+# endif
+_GL_FUNCDECL_RPL (popen, FILE *, (const char *cmd, const char *mode)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode));
+# else
+# if !@HAVE_POPEN@
+_GL_FUNCDECL_SYS (popen, FILE *, (const char *cmd, const char *mode)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode));
+# endif
+_GL_CXXALIASWARN (popen);
+#elif defined GNULIB_POSIXCHECK
+# undef popen
+# if HAVE_RAW_DECL_POPEN
+_GL_WARN_ON_USE (popen, "popen is buggy on some platforms - "
+ "use gnulib module popen or pipe for more portability");
+# endif
+#endif
+
+#if @GNULIB_PRINTF_POSIX@ || @GNULIB_PRINTF@
+# if (@GNULIB_PRINTF_POSIX@ && @REPLACE_PRINTF@) \
+ || (@GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@))
+# if defined __GNUC__
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+/* Don't break __attribute__((format(printf,M,N))). */
+# define printf __printf__
+# endif
+# if @GNULIB_PRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@
+_GL_FUNCDECL_RPL_1 (__printf__, int,
+ (const char *format, ...)
+ __asm__ (@ASM_SYMBOL_PREFIX@
+ _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf))
+ _GL_ATTRIBUTE_FORMAT_PRINTF (1, 2)
+ _GL_ARG_NONNULL ((1)));
+# else
+_GL_FUNCDECL_RPL_1 (__printf__, int,
+ (const char *format, ...)
+ __asm__ (@ASM_SYMBOL_PREFIX@
+ _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_printf))
+ _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (1, 2)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_RPL_1 (printf, __printf__, int, (const char *format, ...));
+# else
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define printf rpl_printf
+# endif
+_GL_FUNCDECL_RPL (printf, int,
+ (const char *format, ...)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (1, 2)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (printf, int, (const char *format, ...));
+# endif
+# define GNULIB_overrides_printf 1
+# else
+_GL_CXXALIAS_SYS (printf, int, (const char *format, ...));
+# endif
+_GL_CXXALIASWARN (printf);
+#endif
+#if !@GNULIB_PRINTF_POSIX@ && defined GNULIB_POSIXCHECK
+# if !GNULIB_overrides_printf
+# undef printf
+# endif
+/* Assume printf is always declared. */
+_GL_WARN_ON_USE (printf, "printf is not always POSIX compliant - "
+ "use gnulib module printf-posix for portable "
+ "POSIX compliance");
+#endif
+
+#if @GNULIB_PUTC@
+# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef putc
+# define putc rpl_fputc
+# endif
+_GL_FUNCDECL_RPL (fputc, int, (int c, FILE *stream) _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL_1 (putc, rpl_fputc, int, (int c, FILE *stream));
+# else
+_GL_CXXALIAS_SYS (putc, int, (int c, FILE *stream));
+# endif
+_GL_CXXALIASWARN (putc);
+#endif
+
+#if @GNULIB_PUTCHAR@
+# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef putchar
+# define putchar rpl_putchar
+# endif
+_GL_FUNCDECL_RPL (putchar, int, (int c));
+_GL_CXXALIAS_RPL (putchar, int, (int c));
+# else
+_GL_CXXALIAS_SYS (putchar, int, (int c));
+# endif
+_GL_CXXALIASWARN (putchar);
+#endif
+
+#if @GNULIB_PUTS@
+# if @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@)
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef puts
+# define puts rpl_puts
+# endif
+_GL_FUNCDECL_RPL (puts, int, (const char *string) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (puts, int, (const char *string));
+# else
+_GL_CXXALIAS_SYS (puts, int, (const char *string));
+# endif
+_GL_CXXALIASWARN (puts);
+#endif
+
+#if @GNULIB_REMOVE@
+# if @REPLACE_REMOVE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef remove
+# define remove rpl_remove
+# endif
+_GL_FUNCDECL_RPL (remove, int, (const char *name) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (remove, int, (const char *name));
+# else
+_GL_CXXALIAS_SYS (remove, int, (const char *name));
+# endif
+_GL_CXXALIASWARN (remove);
+#elif defined GNULIB_POSIXCHECK
+# undef remove
+/* Assume remove is always declared. */
+_GL_WARN_ON_USE (remove, "remove cannot handle directories on some platforms - "
+ "use gnulib module remove for more portability");
+#endif
+
+#if @GNULIB_RENAME@
+# if @REPLACE_RENAME@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef rename
+# define rename rpl_rename
+# endif
+_GL_FUNCDECL_RPL (rename, int,
+ (const char *old_filename, const char *new_filename)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (rename, int,
+ (const char *old_filename, const char *new_filename));
+# else
+_GL_CXXALIAS_SYS (rename, int,
+ (const char *old_filename, const char *new_filename));
+# endif
+_GL_CXXALIASWARN (rename);
+#elif defined GNULIB_POSIXCHECK
+# undef rename
+/* Assume rename is always declared. */
+_GL_WARN_ON_USE (rename, "rename is buggy on some platforms - "
+ "use gnulib module rename for more portability");
+#endif
+
+#if @GNULIB_RENAMEAT@
+# if @REPLACE_RENAMEAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef renameat
+# define renameat rpl_renameat
+# endif
+_GL_FUNCDECL_RPL (renameat, int,
+ (int fd1, char const *file1, int fd2, char const *file2)
+ _GL_ARG_NONNULL ((2, 4)));
+_GL_CXXALIAS_RPL (renameat, int,
+ (int fd1, char const *file1, int fd2, char const *file2));
+# else
+# if !@HAVE_RENAMEAT@
+_GL_FUNCDECL_SYS (renameat, int,
+ (int fd1, char const *file1, int fd2, char const *file2)
+ _GL_ARG_NONNULL ((2, 4)));
+# endif
+_GL_CXXALIAS_SYS (renameat, int,
+ (int fd1, char const *file1, int fd2, char const *file2));
+# endif
+_GL_CXXALIASWARN (renameat);
+#elif defined GNULIB_POSIXCHECK
+# undef renameat
+# if HAVE_RAW_DECL_RENAMEAT
+_GL_WARN_ON_USE (renameat, "renameat is not portable - "
+ "use gnulib module renameat for portability");
+# endif
+#endif
+
+#if @GNULIB_SCANF@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+# if defined __GNUC__
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef scanf
+/* Don't break __attribute__((format(scanf,M,N))). */
+# define scanf __scanf__
+# endif
+_GL_FUNCDECL_RPL_1 (__scanf__, int,
+ (const char *format, ...)
+ __asm__ (@ASM_SYMBOL_PREFIX@
+ _GL_STDIO_MACROEXPAND_AND_STRINGIZE(rpl_scanf))
+ _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL_1 (scanf, __scanf__, int, (const char *format, ...));
+# else
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef scanf
+# define scanf rpl_scanf
+# endif
+_GL_FUNCDECL_RPL (scanf, int, (const char *format, ...)
+ _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 2)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (scanf, int, (const char *format, ...));
+# endif
+# else
+_GL_CXXALIAS_SYS (scanf, int, (const char *format, ...));
+# endif
+_GL_CXXALIASWARN (scanf);
+#endif
+
+#if @GNULIB_SNPRINTF@
+# if @REPLACE_SNPRINTF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define snprintf rpl_snprintf
+# endif
+_GL_FUNCDECL_RPL (snprintf, int,
+ (char *str, size_t size, const char *format, ...)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (3, 4)
+ _GL_ARG_NONNULL ((3)));
+_GL_CXXALIAS_RPL (snprintf, int,
+ (char *str, size_t size, const char *format, ...));
+# else
+# if !@HAVE_DECL_SNPRINTF@
+_GL_FUNCDECL_SYS (snprintf, int,
+ (char *str, size_t size, const char *format, ...)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (3, 4)
+ _GL_ARG_NONNULL ((3)));
+# endif
+_GL_CXXALIAS_SYS (snprintf, int,
+ (char *str, size_t size, const char *format, ...));
+# endif
+_GL_CXXALIASWARN (snprintf);
+#elif defined GNULIB_POSIXCHECK
+# undef snprintf
+# if HAVE_RAW_DECL_SNPRINTF
+_GL_WARN_ON_USE (snprintf, "snprintf is unportable - "
+ "use gnulib module snprintf for portability");
+# endif
+#endif
+
+/* Some people would argue that sprintf should be handled like gets
+ (for example, OpenBSD issues a link warning for both functions),
+ since both can cause security holes due to buffer overruns.
+ However, we believe that sprintf can be used safely, and is more
+ efficient than snprintf in those safe cases; and as proof of our
+ belief, we use sprintf in several gnulib modules. So this header
+ intentionally avoids adding a warning to sprintf except when
+ GNULIB_POSIXCHECK is defined. */
+
+#if @GNULIB_SPRINTF_POSIX@
+# if @REPLACE_SPRINTF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define sprintf rpl_sprintf
+# endif
+_GL_FUNCDECL_RPL (sprintf, int, (char *str, const char *format, ...)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (sprintf, int, (char *str, const char *format, ...));
+# else
+_GL_CXXALIAS_SYS (sprintf, int, (char *str, const char *format, ...));
+# endif
+_GL_CXXALIASWARN (sprintf);
+#elif defined GNULIB_POSIXCHECK
+# undef sprintf
+/* Assume sprintf is always declared. */
+_GL_WARN_ON_USE (sprintf, "sprintf is not always POSIX compliant - "
+ "use gnulib module sprintf-posix for portable "
+ "POSIX compliance");
+#endif
+
+#if @GNULIB_TMPFILE@
+# if @REPLACE_TMPFILE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define tmpfile rpl_tmpfile
+# endif
+_GL_FUNCDECL_RPL (tmpfile, FILE *, (void));
+_GL_CXXALIAS_RPL (tmpfile, FILE *, (void));
+# else
+_GL_CXXALIAS_SYS (tmpfile, FILE *, (void));
+# endif
+_GL_CXXALIASWARN (tmpfile);
+#elif defined GNULIB_POSIXCHECK
+# undef tmpfile
+# if HAVE_RAW_DECL_TMPFILE
+_GL_WARN_ON_USE (tmpfile, "tmpfile is not usable on mingw - "
+ "use gnulib module tmpfile for portability");
+# endif
+#endif
+
+#if @GNULIB_VASPRINTF@
+/* Write formatted output to a string dynamically allocated with malloc().
+ If the memory allocation succeeds, store the address of the string in
+ *RESULT and return the number of resulting bytes, excluding the trailing
+ NUL. Upon memory allocation error, or some other error, return -1. */
+# if @REPLACE_VASPRINTF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define asprintf rpl_asprintf
+# endif
+_GL_FUNCDECL_RPL (asprintf, int,
+ (char **result, const char *format, ...)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (asprintf, int,
+ (char **result, const char *format, ...));
+# else
+# if !@HAVE_VASPRINTF@
+_GL_FUNCDECL_SYS (asprintf, int,
+ (char **result, const char *format, ...)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 3)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (asprintf, int,
+ (char **result, const char *format, ...));
+# endif
+_GL_CXXALIASWARN (asprintf);
+# if @REPLACE_VASPRINTF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define vasprintf rpl_vasprintf
+# endif
+_GL_FUNCDECL_RPL (vasprintf, int,
+ (char **result, const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (vasprintf, int,
+ (char **result, const char *format, va_list args));
+# else
+# if !@HAVE_VASPRINTF@
+_GL_FUNCDECL_SYS (vasprintf, int,
+ (char **result, const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (vasprintf, int,
+ (char **result, const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vasprintf);
+#endif
+
+#if @GNULIB_VDPRINTF@
+# if @REPLACE_VDPRINTF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define vdprintf rpl_vdprintf
+# endif
+_GL_FUNCDECL_RPL (vdprintf, int, (int fd, const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (vdprintf, int, (int fd, const char *format, va_list args));
+# else
+# if !@HAVE_VDPRINTF@
+_GL_FUNCDECL_SYS (vdprintf, int, (int fd, const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+ _GL_ARG_NONNULL ((2)));
+# endif
+/* Need to cast, because on Solaris, the third parameter will likely be
+ __va_list args. */
+_GL_CXXALIAS_SYS_CAST (vdprintf, int,
+ (int fd, const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vdprintf);
+#elif defined GNULIB_POSIXCHECK
+# undef vdprintf
+# if HAVE_RAW_DECL_VDPRINTF
+_GL_WARN_ON_USE (vdprintf, "vdprintf is unportable - "
+ "use gnulib module vdprintf for portability");
+# endif
+#endif
+
+#if @GNULIB_VFPRINTF_POSIX@ || @GNULIB_VFPRINTF@
+# if (@GNULIB_VFPRINTF_POSIX@ && @REPLACE_VFPRINTF@) \
+ || (@GNULIB_VFPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@))
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define vfprintf rpl_vfprintf
+# endif
+# define GNULIB_overrides_vfprintf 1
+# if @GNULIB_VFPRINTF_POSIX@
+_GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+ _GL_ARG_NONNULL ((1, 2)));
+# else
+_GL_FUNCDECL_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (2, 0)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_RPL (vfprintf, int, (FILE *fp, const char *format, va_list args));
+# else
+/* Need to cast, because on Solaris, the third parameter is
+ __va_list args
+ and GCC's fixincludes did not change this to __gnuc_va_list. */
+_GL_CXXALIAS_SYS_CAST (vfprintf, int,
+ (FILE *fp, const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vfprintf);
+#endif
+#if !@GNULIB_VFPRINTF_POSIX@ && defined GNULIB_POSIXCHECK
+# if !GNULIB_overrides_vfprintf
+# undef vfprintf
+# endif
+/* Assume vfprintf is always declared. */
+_GL_WARN_ON_USE (vfprintf, "vfprintf is not always POSIX compliant - "
+ "use gnulib module vfprintf-posix for portable "
+ "POSIX compliance");
+#endif
+
+#if @GNULIB_VFSCANF@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef vfscanf
+# define vfscanf rpl_vfscanf
+# endif
+_GL_FUNCDECL_RPL (vfscanf, int,
+ (FILE *stream, const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (2, 0)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (vfscanf, int,
+ (FILE *stream, const char *format, va_list args));
+# else
+_GL_CXXALIAS_SYS (vfscanf, int,
+ (FILE *stream, const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vfscanf);
+#endif
+
+#if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VPRINTF@
+# if (@GNULIB_VPRINTF_POSIX@ && @REPLACE_VPRINTF@) \
+ || (@GNULIB_VPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && (@GNULIB_STDIO_H_NONBLOCKING@ || @GNULIB_STDIO_H_SIGPIPE@))
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define vprintf rpl_vprintf
+# endif
+# define GNULIB_overrides_vprintf 1
+# if @GNULIB_VPRINTF_POSIX@ || @GNULIB_VFPRINTF_POSIX@
+_GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (1, 0)
+ _GL_ARG_NONNULL ((1)));
+# else
+_GL_FUNCDECL_RPL (vprintf, int, (const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM (1, 0)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_RPL (vprintf, int, (const char *format, va_list args));
+# else
+/* Need to cast, because on Solaris, the second parameter is
+ __va_list args
+ and GCC's fixincludes did not change this to __gnuc_va_list. */
+_GL_CXXALIAS_SYS_CAST (vprintf, int, (const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vprintf);
+#endif
+#if !@GNULIB_VPRINTF_POSIX@ && defined GNULIB_POSIXCHECK
+# if !GNULIB_overrides_vprintf
+# undef vprintf
+# endif
+/* Assume vprintf is always declared. */
+_GL_WARN_ON_USE (vprintf, "vprintf is not always POSIX compliant - "
+ "use gnulib module vprintf-posix for portable "
+ "POSIX compliance");
+#endif
+
+#if @GNULIB_VSCANF@
+# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef vscanf
+# define vscanf rpl_vscanf
+# endif
+_GL_FUNCDECL_RPL (vscanf, int, (const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM (1, 0)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (vscanf, int, (const char *format, va_list args));
+# else
+_GL_CXXALIAS_SYS (vscanf, int, (const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vscanf);
+#endif
+
+#if @GNULIB_VSNPRINTF@
+# if @REPLACE_VSNPRINTF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define vsnprintf rpl_vsnprintf
+# endif
+_GL_FUNCDECL_RPL (vsnprintf, int,
+ (char *str, size_t size, const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0)
+ _GL_ARG_NONNULL ((3)));
+_GL_CXXALIAS_RPL (vsnprintf, int,
+ (char *str, size_t size, const char *format, va_list args));
+# else
+# if !@HAVE_DECL_VSNPRINTF@
+_GL_FUNCDECL_SYS (vsnprintf, int,
+ (char *str, size_t size, const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (3, 0)
+ _GL_ARG_NONNULL ((3)));
+# endif
+_GL_CXXALIAS_SYS (vsnprintf, int,
+ (char *str, size_t size, const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vsnprintf);
+#elif defined GNULIB_POSIXCHECK
+# undef vsnprintf
+# if HAVE_RAW_DECL_VSNPRINTF
+_GL_WARN_ON_USE (vsnprintf, "vsnprintf is unportable - "
+ "use gnulib module vsnprintf for portability");
+# endif
+#endif
+
+#if @GNULIB_VSPRINTF_POSIX@
+# if @REPLACE_VSPRINTF@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define vsprintf rpl_vsprintf
+# endif
+_GL_FUNCDECL_RPL (vsprintf, int,
+ (char *str, const char *format, va_list args)
+ _GL_ATTRIBUTE_FORMAT_PRINTF (2, 0)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (vsprintf, int,
+ (char *str, const char *format, va_list args));
+# else
+/* Need to cast, because on Solaris, the third parameter is
+ __va_list args
+ and GCC's fixincludes did not change this to __gnuc_va_list. */
+_GL_CXXALIAS_SYS_CAST (vsprintf, int,
+ (char *str, const char *format, va_list args));
+# endif
+_GL_CXXALIASWARN (vsprintf);
+#elif defined GNULIB_POSIXCHECK
+# undef vsprintf
+/* Assume vsprintf is always declared. */
+_GL_WARN_ON_USE (vsprintf, "vsprintf is not always POSIX compliant - "
+ "use gnulib module vsprintf-posix for portable "
+ "POSIX compliance");
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_STDIO_H */
+#endif /* _@GUARD_PREFIX@_STDIO_H */
+#endif
--- /dev/null
+/* A GNU-like <stdlib.h>.
+
+ Copyright (C) 1995, 2001-2004, 2006-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined __need_malloc_and_calloc
+/* Special invocation convention inside glibc header files. */
+
+#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
+
+#else
+/* Normal invocation convention. */
+
+#ifndef _@GUARD_PREFIX@_STDLIB_H
+
+/* The include_next requires a split double-inclusion guard. */
+#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
+
+#ifndef _@GUARD_PREFIX@_STDLIB_H
+#define _@GUARD_PREFIX@_STDLIB_H
+
+/* NetBSD 5.0 mis-defines NULL. */
+#include <stddef.h>
+
+/* MirBSD 10 defines WEXITSTATUS in <sys/wait.h>, not in <stdlib.h>. */
+#if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS
+# include <sys/wait.h>
+#endif
+
+/* Solaris declares getloadavg() in <sys/loadavg.h>. */
+#if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
+# include <sys/loadavg.h>
+#endif
+
+#if @GNULIB_RANDOM_R@
+
+/* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
+ from <stdlib.h> if _REENTRANT is defined. Include it whenever we need
+ 'struct random_data'. */
+# if @HAVE_RANDOM_H@
+# include <random.h>
+# endif
+
+# if !@HAVE_STRUCT_RANDOM_DATA@ || !@HAVE_RANDOM_R@
+# include <stdint.h>
+# endif
+
+# if !@HAVE_STRUCT_RANDOM_DATA@
+/* Define 'struct random_data'.
+ But allow multiple gnulib generated <stdlib.h> replacements to coexist. */
+# if !GNULIB_defined_struct_random_data
+struct random_data
+{
+ int32_t *fptr; /* Front pointer. */
+ int32_t *rptr; /* Rear pointer. */
+ int32_t *state; /* Array of state values. */
+ int rand_type; /* Type of random number generator. */
+ int rand_deg; /* Degree of random number generator. */
+ int rand_sep; /* Distance between front and rear. */
+ int32_t *end_ptr; /* Pointer behind state table. */
+};
+# define GNULIB_defined_struct_random_data 1
+# endif
+# endif
+#endif
+
+#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+/* On MacOS X 10.3, only <unistd.h> declares mkstemp. */
+/* On MacOS X 10.5, only <unistd.h> declares mkstemps. */
+/* On Cygwin 1.7.1, only <unistd.h> declares getsubopt. */
+/* But avoid namespace pollution on glibc systems and native Windows. */
+# include <unistd.h>
+#endif
+
+/* The definition of _Noreturn is copied here. */
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+
+/* Some systems do not define EXIT_*, despite otherwise supporting C89. */
+#ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+#endif
+/* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere
+ with proper operation of xargs. */
+#ifndef EXIT_FAILURE
+# define EXIT_FAILURE 1
+#elif EXIT_FAILURE != 1
+# undef EXIT_FAILURE
+# define EXIT_FAILURE 1
+#endif
+
+
+#if @GNULIB__EXIT@
+/* Terminate the current process with the given return code, without running
+ the 'atexit' handlers. */
+# if !@HAVE__EXIT@
+_GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
+# endif
+_GL_CXXALIAS_SYS (_Exit, void, (int status));
+_GL_CXXALIASWARN (_Exit);
+#elif defined GNULIB_POSIXCHECK
+# undef _Exit
+# if HAVE_RAW_DECL__EXIT
+_GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
+ "use gnulib module _Exit for portability");
+# endif
+#endif
+
+
+#if @GNULIB_ATOLL@
+/* Parse a signed decimal integer.
+ Returns the value of the integer. Errors are not detected. */
+# if !@HAVE_ATOLL@
+_GL_FUNCDECL_SYS (atoll, long long, (const char *string) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (atoll, long long, (const char *string));
+_GL_CXXALIASWARN (atoll);
+#elif defined GNULIB_POSIXCHECK
+# undef atoll
+# if HAVE_RAW_DECL_ATOLL
+_GL_WARN_ON_USE (atoll, "atoll is unportable - "
+ "use gnulib module atoll for portability");
+# endif
+#endif
+
+#if @GNULIB_CALLOC_POSIX@
+# if @REPLACE_CALLOC@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef calloc
+# define calloc rpl_calloc
+# endif
+_GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size));
+_GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
+# else
+_GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
+# endif
+_GL_CXXALIASWARN (calloc);
+#elif defined GNULIB_POSIXCHECK
+# undef calloc
+/* Assume calloc is always declared. */
+_GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - "
+ "use gnulib module calloc-posix for portability");
+#endif
+
+#if @GNULIB_CANONICALIZE_FILE_NAME@
+# if @REPLACE_CANONICALIZE_FILE_NAME@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define canonicalize_file_name rpl_canonicalize_file_name
+# endif
+_GL_FUNCDECL_RPL (canonicalize_file_name, char *, (const char *name)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name));
+# else
+# if !@HAVE_CANONICALIZE_FILE_NAME@
+_GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name));
+# endif
+_GL_CXXALIASWARN (canonicalize_file_name);
+#elif defined GNULIB_POSIXCHECK
+# undef canonicalize_file_name
+# if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
+_GL_WARN_ON_USE (canonicalize_file_name,
+ "canonicalize_file_name is unportable - "
+ "use gnulib module canonicalize-lgpl for portability");
+# endif
+#endif
+
+#if @GNULIB_GETLOADAVG@
+/* Store max(NELEM,3) load average numbers in LOADAVG[].
+ The three numbers are the load average of the last 1 minute, the last 5
+ minutes, and the last 15 minutes, respectively.
+ LOADAVG is an array of NELEM numbers. */
+# if !@HAVE_DECL_GETLOADAVG@
+_GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem));
+_GL_CXXALIASWARN (getloadavg);
+#elif defined GNULIB_POSIXCHECK
+# undef getloadavg
+# if HAVE_RAW_DECL_GETLOADAVG
+_GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
+ "use gnulib module getloadavg for portability");
+# endif
+#endif
+
+#if @GNULIB_GETSUBOPT@
+/* Assuming *OPTIONP is a comma separated list of elements of the form
+ "token" or "token=value", getsubopt parses the first of these elements.
+ If the first element refers to a "token" that is member of the given
+ NULL-terminated array of tokens:
+ - It replaces the comma with a NUL byte, updates *OPTIONP to point past
+ the first option and the comma, sets *VALUEP to the value of the
+ element (or NULL if it doesn't contain an "=" sign),
+ - It returns the index of the "token" in the given array of tokens.
+ Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined.
+ For more details see the POSIX:2001 specification.
+ http://www.opengroup.org/susv3xsh/getsubopt.html */
+# if !@HAVE_GETSUBOPT@
+_GL_FUNCDECL_SYS (getsubopt, int,
+ (char **optionp, char *const *tokens, char **valuep)
+ _GL_ARG_NONNULL ((1, 2, 3)));
+# endif
+_GL_CXXALIAS_SYS (getsubopt, int,
+ (char **optionp, char *const *tokens, char **valuep));
+_GL_CXXALIASWARN (getsubopt);
+#elif defined GNULIB_POSIXCHECK
+# undef getsubopt
+# if HAVE_RAW_DECL_GETSUBOPT
+_GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - "
+ "use gnulib module getsubopt for portability");
+# endif
+#endif
+
+#if @GNULIB_GRANTPT@
+/* Change the ownership and access permission of the slave side of the
+ pseudo-terminal whose master side is specified by FD. */
+# if !@HAVE_GRANTPT@
+_GL_FUNCDECL_SYS (grantpt, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (grantpt, int, (int fd));
+_GL_CXXALIASWARN (grantpt);
+#elif defined GNULIB_POSIXCHECK
+# undef grantpt
+# if HAVE_RAW_DECL_GRANTPT
+_GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
+ "use gnulib module grantpt for portability");
+# endif
+#endif
+
+/* If _GL_USE_STDLIB_ALLOC is nonzero, the including module does not
+ rely on GNU or POSIX semantics for malloc and realloc (for example,
+ by never specifying a zero size), so it does not need malloc or
+ realloc to be redefined. */
+#if @GNULIB_MALLOC_POSIX@
+# if @REPLACE_MALLOC@
+# if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
+ || _GL_USE_STDLIB_ALLOC)
+# undef malloc
+# define malloc rpl_malloc
+# endif
+_GL_FUNCDECL_RPL (malloc, void *, (size_t size));
+_GL_CXXALIAS_RPL (malloc, void *, (size_t size));
+# else
+_GL_CXXALIAS_SYS (malloc, void *, (size_t size));
+# endif
+_GL_CXXALIASWARN (malloc);
+#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
+# undef malloc
+/* Assume malloc is always declared. */
+_GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
+ "use gnulib module malloc-posix for portability");
+#endif
+
+/* Convert a multibyte character to a wide character. */
+#if @GNULIB_MBTOWC@
+# if @REPLACE_MBTOWC@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbtowc
+# define mbtowc rpl_mbtowc
+# endif
+_GL_FUNCDECL_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
+_GL_CXXALIAS_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
+# else
+_GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
+# endif
+_GL_CXXALIASWARN (mbtowc);
+#endif
+
+#if @GNULIB_MKDTEMP@
+/* Create a unique temporary directory from TEMPLATE.
+ The last six characters of TEMPLATE must be "XXXXXX";
+ they are replaced with a string that makes the directory name unique.
+ Returns TEMPLATE, or a null pointer if it cannot get a unique name.
+ The directory is created mode 700. */
+# if !@HAVE_MKDTEMP@
+_GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
+_GL_CXXALIASWARN (mkdtemp);
+#elif defined GNULIB_POSIXCHECK
+# undef mkdtemp
+# if HAVE_RAW_DECL_MKDTEMP
+_GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
+ "use gnulib module mkdtemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKOSTEMP@
+/* Create a unique temporary file from TEMPLATE.
+ The last six characters of TEMPLATE must be "XXXXXX";
+ they are replaced with a string that makes the file name unique.
+ The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
+ and O_TEXT, O_BINARY (defined in "binary-io.h").
+ The file is then created, with the specified flags, ensuring it didn't exist
+ before.
+ The file is created read-write (mask at least 0600 & ~umask), but it may be
+ world-readable and world-writable (mask 0666 & ~umask), depending on the
+ implementation.
+ Returns the open file descriptor if successful, otherwise -1 and errno
+ set. */
+# if !@HAVE_MKOSTEMP@
+_GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/));
+_GL_CXXALIASWARN (mkostemp);
+#elif defined GNULIB_POSIXCHECK
+# undef mkostemp
+# if HAVE_RAW_DECL_MKOSTEMP
+_GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
+ "use gnulib module mkostemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKOSTEMPS@
+/* Create a unique temporary file from TEMPLATE.
+ The last six characters of TEMPLATE before a suffix of length
+ SUFFIXLEN must be "XXXXXX";
+ they are replaced with a string that makes the file name unique.
+ The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
+ and O_TEXT, O_BINARY (defined in "binary-io.h").
+ The file is then created, with the specified flags, ensuring it didn't exist
+ before.
+ The file is created read-write (mask at least 0600 & ~umask), but it may be
+ world-readable and world-writable (mask 0666 & ~umask), depending on the
+ implementation.
+ Returns the open file descriptor if successful, otherwise -1 and errno
+ set. */
+# if !@HAVE_MKOSTEMPS@
+_GL_FUNCDECL_SYS (mkostemps, int,
+ (char * /*template*/, int /*suffixlen*/, int /*flags*/)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkostemps, int,
+ (char * /*template*/, int /*suffixlen*/, int /*flags*/));
+_GL_CXXALIASWARN (mkostemps);
+#elif defined GNULIB_POSIXCHECK
+# undef mkostemps
+# if HAVE_RAW_DECL_MKOSTEMPS
+_GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - "
+ "use gnulib module mkostemps for portability");
+# endif
+#endif
+
+#if @GNULIB_MKSTEMP@
+/* Create a unique temporary file from TEMPLATE.
+ The last six characters of TEMPLATE must be "XXXXXX";
+ they are replaced with a string that makes the file name unique.
+ The file is then created, ensuring it didn't exist before.
+ The file is created read-write (mask at least 0600 & ~umask), but it may be
+ world-readable and world-writable (mask 0666 & ~umask), depending on the
+ implementation.
+ Returns the open file descriptor if successful, otherwise -1 and errno
+ set. */
+# if @REPLACE_MKSTEMP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define mkstemp rpl_mkstemp
+# endif
+_GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/));
+# else
+# if ! @HAVE_MKSTEMP@
+_GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/));
+# endif
+_GL_CXXALIASWARN (mkstemp);
+#elif defined GNULIB_POSIXCHECK
+# undef mkstemp
+# if HAVE_RAW_DECL_MKSTEMP
+_GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - "
+ "use gnulib module mkstemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKSTEMPS@
+/* Create a unique temporary file from TEMPLATE.
+ The last six characters of TEMPLATE prior to a suffix of length
+ SUFFIXLEN must be "XXXXXX";
+ they are replaced with a string that makes the file name unique.
+ The file is then created, ensuring it didn't exist before.
+ The file is created read-write (mask at least 0600 & ~umask), but it may be
+ world-readable and world-writable (mask 0666 & ~umask), depending on the
+ implementation.
+ Returns the open file descriptor if successful, otherwise -1 and errno
+ set. */
+# if !@HAVE_MKSTEMPS@
+_GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/));
+_GL_CXXALIASWARN (mkstemps);
+#elif defined GNULIB_POSIXCHECK
+# undef mkstemps
+# if HAVE_RAW_DECL_MKSTEMPS
+_GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
+ "use gnulib module mkstemps for portability");
+# endif
+#endif
+
+#if @GNULIB_POSIX_OPENPT@
+/* Return an FD open to the master side of a pseudo-terminal. Flags should
+ include O_RDWR, and may also include O_NOCTTY. */
+# if !@HAVE_POSIX_OPENPT@
+_GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
+# endif
+_GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
+_GL_CXXALIASWARN (posix_openpt);
+#elif defined GNULIB_POSIXCHECK
+# undef posix_openpt
+# if HAVE_RAW_DECL_POSIX_OPENPT
+_GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
+ "use gnulib module posix_openpt for portability");
+# endif
+#endif
+
+#if @GNULIB_PTSNAME@
+/* Return the pathname of the pseudo-terminal slave associated with
+ the master FD is open on, or NULL on errors. */
+# if !@HAVE_PTSNAME@
+_GL_FUNCDECL_SYS (ptsname, char *, (int fd));
+# endif
+_GL_CXXALIAS_SYS (ptsname, char *, (int fd));
+_GL_CXXALIASWARN (ptsname);
+#elif defined GNULIB_POSIXCHECK
+# undef ptsname
+# if HAVE_RAW_DECL_PTSNAME
+_GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
+ "use gnulib module ptsname for portability");
+# endif
+#endif
+
+#if @GNULIB_PTSNAME_R@
+/* Set the pathname of the pseudo-terminal slave associated with
+ the master FD is open on and return 0, or set errno and return
+ non-zero on errors. */
+# if @REPLACE_PTSNAME_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ptsname_r
+# define ptsname_r rpl_ptsname_r
+# endif
+_GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+_GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+# else
+# if !@HAVE_PTSNAME_R@
+_GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+# endif
+_GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+# endif
+_GL_CXXALIASWARN (ptsname_r);
+#elif defined GNULIB_POSIXCHECK
+# undef ptsname_r
+# if HAVE_RAW_DECL_PTSNAME_R
+_GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - "
+ "use gnulib module ptsname_r for portability");
+# endif
+#endif
+
+#if @GNULIB_PUTENV@
+# if @REPLACE_PUTENV@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef putenv
+# define putenv rpl_putenv
+# endif
+_GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (putenv, int, (char *string));
+# else
+_GL_CXXALIAS_SYS (putenv, int, (char *string));
+# endif
+_GL_CXXALIASWARN (putenv);
+#endif
+
+
+#if @GNULIB_RANDOM_R@
+# if !@HAVE_RANDOM_R@
+# ifndef RAND_MAX
+# define RAND_MAX 2147483647
+# endif
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
+_GL_CXXALIASWARN (random_r);
+#elif defined GNULIB_POSIXCHECK
+# undef random_r
+# if HAVE_RAW_DECL_RANDOM_R
+_GL_WARN_ON_USE (random_r, "random_r is unportable - "
+ "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (srandom_r, int,
+ (unsigned int seed, struct random_data *rand_state)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (srandom_r, int,
+ (unsigned int seed, struct random_data *rand_state));
+_GL_CXXALIASWARN (srandom_r);
+#elif defined GNULIB_POSIXCHECK
+# undef srandom_r
+# if HAVE_RAW_DECL_SRANDOM_R
+_GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
+ "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (initstate_r, int,
+ (unsigned int seed, char *buf, size_t buf_size,
+ struct random_data *rand_state)
+ _GL_ARG_NONNULL ((2, 4)));
+# endif
+_GL_CXXALIAS_SYS (initstate_r, int,
+ (unsigned int seed, char *buf, size_t buf_size,
+ struct random_data *rand_state));
+_GL_CXXALIASWARN (initstate_r);
+#elif defined GNULIB_POSIXCHECK
+# undef initstate_r
+# if HAVE_RAW_DECL_INITSTATE_R
+_GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - "
+ "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (setstate_r, int,
+ (char *arg_state, struct random_data *rand_state)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (setstate_r, int,
+ (char *arg_state, struct random_data *rand_state));
+_GL_CXXALIASWARN (setstate_r);
+#elif defined GNULIB_POSIXCHECK
+# undef setstate_r
+# if HAVE_RAW_DECL_SETSTATE_R
+_GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
+ "use gnulib module random_r for portability");
+# endif
+#endif
+
+
+#if @GNULIB_REALLOC_POSIX@
+# if @REPLACE_REALLOC@
+# if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
+ || _GL_USE_STDLIB_ALLOC)
+# undef realloc
+# define realloc rpl_realloc
+# endif
+_GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size));
+_GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
+# else
+_GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
+# endif
+_GL_CXXALIASWARN (realloc);
+#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
+# undef realloc
+/* Assume realloc is always declared. */
+_GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
+ "use gnulib module realloc-posix for portability");
+#endif
+
+#if @GNULIB_REALPATH@
+# if @REPLACE_REALPATH@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define realpath rpl_realpath
+# endif
+_GL_FUNCDECL_RPL (realpath, char *, (const char *name, char *resolved)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (realpath, char *, (const char *name, char *resolved));
+# else
+# if !@HAVE_REALPATH@
+_GL_FUNCDECL_SYS (realpath, char *, (const char *name, char *resolved)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (realpath, char *, (const char *name, char *resolved));
+# endif
+_GL_CXXALIASWARN (realpath);
+#elif defined GNULIB_POSIXCHECK
+# undef realpath
+# if HAVE_RAW_DECL_REALPATH
+_GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module "
+ "canonicalize or canonicalize-lgpl for portability");
+# endif
+#endif
+
+#if @GNULIB_RPMATCH@
+/* Test a user response to a question.
+ Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear. */
+# if !@HAVE_RPMATCH@
+_GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
+_GL_CXXALIASWARN (rpmatch);
+#elif defined GNULIB_POSIXCHECK
+# undef rpmatch
+# if HAVE_RAW_DECL_RPMATCH
+_GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
+ "use gnulib module rpmatch for portability");
+# endif
+#endif
+
+#if @GNULIB_SETENV@
+/* Set NAME to VALUE in the environment.
+ If REPLACE is nonzero, overwrite an existing value. */
+# if @REPLACE_SETENV@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef setenv
+# define setenv rpl_setenv
+# endif
+_GL_FUNCDECL_RPL (setenv, int,
+ (const char *name, const char *value, int replace)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (setenv, int,
+ (const char *name, const char *value, int replace));
+# else
+# if !@HAVE_DECL_SETENV@
+_GL_FUNCDECL_SYS (setenv, int,
+ (const char *name, const char *value, int replace)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (setenv, int,
+ (const char *name, const char *value, int replace));
+# endif
+# if !(@REPLACE_SETENV@ && !@HAVE_DECL_SETENV@)
+_GL_CXXALIASWARN (setenv);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef setenv
+# if HAVE_RAW_DECL_SETENV
+_GL_WARN_ON_USE (setenv, "setenv is unportable - "
+ "use gnulib module setenv for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOD@
+ /* Parse a double from STRING, updating ENDP if appropriate. */
+# if @REPLACE_STRTOD@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define strtod rpl_strtod
+# endif
+_GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp));
+# else
+# if !@HAVE_STRTOD@
+_GL_FUNCDECL_SYS (strtod, double, (const char *str, char **endp)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strtod, double, (const char *str, char **endp));
+# endif
+_GL_CXXALIASWARN (strtod);
+#elif defined GNULIB_POSIXCHECK
+# undef strtod
+# if HAVE_RAW_DECL_STRTOD
+_GL_WARN_ON_USE (strtod, "strtod is unportable - "
+ "use gnulib module strtod for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOLL@
+/* Parse a signed integer whose textual representation starts at STRING.
+ The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+ it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+ "0x").
+ If ENDPTR is not NULL, the address of the first byte after the integer is
+ stored in *ENDPTR.
+ Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set
+ to ERANGE. */
+# if !@HAVE_STRTOLL@
+_GL_FUNCDECL_SYS (strtoll, long long,
+ (const char *string, char **endptr, int base)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strtoll, long long,
+ (const char *string, char **endptr, int base));
+_GL_CXXALIASWARN (strtoll);
+#elif defined GNULIB_POSIXCHECK
+# undef strtoll
+# if HAVE_RAW_DECL_STRTOLL
+_GL_WARN_ON_USE (strtoll, "strtoll is unportable - "
+ "use gnulib module strtoll for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOULL@
+/* Parse an unsigned integer whose textual representation starts at STRING.
+ The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+ it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+ "0x").
+ If ENDPTR is not NULL, the address of the first byte after the integer is
+ stored in *ENDPTR.
+ Upon overflow, the return value is ULLONG_MAX, and errno is set to
+ ERANGE. */
+# if !@HAVE_STRTOULL@
+_GL_FUNCDECL_SYS (strtoull, unsigned long long,
+ (const char *string, char **endptr, int base)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strtoull, unsigned long long,
+ (const char *string, char **endptr, int base));
+_GL_CXXALIASWARN (strtoull);
+#elif defined GNULIB_POSIXCHECK
+# undef strtoull
+# if HAVE_RAW_DECL_STRTOULL
+_GL_WARN_ON_USE (strtoull, "strtoull is unportable - "
+ "use gnulib module strtoull for portability");
+# endif
+#endif
+
+#if @GNULIB_UNLOCKPT@
+/* Unlock the slave side of the pseudo-terminal whose master side is specified
+ by FD, so that it can be opened. */
+# if !@HAVE_UNLOCKPT@
+_GL_FUNCDECL_SYS (unlockpt, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (unlockpt, int, (int fd));
+_GL_CXXALIASWARN (unlockpt);
+#elif defined GNULIB_POSIXCHECK
+# undef unlockpt
+# if HAVE_RAW_DECL_UNLOCKPT
+_GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - "
+ "use gnulib module unlockpt for portability");
+# endif
+#endif
+
+#if @GNULIB_UNSETENV@
+/* Remove the variable NAME from the environment. */
+# if @REPLACE_UNSETENV@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef unsetenv
+# define unsetenv rpl_unsetenv
+# endif
+_GL_FUNCDECL_RPL (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (unsetenv, int, (const char *name));
+# else
+# if !@HAVE_DECL_UNSETENV@
+_GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (unsetenv, int, (const char *name));
+# endif
+# if !(@REPLACE_UNSETENV@ && !@HAVE_DECL_UNSETENV@)
+_GL_CXXALIASWARN (unsetenv);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef unsetenv
+# if HAVE_RAW_DECL_UNSETENV
+_GL_WARN_ON_USE (unsetenv, "unsetenv is unportable - "
+ "use gnulib module unsetenv for portability");
+# endif
+#endif
+
+/* Convert a wide character to a multibyte character. */
+#if @GNULIB_WCTOMB@
+# if @REPLACE_WCTOMB@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wctomb
+# define wctomb rpl_wctomb
+# endif
+_GL_FUNCDECL_RPL (wctomb, int, (char *s, wchar_t wc));
+_GL_CXXALIAS_RPL (wctomb, int, (char *s, wchar_t wc));
+# else
+_GL_CXXALIAS_SYS (wctomb, int, (char *s, wchar_t wc));
+# endif
+_GL_CXXALIASWARN (wctomb);
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_STDLIB_H */
+#endif /* _@GUARD_PREFIX@_STDLIB_H */
+#endif
--- /dev/null
+/* Stub for symlink().
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <unistd.h>
+
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+
+
+#if HAVE_SYMLINK
+
+# undef symlink
+
+/* Create a symlink, but reject trailing slash. */
+int
+rpl_symlink (char const *contents, char const *name)
+{
+ size_t len = strlen (name);
+ if (len && name[len - 1] == '/')
+ {
+ struct stat st;
+ if (lstat (name, &st) == 0)
+ errno = EEXIST;
+ return -1;
+ }
+ return symlink (contents, name);
+}
+
+#else /* !HAVE_SYMLINK */
+
+/* The system does not support symlinks. */
+int
+symlink (char const *contents _GL_UNUSED,
+ char const *name _GL_UNUSED)
+{
+ errno = ENOSYS;
+ return -1;
+}
+
+#endif /* !HAVE_SYMLINK */
--- /dev/null
+/* Provide a more complete sys/stat header file.
+ Copyright (C) 2005-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* Written by Eric Blake, Paul Eggert, and Jim Meyering. */
+
+/* This file is supposed to be used on platforms where <sys/stat.h> is
+ incomplete. It is intended to provide definitions and prototypes
+ needed by an application. Start with what the system provides. */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined __need_system_sys_stat_h
+/* Special invocation convention. */
+
+#@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@
+
+#else
+/* Normal invocation convention. */
+
+#ifndef _@GUARD_PREFIX@_SYS_STAT_H
+
+/* Get nlink_t. */
+#include <sys/types.h>
+
+/* Get struct timespec. */
+#include <time.h>
+
+/* The include_next requires a split double-inclusion guard. */
+#@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@
+
+#ifndef _@GUARD_PREFIX@_SYS_STAT_H
+#define _@GUARD_PREFIX@_SYS_STAT_H
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+/* Before doing "#define mkdir rpl_mkdir" below, we need to include all
+ headers that may declare mkdir(). Native Windows platforms declare mkdir
+ in <io.h> and/or <direct.h>, not in <unistd.h>. */
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# include <io.h> /* mingw32, mingw64 */
+# include <direct.h> /* mingw64, MSVC 9 */
+#endif
+
+#ifndef S_IFIFO
+# ifdef _S_IFIFO
+# define S_IFIFO _S_IFIFO
+# endif
+#endif
+
+#ifndef S_IFMT
+# define S_IFMT 0170000
+#endif
+
+#if STAT_MACROS_BROKEN
+# undef S_ISBLK
+# undef S_ISCHR
+# undef S_ISDIR
+# undef S_ISFIFO
+# undef S_ISLNK
+# undef S_ISNAM
+# undef S_ISMPB
+# undef S_ISMPC
+# undef S_ISNWK
+# undef S_ISREG
+# undef S_ISSOCK
+#endif
+
+#ifndef S_ISBLK
+# ifdef S_IFBLK
+# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
+# else
+# define S_ISBLK(m) 0
+# endif
+#endif
+
+#ifndef S_ISCHR
+# ifdef S_IFCHR
+# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
+# else
+# define S_ISCHR(m) 0
+# endif
+#endif
+
+#ifndef S_ISDIR
+# ifdef S_IFDIR
+# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+# else
+# define S_ISDIR(m) 0
+# endif
+#endif
+
+#ifndef S_ISDOOR /* Solaris 2.5 and up */
+# define S_ISDOOR(m) 0
+#endif
+
+#ifndef S_ISFIFO
+# ifdef S_IFIFO
+# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
+# else
+# define S_ISFIFO(m) 0
+# endif
+#endif
+
+#ifndef S_ISLNK
+# ifdef S_IFLNK
+# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
+# else
+# define S_ISLNK(m) 0
+# endif
+#endif
+
+#ifndef S_ISMPB /* V7 */
+# ifdef S_IFMPB
+# define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB)
+# define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC)
+# else
+# define S_ISMPB(m) 0
+# define S_ISMPC(m) 0
+# endif
+#endif
+
+#ifndef S_ISNAM /* Xenix */
+# ifdef S_IFNAM
+# define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM)
+# else
+# define S_ISNAM(m) 0
+# endif
+#endif
+
+#ifndef S_ISNWK /* HP/UX */
+# ifdef S_IFNWK
+# define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK)
+# else
+# define S_ISNWK(m) 0
+# endif
+#endif
+
+#ifndef S_ISPORT /* Solaris 10 and up */
+# define S_ISPORT(m) 0
+#endif
+
+#ifndef S_ISREG
+# ifdef S_IFREG
+# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
+# else
+# define S_ISREG(m) 0
+# endif
+#endif
+
+#ifndef S_ISSOCK
+# ifdef S_IFSOCK
+# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
+# else
+# define S_ISSOCK(m) 0
+# endif
+#endif
+
+
+#ifndef S_TYPEISMQ
+# define S_TYPEISMQ(p) 0
+#endif
+
+#ifndef S_TYPEISTMO
+# define S_TYPEISTMO(p) 0
+#endif
+
+
+#ifndef S_TYPEISSEM
+# ifdef S_INSEM
+# define S_TYPEISSEM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSEM)
+# else
+# define S_TYPEISSEM(p) 0
+# endif
+#endif
+
+#ifndef S_TYPEISSHM
+# ifdef S_INSHD
+# define S_TYPEISSHM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSHD)
+# else
+# define S_TYPEISSHM(p) 0
+# endif
+#endif
+
+/* high performance ("contiguous data") */
+#ifndef S_ISCTG
+# define S_ISCTG(p) 0
+#endif
+
+/* Cray DMF (data migration facility): off line, with data */
+#ifndef S_ISOFD
+# define S_ISOFD(p) 0
+#endif
+
+/* Cray DMF (data migration facility): off line, with no data */
+#ifndef S_ISOFL
+# define S_ISOFL(p) 0
+#endif
+
+/* 4.4BSD whiteout */
+#ifndef S_ISWHT
+# define S_ISWHT(m) 0
+#endif
+
+/* If any of the following are undefined,
+ define them to their de facto standard values. */
+#if !S_ISUID
+# define S_ISUID 04000
+#endif
+#if !S_ISGID
+# define S_ISGID 02000
+#endif
+
+/* S_ISVTX is a common extension to POSIX. */
+#ifndef S_ISVTX
+# define S_ISVTX 01000
+#endif
+
+#if !S_IRUSR && S_IREAD
+# define S_IRUSR S_IREAD
+#endif
+#if !S_IRUSR
+# define S_IRUSR 00400
+#endif
+#if !S_IRGRP
+# define S_IRGRP (S_IRUSR >> 3)
+#endif
+#if !S_IROTH
+# define S_IROTH (S_IRUSR >> 6)
+#endif
+
+#if !S_IWUSR && S_IWRITE
+# define S_IWUSR S_IWRITE
+#endif
+#if !S_IWUSR
+# define S_IWUSR 00200
+#endif
+#if !S_IWGRP
+# define S_IWGRP (S_IWUSR >> 3)
+#endif
+#if !S_IWOTH
+# define S_IWOTH (S_IWUSR >> 6)
+#endif
+
+#if !S_IXUSR && S_IEXEC
+# define S_IXUSR S_IEXEC
+#endif
+#if !S_IXUSR
+# define S_IXUSR 00100
+#endif
+#if !S_IXGRP
+# define S_IXGRP (S_IXUSR >> 3)
+#endif
+#if !S_IXOTH
+# define S_IXOTH (S_IXUSR >> 6)
+#endif
+
+#if !S_IRWXU
+# define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR)
+#endif
+#if !S_IRWXG
+# define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP)
+#endif
+#if !S_IRWXO
+# define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH)
+#endif
+
+/* S_IXUGO is a common extension to POSIX. */
+#if !S_IXUGO
+# define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH)
+#endif
+
+#ifndef S_IRWXUGO
+# define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO)
+#endif
+
+/* Macros for futimens and utimensat. */
+#ifndef UTIME_NOW
+# define UTIME_NOW (-1)
+# define UTIME_OMIT (-2)
+#endif
+
+
+#if @GNULIB_FCHMODAT@
+# if !@HAVE_FCHMODAT@
+_GL_FUNCDECL_SYS (fchmodat, int,
+ (int fd, char const *file, mode_t mode, int flag)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (fchmodat, int,
+ (int fd, char const *file, mode_t mode, int flag));
+_GL_CXXALIASWARN (fchmodat);
+#elif defined GNULIB_POSIXCHECK
+# undef fchmodat
+# if HAVE_RAW_DECL_FCHMODAT
+_GL_WARN_ON_USE (fchmodat, "fchmodat is not portable - "
+ "use gnulib module openat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FSTAT@
+# if @REPLACE_FSTAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fstat
+# define fstat rpl_fstat
+# endif
+_GL_FUNCDECL_RPL (fstat, int, (int fd, struct stat *buf) _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (fstat, int, (int fd, struct stat *buf));
+# else
+_GL_CXXALIAS_SYS (fstat, int, (int fd, struct stat *buf));
+# endif
+_GL_CXXALIASWARN (fstat);
+#elif defined GNULIB_POSIXCHECK
+# undef fstat
+# if HAVE_RAW_DECL_FSTAT
+_GL_WARN_ON_USE (fstat, "fstat has portability problems - "
+ "use gnulib module fstat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FSTATAT@
+# if @REPLACE_FSTATAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fstatat
+# define fstatat rpl_fstatat
+# endif
+_GL_FUNCDECL_RPL (fstatat, int,
+ (int fd, char const *name, struct stat *st, int flags)
+ _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_RPL (fstatat, int,
+ (int fd, char const *name, struct stat *st, int flags));
+# else
+# if !@HAVE_FSTATAT@
+_GL_FUNCDECL_SYS (fstatat, int,
+ (int fd, char const *name, struct stat *st, int flags)
+ _GL_ARG_NONNULL ((2, 3)));
+# endif
+_GL_CXXALIAS_SYS (fstatat, int,
+ (int fd, char const *name, struct stat *st, int flags));
+# endif
+_GL_CXXALIASWARN (fstatat);
+#elif defined GNULIB_POSIXCHECK
+# undef fstatat
+# if HAVE_RAW_DECL_FSTATAT
+_GL_WARN_ON_USE (fstatat, "fstatat is not portable - "
+ "use gnulib module openat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FUTIMENS@
+/* Use the rpl_ prefix also on Solaris <= 9, because on Solaris 9 our futimens
+ implementation relies on futimesat, which on Solaris 10 makes an invocation
+ to futimens that is meant to invoke the libc's futimens(), not gnulib's
+ futimens(). */
+# if @REPLACE_FUTIMENS@ || (!@HAVE_FUTIMENS@ && defined __sun)
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef futimens
+# define futimens rpl_futimens
+# endif
+_GL_FUNCDECL_RPL (futimens, int, (int fd, struct timespec const times[2]));
+_GL_CXXALIAS_RPL (futimens, int, (int fd, struct timespec const times[2]));
+# else
+# if !@HAVE_FUTIMENS@
+_GL_FUNCDECL_SYS (futimens, int, (int fd, struct timespec const times[2]));
+# endif
+_GL_CXXALIAS_SYS (futimens, int, (int fd, struct timespec const times[2]));
+# endif
+# if @HAVE_FUTIMENS@
+_GL_CXXALIASWARN (futimens);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef futimens
+# if HAVE_RAW_DECL_FUTIMENS
+_GL_WARN_ON_USE (futimens, "futimens is not portable - "
+ "use gnulib module futimens for portability");
+# endif
+#endif
+
+
+#if @GNULIB_LCHMOD@
+/* Change the mode of FILENAME to MODE, without dereferencing it if FILENAME
+ denotes a symbolic link. */
+# if !@HAVE_LCHMOD@
+/* The lchmod replacement follows symbolic links. Callers should take
+ this into account; lchmod should be applied only to arguments that
+ are known to not be symbolic links. On hosts that lack lchmod,
+ this can lead to race conditions between the check and the
+ invocation of lchmod, but we know of no workarounds that are
+ reliable in general. You might try requesting support for lchmod
+ from your operating system supplier. */
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define lchmod chmod
+# endif
+/* Need to cast, because on mingw, the second parameter of chmod is
+ int mode. */
+_GL_CXXALIAS_RPL_CAST_1 (lchmod, chmod, int,
+ (const char *filename, mode_t mode));
+# else
+# if 0 /* assume already declared */
+_GL_FUNCDECL_SYS (lchmod, int, (const char *filename, mode_t mode)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (lchmod, int, (const char *filename, mode_t mode));
+# endif
+# if @HAVE_LCHMOD@
+_GL_CXXALIASWARN (lchmod);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef lchmod
+# if HAVE_RAW_DECL_LCHMOD
+_GL_WARN_ON_USE (lchmod, "lchmod is unportable - "
+ "use gnulib module lchmod for portability");
+# endif
+#endif
+
+
+#if @GNULIB_LSTAT@
+# if ! @HAVE_LSTAT@
+/* mingw does not support symlinks, therefore it does not have lstat. But
+ without links, stat does just fine. */
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define lstat stat
+# endif
+_GL_CXXALIAS_RPL_1 (lstat, stat, int, (const char *name, struct stat *buf));
+# elif @REPLACE_LSTAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef lstat
+# define lstat rpl_lstat
+# endif
+_GL_FUNCDECL_RPL (lstat, int, (const char *name, struct stat *buf)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (lstat, int, (const char *name, struct stat *buf));
+# else
+_GL_CXXALIAS_SYS (lstat, int, (const char *name, struct stat *buf));
+# endif
+# if @HAVE_LSTAT@
+_GL_CXXALIASWARN (lstat);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef lstat
+# if HAVE_RAW_DECL_LSTAT
+_GL_WARN_ON_USE (lstat, "lstat is unportable - "
+ "use gnulib module lstat for portability");
+# endif
+#endif
+
+
+#if @REPLACE_MKDIR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mkdir
+# define mkdir rpl_mkdir
+# endif
+_GL_FUNCDECL_RPL (mkdir, int, (char const *name, mode_t mode)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode));
+#else
+/* mingw's _mkdir() function has 1 argument, but we pass 2 arguments.
+ Additionally, it declares _mkdir (and depending on compile flags, an
+ alias mkdir), only in the nonstandard includes <direct.h> and <io.h>,
+ which are included above. */
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+# if !GNULIB_defined_rpl_mkdir
+static inline int
+rpl_mkdir (char const *name, mode_t mode)
+{
+ return _mkdir (name);
+}
+# define GNULIB_defined_rpl_mkdir 1
+# endif
+
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define mkdir rpl_mkdir
+# endif
+_GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode));
+# else
+_GL_CXXALIAS_SYS (mkdir, int, (char const *name, mode_t mode));
+# endif
+#endif
+_GL_CXXALIASWARN (mkdir);
+
+
+#if @GNULIB_MKDIRAT@
+# if !@HAVE_MKDIRAT@
+_GL_FUNCDECL_SYS (mkdirat, int, (int fd, char const *file, mode_t mode)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (mkdirat, int, (int fd, char const *file, mode_t mode));
+_GL_CXXALIASWARN (mkdirat);
+#elif defined GNULIB_POSIXCHECK
+# undef mkdirat
+# if HAVE_RAW_DECL_MKDIRAT
+_GL_WARN_ON_USE (mkdirat, "mkdirat is not portable - "
+ "use gnulib module openat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_MKFIFO@
+# if @REPLACE_MKFIFO@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mkfifo
+# define mkfifo rpl_mkfifo
+# endif
+_GL_FUNCDECL_RPL (mkfifo, int, (char const *file, mode_t mode)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mkfifo, int, (char const *file, mode_t mode));
+# else
+# if !@HAVE_MKFIFO@
+_GL_FUNCDECL_SYS (mkfifo, int, (char const *file, mode_t mode)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkfifo, int, (char const *file, mode_t mode));
+# endif
+_GL_CXXALIASWARN (mkfifo);
+#elif defined GNULIB_POSIXCHECK
+# undef mkfifo
+# if HAVE_RAW_DECL_MKFIFO
+_GL_WARN_ON_USE (mkfifo, "mkfifo is not portable - "
+ "use gnulib module mkfifo for portability");
+# endif
+#endif
+
+
+#if @GNULIB_MKFIFOAT@
+# if !@HAVE_MKFIFOAT@
+_GL_FUNCDECL_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode));
+_GL_CXXALIASWARN (mkfifoat);
+#elif defined GNULIB_POSIXCHECK
+# undef mkfifoat
+# if HAVE_RAW_DECL_MKFIFOAT
+_GL_WARN_ON_USE (mkfifoat, "mkfifoat is not portable - "
+ "use gnulib module mkfifoat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_MKNOD@
+# if @REPLACE_MKNOD@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mknod
+# define mknod rpl_mknod
+# endif
+_GL_FUNCDECL_RPL (mknod, int, (char const *file, mode_t mode, dev_t dev)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mknod, int, (char const *file, mode_t mode, dev_t dev));
+# else
+# if !@HAVE_MKNOD@
+_GL_FUNCDECL_SYS (mknod, int, (char const *file, mode_t mode, dev_t dev)
+ _GL_ARG_NONNULL ((1)));
+# endif
+/* Need to cast, because on OSF/1 5.1, the third parameter is '...'. */
+_GL_CXXALIAS_SYS_CAST (mknod, int, (char const *file, mode_t mode, dev_t dev));
+# endif
+_GL_CXXALIASWARN (mknod);
+#elif defined GNULIB_POSIXCHECK
+# undef mknod
+# if HAVE_RAW_DECL_MKNOD
+_GL_WARN_ON_USE (mknod, "mknod is not portable - "
+ "use gnulib module mknod for portability");
+# endif
+#endif
+
+
+#if @GNULIB_MKNODAT@
+# if !@HAVE_MKNODAT@
+_GL_FUNCDECL_SYS (mknodat, int,
+ (int fd, char const *file, mode_t mode, dev_t dev)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (mknodat, int,
+ (int fd, char const *file, mode_t mode, dev_t dev));
+_GL_CXXALIASWARN (mknodat);
+#elif defined GNULIB_POSIXCHECK
+# undef mknodat
+# if HAVE_RAW_DECL_MKNODAT
+_GL_WARN_ON_USE (mknodat, "mknodat is not portable - "
+ "use gnulib module mkfifoat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_STAT@
+# if @REPLACE_STAT@
+/* We can't use the object-like #define stat rpl_stat, because of
+ struct stat. This means that rpl_stat will not be used if the user
+ does (stat)(a,b). Oh well. */
+# undef stat
+# ifdef _LARGE_FILES
+ /* With _LARGE_FILES defined, AIX (only) defines stat to stat64,
+ so we have to replace stat64() instead of stat(). */
+# define stat stat64
+# undef stat64
+# define stat64(name, st) rpl_stat (name, st)
+# else /* !_LARGE_FILES */
+# define stat(name, st) rpl_stat (name, st)
+# endif /* !_LARGE_FILES */
+_GL_EXTERN_C int stat (const char *name, struct stat *buf)
+ _GL_ARG_NONNULL ((1, 2));
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef stat
+# if HAVE_RAW_DECL_STAT
+_GL_WARN_ON_USE (stat, "stat is unportable - "
+ "use gnulib module stat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_UTIMENSAT@
+/* Use the rpl_ prefix also on Solaris <= 9, because on Solaris 9 our utimensat
+ implementation relies on futimesat, which on Solaris 10 makes an invocation
+ to utimensat that is meant to invoke the libc's utimensat(), not gnulib's
+ utimensat(). */
+# if @REPLACE_UTIMENSAT@ || (!@HAVE_UTIMENSAT@ && defined __sun)
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef utimensat
+# define utimensat rpl_utimensat
+# endif
+_GL_FUNCDECL_RPL (utimensat, int, (int fd, char const *name,
+ struct timespec const times[2], int flag)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (utimensat, int, (int fd, char const *name,
+ struct timespec const times[2], int flag));
+# else
+# if !@HAVE_UTIMENSAT@
+_GL_FUNCDECL_SYS (utimensat, int, (int fd, char const *name,
+ struct timespec const times[2], int flag)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (utimensat, int, (int fd, char const *name,
+ struct timespec const times[2], int flag));
+# endif
+# if @HAVE_UTIMENSAT@
+_GL_CXXALIASWARN (utimensat);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef utimensat
+# if HAVE_RAW_DECL_UTIMENSAT
+_GL_WARN_ON_USE (utimensat, "utimensat is not portable - "
+ "use gnulib module utimensat for portability");
+# endif
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_SYS_STAT_H */
+#endif /* _@GUARD_PREFIX@_SYS_STAT_H */
+#endif
--- /dev/null
+/* Test of optional automatic memory allocation.
+ Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include <alloca.h>
+
+#if HAVE_ALLOCA
+
+static void
+do_allocation (int n)
+{
+ void *ptr = alloca (n);
+ (void) ptr;
+}
+
+void (*func) (int) = do_allocation;
+
+#endif
+
+int
+main ()
+{
+#if HAVE_ALLOCA
+ int i;
+
+ /* Repeat a lot of times, to make sure there's no memory leak. */
+ for (i = 0; i < 100000; i++)
+ {
+ /* Try various values.
+ n = 0 gave a crash on Alpha with gcc-2.5.8.
+ Some versions of MacOS X have a stack size limit of 512 KB. */
+ func (34);
+ func (134);
+ func (399);
+ func (510823);
+ func (129321);
+ func (0);
+ func (4070);
+ func (4095);
+ func (1);
+ func (16582);
+ }
+#endif
+
+ return 0;
+}
--- /dev/null
+/* Test closing a file or socket.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (close, int, (int));
+
+#include <errno.h>
+
+#include "macros.h"
+
+int
+main (void)
+{
+ /* Test behaviour for invalid file descriptors. */
+ {
+ errno = 0;
+ ASSERT (close (-1) == -1);
+ ASSERT (errno == EBADF);
+ }
+ {
+ errno = 0;
+ ASSERT (close (99) == -1);
+ ASSERT (errno == EBADF);
+ }
+
+ return 0;
+}
--- /dev/null
+/* Test duplicating file descriptors.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009. */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (dup2, int, (int, int));
+
+#include <errno.h>
+#include <fcntl.h>
+
+#include "binary-io.h"
+
+#if GNULIB_TEST_CLOEXEC
+# include "cloexec.h"
+#endif
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* Get declarations of the Win32 API functions. */
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+/* Get _get_osfhandle. */
+# include "msvc-nothrow.h"
+#endif
+
+#include "macros.h"
+
+/* Return non-zero if FD is open. */
+static int
+is_open (int fd)
+{
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+ /* On Win32, the initial state of unassigned standard file
+ descriptors is that they are open but point to an
+ INVALID_HANDLE_VALUE, and there is no fcntl. */
+ return (HANDLE) _get_osfhandle (fd) != INVALID_HANDLE_VALUE;
+#else
+# ifndef F_GETFL
+# error Please port fcntl to your platform
+# endif
+ return 0 <= fcntl (fd, F_GETFL);
+#endif
+}
+
+#if GNULIB_TEST_CLOEXEC
+/* Return non-zero if FD is open and inheritable across exec/spawn. */
+static int
+is_inheritable (int fd)
+{
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+ /* On Win32, the initial state of unassigned standard file
+ descriptors is that they are open but point to an
+ INVALID_HANDLE_VALUE, and there is no fcntl. */
+ HANDLE h = (HANDLE) _get_osfhandle (fd);
+ DWORD flags;
+ if (h == INVALID_HANDLE_VALUE || GetHandleInformation (h, &flags) == 0)
+ return 0;
+ return (flags & HANDLE_FLAG_INHERIT) != 0;
+# else
+# ifndef F_GETFD
+# error Please port fcntl to your platform
+# endif
+ int i = fcntl (fd, F_GETFD);
+ return 0 <= i && (i & FD_CLOEXEC) == 0;
+# endif
+}
+#endif /* GNULIB_TEST_CLOEXEC */
+
+#if !O_BINARY
+# define setmode(f,m) zero ()
+static int zero (void) { return 0; }
+#endif
+
+/* Return non-zero if FD is open in the given MODE, which is either
+ O_TEXT or O_BINARY. */
+static int
+is_mode (int fd, int mode)
+{
+ int value = setmode (fd, O_BINARY);
+ setmode (fd, value);
+ return mode == value;
+}
+
+int
+main (void)
+{
+ const char *file = "test-dup2.tmp";
+ char buffer[1];
+ int fd = open (file, O_CREAT | O_TRUNC | O_RDWR, 0600);
+
+ /* Assume std descriptors were provided by invoker. */
+ ASSERT (STDERR_FILENO < fd);
+ ASSERT (is_open (fd));
+ /* Ignore any other fd's leaked into this process. */
+ close (fd + 1);
+ close (fd + 2);
+ ASSERT (!is_open (fd + 1));
+ ASSERT (!is_open (fd + 2));
+
+ /* Assigning to self must be a no-op. */
+ ASSERT (dup2 (fd, fd) == fd);
+ ASSERT (is_open (fd));
+
+ /* The source must be valid. */
+ errno = 0;
+ ASSERT (dup2 (-1, fd) == -1);
+ ASSERT (errno == EBADF);
+ errno = 0;
+ ASSERT (dup2 (99, fd) == -1);
+ ASSERT (errno == EBADF);
+ errno = 0;
+ ASSERT (dup2 (AT_FDCWD, fd) == -1);
+ ASSERT (errno == EBADF);
+ ASSERT (is_open (fd));
+
+ /* If the source is not open, then the destination is unaffected. */
+ errno = 0;
+ ASSERT (dup2 (fd + 1, fd + 1) == -1);
+ ASSERT (errno == EBADF);
+ ASSERT (!is_open (fd + 1));
+ errno = 0;
+ ASSERT (dup2 (fd + 1, fd) == -1);
+ ASSERT (errno == EBADF);
+ ASSERT (is_open (fd));
+
+ /* The destination must be valid. */
+ errno = 0;
+ ASSERT (dup2 (fd, -2) == -1);
+ ASSERT (errno == EBADF);
+ errno = 0;
+ ASSERT (dup2 (fd, 10000000) == -1);
+ ASSERT (errno == EBADF);
+
+ /* Using dup2 can skip fds. */
+ ASSERT (dup2 (fd, fd + 2) == fd + 2);
+ ASSERT (is_open (fd));
+ ASSERT (!is_open (fd + 1));
+ ASSERT (is_open (fd + 2));
+
+ /* Verify that dup2 closes the previous occupant of a fd. */
+ ASSERT (open ("/dev/null", O_WRONLY, 0600) == fd + 1);
+ ASSERT (dup2 (fd + 1, fd) == fd);
+ ASSERT (close (fd + 1) == 0);
+ ASSERT (write (fd, "1", 1) == 1);
+ ASSERT (dup2 (fd + 2, fd) == fd);
+ ASSERT (lseek (fd, 0, SEEK_END) == 0);
+ ASSERT (write (fd + 2, "2", 1) == 1);
+ ASSERT (lseek (fd, 0, SEEK_SET) == 0);
+ ASSERT (read (fd, buffer, 1) == 1);
+ ASSERT (*buffer == '2');
+
+#if GNULIB_TEST_CLOEXEC
+ /* Any new fd created by dup2 must not be cloexec. */
+ ASSERT (close (fd + 2) == 0);
+ ASSERT (dup_cloexec (fd) == fd + 1);
+ ASSERT (!is_inheritable (fd + 1));
+ ASSERT (dup2 (fd + 1, fd + 1) == fd + 1);
+ ASSERT (!is_inheritable (fd + 1));
+ ASSERT (dup2 (fd + 1, fd + 2) == fd + 2);
+ ASSERT (!is_inheritable (fd + 1));
+ ASSERT (is_inheritable (fd + 2));
+ errno = 0;
+ ASSERT (dup2 (fd + 1, -1) == -1);
+ ASSERT (errno == EBADF);
+ ASSERT (!is_inheritable (fd + 1));
+#endif
+
+ /* On systems that distinguish between text and binary mode, dup2
+ reuses the mode of the source. */
+ setmode (fd, O_BINARY);
+ ASSERT (is_mode (fd, O_BINARY));
+ ASSERT (dup2 (fd, fd + 1) == fd + 1);
+ ASSERT (is_mode (fd + 1, O_BINARY));
+ setmode (fd, O_TEXT);
+ ASSERT (is_mode (fd, O_TEXT));
+ ASSERT (dup2 (fd, fd + 1) == fd + 1);
+ ASSERT (is_mode (fd + 1, O_TEXT));
+
+ /* Clean up. */
+ ASSERT (close (fd + 2) == 0);
+ ASSERT (close (fd + 1) == 0);
+ ASSERT (close (fd) == 0);
+ ASSERT (unlink (file) == 0);
+
+ return 0;
+}
--- /dev/null
+/* Test of environ variable.
+ Copyright (C) 2008-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2008. */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include <string.h>
+
+int
+main ()
+{
+ /* The environment variables that are set even in the weirdest situations
+ are HOME and PATH.
+ POSIX says that HOME is initialized by the system, and that PATH may be
+ unset. But in practice it's more frequent to see HOME unset and PATH
+ set. So we test the presence of PATH. */
+ char **remaining_variables = environ;
+ char *string;
+
+ for (; (string = *remaining_variables) != NULL; remaining_variables++)
+ {
+ if (strncmp (string, "PATH=", 5) == 0)
+ /* Found the PATH environment variable. */
+ return 0;
+ }
+ /* Failed to find the PATH environment variable. */
+ return 1;
+}
/* Test of <errno.h> substitute.
- Copyright (C) 2008 Free Software Foundation, Inc.
+ Copyright (C) 2008-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
--- /dev/null
+/* Test opening a stream with a file descriptor.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fdopen, FILE *, (int, const char *));
+
+#include <errno.h>
+
+#include "macros.h"
+
+int
+main (void)
+{
+ /* Test behaviour for invalid file descriptors. */
+ {
+ FILE *fp;
+
+ errno = 0;
+ fp = fdopen (-1, "r");
+ if (fp == NULL)
+ ASSERT (errno == EBADF);
+ else
+ fclose (fp);
+ }
+ {
+ FILE *fp;
+
+ errno = 0;
+ fp = fdopen (99, "r");
+ if (fp == NULL)
+ ASSERT (errno == EBADF);
+ else
+ fclose (fp);
+ }
+
+ return 0;
+}
--- /dev/null
+/* Test of fgetc() function.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fgetc, int, (FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "msvc-inval.h"
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+ const char *filename = "test-fgetc.txt";
+
+ /* We don't have an fgetc() function that installs an invalid parameter
+ handler so far. So install that handler here, explicitly. */
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+ && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+ gl_msvc_inval_ensure_handler ();
+#endif
+
+ /* Prepare a file. */
+ {
+ const char text[] = "hello world";
+ int fd = open (filename, O_RDWR | O_CREAT | O_TRUNC, 0600);
+ ASSERT (fd >= 0);
+ ASSERT (write (fd, text, sizeof (text)) == sizeof (text));
+ ASSERT (close (fd) == 0);
+ }
+
+ /* Test that fgetc() sets errno if someone else closes the stream
+ fd behind the back of stdio. */
+ {
+ FILE *fp = fopen (filename, "r");
+ ASSERT (fp != NULL);
+ ASSERT (close (fileno (fp)) == 0);
+ errno = 0;
+ ASSERT (fgetc (fp) == EOF);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+
+ /* Test that fgetc() sets errno if the stream was constructed with
+ an invalid file descriptor. */
+ {
+ FILE *fp = fdopen (-1, "r");
+ if (fp != NULL)
+ {
+ errno = 0;
+ ASSERT (fgetc (fp) == EOF);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+ {
+ FILE *fp = fdopen (99, "r");
+ if (fp != NULL)
+ {
+ errno = 0;
+ ASSERT (fgetc (fp) == EOF);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+
+ /* Clean up. */
+ unlink (filename);
+
+ return 0;
+}
--- /dev/null
+/* Test of fputc() function.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fputc, int, (int, FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "msvc-inval.h"
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+ const char *filename = "test-fputc.txt";
+
+ /* We don't have an fputc() function that installs an invalid parameter
+ handler so far. So install that handler here, explicitly. */
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+ && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+ gl_msvc_inval_ensure_handler ();
+#endif
+
+ /* Test that fputc() on an unbuffered stream sets errno if someone else
+ closes the stream fd behind the back of stdio. */
+ {
+ FILE *fp = fopen (filename, "w");
+ ASSERT (fp != NULL);
+ setvbuf (fp, NULL, _IONBF, 0);
+ ASSERT (close (fileno (fp)) == 0);
+ errno = 0;
+ ASSERT (fputc ('x', fp) == EOF);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+
+ /* Test that fputc() on an unbuffered stream sets errno if the stream
+ was constructed with an invalid file descriptor. */
+ {
+ FILE *fp = fdopen (-1, "w");
+ if (fp != NULL)
+ {
+ setvbuf (fp, NULL, _IONBF, 0);
+ errno = 0;
+ ASSERT (fputc ('x', fp) == EOF);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+ {
+ FILE *fp = fdopen (99, "w");
+ if (fp != NULL)
+ {
+ setvbuf (fp, NULL, _IONBF, 0);
+ errno = 0;
+ ASSERT (fputc ('x', fp) == EOF);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+
+ /* Clean up. */
+ unlink (filename);
+
+ return 0;
+}
--- /dev/null
+/* Test of fread() function.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fread, size_t, (void *, size_t, size_t, FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "msvc-inval.h"
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+ const char *filename = "test-fread.txt";
+
+ /* We don't have an fread() function that installs an invalid parameter
+ handler so far. So install that handler here, explicitly. */
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+ && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+ gl_msvc_inval_ensure_handler ();
+#endif
+
+ /* Prepare a file. */
+ {
+ const char text[] = "hello world";
+ int fd = open (filename, O_RDWR | O_CREAT | O_TRUNC, 0600);
+ ASSERT (fd >= 0);
+ ASSERT (write (fd, text, sizeof (text)) == sizeof (text));
+ ASSERT (close (fd) == 0);
+ }
+
+ /* Test that fread() sets errno if someone else closes the stream
+ fd behind the back of stdio. */
+ {
+ FILE *fp = fopen (filename, "r");
+ char buf[5];
+ ASSERT (fp != NULL);
+ ASSERT (close (fileno (fp)) == 0);
+ errno = 0;
+ ASSERT (fread (buf, 1, sizeof (buf), fp) == 0);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+
+ /* Test that fread() sets errno if the stream was constructed with
+ an invalid file descriptor. */
+ {
+ FILE *fp = fdopen (-1, "r");
+ if (fp != NULL)
+ {
+ char buf[1];
+ errno = 0;
+ ASSERT (fread (buf, 1, 1, fp) == 0);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+ {
+ FILE *fp = fdopen (99, "r");
+ if (fp != NULL)
+ {
+ char buf[1];
+ errno = 0;
+ ASSERT (fread (buf, 1, 1, fp) == 0);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+
+ /* Clean up. */
+ unlink (filename);
+
+ return 0;
+}
--- /dev/null
+/* Tests of fstat() function.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <sys/stat.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fstat, int, (int, struct stat *));
+
+#include <errno.h>
+
+#include "macros.h"
+
+int
+main (int argc, char *argv[])
+{
+ /* Test behaviour for invalid file descriptors. */
+ {
+ struct stat statbuf;
+
+ errno = 0;
+ ASSERT (fstat (-1, &statbuf) == -1);
+ ASSERT (errno == EBADF);
+ }
+ {
+ struct stat statbuf;
+
+ errno = 0;
+ ASSERT (fstat (99, &statbuf) == -1);
+ ASSERT (errno == EBADF);
+ }
+
+ return 0;
+}
--- /dev/null
+/* Test of fwrite() function.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (fwrite, size_t, (const void *, size_t, size_t, FILE *));
+
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "msvc-inval.h"
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+ const char *filename = "test-fwrite.txt";
+
+ /* We don't have an fwrite() function that installs an invalid parameter
+ handler so far. So install that handler here, explicitly. */
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER \
+ && MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING
+ gl_msvc_inval_ensure_handler ();
+#endif
+
+ /* Test that fwrite() on an unbuffered stream sets errno if someone else
+ closes the stream fd behind the back of stdio. */
+ {
+ FILE *fp = fopen (filename, "w");
+ char buf[5] = "world";
+ ASSERT (fp != NULL);
+ setvbuf (fp, NULL, _IONBF, 0);
+ ASSERT (close (fileno (fp)) == 0);
+ errno = 0;
+ ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+
+ /* Test that fwrite() on an unbuffered stream sets errno if the stream
+ was constructed with an invalid file descriptor. */
+ {
+ FILE *fp = fdopen (-1, "w");
+ if (fp != NULL)
+ {
+ char buf[5] = "world";
+ setvbuf (fp, NULL, _IONBF, 0);
+ errno = 0;
+ ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+ {
+ FILE *fp = fdopen (99, "w");
+ if (fp != NULL)
+ {
+ char buf[5] = "world";
+ setvbuf (fp, NULL, _IONBF, 0);
+ errno = 0;
+ ASSERT (fwrite (buf, 1, sizeof (buf), fp) == 0);
+ ASSERT (errno == EBADF);
+ ASSERT (ferror (fp));
+ fclose (fp);
+ }
+ }
+
+ /* Clean up. */
+ unlink (filename);
+
+ return 0;
+}
--- /dev/null
+/* Test of getcwd() function.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (getcwd, char *, (char *, size_t));
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "macros.h"
+
+int
+main (int argc, char **argv)
+{
+ char *pwd1;
+ char *pwd2;
+ /* If the user provides an argument, attempt to chdir there first. */
+ if (1 < argc)
+ {
+ if (chdir (argv[1]) == 0)
+ printf ("changed to directory %s\n", argv[1]);
+ }
+
+ pwd1 = getcwd (NULL, 0);
+ ASSERT (pwd1 && *pwd1);
+ if (1 < argc)
+ printf ("cwd=%s\n", pwd1);
+
+ /* Make sure the result is usable. */
+ ASSERT (chdir (pwd1) == 0);
+ ASSERT (chdir (".//./.") == 0);
+
+ /* Make sure that result is normalized. */
+ pwd2 = getcwd (NULL, 0);
+ ASSERT (pwd2);
+ ASSERT (strcmp (pwd1, pwd2) == 0);
+ free (pwd2);
+ {
+ size_t len = strlen (pwd1);
+ ssize_t i = len - 10;
+ if (i < 1)
+ i = 1;
+ pwd2 = getcwd (NULL, len + 1);
+ ASSERT (pwd2);
+ free (pwd2);
+ pwd2 = malloc (len + 2);
+ for ( ; i <= len; i++)
+ {
+ char *tmp;
+ errno = 0;
+ ASSERT (getcwd (pwd2, i) == NULL);
+ ASSERT (errno == ERANGE);
+ /* Allow either glibc or BSD behavior, since POSIX allows both. */
+ errno = 0;
+ tmp = getcwd (NULL, i);
+ if (tmp)
+ {
+ ASSERT (strcmp (pwd1, tmp) == 0);
+ free (tmp);
+ }
+ else
+ {
+ ASSERT (errno == ERANGE);
+ }
+ }
+ ASSERT (getcwd (pwd2, len + 1) == pwd2);
+ pwd2[len] = '/';
+ pwd2[len + 1] = '\0';
+ }
+ ASSERT (strstr (pwd2, "/./") == NULL);
+ ASSERT (strstr (pwd2, "/../") == NULL);
+ ASSERT (strstr (pwd2 + 1 + (pwd2[1] == '/'), "//") == NULL);
+
+ /* Validate a POSIX requirement on size. */
+ errno = 0;
+ ASSERT (getcwd(pwd2, 0) == NULL);
+ ASSERT (errno == EINVAL);
+
+ free (pwd1);
+ free (pwd2);
+
+ return 0;
+}
--- /dev/null
+/* Test of command line argument processing.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2009. */
+
+#include <config.h>
+
+/* None of the files accessed by this test are large, so disable the
+ ftell link warning if we are not using the gnulib ftell module. */
+#define _GL_NO_LARGE_FILES
+
+#if GNULIB_TEST_GETOPT_GNU
+# include <getopt.h>
+
+# ifndef __getopt_argv_const
+# define __getopt_argv_const const
+# endif
+# include "signature.h"
+SIGNATURE_CHECK (getopt_long, int, (int, char *__getopt_argv_const *,
+ char const *, struct option const *,
+ int *));
+SIGNATURE_CHECK (getopt_long_only, int, (int, char *__getopt_argv_const *,
+ char const *, struct option const *,
+ int *));
+
+#endif
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (getopt, int, (int, char * const[], char const *));
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+/* This test intentionally remaps stderr. So, we arrange to have fd 10
+ (outside the range of interesting fd's during the test) set up to
+ duplicate the original stderr. */
+
+#define BACKUP_STDERR_FILENO 10
+#define ASSERT_STREAM myerr
+#include "macros.h"
+
+static FILE *myerr;
+
+#include "test-getopt.h"
+#if GNULIB_TEST_GETOPT_GNU
+# include "test-getopt_long.h"
+#endif
+
+int
+main (void)
+{
+ /* This test validates that stderr is used correctly, so move the
+ original into fd 10. */
+ if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO
+ || (myerr = fdopen (BACKUP_STDERR_FILENO, "w")) == NULL)
+ return 2;
+
+ ASSERT (freopen ("test-getopt.tmp", "w", stderr) == stderr);
+
+ /* These default values are required by POSIX. */
+ ASSERT (optind == 1);
+ ASSERT (opterr != 0);
+
+ setenv ("POSIXLY_CORRECT", "1", 1);
+ test_getopt ();
+
+#if GNULIB_TEST_GETOPT_GNU
+ test_getopt_long_posix ();
+#endif
+
+ unsetenv ("POSIXLY_CORRECT");
+ test_getopt ();
+
+#if GNULIB_TEST_GETOPT_GNU
+ test_getopt_long ();
+ test_getopt_long_only ();
+#endif
+
+ ASSERT (fclose (stderr) == 0);
+ ASSERT (remove ("test-getopt.tmp") == 0);
+
+ return 0;
+}
--- /dev/null
+/* Test of command line argument processing.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2009. */
+
+#include <stdbool.h>
+
+/* The glibc/gnulib implementation of getopt supports setting optind =
+ 0, but not all other implementations do. This matters for getopt.
+ But for getopt_long, we require GNU compatibility. */
+#if defined __GETOPT_PREFIX || (__GLIBC__ >= 2 && !defined __UCLIBC__)
+# define OPTIND_MIN 0
+#elif HAVE_DECL_OPTRESET
+# define OPTIND_MIN (optreset = 1)
+#else
+# define OPTIND_MIN 1
+#endif
+
+static void
+getopt_loop (int argc, const char **argv,
+ const char *options,
+ int *a_seen, int *b_seen,
+ const char **p_value, const char **q_value,
+ int *non_options_count, const char **non_options,
+ int *unrecognized, bool *message_issued)
+{
+ int c;
+ int pos = ftell (stderr);
+
+ while ((c = getopt (argc, (char **) argv, options)) != -1)
+ {
+ switch (c)
+ {
+ case 'a':
+ (*a_seen)++;
+ break;
+ case 'b':
+ (*b_seen)++;
+ break;
+ case 'p':
+ *p_value = optarg;
+ break;
+ case 'q':
+ *q_value = optarg;
+ break;
+ case '\1':
+ /* Must only happen with option '-' at the beginning. */
+ ASSERT (options[0] == '-');
+ non_options[(*non_options_count)++] = optarg;
+ break;
+ case ':':
+ /* Must only happen with option ':' at the beginning. */
+ ASSERT (options[0] == ':'
+ || ((options[0] == '-' || options[0] == '+')
+ && options[1] == ':'));
+ /* fall through */
+ case '?':
+ *unrecognized = optopt;
+ break;
+ default:
+ *unrecognized = c;
+ break;
+ }
+ }
+
+ *message_issued = pos < ftell (stderr);
+}
+
+static void
+test_getopt (void)
+{
+ int start;
+ bool posixly = !!getenv ("POSIXLY_CORRECT");
+ /* See comment in getopt.c:
+ glibc gets a LSB-compliant getopt.
+ Standalone applications get a POSIX-compliant getopt. */
+#if defined __GETOPT_PREFIX || !(__GLIBC__ >= 2 || defined __MINGW32__)
+ /* Using getopt from gnulib or from a non-glibc system. */
+ posixly = true;
+#endif
+
+ /* Test processing of boolean options. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-a";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "ab",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ ASSERT (!output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-b";
+ argv[argc++] = "-a";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "ab",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 3);
+ ASSERT (!output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-ba";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "ab",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ ASSERT (!output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-ab";
+ argv[argc++] = "-a";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "ab",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 2);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 3);
+ ASSERT (!output);
+ }
+
+ /* Test processing of options with arguments. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-pfoo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "p:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ ASSERT (!output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "p:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 3);
+ ASSERT (!output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-ab";
+ argv[argc++] = "-q";
+ argv[argc++] = "baz";
+ argv[argc++] = "-pfoo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 5);
+ ASSERT (!output);
+ }
+
+#if GNULIB_TEST_GETOPT_GNU
+ /* Test processing of options with optional arguments. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-pfoo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "p::q::",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ ASSERT (!output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "p::q::",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ ASSERT (!output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "abp::q::",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 3);
+ ASSERT (!output);
+ }
+#endif /* GNULIB_TEST_GETOPT_GNU */
+
+ /* Check that invalid options are recognized; and that both opterr
+ and leading ':' can silence output. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "foo";
+ argv[argc++] = "-x";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 42;
+ getopt_loop (argc, argv, "abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 'x');
+ ASSERT (optind == 5);
+ ASSERT (output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "foo";
+ argv[argc++] = "-x";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 0;
+ getopt_loop (argc, argv, "abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 'x');
+ ASSERT (optind == 5);
+ ASSERT (!output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "foo";
+ argv[argc++] = "-x";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, ":abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 'x');
+ ASSERT (optind == 5);
+ ASSERT (!output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "foo";
+ argv[argc++] = "-:";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 42;
+ getopt_loop (argc, argv, "abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == ':');
+ ASSERT (optind == 5);
+ ASSERT (output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "foo";
+ argv[argc++] = "-:";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 0;
+ getopt_loop (argc, argv, "abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == ':');
+ ASSERT (optind == 5);
+ ASSERT (!output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "foo";
+ argv[argc++] = "-:";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, ":abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == ':');
+ ASSERT (optind == 5);
+ ASSERT (!output);
+ }
+
+ /* Check for missing argument behavior. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-ap";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 'p');
+ ASSERT (optind == 2);
+ ASSERT (output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-ap";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 0;
+ getopt_loop (argc, argv, "abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 'p');
+ ASSERT (optind == 2);
+ ASSERT (!output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-ap";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, ":abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 'p');
+ ASSERT (optind == 2);
+ ASSERT (!output);
+ }
+
+ /* Check that by default, non-options arguments are moved to the end. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ if (posixly)
+ {
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "donald") == 0);
+ ASSERT (strcmp (argv[2], "-p") == 0);
+ ASSERT (strcmp (argv[3], "billy") == 0);
+ ASSERT (strcmp (argv[4], "duck") == 0);
+ ASSERT (strcmp (argv[5], "-a") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 1);
+ ASSERT (!output);
+ }
+ else
+ {
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "-p") == 0);
+ ASSERT (strcmp (argv[2], "billy") == 0);
+ ASSERT (strcmp (argv[3], "-a") == 0);
+ ASSERT (strcmp (argv[4], "donald") == 0);
+ ASSERT (strcmp (argv[5], "duck") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 4);
+ ASSERT (!output);
+ }
+ }
+
+ /* Check that '--' ends the argument processing. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[20];
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "--";
+ argv[argc++] = "-b";
+ argv[argc++] = "foo";
+ argv[argc++] = "-q";
+ argv[argc++] = "johnny";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ if (posixly)
+ {
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "donald") == 0);
+ ASSERT (strcmp (argv[2], "-p") == 0);
+ ASSERT (strcmp (argv[3], "billy") == 0);
+ ASSERT (strcmp (argv[4], "duck") == 0);
+ ASSERT (strcmp (argv[5], "-a") == 0);
+ ASSERT (strcmp (argv[6], "--") == 0);
+ ASSERT (strcmp (argv[7], "-b") == 0);
+ ASSERT (strcmp (argv[8], "foo") == 0);
+ ASSERT (strcmp (argv[9], "-q") == 0);
+ ASSERT (strcmp (argv[10], "johnny") == 0);
+ ASSERT (strcmp (argv[11], "bar") == 0);
+ ASSERT (argv[12] == NULL);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 1);
+ ASSERT (!output);
+ }
+ else
+ {
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "-p") == 0);
+ ASSERT (strcmp (argv[2], "billy") == 0);
+ ASSERT (strcmp (argv[3], "-a") == 0);
+ ASSERT (strcmp (argv[4], "--") == 0);
+ ASSERT (strcmp (argv[5], "donald") == 0);
+ ASSERT (strcmp (argv[6], "duck") == 0);
+ ASSERT (strcmp (argv[7], "-b") == 0);
+ ASSERT (strcmp (argv[8], "foo") == 0);
+ ASSERT (strcmp (argv[9], "-q") == 0);
+ ASSERT (strcmp (argv[10], "johnny") == 0);
+ ASSERT (strcmp (argv[11], "bar") == 0);
+ ASSERT (argv[12] == NULL);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 5);
+ ASSERT (!output);
+ }
+ }
+
+#if GNULIB_TEST_GETOPT_GNU
+ /* Check that the '-' flag causes non-options to be returned in order. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "-abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "donald") == 0);
+ ASSERT (strcmp (argv[2], "-p") == 0);
+ ASSERT (strcmp (argv[3], "billy") == 0);
+ ASSERT (strcmp (argv[4], "duck") == 0);
+ ASSERT (strcmp (argv[5], "-a") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 3);
+ ASSERT (strcmp (non_options[0], "donald") == 0);
+ ASSERT (strcmp (non_options[1], "duck") == 0);
+ ASSERT (strcmp (non_options[2], "bar") == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 7);
+ ASSERT (!output);
+ }
+
+ /* Check that '--' ends the argument processing. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[20];
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "--";
+ argv[argc++] = "-b";
+ argv[argc++] = "foo";
+ argv[argc++] = "-q";
+ argv[argc++] = "johnny";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "-abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "donald") == 0);
+ ASSERT (strcmp (argv[2], "-p") == 0);
+ ASSERT (strcmp (argv[3], "billy") == 0);
+ ASSERT (strcmp (argv[4], "duck") == 0);
+ ASSERT (strcmp (argv[5], "-a") == 0);
+ ASSERT (strcmp (argv[6], "--") == 0);
+ ASSERT (strcmp (argv[7], "-b") == 0);
+ ASSERT (strcmp (argv[8], "foo") == 0);
+ ASSERT (strcmp (argv[9], "-q") == 0);
+ ASSERT (strcmp (argv[10], "johnny") == 0);
+ ASSERT (strcmp (argv[11], "bar") == 0);
+ ASSERT (argv[12] == NULL);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (!output);
+ if (non_options_count == 2)
+ {
+ /* glibc behaviour. */
+ ASSERT (non_options_count == 2);
+ ASSERT (strcmp (non_options[0], "donald") == 0);
+ ASSERT (strcmp (non_options[1], "duck") == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 7);
+ }
+ else
+ {
+ /* Another valid behaviour. */
+ ASSERT (non_options_count == 7);
+ ASSERT (strcmp (non_options[0], "donald") == 0);
+ ASSERT (strcmp (non_options[1], "duck") == 0);
+ ASSERT (strcmp (non_options[2], "-b") == 0);
+ ASSERT (strcmp (non_options[3], "foo") == 0);
+ ASSERT (strcmp (non_options[4], "-q") == 0);
+ ASSERT (strcmp (non_options[5], "johnny") == 0);
+ ASSERT (strcmp (non_options[6], "bar") == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 12);
+ }
+ }
+
+ /* Check that the '-' flag has to come first. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "abp:q:-",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ if (posixly)
+ {
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "donald") == 0);
+ ASSERT (strcmp (argv[2], "-p") == 0);
+ ASSERT (strcmp (argv[3], "billy") == 0);
+ ASSERT (strcmp (argv[4], "duck") == 0);
+ ASSERT (strcmp (argv[5], "-a") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 1);
+ ASSERT (!output);
+ }
+ else
+ {
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "-p") == 0);
+ ASSERT (strcmp (argv[2], "billy") == 0);
+ ASSERT (strcmp (argv[3], "-a") == 0);
+ ASSERT (strcmp (argv[4], "donald") == 0);
+ ASSERT (strcmp (argv[5], "duck") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 4);
+ ASSERT (!output);
+ }
+ }
+
+ /* Check that the '+' flag causes the first non-option to terminate the
+ loop. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "+abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "donald") == 0);
+ ASSERT (strcmp (argv[2], "-p") == 0);
+ ASSERT (strcmp (argv[3], "billy") == 0);
+ ASSERT (strcmp (argv[4], "duck") == 0);
+ ASSERT (strcmp (argv[5], "-a") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 1);
+ ASSERT (!output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-+";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_loop (argc, argv, "+abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == '+');
+ ASSERT (optind == 2);
+ ASSERT (output);
+ }
+
+ /* Check that '--' ends the argument processing. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[20];
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "--";
+ argv[argc++] = "-b";
+ argv[argc++] = "foo";
+ argv[argc++] = "-q";
+ argv[argc++] = "johnny";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "+abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "donald") == 0);
+ ASSERT (strcmp (argv[2], "-p") == 0);
+ ASSERT (strcmp (argv[3], "billy") == 0);
+ ASSERT (strcmp (argv[4], "duck") == 0);
+ ASSERT (strcmp (argv[5], "-a") == 0);
+ ASSERT (strcmp (argv[6], "--") == 0);
+ ASSERT (strcmp (argv[7], "-b") == 0);
+ ASSERT (strcmp (argv[8], "foo") == 0);
+ ASSERT (strcmp (argv[9], "-q") == 0);
+ ASSERT (strcmp (argv[10], "johnny") == 0);
+ ASSERT (strcmp (argv[11], "bar") == 0);
+ ASSERT (argv[12] == NULL);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 1);
+ ASSERT (!output);
+ }
+#endif /* GNULIB_TEST_GETOPT_GNU */
+
+ /* Check that the '+' flag has to come first. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "abp:q:+",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ if (posixly)
+ {
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "donald") == 0);
+ ASSERT (strcmp (argv[2], "-p") == 0);
+ ASSERT (strcmp (argv[3], "billy") == 0);
+ ASSERT (strcmp (argv[4], "duck") == 0);
+ ASSERT (strcmp (argv[5], "-a") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 1);
+ ASSERT (!output);
+ }
+ else
+ {
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "-p") == 0);
+ ASSERT (strcmp (argv[2], "billy") == 0);
+ ASSERT (strcmp (argv[3], "-a") == 0);
+ ASSERT (strcmp (argv[4], "donald") == 0);
+ ASSERT (strcmp (argv[5], "duck") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 4);
+ ASSERT (!output);
+ }
+ }
+
+#if GNULIB_TEST_GETOPT_GNU
+ /* If GNU extensions are supported, require compliance with POSIX
+ interpretation on leading '+' behavior.
+ http://austingroupbugs.net/view.php?id=191 */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ getopt_loop (argc, argv, "+:abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "donald") == 0);
+ ASSERT (strcmp (argv[2], "-p") == 0);
+ ASSERT (strcmp (argv[3], "billy") == 0);
+ ASSERT (strcmp (argv[4], "duck") == 0);
+ ASSERT (strcmp (argv[5], "-a") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 1);
+ ASSERT (!output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_loop (argc, argv, "+:abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 'p');
+ ASSERT (optind == 2);
+ ASSERT (!output);
+ }
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int a_seen = 0;
+ int b_seen = 0;
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ bool output;
+ int argc = 0;
+ const char *argv[10];
+
+ argv[argc++] = "program";
+ argv[argc++] = "-b";
+ argv[argc++] = "-p";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_loop (argc, argv, "+:abp:q:",
+ &a_seen, &b_seen, &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized, &output);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 'p');
+ ASSERT (optind == 3);
+ ASSERT (!output);
+ }
+
+ /* Check that 'W' does not dump core:
+ http://sourceware.org/bugzilla/show_bug.cgi?id=12922
+ Technically, POSIX says the presence of ';' in the opt-string
+ gives unspecified behavior, so we only test this when GNU compliance
+ is desired. */
+ for (start = OPTIND_MIN; start <= 1; start++)
+ {
+ int argc = 0;
+ const char *argv[10];
+ int pos = ftell (stderr);
+
+ argv[argc++] = "program";
+ argv[argc++] = "-W";
+ argv[argc++] = "dummy";
+ argv[argc] = NULL;
+ optind = start;
+ opterr = 1;
+ ASSERT (getopt (argc, (char **) argv, "W;") == 'W');
+ ASSERT (ftell (stderr) == pos);
+ ASSERT (optind == 2);
+ }
+#endif /* GNULIB_TEST_GETOPT_GNU */
+}
--- /dev/null
+/* Test of command line argument processing.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2009. */
+
+static int a_seen;
+static int b_seen;
+static int q_seen;
+
+static const struct option long_options_required[] =
+ {
+ { "alpha", no_argument, NULL, 'a' },
+ { "beta", no_argument, &b_seen, 1 },
+ { "prune", required_argument, NULL, 'p' },
+ { "quetsche", required_argument, &q_seen, 1 },
+ { "xtremely-",no_argument, NULL, 1003 },
+ { "xtra", no_argument, NULL, 1001 },
+ { "xtreme", no_argument, NULL, 1002 },
+ { "xtremely", no_argument, NULL, 1003 },
+ { NULL, 0, NULL, 0 }
+ };
+
+static const struct option long_options_optional[] =
+ {
+ { "alpha", no_argument, NULL, 'a' },
+ { "beta", no_argument, &b_seen, 1 },
+ { "prune", optional_argument, NULL, 'p' },
+ { "quetsche", optional_argument, &q_seen, 1 },
+ { NULL, 0, NULL, 0 }
+ };
+
+static void
+getopt_long_loop (int argc, const char **argv,
+ const char *options, const struct option *long_options,
+ const char **p_value, const char **q_value,
+ int *non_options_count, const char **non_options,
+ int *unrecognized)
+{
+ int option_index = -1;
+ int c;
+
+ opterr = 0;
+ q_seen = 0;
+ while ((c = getopt_long (argc, (char **) argv, options, long_options,
+ &option_index))
+ != -1)
+ {
+ switch (c)
+ {
+ case 0:
+ /* An option with a non-NULL flag pointer was processed. */
+ if (q_seen)
+ *q_value = optarg;
+ break;
+ case 'a':
+ a_seen++;
+ break;
+ case 'b':
+ b_seen = 1;
+ break;
+ case 'p':
+ *p_value = optarg;
+ break;
+ case 'q':
+ *q_value = optarg;
+ break;
+ case '\1':
+ /* Must only happen with option '-' at the beginning. */
+ ASSERT (options[0] == '-');
+ non_options[(*non_options_count)++] = optarg;
+ break;
+ case ':':
+ /* Must only happen with option ':' at the beginning. */
+ ASSERT (options[0] == ':'
+ || ((options[0] == '-' || options[0] == '+')
+ && options[1] == ':'));
+ /* fall through */
+ case '?':
+ *unrecognized = optopt;
+ break;
+ default:
+ *unrecognized = c;
+ break;
+ }
+ }
+}
+
+/* Reduce casting, so we can use string literals elsewhere.
+ getopt_long takes an array of char*, but luckily does not modify
+ those elements, so we can pass const char*. */
+static int
+do_getopt_long (int argc, const char **argv, const char *shortopts,
+ const struct option *longopts, int *longind)
+{
+ return getopt_long (argc, (char **) argv, shortopts, longopts, longind);
+}
+
+static void
+test_getopt_long (void)
+{
+ int start;
+
+ /* Test disambiguation of options. */
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--x";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
+ ASSERT (c == '?');
+ ASSERT (optopt == 0);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--xt";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
+ ASSERT (c == '?');
+ ASSERT (optopt == 0);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--xtr";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
+ ASSERT (c == '?');
+ ASSERT (optopt == 0);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--xtra";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
+ ASSERT (c == 1001);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--xtre";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
+ ASSERT (c == '?');
+ ASSERT (optopt == 0);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--xtrem";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
+ ASSERT (c == '?');
+ ASSERT (optopt == 0);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--xtreme";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
+ ASSERT (c == 1002);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--xtremel";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
+ ASSERT (c == 1003);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--xtremely";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long (argc, argv, "ab", long_options_required, &option_index);
+ ASSERT (c == 1003);
+ }
+
+ /* Check that -W handles unknown options. */
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-W";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long (argc, argv, "W;", long_options_required, &option_index);
+ ASSERT (c == '?');
+ ASSERT (optopt == 'W');
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-Wunknown";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long (argc, argv, "W;", long_options_required, &option_index);
+ /* glibc and BSD behave differently here, but for now, we allow
+ both behaviors since W support is not frequently used. */
+ if (c == '?')
+ {
+ ASSERT (optopt == 0);
+ ASSERT (optarg == NULL);
+ }
+ else
+ {
+ ASSERT (c == 'W');
+ ASSERT (strcmp (optarg, "unknown") == 0);
+ }
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-W";
+ argv[argc++] = "unknown";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long (argc, argv, "W;", long_options_required, &option_index);
+ /* glibc and BSD behave differently here, but for now, we allow
+ both behaviors since W support is not frequently used. */
+ if (c == '?')
+ {
+ ASSERT (optopt == 0);
+ ASSERT (optarg == NULL);
+ }
+ else
+ {
+ ASSERT (c == 'W');
+ ASSERT (strcmp (optarg, "unknown") == 0);
+ }
+ }
+
+ /* Test that 'W' does not dump core:
+ http://sourceware.org/bugzilla/show_bug.cgi?id=12922 */
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-W";
+ argv[argc++] = "dummy";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long (argc, argv, "W;", NULL, &option_index);
+ ASSERT (c == 'W');
+ ASSERT (optind == 2);
+ }
+
+ /* Test processing of boolean short options. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-a";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "ab", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-b";
+ argv[argc++] = "-a";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "ab", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 3);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-ba";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "ab", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-ab";
+ argv[argc++] = "-a";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "ab", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 2);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 3);
+ }
+
+ /* Test processing of boolean long options. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--alpha";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "ab", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--beta";
+ argv[argc++] = "--alpha";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "ab", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 3);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--alpha";
+ argv[argc++] = "--beta";
+ argv[argc++] = "--alpha";
+ argv[argc++] = "--beta";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "ab", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 2);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 5);
+ }
+
+ /* Test processing of boolean long options via -W. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-Walpha";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "abW;", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-W";
+ argv[argc++] = "beta";
+ argv[argc++] = "-W";
+ argv[argc++] = "alpha";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "aW;b", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 5);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-Walpha";
+ argv[argc++] = "-Wbeta";
+ argv[argc++] = "-Walpha";
+ argv[argc++] = "-Wbeta";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "W;ab", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 2);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 5);
+ }
+
+ /* Test processing of short options with arguments. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-pfoo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "p:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "p:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 3);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-ab";
+ argv[argc++] = "-q";
+ argv[argc++] = "baz";
+ argv[argc++] = "-pfoo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 5);
+ }
+
+ /* Test processing of long options with arguments. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--p=foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "p:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--p";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "p:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 3);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-ab";
+ argv[argc++] = "--q";
+ argv[argc++] = "baz";
+ argv[argc++] = "--p=foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 5);
+ }
+
+ /* Test processing of long options with arguments via -W. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-Wp=foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "p:q:W;", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-W";
+ argv[argc++] = "p";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "p:W;q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 4);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-ab";
+ argv[argc++] = "-Wq";
+ argv[argc++] = "baz";
+ argv[argc++] = "-W";
+ argv[argc++] = "p=foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "W;abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value != NULL && strcmp (q_value, "baz") == 0);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 6);
+ }
+
+ /* Test processing of short options with optional arguments. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-pfoo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "p::q::", long_options_optional,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "p::q::", long_options_optional,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "abp::q::", long_options_optional,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 3);
+ }
+
+ /* Test processing of long options with optional arguments. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--p=foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "p::q::", long_options_optional,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--p";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "p::q::", long_options_optional,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--p=";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "p::q::", long_options_optional,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && *p_value == '\0');
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--p";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "abp::q::", long_options_optional,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 3);
+ }
+
+ /* Test processing of long options with optional arguments via -W. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-Wp=foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "p::q::W;", long_options_optional,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-Wp";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "p::q::W;", long_options_optional,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-Wp=";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "W;p::q::", long_options_optional,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && *p_value == '\0');
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-W";
+ argv[argc++] = "p=";
+ argv[argc++] = "foo";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "W;p::q::", long_options_optional,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && *p_value == '\0');
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 3);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-W";
+ argv[argc++] = "p";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "W;abp::q::", long_options_optional,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ /* ASSERT (p_value == NULL); */
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 4);
+ }
+
+ /* Check that invalid options are recognized. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "foo";
+ argv[argc++] = "-x";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 'x');
+ ASSERT (optind == 5);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "foo";
+ argv[argc++] = "-:";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == ':');
+ ASSERT (optind == 5);
+ }
+
+ /* Check that unexpected arguments are recognized. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "foo";
+ argv[argc++] = "--a=";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 'a');
+ ASSERT (optind == 4);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "foo";
+ argv[argc++] = "--b=";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "foo") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ /* When flag is non-zero, glibc sets optopt anyway, but BSD
+ leaves optopt unchanged. */
+ ASSERT (unrecognized == 1 || unrecognized == 0);
+ ASSERT (optind == 4);
+ }
+
+ /* Check that by default, non-options arguments are moved to the end. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "-p") == 0);
+ ASSERT (strcmp (argv[2], "billy") == 0);
+ ASSERT (strcmp (argv[3], "-a") == 0);
+ ASSERT (strcmp (argv[4], "donald") == 0);
+ ASSERT (strcmp (argv[5], "duck") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 4);
+ }
+
+ /* Check that '--' ends the argument processing. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[20];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "--";
+ argv[argc++] = "-b";
+ argv[argc++] = "foo";
+ argv[argc++] = "-q";
+ argv[argc++] = "johnny";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "-p") == 0);
+ ASSERT (strcmp (argv[2], "billy") == 0);
+ ASSERT (strcmp (argv[3], "-a") == 0);
+ ASSERT (strcmp (argv[4], "--") == 0);
+ ASSERT (strcmp (argv[5], "donald") == 0);
+ ASSERT (strcmp (argv[6], "duck") == 0);
+ ASSERT (strcmp (argv[7], "-b") == 0);
+ ASSERT (strcmp (argv[8], "foo") == 0);
+ ASSERT (strcmp (argv[9], "-q") == 0);
+ ASSERT (strcmp (argv[10], "johnny") == 0);
+ ASSERT (strcmp (argv[11], "bar") == 0);
+ ASSERT (argv[12] == NULL);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 5);
+ }
+
+ /* Check that the '-' flag causes non-options to be returned in order. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "-abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "donald") == 0);
+ ASSERT (strcmp (argv[2], "-p") == 0);
+ ASSERT (strcmp (argv[3], "billy") == 0);
+ ASSERT (strcmp (argv[4], "duck") == 0);
+ ASSERT (strcmp (argv[5], "-a") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 3);
+ ASSERT (strcmp (non_options[0], "donald") == 0);
+ ASSERT (strcmp (non_options[1], "duck") == 0);
+ ASSERT (strcmp (non_options[2], "bar") == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 7);
+ }
+
+ /* Check that '--' ends the argument processing. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[20];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "--";
+ argv[argc++] = "-b";
+ argv[argc++] = "foo";
+ argv[argc++] = "-q";
+ argv[argc++] = "johnny";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "-abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "donald") == 0);
+ ASSERT (strcmp (argv[2], "-p") == 0);
+ ASSERT (strcmp (argv[3], "billy") == 0);
+ ASSERT (strcmp (argv[4], "duck") == 0);
+ ASSERT (strcmp (argv[5], "-a") == 0);
+ ASSERT (strcmp (argv[6], "--") == 0);
+ ASSERT (strcmp (argv[7], "-b") == 0);
+ ASSERT (strcmp (argv[8], "foo") == 0);
+ ASSERT (strcmp (argv[9], "-q") == 0);
+ ASSERT (strcmp (argv[10], "johnny") == 0);
+ ASSERT (strcmp (argv[11], "bar") == 0);
+ ASSERT (argv[12] == NULL);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
+ ASSERT (q_value == NULL);
+ if (non_options_count == 2)
+ {
+ /* glibc behaviour. */
+ ASSERT (non_options_count == 2);
+ ASSERT (strcmp (non_options[0], "donald") == 0);
+ ASSERT (strcmp (non_options[1], "duck") == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 7);
+ }
+ else
+ {
+ /* Another valid behaviour. */
+ ASSERT (non_options_count == 7);
+ ASSERT (strcmp (non_options[0], "donald") == 0);
+ ASSERT (strcmp (non_options[1], "duck") == 0);
+ ASSERT (strcmp (non_options[2], "-b") == 0);
+ ASSERT (strcmp (non_options[3], "foo") == 0);
+ ASSERT (strcmp (non_options[4], "-q") == 0);
+ ASSERT (strcmp (non_options[5], "johnny") == 0);
+ ASSERT (strcmp (non_options[6], "bar") == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 12);
+ }
+ }
+
+ /* Check that the '-' flag has to come first. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "abp:q:-", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "-p") == 0);
+ ASSERT (strcmp (argv[2], "billy") == 0);
+ ASSERT (strcmp (argv[3], "-a") == 0);
+ ASSERT (strcmp (argv[4], "donald") == 0);
+ ASSERT (strcmp (argv[5], "duck") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 4);
+ }
+
+ /* Check that the '+' flag causes the first non-option to terminate the
+ loop. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "+abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "donald") == 0);
+ ASSERT (strcmp (argv[2], "-p") == 0);
+ ASSERT (strcmp (argv[3], "billy") == 0);
+ ASSERT (strcmp (argv[4], "duck") == 0);
+ ASSERT (strcmp (argv[5], "-a") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 1);
+ }
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-+";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "+abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == '+');
+ ASSERT (optind == 2);
+ }
+
+ /* Check that '--' ends the argument processing. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[20];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "--";
+ argv[argc++] = "-b";
+ argv[argc++] = "foo";
+ argv[argc++] = "-q";
+ argv[argc++] = "johnny";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "+abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "donald") == 0);
+ ASSERT (strcmp (argv[2], "-p") == 0);
+ ASSERT (strcmp (argv[3], "billy") == 0);
+ ASSERT (strcmp (argv[4], "duck") == 0);
+ ASSERT (strcmp (argv[5], "-a") == 0);
+ ASSERT (strcmp (argv[6], "--") == 0);
+ ASSERT (strcmp (argv[7], "-b") == 0);
+ ASSERT (strcmp (argv[8], "foo") == 0);
+ ASSERT (strcmp (argv[9], "-q") == 0);
+ ASSERT (strcmp (argv[10], "johnny") == 0);
+ ASSERT (strcmp (argv[11], "bar") == 0);
+ ASSERT (argv[12] == NULL);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 1);
+ }
+
+ /* Check that the '+' flag has to come first. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "abp:q:+", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "-p") == 0);
+ ASSERT (strcmp (argv[2], "billy") == 0);
+ ASSERT (strcmp (argv[3], "-a") == 0);
+ ASSERT (strcmp (argv[4], "donald") == 0);
+ ASSERT (strcmp (argv[5], "duck") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value != NULL && strcmp (p_value, "billy") == 0);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 4);
+ }
+}
+
+/* Test behavior of getopt_long when POSIXLY_CORRECT is set in the
+ environment. Options with optional arguments should not change
+ behavior just because of an environment variable.
+ http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html */
+static void
+test_getopt_long_posix (void)
+{
+ int start;
+
+ /* Check that POSIXLY_CORRECT stops parsing the same as leading '+'. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "donald";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc++] = "duck";
+ argv[argc++] = "-a";
+ argv[argc++] = "bar";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "abp:q:", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (strcmp (argv[0], "program") == 0);
+ ASSERT (strcmp (argv[1], "donald") == 0);
+ ASSERT (strcmp (argv[2], "-p") == 0);
+ ASSERT (strcmp (argv[3], "billy") == 0);
+ ASSERT (strcmp (argv[4], "duck") == 0);
+ ASSERT (strcmp (argv[5], "-a") == 0);
+ ASSERT (strcmp (argv[6], "bar") == 0);
+ ASSERT (argv[7] == NULL);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 1);
+ }
+
+ /* Check that POSIXLY_CORRECT doesn't change optional arguments. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-p";
+ argv[argc++] = "billy";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "p::", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 0);
+ ASSERT (b_seen == 0);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 2);
+ }
+
+ /* Check that leading - still sees options after non-options. */
+ for (start = 0; start <= 1; start++)
+ {
+ const char *p_value = NULL;
+ const char *q_value = NULL;
+ int non_options_count = 0;
+ const char *non_options[10];
+ int unrecognized = 0;
+ int argc = 0;
+ const char *argv[10];
+ a_seen = 0;
+ b_seen = 0;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-a";
+ argv[argc++] = "billy";
+ argv[argc++] = "-b";
+ argv[argc] = NULL;
+ optind = start;
+ getopt_long_loop (argc, argv, "-ab", long_options_required,
+ &p_value, &q_value,
+ &non_options_count, non_options, &unrecognized);
+ ASSERT (a_seen == 1);
+ ASSERT (b_seen == 1);
+ ASSERT (p_value == NULL);
+ ASSERT (q_value == NULL);
+ ASSERT (non_options_count == 1);
+ ASSERT (strcmp (non_options[0], "billy") == 0);
+ ASSERT (unrecognized == 0);
+ ASSERT (optind == 4);
+ }
+}
+
+/* Reduce casting, so we can use string literals elsewhere.
+ getopt_long_only takes an array of char*, but luckily does not
+ modify those elements, so we can pass const char*. */
+static int
+do_getopt_long_only (int argc, const char **argv, const char *shortopts,
+ const struct option *longopts, int *longind)
+{
+ return getopt_long_only (argc, (char **) argv, shortopts, longopts, longind);
+}
+
+static void
+test_getopt_long_only (void)
+{
+ /* Test disambiguation of options. */
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-x";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long_only (argc, argv, "ab", long_options_required,
+ &option_index);
+ ASSERT (c == '?');
+ ASSERT (optopt == 0);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-x";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long_only (argc, argv, "abx", long_options_required,
+ &option_index);
+ ASSERT (c == 'x');
+ ASSERT (optopt == 0);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--x";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long_only (argc, argv, "abx", long_options_required,
+ &option_index);
+ ASSERT (c == '?');
+ ASSERT (optopt == 0);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-b";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ b_seen = 0;
+ c = do_getopt_long_only (argc, argv, "abx", long_options_required,
+ &option_index);
+ ASSERT (c == 'b');
+ ASSERT (b_seen == 0);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "--b";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ b_seen = 0;
+ c = do_getopt_long_only (argc, argv, "abx", long_options_required,
+ &option_index);
+ ASSERT (c == 0);
+ ASSERT (b_seen == 1);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-xt";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long_only (argc, argv, "ab", long_options_required,
+ &option_index);
+ ASSERT (c == '?');
+ ASSERT (optopt == 0);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-xt";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long_only (argc, argv, "abx", long_options_required,
+ &option_index);
+ ASSERT (c == '?');
+ ASSERT (optopt == 0);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-xtra";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long_only (argc, argv, "ab", long_options_required,
+ &option_index);
+ ASSERT (c == 1001);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-xtreme";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long_only (argc, argv, "abx:", long_options_required,
+ &option_index);
+ ASSERT (c == 1002);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-xtremel";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long_only (argc, argv, "ab", long_options_required,
+ &option_index);
+ /* glibc getopt_long_only is intentionally different from
+ getopt_long when handling a prefix that is common to two
+ spellings, when both spellings have the same option directives.
+ BSD getopt_long_only treats both cases the same. */
+ ASSERT (c == 1003 || c == '?');
+ ASSERT (optind == 2);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-xtremel";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long_only (argc, argv, "abx::", long_options_required,
+ &option_index);
+ /* glibc getopt_long_only is intentionally different from
+ getopt_long when handling a prefix that is common to two
+ spellings, when both spellings have the same option directives.
+ BSD getopt_long_only treats both cases the same. */
+ ASSERT (c == 1003 || c == '?');
+ ASSERT (optind == 2);
+ ASSERT (optarg == NULL);
+ }
+ {
+ int argc = 0;
+ const char *argv[10];
+ int option_index;
+ int c;
+
+ argv[argc++] = "program";
+ argv[argc++] = "-xtras";
+ argv[argc] = NULL;
+ optind = 1;
+ opterr = 0;
+ c = do_getopt_long_only (argc, argv, "abx::", long_options_required,
+ &option_index);
+ ASSERT (c == 'x');
+ ASSERT (strcmp (optarg, "tras") == 0);
+ }
+}
--- /dev/null
+/* Test the "ignore-value" module.
+
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake. */
+
+#include <config.h>
+
+#include "ignore-value.h"
+
+#include <stdio.h>
+
+#ifndef _GL_ATTRIBUTE_RETURN_CHECK
+# if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
+# define _GL_ATTRIBUTE_RETURN_CHECK
+# else
+# define _GL_ATTRIBUTE_RETURN_CHECK __attribute__((__warn_unused_result__))
+# endif
+#endif
+
+struct s { int i; };
+static char doChar (void) _GL_ATTRIBUTE_RETURN_CHECK;
+static int doInt (void) _GL_ATTRIBUTE_RETURN_CHECK;
+static off_t doOff (void) _GL_ATTRIBUTE_RETURN_CHECK;
+static void *doPtr (void) _GL_ATTRIBUTE_RETURN_CHECK;
+static struct s doStruct (void) _GL_ATTRIBUTE_RETURN_CHECK;
+
+static char
+doChar (void)
+{
+ return 0;
+}
+
+static int
+doInt (void)
+{
+ return 0;
+}
+
+static off_t
+doOff (void)
+{
+ return 0;
+}
+
+static void *
+doPtr (void)
+{
+ return NULL;
+}
+
+static struct s
+doStruct (void)
+{
+ static struct s s1;
+ return s1;
+}
+
+int
+main (void)
+{
+ /* If this test can compile with -Werror and the same warnings as
+ the rest of the project, then we are properly silencing warnings
+ about ignored return values. */
+ ignore_value (doChar ());
+ ignore_value (doInt ());
+ ignore_value (doOff ());
+ ignore_value (doPtr ());
+ ignore_value (doStruct ());
+ return 0;
+}
--- /dev/null
+/* Test intprops.h.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Paul Eggert. */
+
+/* Tell gcc not to warn about the many (X < 0) expressions that
+ the overflow macros expand to. */
+#if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__
+# pragma GCC diagnostic ignored "-Wtype-limits"
+#endif
+
+#include <config.h>
+
+#include "intprops.h"
+#include "verify.h"
+
+#include <stdbool.h>
+#include <inttypes.h>
+
+#include "macros.h"
+
+/* VERIFY (X) uses a static assertion for compilers that are known to work,
+ and falls back on a dynamic assertion for other compilers.
+ These tests should be checkable via 'verify' rather than 'ASSERT', but
+ using 'verify' would run into a bug with HP-UX 11.23 cc; see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>. */
+#if __GNUC__ || __SUNPRO_C
+# define VERIFY(x) do { verify (x); } while (0)
+#else
+# define VERIFY(x) ASSERT (x)
+#endif
+
+int
+main (void)
+{
+ /* Use VERIFY for tests that must be integer constant expressions,
+ ASSERT otherwise. */
+
+ /* TYPE_IS_INTEGER. */
+ ASSERT (TYPE_IS_INTEGER (bool));
+ ASSERT (TYPE_IS_INTEGER (char));
+ ASSERT (TYPE_IS_INTEGER (signed char));
+ ASSERT (TYPE_IS_INTEGER (unsigned char));
+ ASSERT (TYPE_IS_INTEGER (short int));
+ ASSERT (TYPE_IS_INTEGER (unsigned short int));
+ ASSERT (TYPE_IS_INTEGER (int));
+ ASSERT (TYPE_IS_INTEGER (unsigned int));
+ ASSERT (TYPE_IS_INTEGER (long int));
+ ASSERT (TYPE_IS_INTEGER (unsigned long int));
+ ASSERT (TYPE_IS_INTEGER (intmax_t));
+ ASSERT (TYPE_IS_INTEGER (uintmax_t));
+ ASSERT (! TYPE_IS_INTEGER (float));
+ ASSERT (! TYPE_IS_INTEGER (double));
+ ASSERT (! TYPE_IS_INTEGER (long double));
+
+ /* TYPE_SIGNED. */
+ /* VERIFY (! TYPE_SIGNED (bool)); // not guaranteed by gnulib substitute */
+ VERIFY (TYPE_SIGNED (signed char));
+ VERIFY (! TYPE_SIGNED (unsigned char));
+ VERIFY (TYPE_SIGNED (short int));
+ VERIFY (! TYPE_SIGNED (unsigned short int));
+ VERIFY (TYPE_SIGNED (int));
+ VERIFY (! TYPE_SIGNED (unsigned int));
+ VERIFY (TYPE_SIGNED (long int));
+ VERIFY (! TYPE_SIGNED (unsigned long int));
+ VERIFY (TYPE_SIGNED (intmax_t));
+ VERIFY (! TYPE_SIGNED (uintmax_t));
+ ASSERT (TYPE_SIGNED (float));
+ ASSERT (TYPE_SIGNED (double));
+ ASSERT (TYPE_SIGNED (long double));
+
+ /* Integer representation. */
+ VERIFY (INT_MIN + INT_MAX < 0
+ ? (TYPE_TWOS_COMPLEMENT (int)
+ && ! TYPE_ONES_COMPLEMENT (int) && ! TYPE_SIGNED_MAGNITUDE (int))
+ : (! TYPE_TWOS_COMPLEMENT (int)
+ && (TYPE_ONES_COMPLEMENT (int) || TYPE_SIGNED_MAGNITUDE (int))));
+
+ /* TYPE_MINIMUM, TYPE_MAXIMUM. */
+ VERIFY (TYPE_MINIMUM (char) == CHAR_MIN);
+ VERIFY (TYPE_MAXIMUM (char) == CHAR_MAX);
+ VERIFY (TYPE_MINIMUM (unsigned char) == 0);
+ VERIFY (TYPE_MAXIMUM (unsigned char) == UCHAR_MAX);
+ VERIFY (TYPE_MINIMUM (signed char) == SCHAR_MIN);
+ VERIFY (TYPE_MAXIMUM (signed char) == SCHAR_MAX);
+ VERIFY (TYPE_MINIMUM (short int) == SHRT_MIN);
+ VERIFY (TYPE_MAXIMUM (short int) == SHRT_MAX);
+ VERIFY (TYPE_MINIMUM (unsigned short int) == 0);
+ VERIFY (TYPE_MAXIMUM (unsigned short int) == USHRT_MAX);
+ VERIFY (TYPE_MINIMUM (int) == INT_MIN);
+ VERIFY (TYPE_MAXIMUM (int) == INT_MAX);
+ VERIFY (TYPE_MINIMUM (unsigned int) == 0);
+ VERIFY (TYPE_MAXIMUM (unsigned int) == UINT_MAX);
+ VERIFY (TYPE_MINIMUM (long int) == LONG_MIN);
+ VERIFY (TYPE_MAXIMUM (long int) == LONG_MAX);
+ VERIFY (TYPE_MINIMUM (unsigned long int) == 0);
+ VERIFY (TYPE_MAXIMUM (unsigned long int) == ULONG_MAX);
+ VERIFY (TYPE_MINIMUM (intmax_t) == INTMAX_MIN);
+ VERIFY (TYPE_MAXIMUM (intmax_t) == INTMAX_MAX);
+ VERIFY (TYPE_MINIMUM (uintmax_t) == 0);
+ VERIFY (TYPE_MAXIMUM (uintmax_t) == UINTMAX_MAX);
+
+ /* INT_BITS_STRLEN_BOUND. */
+ VERIFY (INT_BITS_STRLEN_BOUND (1) == 1);
+ VERIFY (INT_BITS_STRLEN_BOUND (2620) == 789);
+
+ /* INT_STRLEN_BOUND, INT_BUFSIZE_BOUND. */
+ #ifdef INT32_MAX /* POSIX guarantees int32_t; this ports to non-POSIX. */
+ VERIFY (INT_STRLEN_BOUND (int32_t) == sizeof ("-2147483648") - 1);
+ VERIFY (INT_BUFSIZE_BOUND (int32_t) == sizeof ("-2147483648"));
+ #endif
+ #ifdef INT64_MAX
+ VERIFY (INT_STRLEN_BOUND (int64_t) == sizeof ("-9223372036854775808") - 1);
+ VERIFY (INT_BUFSIZE_BOUND (int64_t) == sizeof ("-9223372036854775808"));
+ #endif
+
+ /* All the INT_<op>_RANGE_OVERFLOW tests are equally valid as
+ INT_<op>_OVERFLOW tests, so define a single macro to do both. */
+ #define CHECK_BINOP(op, a, b, min, max, overflow) \
+ (INT_##op##_RANGE_OVERFLOW (a, b, min, max) == (overflow) \
+ && INT_##op##_OVERFLOW (a, b) == (overflow))
+ #define CHECK_UNOP(op, a, min, max, overflow) \
+ (INT_##op##_RANGE_OVERFLOW (a, min, max) == (overflow) \
+ && INT_##op##_OVERFLOW (a) == (overflow))
+
+ /* INT_<op>_RANGE_OVERFLOW, INT_<op>_OVERFLOW. */
+ VERIFY (INT_ADD_RANGE_OVERFLOW (INT_MAX, 1, INT_MIN, INT_MAX));
+ VERIFY (INT_ADD_OVERFLOW (INT_MAX, 1));
+ VERIFY (CHECK_BINOP (ADD, INT_MAX, 1, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (ADD, INT_MAX, -1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (ADD, INT_MIN, 1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (ADD, INT_MIN, -1, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (ADD, UINT_MAX, 1u, 0u, UINT_MAX, true));
+ VERIFY (CHECK_BINOP (ADD, 0u, 1u, 0u, UINT_MAX, false));
+
+ VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, 1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, -1, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, 1, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, -1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (SUBTRACT, UINT_MAX, 1u, 0u, UINT_MAX, false));
+ VERIFY (CHECK_BINOP (SUBTRACT, 0u, 1u, 0u, UINT_MAX, true));
+
+ VERIFY (CHECK_UNOP (NEGATE, INT_MIN, INT_MIN, INT_MAX,
+ TYPE_TWOS_COMPLEMENT (int)));
+ VERIFY (CHECK_UNOP (NEGATE, 0, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_UNOP (NEGATE, INT_MAX, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_UNOP (NEGATE, 0u, 0u, UINT_MAX, false));
+ VERIFY (CHECK_UNOP (NEGATE, 1u, 0u, UINT_MAX, true));
+ VERIFY (CHECK_UNOP (NEGATE, UINT_MAX, 0u, UINT_MAX, true));
+
+ VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MAX, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MIN, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MAX, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MIN, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (MULTIPLY, -1, INT_MIN, INT_MIN, INT_MAX,
+ INT_NEGATE_OVERFLOW (INT_MIN)));
+ VERIFY (CHECK_BINOP (MULTIPLY, LONG_MIN / INT_MAX, (long int) INT_MAX,
+ LONG_MIN, LONG_MIN, false));
+
+ VERIFY (CHECK_BINOP (DIVIDE, INT_MIN, -1, INT_MIN, INT_MAX,
+ INT_NEGATE_OVERFLOW (INT_MIN)));
+ VERIFY (CHECK_BINOP (DIVIDE, INT_MAX, 1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (DIVIDE, (unsigned int) INT_MIN,
+ -1u, 0u, UINT_MAX, false));
+
+ VERIFY (CHECK_BINOP (REMAINDER, INT_MIN, -1, INT_MIN, INT_MAX,
+ INT_NEGATE_OVERFLOW (INT_MIN)));
+ VERIFY (CHECK_BINOP (REMAINDER, INT_MAX, 1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (REMAINDER, (unsigned int) INT_MIN,
+ -1u, 0u, UINT_MAX, false));
+
+ VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX, 1, 0u, UINT_MAX, true));
+ VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2 + 1, 1, 0u, UINT_MAX, true));
+ VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2, 1, 0u, UINT_MAX, false));
+
+ /* INT_<op>_OVERFLOW with mixed types. */
+ #define CHECK_SUM(a, b, overflow) \
+ VERIFY (INT_ADD_OVERFLOW (a, b) == (overflow)); \
+ VERIFY (INT_ADD_OVERFLOW (b, a) == (overflow))
+ CHECK_SUM (-1, LONG_MIN, true);
+ CHECK_SUM (-1, UINT_MAX, false);
+ CHECK_SUM (-1L, INT_MIN, INT_MIN == LONG_MIN);
+ CHECK_SUM (0u, -1, true);
+ CHECK_SUM (0u, 0, false);
+ CHECK_SUM (0u, 1, false);
+ CHECK_SUM (1, LONG_MAX, true);
+ CHECK_SUM (1, UINT_MAX, true);
+ CHECK_SUM (1L, INT_MAX, INT_MAX == LONG_MAX);
+ CHECK_SUM (1u, INT_MAX, INT_MAX == UINT_MAX);
+ CHECK_SUM (1u, INT_MIN, true);
+
+ VERIFY (! INT_SUBTRACT_OVERFLOW (INT_MAX, 1u));
+ VERIFY (! INT_SUBTRACT_OVERFLOW (UINT_MAX, 1));
+ VERIFY (! INT_SUBTRACT_OVERFLOW (0u, -1));
+ VERIFY (INT_SUBTRACT_OVERFLOW (UINT_MAX, -1));
+ VERIFY (INT_SUBTRACT_OVERFLOW (INT_MIN, 1u));
+ VERIFY (INT_SUBTRACT_OVERFLOW (-1, 0u));
+
+ #define CHECK_PRODUCT(a, b, overflow) \
+ VERIFY (INT_MULTIPLY_OVERFLOW (a, b) == (overflow)); \
+ VERIFY (INT_MULTIPLY_OVERFLOW (b, a) == (overflow))
+
+ CHECK_PRODUCT (-1, 1u, true);
+ CHECK_PRODUCT (-1, INT_MIN, INT_NEGATE_OVERFLOW (INT_MIN));
+ CHECK_PRODUCT (-1, UINT_MAX, true);
+ CHECK_PRODUCT (-12345, LONG_MAX / -12345 - 1, true);
+ CHECK_PRODUCT (-12345, LONG_MAX / -12345, false);
+ CHECK_PRODUCT (0, -1, false);
+ CHECK_PRODUCT (0, 0, false);
+ CHECK_PRODUCT (0, 0u, false);
+ CHECK_PRODUCT (0, 1, false);
+ CHECK_PRODUCT (0, INT_MAX, false);
+ CHECK_PRODUCT (0, INT_MIN, false);
+ CHECK_PRODUCT (0, UINT_MAX, false);
+ CHECK_PRODUCT (0u, -1, false);
+ CHECK_PRODUCT (0u, 0, false);
+ CHECK_PRODUCT (0u, 0u, false);
+ CHECK_PRODUCT (0u, 1, false);
+ CHECK_PRODUCT (0u, INT_MAX, false);
+ CHECK_PRODUCT (0u, INT_MIN, false);
+ CHECK_PRODUCT (0u, UINT_MAX, false);
+ CHECK_PRODUCT (1, INT_MAX, false);
+ CHECK_PRODUCT (1, INT_MIN, false);
+ CHECK_PRODUCT (1, UINT_MAX, false);
+ CHECK_PRODUCT (1u, INT_MIN, true);
+ CHECK_PRODUCT (1u, INT_MAX, UINT_MAX < INT_MAX);
+ CHECK_PRODUCT (INT_MAX, UINT_MAX, true);
+ CHECK_PRODUCT (INT_MAX, ULONG_MAX, true);
+ CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN - 1, true);
+ CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN, false);
+ CHECK_PRODUCT (INT_MIN, UINT_MAX, true);
+ CHECK_PRODUCT (INT_MIN, ULONG_MAX, true);
+
+ VERIFY (INT_DIVIDE_OVERFLOW (INT_MIN, -1L)
+ == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
+ VERIFY (! INT_DIVIDE_OVERFLOW (INT_MIN, UINT_MAX));
+ VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINTMAX_MAX));
+ VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINT_MAX));
+ VERIFY (INT_DIVIDE_OVERFLOW (-11, 10u));
+ VERIFY (INT_DIVIDE_OVERFLOW (-10, 10u));
+ VERIFY (! INT_DIVIDE_OVERFLOW (-9, 10u));
+ VERIFY (INT_DIVIDE_OVERFLOW (11u, -10));
+ VERIFY (INT_DIVIDE_OVERFLOW (10u, -10));
+ VERIFY (! INT_DIVIDE_OVERFLOW (9u, -10));
+
+ VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, -1L)
+ == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
+ VERIFY (INT_REMAINDER_OVERFLOW (-1, UINT_MAX));
+ VERIFY (INT_REMAINDER_OVERFLOW ((intmax_t) -1, UINTMAX_MAX));
+ VERIFY (INT_REMAINDER_OVERFLOW (INTMAX_MIN, UINT_MAX)
+ == (INTMAX_MAX < UINT_MAX
+ && - (unsigned int) INTMAX_MIN % UINT_MAX != 0));
+ VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, ULONG_MAX)
+ == (INT_MIN % ULONG_MAX != 1));
+ VERIFY (! INT_REMAINDER_OVERFLOW (1u, -1));
+ VERIFY (! INT_REMAINDER_OVERFLOW (37*39u, -39));
+ VERIFY (INT_REMAINDER_OVERFLOW (37*39u + 1, -39));
+ VERIFY (INT_REMAINDER_OVERFLOW (37*39u - 1, -39));
+ VERIFY (! INT_REMAINDER_OVERFLOW (LONG_MAX, -INT_MAX));
+
+ return 0;
+}
--- /dev/null
+/* Test of <inttypes.h> substitute.
+ Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
+#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
+#define __STDC_FORMAT_MACROS 1 /* to make it work also in C++ mode */
+#include <inttypes.h>
+
+#include <stddef.h>
+
+/* Tests for macros supposed to be defined in inttypes.h. */
+
+const char *k = /* implicit string concatenation */
+#ifdef INT8_MAX
+ PRId8 PRIi8
+#endif
+#ifdef UINT8_MAX
+ PRIo8 PRIu8 PRIx8 PRIX8
+#endif
+#ifdef INT16_MAX
+ PRId16 PRIi16
+#endif
+#ifdef UINT16_MAX
+ PRIo16 PRIu16 PRIx16 PRIX16
+#endif
+#ifdef INT32_MAX
+ PRId32 PRIi32
+#endif
+#ifdef UINT32_MAX
+ PRIo32 PRIu32 PRIx32 PRIX32
+#endif
+#ifdef INT64_MAX
+ PRId64 PRIi64
+#endif
+#ifdef UINT64_MAX
+ PRIo64 PRIu64 PRIx64 PRIX64
+#endif
+ PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8
+ PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16
+ PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32
+ PRIdLEAST64 PRIiLEAST64
+ PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64
+ PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8
+ PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16
+ PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32
+ PRIdFAST64 PRIiFAST64
+ PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64
+ PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX
+#ifdef INTPTR_MAX
+ PRIdPTR PRIiPTR
+#endif
+#ifdef UINTPTR_MAX
+ PRIoPTR PRIuPTR PRIxPTR PRIXPTR
+#endif
+ ;
+const char *l = /* implicit string concatenation */
+#ifdef INT8_MAX
+ SCNd8 SCNi8
+#endif
+#ifdef UINT8_MAX
+ SCNo8 SCNu8 SCNx8
+#endif
+#ifdef INT16_MAX
+ SCNd16 SCNi16
+#endif
+#ifdef UINT16_MAX
+ SCNo16 SCNu16 SCNx16
+#endif
+#ifdef INT32_MAX
+ SCNd32 SCNi32
+#endif
+#ifdef UINT32_MAX
+ SCNo32 SCNu32 SCNx32
+#endif
+#ifdef INT64_MAX
+ SCNd64 SCNi64
+#endif
+#ifdef UINT64_MAX
+ SCNo64 SCNu64 SCNx64
+#endif
+ SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8
+ SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16
+ SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32
+ SCNdLEAST64 SCNiLEAST64
+ SCNoLEAST64 SCNuLEAST64 SCNxLEAST64
+ SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8
+ SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16
+ SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32
+ SCNdFAST64 SCNiFAST64
+ SCNoFAST64 SCNuFAST64 SCNxFAST64
+ SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX
+#ifdef INTPTR_MAX
+ SCNdPTR SCNiPTR
+#endif
+#ifdef UINTPTR_MAX
+ SCNoPTR SCNuPTR SCNxPTR
+#endif
+ ;
+
+int
+main (void)
+{
+ return 0;
+}
--- /dev/null
+/* Test of lstat() function.
+ Copyright (C) 2008-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Simon Josefsson, 2008; and Eric Blake, 2009. */
+
+#include <config.h>
+
+#include <sys/stat.h>
+
+/* Caution: lstat may be a function-like macro. Although this
+ signature check must pass, it may be the signature of the real (and
+ broken) lstat rather than rpl_lstat. Most code should not use the
+ address of lstat. */
+#include "signature.h"
+SIGNATURE_CHECK (lstat, int, (char const *, struct stat *));
+
+#include <fcntl.h>
+#include <errno.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include "same-inode.h"
+#include "ignore-value.h"
+#include "macros.h"
+
+#define BASE "test-lstat.t"
+
+#include "test-lstat.h"
+
+/* Wrapper around lstat, which works even if lstat is a function-like
+ macro, where test_lstat_func(lstat) would do the wrong thing. */
+static int
+do_lstat (char const *name, struct stat *st)
+{
+ return lstat (name, st);
+}
+
+int
+main (void)
+{
+ /* Remove any leftovers from a previous partial run. */
+ ignore_value (system ("rm -rf " BASE "*"));
+
+ return test_lstat_func (do_lstat, true);
+}
--- /dev/null
+/* Test of lstat() function.
+ Copyright (C) 2008-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Simon Josefsson, 2008; and Eric Blake, 2009. */
+
+/* This file is designed to test both lstat(n,buf) and
+ fstatat(AT_FDCWD,n,buf,AT_SYMLINK_NOFOLLOW). FUNC is the function
+ to test. Assumes that BASE and ASSERT are already defined, and
+ that appropriate headers are already included. If PRINT, warn
+ before skipping symlink tests with status 77. */
+
+static int
+test_lstat_func (int (*func) (char const *, struct stat *), bool print)
+{
+ struct stat st1;
+ struct stat st2;
+
+ /* Test for common directories. */
+ ASSERT (func (".", &st1) == 0);
+ ASSERT (func ("./", &st2) == 0);
+ ASSERT (SAME_INODE (st1, st2));
+ ASSERT (S_ISDIR (st1.st_mode));
+ ASSERT (S_ISDIR (st2.st_mode));
+ ASSERT (func ("/", &st1) == 0);
+ ASSERT (func ("///", &st2) == 0);
+ ASSERT (SAME_INODE (st1, st2));
+ ASSERT (S_ISDIR (st1.st_mode));
+ ASSERT (S_ISDIR (st2.st_mode));
+ ASSERT (func ("..", &st1) == 0);
+ ASSERT (S_ISDIR (st1.st_mode));
+
+ /* Test for error conditions. */
+ errno = 0;
+ ASSERT (func ("", &st1) == -1);
+ ASSERT (errno == ENOENT);
+ errno = 0;
+ ASSERT (func ("nosuch", &st1) == -1);
+ ASSERT (errno == ENOENT);
+ errno = 0;
+ ASSERT (func ("nosuch/", &st1) == -1);
+ ASSERT (errno == ENOENT);
+
+ ASSERT (close (creat (BASE "file", 0600)) == 0);
+ ASSERT (func (BASE "file", &st1) == 0);
+ ASSERT (S_ISREG (st1.st_mode));
+ errno = 0;
+ ASSERT (func (BASE "file/", &st1) == -1);
+ ASSERT (errno == ENOTDIR);
+
+ /* Now for some symlink tests, where supported. We set up:
+ link1 -> directory
+ link2 -> file
+ link3 -> dangling
+ link4 -> loop
+ then test behavior both with and without trailing slash.
+ */
+ if (symlink (".", BASE "link1") != 0)
+ {
+ ASSERT (unlink (BASE "file") == 0);
+ if (print)
+ fputs ("skipping test: symlinks not supported on this file system\n",
+ stderr);
+ return 77;
+ }
+ ASSERT (symlink (BASE "file", BASE "link2") == 0);
+ ASSERT (symlink (BASE "nosuch", BASE "link3") == 0);
+ ASSERT (symlink (BASE "link4", BASE "link4") == 0);
+
+ ASSERT (func (BASE "link1", &st1) == 0);
+ ASSERT (S_ISLNK (st1.st_mode));
+ ASSERT (func (BASE "link1/", &st1) == 0);
+ ASSERT (stat (BASE "link1", &st2) == 0);
+ ASSERT (S_ISDIR (st1.st_mode));
+ ASSERT (S_ISDIR (st2.st_mode));
+ ASSERT (SAME_INODE (st1, st2));
+
+ ASSERT (func (BASE "link2", &st1) == 0);
+ ASSERT (S_ISLNK (st1.st_mode));
+ errno = 0;
+ ASSERT (func (BASE "link2/", &st1) == -1);
+ ASSERT (errno == ENOTDIR);
+
+ ASSERT (func (BASE "link3", &st1) == 0);
+ ASSERT (S_ISLNK (st1.st_mode));
+ errno = 0;
+ ASSERT (func (BASE "link3/", &st1) == -1);
+ ASSERT (errno == ENOENT);
+
+ ASSERT (func (BASE "link4", &st1) == 0);
+ ASSERT (S_ISLNK (st1.st_mode));
+ errno = 0;
+ ASSERT (func (BASE "link4/", &st1) == -1);
+ ASSERT (errno == ELOOP);
+
+ /* Cleanup. */
+ ASSERT (unlink (BASE "file") == 0);
+ ASSERT (unlink (BASE "link1") == 0);
+ ASSERT (unlink (BASE "link2") == 0);
+ ASSERT (unlink (BASE "link3") == 0);
+ ASSERT (unlink (BASE "link4") == 0);
+
+ return 0;
+}
--- /dev/null
+/* Test of safe automatic memory allocation.
+ Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2005. */
+
+#include <config.h>
+
+#include "malloca.h"
+
+#include <stdlib.h>
+
+static void
+do_allocation (int n)
+{
+ void *ptr = malloca (n);
+ freea (ptr);
+ safe_alloca (n);
+}
+
+void (*func) (int) = do_allocation;
+
+int
+main ()
+{
+ int i;
+
+ /* This slows down malloc a lot. */
+ unsetenv ("MALLOC_PERTURB_");
+
+ /* Repeat a lot of times, to make sure there's no memory leak. */
+ for (i = 0; i < 50000; i++)
+ {
+ /* Try various values.
+ n = 0 gave a crash on Alpha with gcc-2.5.8.
+ Some versions of MacOS X have a stack size limit of 512 KB. */
+ func (34);
+ func (134);
+ func (399);
+ func (510823);
+ func (129321);
+ func (0);
+ func (4070);
+ func (4095);
+ func (1);
+ func (16582);
+ }
+
+ return 0;
+}
--- /dev/null
+/* Test of opening a file descriptor.
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include <fcntl.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (open, int, (char const *, int, ...));
+
+#include <errno.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+#define BASE "test-open.t"
+
+#include "test-open.h"
+
+int
+main (void)
+{
+ return test_open (open, true);
+}
--- /dev/null
+/* Test of opening a file descriptor.
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+/* This file is designed to test both open(n,buf[,mode]) and
+ openat(AT_FDCWD,n,buf[,mode]). FUNC is the function to test.
+ Assumes that BASE and ASSERT are already defined, and that
+ appropriate headers are already included. If PRINT, warn before
+ skipping symlink tests with status 77. */
+
+static int
+test_open (int (*func) (char const *, int, ...), bool print)
+{
+ int fd;
+ /* Remove anything from prior partial run. */
+ unlink (BASE "file");
+
+ /* Cannot create directory. */
+ errno = 0;
+ ASSERT (func ("nonexist.ent/", O_CREAT | O_RDONLY, 0600) == -1);
+ ASSERT (errno == ENOTDIR || errno == EISDIR || errno == ENOENT
+ || errno == EINVAL);
+
+ /* Create a regular file. */
+ fd = func (BASE "file", O_CREAT | O_RDONLY, 0600);
+ ASSERT (0 <= fd);
+ ASSERT (close (fd) == 0);
+
+ /* Trailing slash handling. */
+ errno = 0;
+ ASSERT (func (BASE "file/", O_RDONLY) == -1);
+ ASSERT (errno == ENOTDIR || errno == EISDIR || errno == EINVAL);
+
+ /* Directories cannot be opened for writing. */
+ errno = 0;
+ ASSERT (func (".", O_WRONLY) == -1);
+ ASSERT (errno == EISDIR || errno == EACCES);
+
+ /* /dev/null must exist, and be writable. */
+ fd = func ("/dev/null", O_RDONLY);
+ ASSERT (0 <= fd);
+ {
+ char c;
+ ASSERT (read (fd, &c, 1) == 0);
+ }
+ ASSERT (close (fd) == 0);
+ fd = func ("/dev/null", O_WRONLY);
+ ASSERT (0 <= fd);
+ ASSERT (write (fd, "c", 1) == 1);
+ ASSERT (close (fd) == 0);
+
+ /* Although O_NONBLOCK on regular files can be ignored, it must not
+ cause a failure. */
+ fd = func (BASE "file", O_NONBLOCK | O_RDONLY);
+ ASSERT (0 <= fd);
+ ASSERT (close (fd) == 0);
+
+ /* Symlink handling, where supported. */
+ if (symlink (BASE "file", BASE "link") != 0)
+ {
+ ASSERT (unlink (BASE "file") == 0);
+ if (print)
+ fputs ("skipping test: symlinks not supported on this file system\n",
+ stderr);
+ return 77;
+ }
+ errno = 0;
+ ASSERT (func (BASE "link/", O_RDONLY) == -1);
+ ASSERT (errno == ENOTDIR);
+ fd = func (BASE "link", O_RDONLY);
+ ASSERT (0 <= fd);
+ ASSERT (close (fd) == 0);
+
+ /* Cleanup. */
+ ASSERT (unlink (BASE "file") == 0);
+ ASSERT (unlink (BASE "link") == 0);
+
+ return 0;
+}
--- /dev/null
+/* Test of "pathmax.h".
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011. */
+
+#include <config.h>
+
+#include "pathmax.h"
+
+/* Check that PATH_MAX is a constant if it is defined. */
+#ifdef PATH_MAX
+int a = PATH_MAX;
+#endif
+
+int
+main (void)
+{
+ return 0;
+}
--- /dev/null
+/* Tests of setenv.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009. */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (setenv, int, (char const *, char const *, int));
+
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+int
+main (void)
+{
+ /* Test overwriting. */
+ ASSERT (setenv ("a", "==", -1) == 0);
+ ASSERT (setenv ("a", "2", 0) == 0);
+ ASSERT (strcmp (getenv ("a"), "==") == 0);
+
+ /* Required to fail with EINVAL. */
+ errno = 0;
+ ASSERT (setenv ("", "", 1) == -1);
+ ASSERT (errno == EINVAL);
+ errno = 0;
+ ASSERT (setenv ("a=b", "", 0) == -1);
+ ASSERT (errno == EINVAL);
+#if 0
+ /* glibc and gnulib's implementation guarantee this, but POSIX no
+ longer requires it: http://austingroupbugs.net/view.php?id=185 */
+ errno = 0;
+ ASSERT (setenv (NULL, "", 0) == -1);
+ ASSERT (errno == EINVAL);
+#endif
+
+ return 0;
+}
--- /dev/null
+/* Tests of stat.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009. */
+
+#include <config.h>
+
+#include <sys/stat.h>
+
+/* Caution: stat may be a function-like macro. Although this
+ signature check must pass, it may be the signature of the real (and
+ broken) stat rather than rpl_stat. Most code should not use the
+ address of stat. */
+#include "signature.h"
+SIGNATURE_CHECK (stat, int, (char const *, struct stat *));
+
+#include <fcntl.h>
+#include <errno.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <unistd.h>
+
+#include "same-inode.h"
+#include "macros.h"
+
+#define BASE "test-stat.t"
+
+#include "test-stat.h"
+
+/* Wrapper around stat, which works even if stat is a function-like
+ macro, where test_stat_func(stat) would do the wrong thing. */
+static int
+do_stat (char const *name, struct stat *st)
+{
+ return stat (name, st);
+}
+
+int
+main (void)
+{
+ return test_stat_func (do_stat, true);
+}
--- /dev/null
+/* Tests of stat.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009. */
+
+/* This file is designed to test both stat(n,buf) and
+ fstatat(AT_FDCWD,n,buf,0). FUNC is the function to test. Assumes
+ that BASE and ASSERT are already defined, and that appropriate
+ headers are already included. If PRINT, warn before skipping
+ symlink tests with status 77. */
+
+static int
+test_stat_func (int (*func) (char const *, struct stat *), bool print)
+{
+ struct stat st1;
+ struct stat st2;
+ char *cwd = getcwd (NULL, 0);
+
+ ASSERT (cwd);
+ ASSERT (func (".", &st1) == 0);
+ ASSERT (func ("./", &st2) == 0);
+ ASSERT (SAME_INODE (st1, st2));
+ ASSERT (func (cwd, &st2) == 0);
+ ASSERT (SAME_INODE (st1, st2));
+ ASSERT (func ("/", &st1) == 0);
+ ASSERT (func ("///", &st2) == 0);
+ ASSERT (SAME_INODE (st1, st2));
+
+ errno = 0;
+ ASSERT (func ("", &st1) == -1);
+ ASSERT (errno == ENOENT);
+ errno = 0;
+ ASSERT (func ("nosuch", &st1) == -1);
+ ASSERT (errno == ENOENT);
+ errno = 0;
+ ASSERT (func ("nosuch/", &st1) == -1);
+ ASSERT (errno == ENOENT);
+
+ ASSERT (close (creat (BASE "file", 0600)) == 0);
+ ASSERT (func (BASE "file", &st1) == 0);
+ errno = 0;
+ ASSERT (func (BASE "file/", &st1) == -1);
+ ASSERT (errno == ENOTDIR);
+
+ /* Now for some symlink tests, where supported. We set up:
+ link1 -> directory
+ link2 -> file
+ link3 -> dangling
+ link4 -> loop
+ then test behavior with trailing slash.
+ */
+ if (symlink (".", BASE "link1") != 0)
+ {
+ ASSERT (unlink (BASE "file") == 0);
+ if (print)
+ fputs ("skipping test: symlinks not supported on this file system\n",
+ stderr);
+ return 77;
+ }
+ ASSERT (symlink (BASE "file", BASE "link2") == 0);
+ ASSERT (symlink (BASE "nosuch", BASE "link3") == 0);
+ ASSERT (symlink (BASE "link4", BASE "link4") == 0);
+
+ ASSERT (func (BASE "link1/", &st1) == 0);
+ ASSERT (S_ISDIR (st1.st_mode));
+
+ errno = 0;
+ ASSERT (func (BASE "link2/", &st1) == -1);
+ ASSERT (errno == ENOTDIR);
+
+ errno = 0;
+ ASSERT (func (BASE "link3/", &st1) == -1);
+ ASSERT (errno == ENOENT);
+
+ errno = 0;
+ ASSERT (func (BASE "link4/", &st1) == -1);
+ ASSERT (errno == ELOOP);
+
+ /* Cleanup. */
+ ASSERT (unlink (BASE "file") == 0);
+ ASSERT (unlink (BASE "link1") == 0);
+ ASSERT (unlink (BASE "link2") == 0);
+ ASSERT (unlink (BASE "link3") == 0);
+ ASSERT (unlink (BASE "link4") == 0);
+
+ return 0;
+}
--- /dev/null
+/* Test of <stdbool.h> substitute.
+ Copyright (C) 2002-2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+/* We want this test to succeed even when using gcc's -Werror; but to
+ do that requires a pragma that didn't exist before 4.3.0. */
+#ifndef __GNUC__
+# define ADDRESS_CHECK_OKAY
+#elif __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
+/* No way to silence -Waddress. */
+#else
+# pragma GCC diagnostic ignored "-Waddress"
+# define ADDRESS_CHECK_OKAY
+#endif
+
+#include <config.h>
+
+#include <stdbool.h>
+
+#ifndef bool
+ "error: bool is not defined"
+#endif
+#ifndef false
+ "error: false is not defined"
+#endif
+#if false
+ "error: false is not 0"
+#endif
+#ifndef true
+ "error: true is not defined"
+#endif
+#if true != 1
+ "error: true is not 1"
+#endif
+#ifndef __bool_true_false_are_defined
+ "error: __bool_true_false_are_defined is not defined"
+#endif
+
+/* Several tests cannot be guaranteed with gnulib's <stdbool.h>, at
+ least, not for all compilers and compiler options. */
+#if HAVE_STDBOOL_H || 3 <= __GNUC__
+struct s { _Bool s: 1; _Bool t; } s;
+#endif
+
+char a[true == 1 ? 1 : -1];
+char b[false == 0 ? 1 : -1];
+char c[__bool_true_false_are_defined == 1 ? 1 : -1];
+#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above. */
+char d[(bool) 0.5 == true ? 1 : -1];
+# ifdef ADDRESS_CHECK_OKAY /* Avoid gcc warning. */
+/* C99 may plausibly be interpreted as not requiring support for a cast from
+ a variable's address to bool in a static initializer. So treat it like a
+ GCC extension. */
+# ifdef __GNUC__
+bool e = &s;
+# endif
+# endif
+char f[(_Bool) 0.0 == false ? 1 : -1];
+#endif
+char g[true];
+char h[sizeof (_Bool)];
+#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above. */
+char i[sizeof s.t];
+#endif
+enum { j = false, k = true, l = false * true, m = true * 256 };
+_Bool n[m];
+char o[sizeof n == m * sizeof n[0] ? 1 : -1];
+char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+/* Catch a bug in an HP-UX C compiler. See
+ http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+ http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+ */
+_Bool q = true;
+_Bool *pq = &q;
+
+int
+main ()
+{
+ int error = 0;
+
+#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above. */
+# ifdef ADDRESS_CHECK_OKAY /* Avoid gcc warning. */
+ /* A cast from a variable's address to bool is valid in expressions. */
+ {
+ bool e1 = &s;
+ if (!e1)
+ error = 1;
+ }
+# endif
+#endif
+
+ /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
+ reported by James Lemley on 2005-10-05; see
+ http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
+ This is a runtime test, since a corresponding compile-time
+ test would rely on initializer extensions. */
+ {
+ char digs[] = "0123456789";
+ if (&(digs + 5)[-2 + (bool) 1] != &digs[4])
+ error = 1;
+ }
+
+ return error;
+}
--- /dev/null
+/* Test of <stddef.h> substitute.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009. */
+
+#include <config.h>
+
+#include <stddef.h>
+
+#include "verify.h"
+
+/* Check that appropriate types are defined. */
+wchar_t a = 'c';
+ptrdiff_t b = 1;
+size_t c = 2;
+
+/* Check that NULL can be passed through varargs as a pointer type,
+ per POSIX 2008. */
+verify (sizeof NULL == sizeof (void *));
+
+/* Check that offsetof produces integer constants with correct type. */
+struct d
+{
+ char e;
+ char f;
+};
+/* Solaris 10 has a bug where offsetof is under-parenthesized, and
+ cannot be used as an arbitrary expression. However, since it is
+ unlikely to bite real code, we ignore that short-coming. */
+/* verify (sizeof offsetof (struct d, e) == sizeof (size_t)); */
+verify (sizeof (offsetof (struct d, e)) == sizeof (size_t));
+verify (offsetof (struct d, e) < -1); /* Must be unsigned. */
+verify (offsetof (struct d, f) == 1);
+
+int
+main (void)
+{
+ return 0;
+}
--- /dev/null
+/* Test of <stdint.h> substitute.
+ Copyright (C) 2006-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2006. */
+
+#include <config.h>
+
+/* Whether to enable pedantic checks. */
+#define DO_PEDANTIC 0
+
+#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
+#define __STDC_CONSTANT_MACROS 1 /* likewise */
+#include <stdint.h>
+
+#include "verify.h"
+#include "intprops.h"
+
+#if __GNUC__ >= 2 && DO_PEDANTIC
+# define verify_same_types(expr1,expr2) \
+ extern void _verify_func(__LINE__) (__typeof__ (expr1) *); \
+ extern void _verify_func(__LINE__) (__typeof__ (expr2) *);
+# define _verify_func(line) _verify_func2(line)
+# define _verify_func2(line) verify_func_ ## line
+#else
+# define verify_same_types(expr1,expr2) extern void verify_func (int)
+#endif
+
+/* 7.18.1.1. Exact-width integer types */
+/* 7.18.2.1. Limits of exact-width integer types */
+
+int8_t a1[3] = { INT8_C (17), INT8_MIN, INT8_MAX };
+verify (TYPE_MINIMUM (int8_t) == INT8_MIN);
+verify (TYPE_MAXIMUM (int8_t) == INT8_MAX);
+verify_same_types (INT8_MIN, (int8_t) 0 + 0);
+verify_same_types (INT8_MAX, (int8_t) 0 + 0);
+
+int16_t a2[3] = { INT16_C (17), INT16_MIN, INT16_MAX };
+verify (TYPE_MINIMUM (int16_t) == INT16_MIN);
+verify (TYPE_MAXIMUM (int16_t) == INT16_MAX);
+verify_same_types (INT16_MIN, (int16_t) 0 + 0);
+verify_same_types (INT16_MAX, (int16_t) 0 + 0);
+
+int32_t a3[3] = { INT32_C (17), INT32_MIN, INT32_MAX };
+verify (TYPE_MINIMUM (int32_t) == INT32_MIN);
+verify (TYPE_MAXIMUM (int32_t) == INT32_MAX);
+verify_same_types (INT32_MIN, (int32_t) 0 + 0);
+verify_same_types (INT32_MAX, (int32_t) 0 + 0);
+
+#ifdef INT64_MAX
+int64_t a4[3] = { INT64_C (17), INT64_MIN, INT64_MAX };
+verify (TYPE_MINIMUM (int64_t) == INT64_MIN);
+verify (TYPE_MAXIMUM (int64_t) == INT64_MAX);
+verify_same_types (INT64_MIN, (int64_t) 0 + 0);
+verify_same_types (INT64_MAX, (int64_t) 0 + 0);
+#endif
+
+uint8_t b1[2] = { UINT8_C (17), UINT8_MAX };
+verify (TYPE_MAXIMUM (uint8_t) == UINT8_MAX);
+verify_same_types (UINT8_MAX, (uint8_t) 0 + 0);
+
+uint16_t b2[2] = { UINT16_C (17), UINT16_MAX };
+verify (TYPE_MAXIMUM (uint16_t) == UINT16_MAX);
+verify_same_types (UINT16_MAX, (uint16_t) 0 + 0);
+
+uint32_t b3[2] = { UINT32_C (17), UINT32_MAX };
+verify (TYPE_MAXIMUM (uint32_t) == UINT32_MAX);
+verify_same_types (UINT32_MAX, (uint32_t) 0 + 0);
+
+#ifdef UINT64_MAX
+uint64_t b4[2] = { UINT64_C (17), UINT64_MAX };
+verify (TYPE_MAXIMUM (uint64_t) == UINT64_MAX);
+verify_same_types (UINT64_MAX, (uint64_t) 0 + 0);
+#endif
+
+#if INT8_MIN && INT8_MAX && INT16_MIN && INT16_MAX && INT32_MIN && INT32_MAX
+/* ok */
+#else
+err or;
+#endif
+
+#if UINT8_MAX && UINT16_MAX && UINT32_MAX
+/* ok */
+#else
+err or;
+#endif
+
+/* 7.18.1.2. Minimum-width integer types */
+/* 7.18.2.2. Limits of minimum-width integer types */
+
+int_least8_t c1[3] = { 17, INT_LEAST8_MIN, INT_LEAST8_MAX };
+verify (TYPE_MINIMUM (int_least8_t) == INT_LEAST8_MIN);
+verify (TYPE_MAXIMUM (int_least8_t) == INT_LEAST8_MAX);
+verify_same_types (INT_LEAST8_MIN, (int_least8_t) 0 + 0);
+verify_same_types (INT_LEAST8_MAX, (int_least8_t) 0 + 0);
+
+int_least16_t c2[3] = { 17, INT_LEAST16_MIN, INT_LEAST16_MAX };
+verify (TYPE_MINIMUM (int_least16_t) == INT_LEAST16_MIN);
+verify (TYPE_MAXIMUM (int_least16_t) == INT_LEAST16_MAX);
+verify_same_types (INT_LEAST16_MIN, (int_least16_t) 0 + 0);
+verify_same_types (INT_LEAST16_MAX, (int_least16_t) 0 + 0);
+
+int_least32_t c3[3] = { 17, INT_LEAST32_MIN, INT_LEAST32_MAX };
+verify (TYPE_MINIMUM (int_least32_t) == INT_LEAST32_MIN);
+verify (TYPE_MAXIMUM (int_least32_t) == INT_LEAST32_MAX);
+verify_same_types (INT_LEAST32_MIN, (int_least32_t) 0 + 0);
+verify_same_types (INT_LEAST32_MAX, (int_least32_t) 0 + 0);
+
+#ifdef INT_LEAST64_MAX
+int_least64_t c4[3] = { 17, INT_LEAST64_MIN, INT_LEAST64_MAX };
+verify (TYPE_MINIMUM (int_least64_t) == INT_LEAST64_MIN);
+verify (TYPE_MAXIMUM (int_least64_t) == INT_LEAST64_MAX);
+verify_same_types (INT_LEAST64_MIN, (int_least64_t) 0 + 0);
+verify_same_types (INT_LEAST64_MAX, (int_least64_t) 0 + 0);
+#endif
+
+uint_least8_t d1[2] = { 17, UINT_LEAST8_MAX };
+verify (TYPE_MAXIMUM (uint_least8_t) == UINT_LEAST8_MAX);
+verify_same_types (UINT_LEAST8_MAX, (uint_least8_t) 0 + 0);
+
+uint_least16_t d2[2] = { 17, UINT_LEAST16_MAX };
+verify (TYPE_MAXIMUM (uint_least16_t) == UINT_LEAST16_MAX);
+verify_same_types (UINT_LEAST16_MAX, (uint_least16_t) 0 + 0);
+
+uint_least32_t d3[2] = { 17, UINT_LEAST32_MAX };
+verify (TYPE_MAXIMUM (uint_least32_t) == UINT_LEAST32_MAX);
+verify_same_types (UINT_LEAST32_MAX, (uint_least32_t) 0 + 0);
+
+#ifdef UINT_LEAST64_MAX
+uint_least64_t d4[2] = { 17, UINT_LEAST64_MAX };
+verify (TYPE_MAXIMUM (uint_least64_t) == UINT_LEAST64_MAX);
+verify_same_types (UINT_LEAST64_MAX, (uint_least64_t) 0 + 0);
+#endif
+
+#if INT_LEAST8_MIN && INT_LEAST8_MAX && INT_LEAST16_MIN && INT_LEAST16_MAX && INT_LEAST32_MIN && INT_LEAST32_MAX
+/* ok */
+#else
+err or;
+#endif
+
+#if UINT_LEAST8_MAX && UINT_LEAST16_MAX && UINT_LEAST32_MAX
+/* ok */
+#else
+err or;
+#endif
+
+/* 7.18.1.3. Fastest minimum-width integer types */
+/* 7.18.2.3. Limits of fastest minimum-width integer types */
+
+int_fast8_t e1[3] = { 17, INT_FAST8_MIN, INT_FAST8_MAX };
+verify (TYPE_MINIMUM (int_fast8_t) == INT_FAST8_MIN);
+verify (TYPE_MAXIMUM (int_fast8_t) == INT_FAST8_MAX);
+verify_same_types (INT_FAST8_MIN, (int_fast8_t) 0 + 0);
+verify_same_types (INT_FAST8_MAX, (int_fast8_t) 0 + 0);
+
+int_fast16_t e2[3] = { 17, INT_FAST16_MIN, INT_FAST16_MAX };
+verify (TYPE_MINIMUM (int_fast16_t) == INT_FAST16_MIN);
+verify (TYPE_MAXIMUM (int_fast16_t) == INT_FAST16_MAX);
+verify_same_types (INT_FAST16_MIN, (int_fast16_t) 0 + 0);
+verify_same_types (INT_FAST16_MAX, (int_fast16_t) 0 + 0);
+
+int_fast32_t e3[3] = { 17, INT_FAST32_MIN, INT_FAST32_MAX };
+verify (TYPE_MINIMUM (int_fast32_t) == INT_FAST32_MIN);
+verify (TYPE_MAXIMUM (int_fast32_t) == INT_FAST32_MAX);
+verify_same_types (INT_FAST32_MIN, (int_fast32_t) 0 + 0);
+verify_same_types (INT_FAST32_MAX, (int_fast32_t) 0 + 0);
+
+#ifdef INT_FAST64_MAX
+int_fast64_t e4[3] = { 17, INT_FAST64_MIN, INT_FAST64_MAX };
+verify (TYPE_MINIMUM (int_fast64_t) == INT_FAST64_MIN);
+verify (TYPE_MAXIMUM (int_fast64_t) == INT_FAST64_MAX);
+verify_same_types (INT_FAST64_MIN, (int_fast64_t) 0 + 0);
+verify_same_types (INT_FAST64_MAX, (int_fast64_t) 0 + 0);
+#endif
+
+uint_fast8_t f1[2] = { 17, UINT_FAST8_MAX };
+verify (TYPE_MAXIMUM (uint_fast8_t) == UINT_FAST8_MAX);
+verify_same_types (UINT_FAST8_MAX, (uint_fast8_t) 0 + 0);
+
+uint_fast16_t f2[2] = { 17, UINT_FAST16_MAX };
+verify (TYPE_MAXIMUM (uint_fast16_t) == UINT_FAST16_MAX);
+verify_same_types (UINT_FAST16_MAX, (uint_fast16_t) 0 + 0);
+
+uint_fast32_t f3[2] = { 17, UINT_FAST32_MAX };
+verify (TYPE_MAXIMUM (uint_fast32_t) == UINT_FAST32_MAX);
+verify_same_types (UINT_FAST32_MAX, (uint_fast32_t) 0 + 0);
+
+#ifdef UINT_FAST64_MAX
+uint_fast64_t f4[2] = { 17, UINT_FAST64_MAX };
+verify (TYPE_MAXIMUM (uint_fast64_t) == UINT_FAST64_MAX);
+verify_same_types (UINT_FAST64_MAX, (uint_fast64_t) 0 + 0);
+#endif
+
+#if INT_FAST8_MIN && INT_FAST8_MAX && INT_FAST16_MIN && INT_FAST16_MAX && INT_FAST32_MIN && INT_FAST32_MAX
+/* ok */
+#else
+err or;
+#endif
+
+#if UINT_FAST8_MAX && UINT_FAST16_MAX && UINT_FAST32_MAX
+/* ok */
+#else
+err or;
+#endif
+
+/* 7.18.1.4. Integer types capable of holding object pointers */
+/* 7.18.2.4. Limits of integer types capable of holding object pointers */
+
+intptr_t g[3] = { 17, INTPTR_MIN, INTPTR_MAX };
+verify (TYPE_MINIMUM (intptr_t) == INTPTR_MIN);
+verify (TYPE_MAXIMUM (intptr_t) == INTPTR_MAX);
+verify_same_types (INTPTR_MIN, (intptr_t) 0 + 0);
+verify_same_types (INTPTR_MAX, (intptr_t) 0 + 0);
+
+uintptr_t h[2] = { 17, UINTPTR_MAX };
+verify (TYPE_MAXIMUM (uintptr_t) == UINTPTR_MAX);
+verify_same_types (UINTPTR_MAX, (uintptr_t) 0 + 0);
+
+#if INTPTR_MIN && INTPTR_MAX && UINTPTR_MAX
+/* ok */
+#else
+err or;
+#endif
+
+/* 7.18.1.5. Greatest-width integer types */
+/* 7.18.2.5. Limits of greatest-width integer types */
+
+intmax_t i[3] = { INTMAX_C (17), INTMAX_MIN, INTMAX_MAX };
+verify (TYPE_MINIMUM (intmax_t) == INTMAX_MIN);
+verify (TYPE_MAXIMUM (intmax_t) == INTMAX_MAX);
+verify_same_types (INTMAX_MIN, (intmax_t) 0 + 0);
+verify_same_types (INTMAX_MAX, (intmax_t) 0 + 0);
+
+uintmax_t j[2] = { UINTMAX_C (17), UINTMAX_MAX };
+verify (TYPE_MAXIMUM (uintmax_t) == UINTMAX_MAX);
+verify_same_types (UINTMAX_MAX, (uintmax_t) 0 + 0);
+
+/* As of 2007, Sun C and HP-UX 10.20 cc don't support 'long long' constants in
+ the preprocessor. */
+#if !(defined __SUNPRO_C || (defined __hpux && !defined __GNUC__))
+#if INTMAX_MIN && INTMAX_MAX && UINTMAX_MAX
+/* ok */
+#else
+err or;
+#endif
+#endif
+
+/* 7.18.3. Limits of other integer types */
+
+#include <stddef.h>
+
+verify (TYPE_MINIMUM (ptrdiff_t) == PTRDIFF_MIN);
+verify (TYPE_MAXIMUM (ptrdiff_t) == PTRDIFF_MAX);
+verify_same_types (PTRDIFF_MIN, (ptrdiff_t) 0 + 0);
+verify_same_types (PTRDIFF_MAX, (ptrdiff_t) 0 + 0);
+
+#if PTRDIFF_MIN && PTRDIFF_MAX
+/* ok */
+#else
+err or;
+#endif
+
+#include <signal.h>
+
+verify (TYPE_MINIMUM (sig_atomic_t) == SIG_ATOMIC_MIN);
+verify (TYPE_MAXIMUM (sig_atomic_t) == SIG_ATOMIC_MAX);
+verify_same_types (SIG_ATOMIC_MIN, (sig_atomic_t) 0 + 0);
+verify_same_types (SIG_ATOMIC_MAX, (sig_atomic_t) 0 + 0);
+
+#if SIG_ATOMIC_MIN != 17 && SIG_ATOMIC_MAX
+/* ok */
+#else
+err or;
+#endif
+
+verify (TYPE_MAXIMUM (size_t) == SIZE_MAX);
+verify_same_types (SIZE_MAX, (size_t) 0 + 0);
+
+#if SIZE_MAX
+/* ok */
+#else
+err or;
+#endif
+
+#if HAVE_WCHAR_T
+verify (TYPE_MINIMUM (wchar_t) == WCHAR_MIN);
+verify (TYPE_MAXIMUM (wchar_t) == WCHAR_MAX);
+verify_same_types (WCHAR_MIN, (wchar_t) 0 + 0);
+verify_same_types (WCHAR_MAX, (wchar_t) 0 + 0);
+
+# if WCHAR_MIN != 17 && WCHAR_MAX
+/* ok */
+# else
+err or;
+# endif
+#endif
+
+#if HAVE_WINT_T
+# include <wchar.h>
+
+verify (TYPE_MINIMUM (wint_t) == WINT_MIN);
+verify (TYPE_MAXIMUM (wint_t) == WINT_MAX);
+verify_same_types (WINT_MIN, (wint_t) 0 + 0);
+verify_same_types (WINT_MAX, (wint_t) 0 + 0);
+
+# if WINT_MIN != 17 && WINT_MAX
+/* ok */
+# else
+err or;
+# endif
+#endif
+
+/* 7.18.4. Macros for integer constants */
+
+verify (INT8_C (17) == 17);
+verify_same_types (INT8_C (17), (int_least8_t)0 + 0);
+verify (UINT8_C (17) == 17);
+verify_same_types (UINT8_C (17), (uint_least8_t)0 + 0);
+
+verify (INT16_C (17) == 17);
+verify_same_types (INT16_C (17), (int_least16_t)0 + 0);
+verify (UINT16_C (17) == 17);
+verify_same_types (UINT16_C (17), (uint_least16_t)0 + 0);
+
+verify (INT32_C (17) == 17);
+verify_same_types (INT32_C (17), (int_least32_t)0 + 0);
+verify (UINT32_C (17) == 17);
+verify_same_types (UINT32_C (17), (uint_least32_t)0 + 0);
+
+#ifdef INT64_C
+verify (INT64_C (17) == 17);
+verify_same_types (INT64_C (17), (int_least64_t)0 + 0);
+#endif
+#ifdef UINT64_C
+verify (UINT64_C (17) == 17);
+verify_same_types (UINT64_C (17), (uint_least64_t)0 + 0);
+#endif
+
+verify (INTMAX_C (17) == 17);
+verify_same_types (INTMAX_C (17), (intmax_t)0 + 0);
+verify (UINTMAX_C (17) == 17);
+verify_same_types (UINTMAX_C (17), (uintmax_t)0 + 0);
+
+
+int
+main (void)
+{
+ return 0;
+}
--- /dev/null
+/* Test of <stdio.h> substitute.
+ Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include "verify.h"
+
+/* Check that the various SEEK_* macros are defined. */
+int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET };
+
+/* Check that NULL can be passed through varargs as a pointer type,
+ per POSIX 2008. */
+verify (sizeof NULL == sizeof (void *));
+
+/* Check that the types are all defined. */
+fpos_t t1;
+off_t t2;
+size_t t3;
+ssize_t t4;
+va_list t5;
+
+int
+main (void)
+{
+ return 0;
+}
/* Test of strerror() function.
- Copyright (C) 2007-2008 Free Software Foundation, Inc.
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <config.h>
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
-#define ASSERT(expr) \
- do \
- { \
- if (!(expr)) \
- { \
- fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \
- fflush (stderr); \
- abort (); \
- } \
- } \
- while (0)
+#include "signature.h"
+SIGNATURE_CHECK (strerror, char *, (int));
+
+#include <errno.h>
+
+#include "macros.h"
int
-main (int argc, char **argv)
+main (void)
{
char *str;
+ errno = 0;
str = strerror (EACCES);
ASSERT (str);
ASSERT (*str);
+ ASSERT (errno == 0);
+ errno = 0;
str = strerror (ETIMEDOUT);
ASSERT (str);
ASSERT (*str);
+ ASSERT (errno == 0);
+ errno = 0;
str = strerror (EOVERFLOW);
ASSERT (str);
ASSERT (*str);
+ ASSERT (errno == 0);
+ /* POSIX requires strerror (0) to succeed. Reject use of "Unknown
+ error", but allow "Success", "No error", or even Solaris' "Error
+ 0" which are distinct patterns from true out-of-range strings.
+ http://austingroupbugs.net/view.php?id=382 */
+ errno = 0;
str = strerror (0);
ASSERT (str);
ASSERT (*str);
+ ASSERT (errno == 0);
+ ASSERT (strstr (str, "nknown") == NULL);
+ ASSERT (strstr (str, "ndefined") == NULL);
+ /* POSIX requires strerror to produce a non-NULL result for all
+ inputs; as an extension, we also guarantee a non-empty reseult.
+ Reporting EINVAL is optional. */
+ errno = 0;
str = strerror (-3);
ASSERT (str);
ASSERT (*str);
+ ASSERT (errno == 0 || errno == EINVAL);
return 0;
}
+++ /dev/null
-/* Test of <string.h> substitute.
- Copyright (C) 2007 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
-
-#include <config.h>
-
-#include <string.h>
-
-int
-main ()
-{
- return 0;
-}
--- /dev/null
+/* Tests of symlink.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009. */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (symlink, int, (char const *, char const *));
+
+#include <fcntl.h>
+#include <errno.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+
+#include "ignore-value.h"
+#include "macros.h"
+
+#define BASE "test-symlink.t"
+
+#include "test-symlink.h"
+
+int
+main (void)
+{
+ /* Remove any leftovers from a previous partial run. */
+ ignore_value (system ("rm -rf " BASE "*"));
+
+ return test_symlink (symlink, true);
+}
--- /dev/null
+/* Tests of symlink.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009. */
+
+/* This file is designed to test both symlink(a,b) and
+ symlinkat(a,AT_FDCWD,b). FUNC is the function to test. Assumes
+ that BASE and ASSERT are already defined, and that appropriate
+ headers are already included. If PRINT, warn before skipping
+ symlink tests with status 77. */
+
+static int
+test_symlink (int (*func) (char const *, char const *), bool print)
+{
+ if (func ("nowhere", BASE "link1"))
+ {
+ if (print)
+ fputs ("skipping test: symlinks not supported on this file system\n",
+ stderr);
+ return 77;
+ }
+
+ /* Some systems allow the creation of 0-length symlinks as a synonym
+ for "."; but most reject it. */
+ {
+ int status;
+ errno = 0;
+ status = func ("", BASE "link2");
+ if (status == -1)
+ ASSERT (errno == ENOENT || errno == EINVAL);
+ else
+ {
+ ASSERT (status == 0);
+ ASSERT (unlink (BASE "link2") == 0);
+ }
+ }
+
+ /* Sanity checks of failures. */
+ errno = 0;
+ ASSERT (func ("nowhere", "") == -1);
+ ASSERT (errno == ENOENT);
+ errno = 0;
+ ASSERT (func ("nowhere", ".") == -1);
+ ASSERT (errno == EEXIST || errno == EINVAL);
+ errno = 0;
+ ASSERT (func ("somewhere", BASE "link1") == -1);
+ ASSERT (errno == EEXIST);
+ errno = 0;
+ ASSERT (func ("nowhere", BASE "link2/") == -1);
+ ASSERT (errno == ENOTDIR || errno == ENOENT);
+ ASSERT (mkdir (BASE "dir", 0700) == 0);
+ errno = 0;
+ ASSERT (func ("nowhere", BASE "dir") == -1);
+ ASSERT (errno == EEXIST);
+ errno = 0;
+ ASSERT (func ("nowhere", BASE "dir/") == -1);
+ ASSERT (errno == EEXIST || errno == EINVAL);
+ ASSERT (close (creat (BASE "file", 0600)) == 0);
+ errno = 0;
+ ASSERT (func ("nowhere", BASE "file") == -1);
+ ASSERT (errno == EEXIST);
+ errno = 0;
+ ASSERT (func ("nowhere", BASE "file/") == -1);
+ ASSERT (errno == EEXIST || errno == ENOTDIR || errno == ENOENT);
+
+ /* Trailing slash must always be rejected. */
+ ASSERT (unlink (BASE "link1") == 0);
+ ASSERT (func (BASE "link2", BASE "link1") == 0);
+ errno = 0;
+ ASSERT (func (BASE "nowhere", BASE "link1/") == -1);
+ ASSERT (errno == EEXIST || errno == ENOTDIR || errno == ENOENT);
+ errno = 0;
+ ASSERT (unlink (BASE "link2") == -1);
+ ASSERT (errno == ENOENT);
+
+ /* Cleanup. */
+ ASSERT (rmdir (BASE "dir") == 0);
+ ASSERT (unlink (BASE "file") == 0);
+ ASSERT (unlink (BASE "link1") == 0);
+
+ return 0;
+}
+++ /dev/null
-/* Test of <unistd.h> substitute.
- Copyright (C) 2007, 2009 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
-
-#include <config.h>
-
-#include <unistd.h>
-
-/* Check that the various SEEK_* macros are defined. */
-int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET };
-
-/* Check that the various *_FILENO macros are defined. */
-#if ! (defined STDIN_FILENO \
- && (STDIN_FILENO + STDOUT_FILENO + STDERR_FILENO == 3))
-missing or broken *_FILENO macros
-#endif
-
-/* Check that the types are all defined. */
-size_t t1;
-ssize_t t2;
-#ifdef TODO /* Not implemented in gnulib yet */
-uid_t t3;
-gid_t t4;
-#endif
-off_t t5;
-pid_t t6;
-#ifdef TODO
-useconds_t t7;
-intptr_t t8;
-#endif
-
-int
-main ()
-{
- return 0;
-}
--- /dev/null
+/* Tests of unsetenv.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009. */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (unsetenv, int, (char const *));
+
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+int
+main (void)
+{
+ char entry[] = "b=2";
+
+ /* Test removal when multiple entries present. */
+ ASSERT (putenv ((char *) "a=1") == 0);
+ ASSERT (putenv (entry) == 0);
+ entry[0] = 'a'; /* Unspecified what getenv("a") would be at this point. */
+ ASSERT (unsetenv ("a") == 0); /* Both entries will be removed. */
+ ASSERT (getenv ("a") == NULL);
+ ASSERT (unsetenv ("a") == 0);
+
+ /* Required to fail with EINVAL. */
+ errno = 0;
+ ASSERT (unsetenv ("") == -1);
+ ASSERT (errno == EINVAL);
+ errno = 0;
+ ASSERT (unsetenv ("a=b") == -1);
+ ASSERT (errno == EINVAL);
+#if 0
+ /* glibc and gnulib's implementation guarantee this, but POSIX no
+ longer requires it: http://austingroupbugs.net/view.php?id=185 */
+ errno = 0;
+ ASSERT (unsetenv (NULL) == -1);
+ ASSERT (errno == EINVAL);
+#endif
+
+ return 0;
+}
#!/bin/sh
# Unit tests for vc-list-files
-# Copyright (C) 2008 Free Software Foundation, Inc.
+# Copyright (C) 2008-2011 Free Software Foundation, Inc.
# This file is part of the GNUlib Library.
#
# This program is free software: you can redistribute it and/or modify
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. */
-tmpdir=vc-cvs-$$
-trap 'st=$?; cd '"`pwd`"' && rm -rf $tmpdir; exit $st' 0
-trap '(exit $?); exit $?' 1 2 13 15
-
-if ( diff --version < /dev/null 2>&1 | grep GNU ) 2>&1 > /dev/null; then
- compare() { diff -u "$@"; }
-elif ( cmp --version < /dev/null 2>&1 | grep GNU ) 2>&1 > /dev/null; then
- compare() { cmp -s "$@"; }
-else
- compare() { cmp "$@"; }
-fi
+: ${srcdir=.}
+. "$srcdir/init.sh"; path_prepend_ "$abs_aux_dir" .
+tmpdir=vc-cvs
repo=`pwd`/$tmpdir/repo
fail=0
# without cvs, skip the test
# The double use of 'exit' is needed for the reference to $? inside the trap.
{ ( cvs -Q -d "$repo" init ) > /dev/null 2>&1 \
- || { echo "Skipping test: cvs not found in PATH"; (exit 77); exit 77; }; } &&
+ || skip_ "cvs not found in PATH"; } &&
mkdir w && cd w &&
mkdir d &&
touch d/a b c &&
test $ok = 0 && fail=1
done
-(exit $fail); exit $fail
+Exit $fail
#!/bin/sh
# Unit tests for vc-list-files
-# Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2008-2011 Free Software Foundation, Inc.
# This file is part of the GNUlib Library.
#
# This program is free software: you can redistribute it and/or modify
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. */
-if ( diff --version < /dev/null 2>&1 | grep GNU ) 2>&1 > /dev/null; then
- compare() { diff -u "$@"; }
-elif ( cmp --version < /dev/null 2>&1 | grep GNU ) 2>&1 > /dev/null; then
- compare() { cmp -s "$@"; }
-else
- compare() { cmp "$@"; }
-fi
+: ${srcdir=.}
+. "$srcdir/init.sh"; path_prepend_ "$abs_aux_dir" .
tmpdir=vc-git-$$
-trap 'st=$?; cd '"`pwd`"' && rm -rf $tmpdir; exit $st' 0
-trap '(exit $?); exit $?' 1 2 13 15
+GIT_DIR= GIT_WORK_TREE=; unset GIT_DIR GIT_WORK_TREE
fail=1
mkdir $tmpdir && cd $tmpdir &&
# without git, skip the test
# The double use of 'exit' is needed for the reference to $? inside the trap.
{ ( git init -q ) > /dev/null 2>&1 \
- || { echo "Skipping test: git not found in PATH"; (exit 77); exit 77; }; } &&
+ || skip_ "git not found in PATH"; } &&
mkdir d &&
touch d/a b c &&
- git config user.email "you@example.com"
- git config user.name "Your Name"
+ git config user.email "you@example.com" &&
+ git config user.name "Your Name" &&
git add . > /dev/null &&
git commit -q -a -m log &&
printf '%s\n' b c d/a > expected &&
compare expected actual &&
fail=0
-(exit $fail); exit $fail
+Exit $fail
--- /dev/null
+/* Test the "verify" module.
+
+ Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible. */
+
+#include <config.h>
+
+#include "verify.h"
+
+#ifndef EXP_FAIL
+# define EXP_FAIL 0
+#endif
+
+int x;
+enum { a, b, c };
+
+#if EXP_FAIL == 1
+verify (x >= 0); /* should give ERROR: non-constant expression */
+#endif
+verify (c == 2); /* should be ok */
+#if EXP_FAIL == 2
+verify (1 + 1 == 3); /* should give ERROR */
+#endif
+verify (1 == 1); verify (1 == 1); /* should be ok */
+
+enum
+{
+ item = verify_true (1 == 1) * 0 + 17 /* should be ok */
+};
+
+static int
+function (int n)
+{
+#if EXP_FAIL == 3
+ verify (n >= 0); /* should give ERROR: non-constant expression */
+#endif
+ verify (c == 2); /* should be ok */
+#if EXP_FAIL == 4
+ verify (1 + 1 == 3); /* should give ERROR */
+#endif
+ verify (1 == 1); verify (1 == 1); /* should be ok */
+
+ if (n)
+ return ((void) verify_expr (1 == 1, 1), verify_expr (1 == 1, 8)); /* should be ok */
+#if EXP_FAIL == 5
+ return verify_expr (1 == 2, 5); /* should give ERROR */
+#endif
+ return 0;
+}
+
+int
+main (void)
+{
+ return !(function (0) == 0 && function (1) == 8);
+}
--- /dev/null
+#!/bin/sh
+. "${srcdir=.}/init.sh"
+
+# We are not interested in triggering bugs in the compilers and tools
+# (such as gcc 4.3.1 on openSUSE 11.0).
+unset MALLOC_PERTURB_
+
+# Rather than figure out how to invoke the compiler with the right
+# include path ourselves, we let make do it:
+(cd "$initial_cwd_" && rm -f test-verify.o \
+ && $MAKE test-verify.o >/dev/null 2>&1) \
+ || skip_ "cannot compile error-free"
+
+# Now, prove that we encounter all expected compilation failures:
+: >out
+: >err
+for i in 1 2 3 4 5; do
+ (cd "$initial_cwd_"
+ rm -f test-verify.o
+ $MAKE CFLAGS=-DEXP_FAIL=$i test-verify.o) >>out 2>>err \
+ && { warn_ "compiler didn't detect verification failure $i"; fail=1; }
+done
+
+Exit $fail
--- /dev/null
+/* Test suite for version-etc.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+ This file is part of the GNUlib Library.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include "version-etc.h"
+
+#include "progname.h"
+
+#define AUTHORS "Sergey Poznyakoff", "Eric Blake"
+
+int
+main (int argc _GL_UNUSED, char **argv)
+{
+ set_program_name (argv[0]);
+ version_etc (stdout, "test-version-etc", "dummy", "0", AUTHORS,
+ (const char *) NULL);
+ return 0;
+}
--- /dev/null
+#! /bin/sh
+# Test suite for version-etc.
+# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# This file is part of the GNUlib Library.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+TMP=ve-expected.tmp
+LC_ALL=C
+export LC_ALL
+ERR=0
+
+cat > $TMP <<EOT
+test-version-etc (PROJECT) VERSION
+COPYRIGHT Free Software Foundation, Inc.
+License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+
+Written by Sergey Poznyakoff and Eric Blake.
+EOT
+
+./test-version-etc${EXEEXT} --version |
+ sed '1s/test-version-etc (.*) .*/test-version-etc (PROJECT) VERSION/
+ /^Packaged by/d
+ 2,3 s/Copyright (C) [0-9]\{4,4\}/COPYRIGHT/' |
+ tr -d '\015' |
+ diff -c $TMP - || ERR=1
+
+rm $TMP
+
+exit $ERR
--- /dev/null
+/* A more-standard <time.h>.
+
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* Don't get in the way of glibc when it includes time.h merely to
+ declare a few standard symbols, rather than to declare all the
+ symbols. Also, Solaris 8 <time.h> eventually includes itself
+ recursively; if that is happening, just include the system <time.h>
+ without adding our own declarations. */
+#if (defined __need_time_t || defined __need_clock_t \
+ || defined __need_timespec \
+ || defined _@GUARD_PREFIX@_TIME_H)
+
+# @INCLUDE_NEXT@ @NEXT_TIME_H@
+
+#else
+
+# define _@GUARD_PREFIX@_TIME_H
+
+# @INCLUDE_NEXT@ @NEXT_TIME_H@
+
+/* NetBSD 5.0 mis-defines NULL. */
+# include <stddef.h>
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+/* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3).
+ Or they define it with the wrong member names or define it in <sys/time.h>
+ (e.g., FreeBSD circa 1997). Stock Mingw does not define it, but the
+ pthreads-win32 library defines it in <pthread.h>. */
+# if ! @TIME_H_DEFINES_STRUCT_TIMESPEC@
+# if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+# include <sys/time.h>
+# elif @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
+# include <pthread.h>
+/* The pthreads-win32 <pthread.h> also defines a couple of broken macros. */
+# undef asctime_r
+# undef ctime_r
+# undef gmtime_r
+# undef localtime_r
+# undef rand_r
+# undef strtok_r
+# else
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+# if !GNULIB_defined_struct_timespec
+# undef timespec
+# define timespec rpl_timespec
+struct timespec
+{
+ time_t tv_sec;
+ long int tv_nsec;
+};
+# define GNULIB_defined_struct_timespec 1
+# endif
+
+# ifdef __cplusplus
+}
+# endif
+
+# endif
+# endif
+
+# if !GNULIB_defined_struct_time_t_must_be_integral
+/* Per http://austingroupbugs.net/view.php?id=327, POSIX requires
+ time_t to be an integer type, even though C99 permits floating
+ point. We don't know of any implementation that uses floating
+ point, and it is much easier to write code that doesn't have to
+ worry about that corner case, so we force the issue. */
+struct __time_t_must_be_integral {
+ unsigned int __floating_time_t_unsupported : (time_t) 1;
+};
+# define GNULIB_defined_struct_time_t_must_be_integral 1
+# endif
+
+/* Sleep for at least RQTP seconds unless interrupted, If interrupted,
+ return -1 and store the remaining time into RMTP. See
+ <http://www.opengroup.org/susv3xsh/nanosleep.html>. */
+# if @GNULIB_NANOSLEEP@
+# if @REPLACE_NANOSLEEP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define nanosleep rpl_nanosleep
+# endif
+_GL_FUNCDECL_RPL (nanosleep, int,
+ (struct timespec const *__rqtp, struct timespec *__rmtp)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (nanosleep, int,
+ (struct timespec const *__rqtp, struct timespec *__rmtp));
+# else
+# if ! @HAVE_NANOSLEEP@
+_GL_FUNCDECL_SYS (nanosleep, int,
+ (struct timespec const *__rqtp, struct timespec *__rmtp)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (nanosleep, int,
+ (struct timespec const *__rqtp, struct timespec *__rmtp));
+# endif
+_GL_CXXALIASWARN (nanosleep);
+# endif
+
+/* Return the 'time_t' representation of TP and normalize TP. */
+# if @GNULIB_MKTIME@
+# if @REPLACE_MKTIME@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define mktime rpl_mktime
+# endif
+_GL_FUNCDECL_RPL (mktime, time_t, (struct tm *__tp) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mktime, time_t, (struct tm *__tp));
+# else
+_GL_CXXALIAS_SYS (mktime, time_t, (struct tm *__tp));
+# endif
+_GL_CXXALIASWARN (mktime);
+# endif
+
+/* Convert TIMER to RESULT, assuming local time and UTC respectively. See
+ <http://www.opengroup.org/susv3xsh/localtime_r.html> and
+ <http://www.opengroup.org/susv3xsh/gmtime_r.html>. */
+# if @GNULIB_TIME_R@
+# if @REPLACE_LOCALTIME_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef localtime_r
+# define localtime_r rpl_localtime_r
+# endif
+_GL_FUNCDECL_RPL (localtime_r, struct tm *, (time_t const *restrict __timer,
+ struct tm *restrict __result)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (localtime_r, struct tm *, (time_t const *restrict __timer,
+ struct tm *restrict __result));
+# else
+# if ! @HAVE_DECL_LOCALTIME_R@
+_GL_FUNCDECL_SYS (localtime_r, struct tm *, (time_t const *restrict __timer,
+ struct tm *restrict __result)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (localtime_r, struct tm *, (time_t const *restrict __timer,
+ struct tm *restrict __result));
+# endif
+# if @HAVE_DECL_LOCALTIME_R@
+_GL_CXXALIASWARN (localtime_r);
+# endif
+# if @REPLACE_LOCALTIME_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef gmtime_r
+# define gmtime_r rpl_gmtime_r
+# endif
+_GL_FUNCDECL_RPL (gmtime_r, struct tm *, (time_t const *restrict __timer,
+ struct tm *restrict __result)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (gmtime_r, struct tm *, (time_t const *restrict __timer,
+ struct tm *restrict __result));
+# else
+# if ! @HAVE_DECL_LOCALTIME_R@
+_GL_FUNCDECL_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer,
+ struct tm *restrict __result)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer,
+ struct tm *restrict __result));
+# endif
+# if @HAVE_DECL_LOCALTIME_R@
+_GL_CXXALIASWARN (gmtime_r);
+# endif
+# endif
+
+/* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store
+ the resulting broken-down time into TM. See
+ <http://www.opengroup.org/susv3xsh/strptime.html>. */
+# if @GNULIB_STRPTIME@
+# if ! @HAVE_STRPTIME@
+_GL_FUNCDECL_SYS (strptime, char *, (char const *restrict __buf,
+ char const *restrict __format,
+ struct tm *restrict __tm)
+ _GL_ARG_NONNULL ((1, 2, 3)));
+# endif
+_GL_CXXALIAS_SYS (strptime, char *, (char const *restrict __buf,
+ char const *restrict __format,
+ struct tm *restrict __tm));
+_GL_CXXALIASWARN (strptime);
+# endif
+
+/* Convert TM to a time_t value, assuming UTC. */
+# if @GNULIB_TIMEGM@
+# if @REPLACE_TIMEGM@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef timegm
+# define timegm rpl_timegm
+# endif
+_GL_FUNCDECL_RPL (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (timegm, time_t, (struct tm *__tm));
+# else
+# if ! @HAVE_TIMEGM@
+_GL_FUNCDECL_SYS (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (timegm, time_t, (struct tm *__tm));
+# endif
+_GL_CXXALIASWARN (timegm);
+# endif
+
+/* Encourage applications to avoid unsafe functions that can overrun
+ buffers when given outlandish struct tm values. Portable
+ applications should use strftime (or even sprintf) instead. */
+# if defined GNULIB_POSIXCHECK
+# undef asctime
+_GL_WARN_ON_USE (asctime, "asctime can overrun buffers in some cases - "
+ "better use strftime (or even sprintf) instead");
+# endif
+# if defined GNULIB_POSIXCHECK
+# undef asctime_r
+_GL_WARN_ON_USE (asctime, "asctime_r can overrun buffers in some cases - "
+ "better use strftime (or even sprintf) instead");
+# endif
+# if defined GNULIB_POSIXCHECK
+# undef ctime
+_GL_WARN_ON_USE (asctime, "ctime can overrun buffers in some cases - "
+ "better use strftime (or even sprintf) instead");
+# endif
+# if defined GNULIB_POSIXCHECK
+# undef ctime_r
+_GL_WARN_ON_USE (asctime, "ctime_r can overrun buffers in some cases - "
+ "better use strftime (or even sprintf) instead");
+# endif
+
+#endif
--- /dev/null
+/* Copyright (C) 1992, 1995-2002, 2005-2011 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc
+ optimizes away the name == NULL test below. */
+#define _GL_ARG_NONNULL(params)
+
+/* Specification. */
+#include <stdlib.h>
+
+#include <errno.h>
+#if !_LIBC
+# define __set_errno(ev) ((errno) = (ev))
+#endif
+
+#include <string.h>
+#include <unistd.h>
+
+#if !_LIBC
+# define __environ environ
+#endif
+
+#if _LIBC
+/* This lock protects against simultaneous modifications of `environ'. */
+# include <bits/libc-lock.h>
+__libc_lock_define_initialized (static, envlock)
+# define LOCK __libc_lock_lock (envlock)
+# define UNLOCK __libc_lock_unlock (envlock)
+#else
+# define LOCK
+# define UNLOCK
+#endif
+
+/* In the GNU C library we must keep the namespace clean. */
+#ifdef _LIBC
+# define unsetenv __unsetenv
+#endif
+
+#if _LIBC || !HAVE_UNSETENV
+
+int
+unsetenv (const char *name)
+{
+ size_t len;
+ char **ep;
+
+ if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
+ {
+ __set_errno (EINVAL);
+ return -1;
+ }
+
+ len = strlen (name);
+
+ LOCK;
+
+ ep = __environ;
+ while (*ep != NULL)
+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
+ {
+ /* Found it. Remove this pointer by moving later ones back. */
+ char **dp = ep;
+
+ do
+ dp[0] = dp[1];
+ while (*dp++);
+ /* Continue the loop in case NAME appears again. */
+ }
+ else
+ ++ep;
+
+ UNLOCK;
+
+ return 0;
+}
+
+#ifdef _LIBC
+# undef unsetenv
+weak_alias (__unsetenv, unsetenv)
+#endif
+
+#else /* HAVE_UNSETENV */
+
+# undef unsetenv
+# if !HAVE_DECL_UNSETENV
+# if VOID_UNSETENV
+extern void unsetenv (const char *);
+# else
+extern int unsetenv (const char *);
+# endif
+# endif
+
+/* Call the underlying unsetenv, in case there is hidden bookkeeping
+ that needs updating beyond just modifying environ. */
+int
+rpl_unsetenv (const char *name)
+{
+ int result = 0;
+ if (!name || !*name || strchr (name, '='))
+ {
+ errno = EINVAL;
+ return -1;
+ }
+ while (getenv (name))
+# if !VOID_UNSETENV
+ result =
+# endif
+ unsetenv (name);
+ return result;
+}
+
+#endif /* HAVE_UNSETENV */
--- /dev/null
+/* Variable with FSF copyright information, for version-etc.
+ Copyright (C) 1999-2006, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Jim Meyering. */
+
+#include <config.h>
+
+/* Specification. */
+#include "version-etc.h"
+
+/* Default copyright goes to the FSF. */
+
+const char version_etc_copyright[] =
+ /* Do *not* mark this string for translation. %s is a copyright
+ symbol suitable for this locale, and %d is the copyright
+ year. */
+ "Copyright %s %d Free Software Foundation, Inc.";
--- /dev/null
+/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
+
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* Written by Eric Blake. */
+
+/*
+ * ISO C 99 <wchar.h> for platforms that have issues.
+ * <http://www.opengroup.org/susv3xbd/wchar.h.html>
+ *
+ * For now, this just ensures proper prerequisite inclusion order and
+ * the declaration of wcwidth().
+ */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined __need_mbstate_t || defined __need_wint_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H
+/* Special invocation convention:
+ - Inside glibc and uClibc header files.
+ - On HP-UX 11.00 we have a sequence of nested includes
+ <wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
+ once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
+ and once directly. In both situations 'wint_t' is not yet defined,
+ therefore we cannot provide the function overrides; instead include only
+ the system's <wchar.h>.
+ - On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and
+ the latter includes <wchar.h>. But here, we have no way to detect whether
+ <wctype.h> is completely included or is still being included. */
+
+#@INCLUDE_NEXT@ @NEXT_WCHAR_H@
+
+#else
+/* Normal invocation convention. */
+
+#ifndef _@GUARD_PREFIX@_WCHAR_H
+
+#define _GL_ALREADY_INCLUDING_WCHAR_H
+
+#if @HAVE_FEATURES_H@
+# include <features.h> /* for __GLIBC__ */
+#endif
+
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+ <wchar.h>.
+ BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>.
+ In some builds of uClibc, <wchar.h> is nonexistent and wchar_t is defined
+ by <stddef.h>.
+ But avoid namespace pollution on glibc systems. */
+#if !(defined __GLIBC__ && !defined __UCLIBC__)
+# include <stddef.h>
+#endif
+#ifndef __GLIBC__
+# include <stdio.h>
+# include <time.h>
+#endif
+
+/* Include the original <wchar.h> if it exists.
+ Some builds of uClibc lack it. */
+/* The include_next requires a split double-inclusion guard. */
+#if @HAVE_WCHAR_H@
+# @INCLUDE_NEXT@ @NEXT_WCHAR_H@
+#endif
+
+#undef _GL_ALREADY_INCLUDING_WCHAR_H
+
+#ifndef _@GUARD_PREFIX@_WCHAR_H
+#define _@GUARD_PREFIX@_WCHAR_H
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+
+/* Define wint_t and WEOF. (Also done in wctype.in.h.) */
+#if !@HAVE_WINT_T@ && !defined wint_t
+# define wint_t int
+# ifndef WEOF
+# define WEOF -1
+# endif
+#else
+/* MSVC defines wint_t as 'unsigned short' in <crtdefs.h>.
+ This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be
+ "unchanged by default argument promotions". Override it. */
+# if defined _MSC_VER
+# if !GNULIB_defined_wint_t
+# include <crtdefs.h>
+typedef unsigned int rpl_wint_t;
+# undef wint_t
+# define wint_t rpl_wint_t
+# define GNULIB_defined_wint_t 1
+# endif
+# endif
+# ifndef WEOF
+# define WEOF ((wint_t) -1)
+# endif
+#endif
+
+
+/* Override mbstate_t if it is too small.
+ On IRIX 6.5, sizeof (mbstate_t) == 1, which is not sufficient for
+ implementing mbrtowc for encodings like UTF-8. */
+#if !(@HAVE_MBSINIT@ && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@
+# if !GNULIB_defined_mbstate_t
+typedef int rpl_mbstate_t;
+# undef mbstate_t
+# define mbstate_t rpl_mbstate_t
+# define GNULIB_defined_mbstate_t 1
+# endif
+#endif
+
+
+/* Convert a single-byte character to a wide character. */
+#if @GNULIB_BTOWC@
+# if @REPLACE_BTOWC@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef btowc
+# define btowc rpl_btowc
+# endif
+_GL_FUNCDECL_RPL (btowc, wint_t, (int c));
+_GL_CXXALIAS_RPL (btowc, wint_t, (int c));
+# else
+# if !@HAVE_BTOWC@
+_GL_FUNCDECL_SYS (btowc, wint_t, (int c));
+# endif
+_GL_CXXALIAS_SYS (btowc, wint_t, (int c));
+# endif
+_GL_CXXALIASWARN (btowc);
+#elif defined GNULIB_POSIXCHECK
+# undef btowc
+# if HAVE_RAW_DECL_BTOWC
+_GL_WARN_ON_USE (btowc, "btowc is unportable - "
+ "use gnulib module btowc for portability");
+# endif
+#endif
+
+
+/* Convert a wide character to a single-byte character. */
+#if @GNULIB_WCTOB@
+# if @REPLACE_WCTOB@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wctob
+# define wctob rpl_wctob
+# endif
+_GL_FUNCDECL_RPL (wctob, int, (wint_t wc));
+_GL_CXXALIAS_RPL (wctob, int, (wint_t wc));
+# else
+# if !defined wctob && !@HAVE_DECL_WCTOB@
+/* wctob is provided by gnulib, or wctob exists but is not declared. */
+_GL_FUNCDECL_SYS (wctob, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (wctob, int, (wint_t wc));
+# endif
+_GL_CXXALIASWARN (wctob);
+#elif defined GNULIB_POSIXCHECK
+# undef wctob
+# if HAVE_RAW_DECL_WCTOB
+_GL_WARN_ON_USE (wctob, "wctob is unportable - "
+ "use gnulib module wctob for portability");
+# endif
+#endif
+
+
+/* Test whether *PS is in the initial state. */
+#if @GNULIB_MBSINIT@
+# if @REPLACE_MBSINIT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbsinit
+# define mbsinit rpl_mbsinit
+# endif
+_GL_FUNCDECL_RPL (mbsinit, int, (const mbstate_t *ps));
+_GL_CXXALIAS_RPL (mbsinit, int, (const mbstate_t *ps));
+# else
+# if !@HAVE_MBSINIT@
+_GL_FUNCDECL_SYS (mbsinit, int, (const mbstate_t *ps));
+# endif
+_GL_CXXALIAS_SYS (mbsinit, int, (const mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (mbsinit);
+#elif defined GNULIB_POSIXCHECK
+# undef mbsinit
+# if HAVE_RAW_DECL_MBSINIT
+_GL_WARN_ON_USE (mbsinit, "mbsinit is unportable - "
+ "use gnulib module mbsinit for portability");
+# endif
+#endif
+
+
+/* Convert a multibyte character to a wide character. */
+#if @GNULIB_MBRTOWC@
+# if @REPLACE_MBRTOWC@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbrtowc
+# define mbrtowc rpl_mbrtowc
+# endif
+_GL_FUNCDECL_RPL (mbrtowc, size_t,
+ (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
+_GL_CXXALIAS_RPL (mbrtowc, size_t,
+ (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
+# else
+# if !@HAVE_MBRTOWC@
+_GL_FUNCDECL_SYS (mbrtowc, size_t,
+ (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
+# endif
+_GL_CXXALIAS_SYS (mbrtowc, size_t,
+ (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (mbrtowc);
+#elif defined GNULIB_POSIXCHECK
+# undef mbrtowc
+# if HAVE_RAW_DECL_MBRTOWC
+_GL_WARN_ON_USE (mbrtowc, "mbrtowc is unportable - "
+ "use gnulib module mbrtowc for portability");
+# endif
+#endif
+
+
+/* Recognize a multibyte character. */
+#if @GNULIB_MBRLEN@
+# if @REPLACE_MBRLEN@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbrlen
+# define mbrlen rpl_mbrlen
+# endif
+_GL_FUNCDECL_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
+_GL_CXXALIAS_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
+# else
+# if !@HAVE_MBRLEN@
+_GL_FUNCDECL_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
+# endif
+_GL_CXXALIAS_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (mbrlen);
+#elif defined GNULIB_POSIXCHECK
+# undef mbrlen
+# if HAVE_RAW_DECL_MBRLEN
+_GL_WARN_ON_USE (mbrlen, "mbrlen is unportable - "
+ "use gnulib module mbrlen for portability");
+# endif
+#endif
+
+
+/* Convert a string to a wide string. */
+#if @GNULIB_MBSRTOWCS@
+# if @REPLACE_MBSRTOWCS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbsrtowcs
+# define mbsrtowcs rpl_mbsrtowcs
+# endif
+_GL_FUNCDECL_RPL (mbsrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (mbsrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t len,
+ mbstate_t *ps));
+# else
+# if !@HAVE_MBSRTOWCS@
+_GL_FUNCDECL_SYS (mbsrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (mbsrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t len,
+ mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (mbsrtowcs);
+#elif defined GNULIB_POSIXCHECK
+# undef mbsrtowcs
+# if HAVE_RAW_DECL_MBSRTOWCS
+_GL_WARN_ON_USE (mbsrtowcs, "mbsrtowcs is unportable - "
+ "use gnulib module mbsrtowcs for portability");
+# endif
+#endif
+
+
+/* Convert a string to a wide string. */
+#if @GNULIB_MBSNRTOWCS@
+# if @REPLACE_MBSNRTOWCS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbsnrtowcs
+# define mbsnrtowcs rpl_mbsnrtowcs
+# endif
+_GL_FUNCDECL_RPL (mbsnrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
+ mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (mbsnrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
+ mbstate_t *ps));
+# else
+# if !@HAVE_MBSNRTOWCS@
+_GL_FUNCDECL_SYS (mbsnrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
+ mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (mbsnrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
+ mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (mbsnrtowcs);
+#elif defined GNULIB_POSIXCHECK
+# undef mbsnrtowcs
+# if HAVE_RAW_DECL_MBSNRTOWCS
+_GL_WARN_ON_USE (mbsnrtowcs, "mbsnrtowcs is unportable - "
+ "use gnulib module mbsnrtowcs for portability");
+# endif
+#endif
+
+
+/* Convert a wide character to a multibyte character. */
+#if @GNULIB_WCRTOMB@
+# if @REPLACE_WCRTOMB@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcrtomb
+# define wcrtomb rpl_wcrtomb
+# endif
+_GL_FUNCDECL_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
+_GL_CXXALIAS_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
+# else
+# if !@HAVE_WCRTOMB@
+_GL_FUNCDECL_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
+# endif
+_GL_CXXALIAS_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (wcrtomb);
+#elif defined GNULIB_POSIXCHECK
+# undef wcrtomb
+# if HAVE_RAW_DECL_WCRTOMB
+_GL_WARN_ON_USE (wcrtomb, "wcrtomb is unportable - "
+ "use gnulib module wcrtomb for portability");
+# endif
+#endif
+
+
+/* Convert a wide string to a string. */
+#if @GNULIB_WCSRTOMBS@
+# if @REPLACE_WCSRTOMBS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcsrtombs
+# define wcsrtombs rpl_wcsrtombs
+# endif
+_GL_FUNCDECL_RPL (wcsrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (wcsrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t len,
+ mbstate_t *ps));
+# else
+# if !@HAVE_WCSRTOMBS@
+_GL_FUNCDECL_SYS (wcsrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (wcsrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t len,
+ mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (wcsrtombs);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsrtombs
+# if HAVE_RAW_DECL_WCSRTOMBS
+_GL_WARN_ON_USE (wcsrtombs, "wcsrtombs is unportable - "
+ "use gnulib module wcsrtombs for portability");
+# endif
+#endif
+
+
+/* Convert a wide string to a string. */
+#if @GNULIB_WCSNRTOMBS@
+# if @REPLACE_WCSNRTOMBS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcsnrtombs
+# define wcsnrtombs rpl_wcsnrtombs
+# endif
+_GL_FUNCDECL_RPL (wcsnrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
+ mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (wcsnrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
+ mbstate_t *ps));
+# else
+# if !@HAVE_WCSNRTOMBS@
+_GL_FUNCDECL_SYS (wcsnrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
+ mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (wcsnrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
+ mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (wcsnrtombs);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsnrtombs
+# if HAVE_RAW_DECL_WCSNRTOMBS
+_GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - "
+ "use gnulib module wcsnrtombs for portability");
+# endif
+#endif
+
+
+/* Return the number of screen columns needed for WC. */
+#if @GNULIB_WCWIDTH@
+# if @REPLACE_WCWIDTH@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcwidth
+# define wcwidth rpl_wcwidth
+# endif
+_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t));
+_GL_CXXALIAS_RPL (wcwidth, int, (wchar_t));
+# else
+# if !@HAVE_DECL_WCWIDTH@
+/* wcwidth exists but is not declared. */
+_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t));
+# endif
+_GL_CXXALIAS_SYS (wcwidth, int, (wchar_t));
+# endif
+_GL_CXXALIASWARN (wcwidth);
+#elif defined GNULIB_POSIXCHECK
+# undef wcwidth
+# if HAVE_RAW_DECL_WCWIDTH
+_GL_WARN_ON_USE (wcwidth, "wcwidth is unportable - "
+ "use gnulib module wcwidth for portability");
+# endif
+#endif
+
+
+/* Search N wide characters of S for C. */
+#if @GNULIB_WMEMCHR@
+# if !@HAVE_WMEMCHR@
+_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" {
+ const wchar_t * std::wmemchr (const wchar_t *, wchar_t, size_t);
+ wchar_t * std::wmemchr (wchar_t *, wchar_t, size_t);
+ } */
+_GL_CXXALIAS_SYS_CAST2 (wmemchr,
+ wchar_t *, (const wchar_t *, wchar_t, size_t),
+ const wchar_t *, (const wchar_t *, wchar_t, size_t));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wmemchr, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
+_GL_CXXALIASWARN1 (wmemchr, const wchar_t *,
+ (const wchar_t *s, wchar_t c, size_t n));
+# else
+_GL_CXXALIASWARN (wmemchr);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wmemchr
+# if HAVE_RAW_DECL_WMEMCHR
+_GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - "
+ "use gnulib module wmemchr for portability");
+# endif
+#endif
+
+
+/* Compare N wide characters of S1 and S2. */
+#if @GNULIB_WMEMCMP@
+# if !@HAVE_WMEMCMP@
+_GL_FUNCDECL_SYS (wmemcmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wmemcmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n));
+_GL_CXXALIASWARN (wmemcmp);
+#elif defined GNULIB_POSIXCHECK
+# undef wmemcmp
+# if HAVE_RAW_DECL_WMEMCMP
+_GL_WARN_ON_USE (wmemcmp, "wmemcmp is unportable - "
+ "use gnulib module wmemcmp for portability");
+# endif
+#endif
+
+
+/* Copy N wide characters of SRC to DEST. */
+#if @GNULIB_WMEMCPY@
+# if !@HAVE_WMEMCPY@
+_GL_FUNCDECL_SYS (wmemcpy, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wmemcpy, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+_GL_CXXALIASWARN (wmemcpy);
+#elif defined GNULIB_POSIXCHECK
+# undef wmemcpy
+# if HAVE_RAW_DECL_WMEMCPY
+_GL_WARN_ON_USE (wmemcpy, "wmemcpy is unportable - "
+ "use gnulib module wmemcpy for portability");
+# endif
+#endif
+
+
+/* Copy N wide characters of SRC to DEST, guaranteeing correct behavior for
+ overlapping memory areas. */
+#if @GNULIB_WMEMMOVE@
+# if !@HAVE_WMEMMOVE@
+_GL_FUNCDECL_SYS (wmemmove, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wmemmove, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+_GL_CXXALIASWARN (wmemmove);
+#elif defined GNULIB_POSIXCHECK
+# undef wmemmove
+# if HAVE_RAW_DECL_WMEMMOVE
+_GL_WARN_ON_USE (wmemmove, "wmemmove is unportable - "
+ "use gnulib module wmemmove for portability");
+# endif
+#endif
+
+
+/* Set N wide characters of S to C. */
+#if @GNULIB_WMEMSET@
+# if !@HAVE_WMEMSET@
+_GL_FUNCDECL_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
+_GL_CXXALIASWARN (wmemset);
+#elif defined GNULIB_POSIXCHECK
+# undef wmemset
+# if HAVE_RAW_DECL_WMEMSET
+_GL_WARN_ON_USE (wmemset, "wmemset is unportable - "
+ "use gnulib module wmemset for portability");
+# endif
+#endif
+
+
+/* Return the number of wide characters in S. */
+#if @GNULIB_WCSLEN@
+# if !@HAVE_WCSLEN@
+_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s));
+# endif
+_GL_CXXALIAS_SYS (wcslen, size_t, (const wchar_t *s));
+_GL_CXXALIASWARN (wcslen);
+#elif defined GNULIB_POSIXCHECK
+# undef wcslen
+# if HAVE_RAW_DECL_WCSLEN
+_GL_WARN_ON_USE (wcslen, "wcslen is unportable - "
+ "use gnulib module wcslen for portability");
+# endif
+#endif
+
+
+/* Return the number of wide characters in S, but at most MAXLEN. */
+#if @GNULIB_WCSNLEN@
+# if !@HAVE_WCSNLEN@
+_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
+# endif
+_GL_CXXALIAS_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
+_GL_CXXALIASWARN (wcsnlen);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsnlen
+# if HAVE_RAW_DECL_WCSNLEN
+_GL_WARN_ON_USE (wcsnlen, "wcsnlen is unportable - "
+ "use gnulib module wcsnlen for portability");
+# endif
+#endif
+
+
+/* Copy SRC to DEST. */
+#if @GNULIB_WCSCPY@
+# if !@HAVE_WCSCPY@
+_GL_FUNCDECL_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
+# endif
+_GL_CXXALIAS_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
+_GL_CXXALIASWARN (wcscpy);
+#elif defined GNULIB_POSIXCHECK
+# undef wcscpy
+# if HAVE_RAW_DECL_WCSCPY
+_GL_WARN_ON_USE (wcscpy, "wcscpy is unportable - "
+ "use gnulib module wcscpy for portability");
+# endif
+#endif
+
+
+/* Copy SRC to DEST, returning the address of the terminating L'\0' in DEST. */
+#if @GNULIB_WCPCPY@
+# if !@HAVE_WCPCPY@
+_GL_FUNCDECL_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
+# endif
+_GL_CXXALIAS_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
+_GL_CXXALIASWARN (wcpcpy);
+#elif defined GNULIB_POSIXCHECK
+# undef wcpcpy
+# if HAVE_RAW_DECL_WCPCPY
+_GL_WARN_ON_USE (wcpcpy, "wcpcpy is unportable - "
+ "use gnulib module wcpcpy for portability");
+# endif
+#endif
+
+
+/* Copy no more than N wide characters of SRC to DEST. */
+#if @GNULIB_WCSNCPY@
+# if !@HAVE_WCSNCPY@
+_GL_FUNCDECL_SYS (wcsncpy, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcsncpy, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+_GL_CXXALIASWARN (wcsncpy);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsncpy
+# if HAVE_RAW_DECL_WCSNCPY
+_GL_WARN_ON_USE (wcsncpy, "wcsncpy is unportable - "
+ "use gnulib module wcsncpy for portability");
+# endif
+#endif
+
+
+/* Copy no more than N characters of SRC to DEST, returning the address of
+ the last character written into DEST. */
+#if @GNULIB_WCPNCPY@
+# if !@HAVE_WCPNCPY@
+_GL_FUNCDECL_SYS (wcpncpy, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcpncpy, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+_GL_CXXALIASWARN (wcpncpy);
+#elif defined GNULIB_POSIXCHECK
+# undef wcpncpy
+# if HAVE_RAW_DECL_WCPNCPY
+_GL_WARN_ON_USE (wcpncpy, "wcpncpy is unportable - "
+ "use gnulib module wcpncpy for portability");
+# endif
+#endif
+
+
+/* Append SRC onto DEST. */
+#if @GNULIB_WCSCAT@
+# if !@HAVE_WCSCAT@
+_GL_FUNCDECL_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src));
+# endif
+_GL_CXXALIAS_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src));
+_GL_CXXALIASWARN (wcscat);
+#elif defined GNULIB_POSIXCHECK
+# undef wcscat
+# if HAVE_RAW_DECL_WCSCAT
+_GL_WARN_ON_USE (wcscat, "wcscat is unportable - "
+ "use gnulib module wcscat for portability");
+# endif
+#endif
+
+
+/* Append no more than N wide characters of SRC onto DEST. */
+#if @GNULIB_WCSNCAT@
+# if !@HAVE_WCSNCAT@
+_GL_FUNCDECL_SYS (wcsncat, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcsncat, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+_GL_CXXALIASWARN (wcsncat);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsncat
+# if HAVE_RAW_DECL_WCSNCAT
+_GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - "
+ "use gnulib module wcsncat for portability");
+# endif
+#endif
+
+
+/* Compare S1 and S2. */
+#if @GNULIB_WCSCMP@
+# if !@HAVE_WCSCMP@
+_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
+# endif
+_GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
+_GL_CXXALIASWARN (wcscmp);
+#elif defined GNULIB_POSIXCHECK
+# undef wcscmp
+# if HAVE_RAW_DECL_WCSCMP
+_GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - "
+ "use gnulib module wcscmp for portability");
+# endif
+#endif
+
+
+/* Compare no more than N wide characters of S1 and S2. */
+#if @GNULIB_WCSNCMP@
+# if !@HAVE_WCSNCMP@
+_GL_FUNCDECL_SYS (wcsncmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcsncmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n));
+_GL_CXXALIASWARN (wcsncmp);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsncmp
+# if HAVE_RAW_DECL_WCSNCMP
+_GL_WARN_ON_USE (wcsncmp, "wcsncmp is unportable - "
+ "use gnulib module wcsncmp for portability");
+# endif
+#endif
+
+
+/* Compare S1 and S2, ignoring case. */
+#if @GNULIB_WCSCASECMP@
+# if !@HAVE_WCSCASECMP@
+_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
+# endif
+_GL_CXXALIAS_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
+_GL_CXXALIASWARN (wcscasecmp);
+#elif defined GNULIB_POSIXCHECK
+# undef wcscasecmp
+# if HAVE_RAW_DECL_WCSCASECMP
+_GL_WARN_ON_USE (wcscasecmp, "wcscasecmp is unportable - "
+ "use gnulib module wcscasecmp for portability");
+# endif
+#endif
+
+
+/* Compare no more than N chars of S1 and S2, ignoring case. */
+#if @GNULIB_WCSNCASECMP@
+# if !@HAVE_WCSNCASECMP@
+_GL_FUNCDECL_SYS (wcsncasecmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcsncasecmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n));
+_GL_CXXALIASWARN (wcsncasecmp);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsncasecmp
+# if HAVE_RAW_DECL_WCSNCASECMP
+_GL_WARN_ON_USE (wcsncasecmp, "wcsncasecmp is unportable - "
+ "use gnulib module wcsncasecmp for portability");
+# endif
+#endif
+
+
+/* Compare S1 and S2, both interpreted as appropriate to the LC_COLLATE
+ category of the current locale. */
+#if @GNULIB_WCSCOLL@
+# if !@HAVE_WCSCOLL@
+_GL_FUNCDECL_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
+# endif
+_GL_CXXALIAS_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
+_GL_CXXALIASWARN (wcscoll);
+#elif defined GNULIB_POSIXCHECK
+# undef wcscoll
+# if HAVE_RAW_DECL_WCSCOLL
+_GL_WARN_ON_USE (wcscoll, "wcscoll is unportable - "
+ "use gnulib module wcscoll for portability");
+# endif
+#endif
+
+
+/* Transform S2 into array pointed to by S1 such that if wcscmp is applied
+ to two transformed strings the result is the as applying 'wcscoll' to the
+ original strings. */
+#if @GNULIB_WCSXFRM@
+# if !@HAVE_WCSXFRM@
+_GL_FUNCDECL_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n));
+_GL_CXXALIASWARN (wcsxfrm);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsxfrm
+# if HAVE_RAW_DECL_WCSXFRM
+_GL_WARN_ON_USE (wcsxfrm, "wcsxfrm is unportable - "
+ "use gnulib module wcsxfrm for portability");
+# endif
+#endif
+
+
+/* Duplicate S, returning an identical malloc'd string. */
+#if @GNULIB_WCSDUP@
+# if !@HAVE_WCSDUP@
+_GL_FUNCDECL_SYS (wcsdup, wchar_t *, (const wchar_t *s));
+# endif
+_GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s));
+_GL_CXXALIASWARN (wcsdup);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsdup
+# if HAVE_RAW_DECL_WCSDUP
+_GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - "
+ "use gnulib module wcsdup for portability");
+# endif
+#endif
+
+
+/* Find the first occurrence of WC in WCS. */
+#if @GNULIB_WCSCHR@
+# if !@HAVE_WCSCHR@
+_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" {
+ const wchar_t * std::wcschr (const wchar_t *, wchar_t);
+ wchar_t * std::wcschr (wchar_t *, wchar_t);
+ } */
+_GL_CXXALIAS_SYS_CAST2 (wcschr,
+ wchar_t *, (const wchar_t *, wchar_t),
+ const wchar_t *, (const wchar_t *, wchar_t));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wcschr, wchar_t *, (wchar_t *wcs, wchar_t wc));
+_GL_CXXALIASWARN1 (wcschr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
+# else
+_GL_CXXALIASWARN (wcschr);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcschr
+# if HAVE_RAW_DECL_WCSCHR
+_GL_WARN_ON_USE (wcschr, "wcschr is unportable - "
+ "use gnulib module wcschr for portability");
+# endif
+#endif
+
+
+/* Find the last occurrence of WC in WCS. */
+#if @GNULIB_WCSRCHR@
+# if !@HAVE_WCSRCHR@
+_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" {
+ const wchar_t * std::wcsrchr (const wchar_t *, wchar_t);
+ wchar_t * std::wcsrchr (wchar_t *, wchar_t);
+ } */
+_GL_CXXALIAS_SYS_CAST2 (wcsrchr,
+ wchar_t *, (const wchar_t *, wchar_t),
+ const wchar_t *, (const wchar_t *, wchar_t));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wcsrchr, wchar_t *, (wchar_t *wcs, wchar_t wc));
+_GL_CXXALIASWARN1 (wcsrchr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
+# else
+_GL_CXXALIASWARN (wcsrchr);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcsrchr
+# if HAVE_RAW_DECL_WCSRCHR
+_GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - "
+ "use gnulib module wcsrchr for portability");
+# endif
+#endif
+
+
+/* Return the length of the initial segmet of WCS which consists entirely
+ of wide characters not in REJECT. */
+#if @GNULIB_WCSCSPN@
+# if !@HAVE_WCSCSPN@
+_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
+# endif
+_GL_CXXALIAS_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
+_GL_CXXALIASWARN (wcscspn);
+#elif defined GNULIB_POSIXCHECK
+# undef wcscspn
+# if HAVE_RAW_DECL_WCSCSPN
+_GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - "
+ "use gnulib module wcscspn for portability");
+# endif
+#endif
+
+
+/* Return the length of the initial segmet of WCS which consists entirely
+ of wide characters in ACCEPT. */
+#if @GNULIB_WCSSPN@
+# if !@HAVE_WCSSPN@
+_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
+# endif
+_GL_CXXALIAS_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
+_GL_CXXALIASWARN (wcsspn);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsspn
+# if HAVE_RAW_DECL_WCSSPN
+_GL_WARN_ON_USE (wcsspn, "wcsspn is unportable - "
+ "use gnulib module wcsspn for portability");
+# endif
+#endif
+
+
+/* Find the first occurrence in WCS of any character in ACCEPT. */
+#if @GNULIB_WCSPBRK@
+# if !@HAVE_WCSPBRK@
+_GL_FUNCDECL_SYS (wcspbrk, wchar_t *,
+ (const wchar_t *wcs, const wchar_t *accept));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" {
+ const wchar_t * std::wcspbrk (const wchar_t *, const wchar_t *);
+ wchar_t * std::wcspbrk (wchar_t *, const wchar_t *);
+ } */
+_GL_CXXALIAS_SYS_CAST2 (wcspbrk,
+ wchar_t *, (const wchar_t *, const wchar_t *),
+ const wchar_t *, (const wchar_t *, const wchar_t *));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wcspbrk, wchar_t *,
+ (wchar_t *wcs, const wchar_t *accept));
+_GL_CXXALIASWARN1 (wcspbrk, const wchar_t *,
+ (const wchar_t *wcs, const wchar_t *accept));
+# else
+_GL_CXXALIASWARN (wcspbrk);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcspbrk
+# if HAVE_RAW_DECL_WCSPBRK
+_GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - "
+ "use gnulib module wcspbrk for portability");
+# endif
+#endif
+
+
+/* Find the first occurrence of NEEDLE in HAYSTACK. */
+#if @GNULIB_WCSSTR@
+# if !@HAVE_WCSSTR@
+_GL_FUNCDECL_SYS (wcsstr, wchar_t *,
+ (const wchar_t *haystack, const wchar_t *needle));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" {
+ const wchar_t * std::wcsstr (const wchar_t *, const wchar_t *);
+ wchar_t * std::wcsstr (wchar_t *, const wchar_t *);
+ } */
+_GL_CXXALIAS_SYS_CAST2 (wcsstr,
+ wchar_t *, (const wchar_t *, const wchar_t *),
+ const wchar_t *, (const wchar_t *, const wchar_t *));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wcsstr, wchar_t *,
+ (wchar_t *haystack, const wchar_t *needle));
+_GL_CXXALIASWARN1 (wcsstr, const wchar_t *,
+ (const wchar_t *haystack, const wchar_t *needle));
+# else
+_GL_CXXALIASWARN (wcsstr);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcsstr
+# if HAVE_RAW_DECL_WCSSTR
+_GL_WARN_ON_USE (wcsstr, "wcsstr is unportable - "
+ "use gnulib module wcsstr for portability");
+# endif
+#endif
+
+
+/* Divide WCS into tokens separated by characters in DELIM. */
+#if @GNULIB_WCSTOK@
+# if !@HAVE_WCSTOK@
+_GL_FUNCDECL_SYS (wcstok, wchar_t *,
+ (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr));
+# endif
+_GL_CXXALIAS_SYS (wcstok, wchar_t *,
+ (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr));
+_GL_CXXALIASWARN (wcstok);
+#elif defined GNULIB_POSIXCHECK
+# undef wcstok
+# if HAVE_RAW_DECL_WCSTOK
+_GL_WARN_ON_USE (wcstok, "wcstok is unportable - "
+ "use gnulib module wcstok for portability");
+# endif
+#endif
+
+
+/* Determine number of column positions required for first N wide
+ characters (or fewer if S ends before this) in S. */
+#if @GNULIB_WCSWIDTH@
+# if @REPLACE_WCSWIDTH@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcswidth
+# define wcswidth rpl_wcswidth
+# endif
+_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n));
+_GL_CXXALIAS_RPL (wcswidth, int, (const wchar_t *s, size_t n));
+# else
+# if !@HAVE_WCSWIDTH@
+_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcswidth, int, (const wchar_t *s, size_t n));
+# endif
+_GL_CXXALIASWARN (wcswidth);
+#elif defined GNULIB_POSIXCHECK
+# undef wcswidth
+# if HAVE_RAW_DECL_WCSWIDTH
+_GL_WARN_ON_USE (wcswidth, "wcswidth is unportable - "
+ "use gnulib module wcswidth for portability");
+# endif
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_WCHAR_H */
+#endif /* _@GUARD_PREFIX@_WCHAR_H */
+#endif
####################################
if GTK_DOC_USE_LIBTOOL
-GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
GTKDOC_RUN = $(LIBTOOL) --mode=execute
else
-GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
GTKDOC_RUN =
endif
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
-EXTRA_DIST = \
+SETUP_FILES = \
$(content_files) \
- $(HTML_IMAGES) \
$(DOC_MAIN_SGML_FILE) \
$(DOC_MODULE)-sections.txt \
$(DOC_MODULE)-overrides.txt
-DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
- $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
+EXTRA_DIST = \
+ $(HTML_IMAGES) \
+ $(SETUP_FILES)
+
+DOC_STAMPS=setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ tmpl.stamp sgml.stamp html.stamp pdf.stamp
-SCANOBJ_FILES = \
- $(DOC_MODULE).args \
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
$(DOC_MODULE).hierarchy \
$(DOC_MODULE).interfaces \
$(DOC_MODULE).prerequisites \
CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
if ENABLE_GTK_DOC
-all-local: html-build.stamp
+if GTK_DOC_BUILD_HTML
+HTML_BUILD_STAMP=html-build.stamp
+else
+HTML_BUILD_STAMP=
+endif
+if GTK_DOC_BUILD_PDF
+PDF_BUILD_STAMP=pdf-build.stamp
+else
+PDF_BUILD_STAMP=
+endif
+
+all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
else
all-local:
endif
-docs: html-build.stamp
+docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
$(REPORT_FILES): sgml-build.stamp
+#### setup ####
+
+setup-build.stamp:
+ -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ echo ' DOC Preparing build'; \
+ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
+ done; \
+ fi; \
+ test -d $(abs_srcdir)/tmpl && \
+ { cp -rp $(abs_srcdir)/tmpl $(abs_builddir)/; \
+ chmod -R u+w $(abs_builddir)/tmpl; } \
+ fi
+ @touch setup-build.stamp
+
#### scan ####
scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
- @echo 'gtk-doc: Scanning header files'
- @-chmod -R u+w $(srcdir)
- @cd $(srcdir) && \
- gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
- @if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
- CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
+ @echo ' DOC Scanning header files'
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ echo " DOC Introspecting gobjects"; \
+ scanobj_options=""; \
+ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ fi; \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
else \
- cd $(srcdir) ; \
for i in $(SCANOBJ_FILES) ; do \
- test -f $$i || touch $$i ; \
+ test -f $$i || touch $$i ; \
done \
fi
@touch scan-build.stamp
#### templates ####
-tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
- @echo 'gtk-doc: Rebuilding template files'
- @-chmod -R u+w $(srcdir)
- @cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
+tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+ @echo ' DOC Rebuilding template files'
+ @gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ if test -w $(abs_srcdir) ; then \
+ cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \
+ fi \
+ fi
@touch tmpl-build.stamp
tmpl.stamp: tmpl-build.stamp
#### xml ####
sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
- @echo 'gtk-doc: Building XML'
+ @echo ' DOC Building XML'
@-chmod -R u+w $(srcdir)
- @cd $(srcdir) && \
- gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS)
+ @_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
@touch sgml-build.stamp
sgml.stamp: sgml-build.stamp
#### html ####
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
- @echo 'gtk-doc: Building HTML'
- @-chmod -R u+w $(srcdir)
- @rm -rf $(srcdir)/html
- @mkdir $(srcdir)/html
+ @echo ' DOC Building HTML'
+ @rm -rf html
+ @mkdir html
@mkhtml_options=""; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ fi; \
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
if test "$(?)" = "0"; then \
- mkhtml_options=--path="$(srcdir)"; \
+ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
fi; \
- cd $(srcdir)/html && gtkdoc-mkhtml $(mkhtml_options) $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
- @test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
- @echo 'gtk-doc: Fixing cross-references'
- @cd $(srcdir) && gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ if test -f $(abs_srcdir)/$$file ; then \
+ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ fi; \
+ if test -f $(abs_builddir)/$$file ; then \
+ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ fi; \
+ done;
+ @echo ' DOC Fixing cross-references'
+ @gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
@touch html-build.stamp
+#### pdf ####
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo ' DOC Building PDF'
+ @rm -f $(DOC_MODULE).pdf
+ @mkpdf_options=""; \
+ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$(?)" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
+ @touch pdf-build.stamp
+
##############
clean-local:
- rm -f *~ *.bak
- rm -rf .libs
+ @rm -f *~ *.bak
+ @rm -rf .libs
distclean-local:
- cd $(srcdir) && \
- rm -rf xml $(REPORT_FILES) \
- $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \
+ rm -rf tmpl; \
+ fi
maintainer-clean-local: clean
- cd $(srcdir) && rm -rf xml html
+ @rm -rf xml html
install-data-local:
- @installfiles=`echo $(srcdir)/html/*`; \
- if test "$$installfiles" = '$(srcdir)/html/*'; \
- then echo '-- Nothing to install' ; \
+ @installfiles=`echo $(builddir)/html/*`; \
+ if test "$$installfiles" = '$(builddir)/html/*'; \
+ then echo 1>&2 'Nothing to install' ; \
else \
if test -n "$(DOC_MODULE_VERSION)"; then \
installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
fi; \
$(mkinstalldirs) $${installdir} ; \
for i in $$installfiles; do \
- echo '-- Installing '$$i ; \
+ echo ' $(INSTALL_DATA) '$$i ; \
$(INSTALL_DATA) $$i $${installdir}; \
done; \
if test -n "$(DOC_MODULE_VERSION)"; then \
mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
$${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
- mv -f $${installdir}/$(DOC_MODULE).devhelp \
- $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \
fi; \
$(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
fi
endif
dist-hook: dist-check-gtkdoc dist-hook-local
- mkdir $(distdir)/tmpl
- mkdir $(distdir)/xml
- mkdir $(distdir)/html
- -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
- -cp $(srcdir)/xml/*.xml $(distdir)/xml
- cp $(srcdir)/html/* $(distdir)/html
- -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
- -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
- cd $(distdir) && rm -f $(DISTCLEANFILES)
- $(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
+ @mkdir $(distdir)/tmpl
+ @mkdir $(distdir)/html
+ @-cp ./tmpl/*.sgml $(distdir)/tmpl
+ @cp ./html/* $(distdir)/html
+ @-cp ./$(DOC_MODULE).pdf $(distdir)/
+ @-cp ./$(DOC_MODULE).types $(distdir)/
+ @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
+ @cd $(distdir) && rm -f $(DISTCLEANFILES)
+ @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
.PHONY : dist-hook-local docs
## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+# Josefsson
#
# This file is part of GNU Libidn.
#
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+# Josefsson
#
# This file is part of GNU Libidn.
#
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
/**
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
+ * Software Foundation, Inc.
*
* Author: Oliver Hitz
*
/**
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
+ * Software Foundation, Inc.
*
* Author: Oliver Hitz
*
## Process this file with automake to produce Makefile.in
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+# Josefsson.
#
# This file is part of GNU Libidn.
#
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+# Josefsson.
#
# This file is part of GNU Libidn.
#
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
am__dist_noinst_JAVA_DIST = CombiningClass.java Composition.java \
CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT):$$CLASSPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
/**
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
*
* Author: Oliver Hitz
*
int cc = combiningClass(out.charAt(i));
if (i > 0 && (last_cc == 0 || last_cc != cc)) {
- // Try to combine characters
- char a = out.charAt(last_start);
- char b = out.charAt(i);
+ // Try to combine characters
+ char a = out.charAt(last_start);
+ char b = out.charAt(i);
- int c = compose(a, b);
+ int c = compose(a, b);
- if (c != -1) {
- out.setCharAt(last_start, (char) c);
- out.deleteCharAt(i);
- i--;
+ if (c != -1) {
+ out.setCharAt(last_start, (char) c);
+ out.deleteCharAt(i);
+ i--;
if (i == last_start) {
last_cc = 0;
}
if (cc == 0) {
- last_start = i;
+ last_start = i;
}
last_cc = cc;
}
return -1;
}
-
-}
\ No newline at end of file
+}
/**
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+ * Foundation, Inc.
*
* Author: Oliver Hitz
*
throw new PunycodeException(PunycodeException.BAD_INPUT);
}
}
-}
\ No newline at end of file
+}
/**
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+ * Foundation, Inc.
*
* Author: Oliver Hitz
*
{
super(m);
}
-}
\ No newline at end of file
+}
new char[] { '\uFFD2', '\uFFD7' },
new char[] { '\uFFDA', '\uFFDC' },
};
-
}
/**
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
+ * Software Foundation, Inc.
*
* Author: Oliver Hitz
*
/**
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+ * Foundation, Inc.
*
* Author: Oliver Hitz
*
{
super(m);
}
-}
\ No newline at end of file
+}
/**
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
*
* Author: Oliver Hitz
*
String k = (String) i.next();
String v = (String) compatibility.get(k);
- String d = decompose(v, compatibility);
+ String d = decompose(v, compatibility);
if (!d.equals(v)) {
replaced = true;
compatibility.put(k, d);
String[] v = ((String[]) singleSecondComposition.get(k));
w.println(" { '"+toJavaString(v[0])+"', '"+toJavaString(v[1])+"' },");
- indices.put(new Integer(Integer.parseInt(k, 16)), new Integer(index));
+ indices.put(new Integer(Integer.parseInt(k, 16)), new Integer(index));
index++;
}
w.println(" };");
System.out.println(" Ok.");
}
-}
\ No newline at end of file
+}
/**
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+ * Foundation, Inc.
*
* Author: Oliver Hitz
*
System.out.println(" Ok.");
}
-}
\ No newline at end of file
+}
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
SOURCES =
DIST_SOURCES =
am__dist_noinst_JAVA_DIST = GenerateRFC3454.java GenerateNFKC.java \
CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT):$$CLASSPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
/**
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
+ * Software Foundation, Inc.
*
* Author: Oliver Hitz
*
/**
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
+ * Software Foundation, Inc.
*
* Author: Oliver Hitz
*
## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011 Simon Josefsson.
+# Copyright (C) 2004, 2010, 2011 Free Software Foundation, Inc.
#
# This file is part of GNU Libidn.
#
EXTRA_DIST = gen-stringprep-tables.pl gen-unicode-tables.pl gen-tld-tables.pl
AM_CPPFLAGS = -I$(srcdir)/gl -Igl -DLIBIDN_BUILDING
+AM_CPPFLAGS += -DLOCALEDIR=\"$(localedir)\"
AM_CFLAGS = $(WERROR_CFLAGS) $(WSTACK_CFLAGS) $(WARN_CFLAGS)
AM_CFLAGS += $(CFLAG_VISIBILITY)
-DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
lib_LTLIBRARIES = libidn.la
DISTCLEANFILES += $(defexec_DATA)
endif
-nfkc.c: gunibreak.h gunicomp.h gunidecomp.h
-
SPEC = $(top_srcdir)/doc/specifications
-gunibreak.h gunicomp.h gunidecomp.h: gen-unicode-tables.pl $(SPEC)/UnicodeData-3.2.0.txt $(SPEC)/LineBreak-3.2.0.txt $(SPEC)/SpecialCasing-3.2.0.txt $(SPEC)/CaseFolding-3.2.0.txt $(SPEC)/CompositionExclusions-3.2.0.txt
- $(PERL) $(srcdir)/gen-unicode-tables.pl -decomp 3.2 $(SPEC)
+#nfkc.c: gunibreak.h gunicomp.h gunidecomp.h
+#gunibreak.h gunicomp.h gunidecomp.h: gen-unicode-tables.pl $(SPEC)/UnicodeData-3.2.0.txt $(SPEC)/LineBreak-3.2.0.txt $(SPEC)/SpecialCasing-3.2.0.txt $(SPEC)/CaseFolding-3.2.0.txt $(SPEC)/CompositionExclusions-3.2.0.txt
+# $(PERL) $(srcdir)/gen-unicode-tables.pl -decomp 3.2 $(SPEC)
rfc3454.c: gen-stringprep-tables.pl
$(PERL) $(srcdir)/gen-stringprep-tables.pl $(SPEC)/rfc3454.txt
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011 Simon Josefsson.
+# Copyright (C) 2004, 2010, 2011 Free Software Foundation, Inc.
#
# This file is part of GNU Libidn.
#
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
strerror-idna.lo strerror-pr29.lo strerror-punycode.lo \
strerror-stringprep.lo strerror-tld.lo $(am__objects_1)
libidn_la_OBJECTS = $(am_libidn_la_OBJECTS)
-libidn_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+libidn_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libidn_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libidn_la_SOURCES)
DIST_SOURCES = $(am__libidn_la_SOURCES_DIST)
DATA = $(defexec_DATA)
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
CSHARP_CHOICE = @CSHARP_CHOICE@
CYGPATH_W = @CYGPATH_W@
-DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
+DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DLL_VERSION = @DLL_VERSION@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = gen-stringprep-tables.pl gen-unicode-tables.pl gen-tld-tables.pl
-AM_CPPFLAGS = -I$(srcdir)/gl -Igl -DLIBIDN_BUILDING
+AM_CPPFLAGS = -I$(srcdir)/gl -Igl -DLIBIDN_BUILDING \
+ -DLOCALEDIR=\"$(localedir)\"
AM_CFLAGS = $(WERROR_CFLAGS) $(WSTACK_CFLAGS) $(WARN_CFLAGS) \
$(CFLAG_VISIBILITY)
lib_LTLIBRARIES = libidn.la
rm -f "$${dir}/so_locations"; \
done
libidn.la: $(libidn_la_OBJECTS) $(libidn_la_DEPENDENCIES)
- $(libidn_la_LINK) -rpath $(libdir) $(libidn_la_OBJECTS) $(libidn_la_LIBADD) $(LIBS)
+ $(AM_V_CCLD)$(libidn_la_LINK) -rpath $(libdir) $(libidn_la_OBJECTS) $(libidn_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
echo '#include <stdint.h>' > idn-int.h; \
fi
-nfkc.c: gunibreak.h gunicomp.h gunidecomp.h
-
-gunibreak.h gunicomp.h gunidecomp.h: gen-unicode-tables.pl $(SPEC)/UnicodeData-3.2.0.txt $(SPEC)/LineBreak-3.2.0.txt $(SPEC)/SpecialCasing-3.2.0.txt $(SPEC)/CaseFolding-3.2.0.txt $(SPEC)/CompositionExclusions-3.2.0.txt
- $(PERL) $(srcdir)/gen-unicode-tables.pl -decomp 3.2 $(SPEC)
+#nfkc.c: gunibreak.h gunicomp.h gunidecomp.h
+#gunibreak.h gunicomp.h gunidecomp.h: gen-unicode-tables.pl $(SPEC)/UnicodeData-3.2.0.txt $(SPEC)/LineBreak-3.2.0.txt $(SPEC)/SpecialCasing-3.2.0.txt $(SPEC)/CaseFolding-3.2.0.txt $(SPEC)/CompositionExclusions-3.2.0.txt
+# $(PERL) $(srcdir)/gen-unicode-tables.pl -decomp 3.2 $(SPEC)
rfc3454.c: gen-stringprep-tables.pl
$(PERL) $(srcdir)/gen-stringprep-tables.pl $(SPEC)/rfc3454.txt
#! /usr/bin/perl -w
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+# Simon Josefsson
# 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
print FH "/* This file is automatically generated. DO NOT EDIT!\n";
print FH " Instead, edit gen-stringprep-tables.pl and re-run. */\n\n";
+print FH "#include <config.h>\n";
print FH "#include \"stringprep.h\"\n";
while(<>) {
# Author: Thomas Jacob, Internet24.de
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+# Josefsson.
+# Copyright (C) 2004, 2010, 2011 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#! /usr/bin/perl -w
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+# Josefsson
# Copyright (C) 1998, 1999 Tom Tromey
# Copyright (C) 2001 Red Hat Software
# FIXME:
# * For decomp table it might make sense to use a shift count other
# than 8. We could easily compute the perfect shift count.
+# * This script no longer works with Perl 5.10. Sigh..
# we use some perl unicode features
require 5.006;
my $recordlen = (2+$casefoldlen+1) & ~1;
printf "Generated %d bytes for casefold table\n", $recordlen * @casefold;
}
-
-
-
-## DO NOT EDIT! GENERATED AUTOMATICALLY!
-## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
+## Process this file with automake to produce Makefile.in
+# Copyright (C) 2011 Simon Josefsson.
#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
-# the same distribution terms as the rest of that program.
+# This file is part of GNU Libidn.
#
-# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=lib/gl/override --lib=libgnu --source-base=lib/gl --m4-base=lib/gl/m4 --doc-base=doc --tests-base=lib/gltests --aux-dir=build-aux --with-tests --lgpl=2 --libtool --macro-prefix=lgl --no-vc-files gettext-h lib-msvc-compat lib-symbol-versions lib-symbol-visibility stdint striconv strverscmp
+# GNU Libidn is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of
+# the License, or (at your option) any later version.
+#
+# GNU Libidn is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with GNU Libidn; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
-AUTOMAKE_OPTIONS = 1.5 gnits
+AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects
SUBDIRS =
noinst_HEADERS =
EXTRA_DIST =
BUILT_SOURCES =
SUFFIXES =
-MOSTLYCLEANFILES = core *.stackdump
+MOSTLYCLEANFILES =
MOSTLYCLEANDIRS =
CLEANFILES =
DISTCLEANFILES =
AM_CPPFLAGS =
AM_CFLAGS =
-noinst_LTLIBRARIES += libgnu.la
-
-libgnu_la_SOURCES =
-libgnu_la_LIBADD = $(lgl_LTLIBOBJS)
-libgnu_la_DEPENDENCIES = $(lgl_LTLIBOBJS)
-EXTRA_libgnu_la_SOURCES =
-libgnu_la_LDFLAGS = $(AM_LDFLAGS)
-
-## begin gnulib module c-ctype
-
-libgnu_la_SOURCES += c-ctype.h c-ctype.c
-
-## end gnulib module c-ctype
-
-## begin gnulib module c-strcase
-
-libgnu_la_SOURCES += c-strcase.h c-strcasecmp.c c-strncasecmp.c
-
-## end gnulib module c-strcase
-
-## begin gnulib module gettext-h
-
-libgnu_la_SOURCES += gettext.h
-
-## end gnulib module gettext-h
-
-## begin gnulib module gperf
-
-GPERF = gperf
-
-## end gnulib module gperf
-
-## begin gnulib module havelib
-
-
-EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath
-
-## end gnulib module havelib
-
-## begin gnulib module iconv_open
-
-BUILT_SOURCES += $(ICONV_H)
-
-# We need the following in order to create <iconv.h> when the system
-# doesn't have one that works with the given compiler.
-iconv.h: iconv.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_ICONV_H''@|$(NEXT_ICONV_H)|g' \
- -e 's|@''ICONV_CONST''@|$(ICONV_CONST)|g' \
- -e 's|@''REPLACE_ICONV''@|$(REPLACE_ICONV)|g' \
- -e 's|@''REPLACE_ICONV_OPEN''@|$(REPLACE_ICONV_OPEN)|g' \
- -e 's|@''REPLACE_ICONV_UTF''@|$(REPLACE_ICONV_UTF)|g' \
- < $(srcdir)/iconv.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += iconv.h iconv.h-t
-
-iconv_open-aix.h: iconv_open-aix.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t
- mv $(srcdir)/iconv_open-aix.h-t $(srcdir)/iconv_open-aix.h
-iconv_open-hpux.h: iconv_open-hpux.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t
- mv $(srcdir)/iconv_open-hpux.h-t $(srcdir)/iconv_open-hpux.h
-iconv_open-irix.h: iconv_open-irix.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t
- mv $(srcdir)/iconv_open-irix.h-t $(srcdir)/iconv_open-irix.h
-iconv_open-osf.h: iconv_open-osf.gperf
- $(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t
- mv $(srcdir)/iconv_open-osf.h-t $(srcdir)/iconv_open-osf.h
-BUILT_SOURCES += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h
-MOSTLYCLEANFILES += iconv_open-aix.h-t iconv_open-hpux.h-t iconv_open-irix.h-t iconv_open-osf.h-t
-MAINTAINERCLEANFILES += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h
-EXTRA_DIST += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h
-
-EXTRA_DIST += iconv.in.h iconv_open-aix.gperf iconv_open-hpux.gperf iconv_open-irix.gperf iconv_open-osf.gperf iconv_open.c
-
-EXTRA_libgnu_la_SOURCES += iconv_open.c
-
-## end gnulib module iconv_open
-
-## begin gnulib module lib-symbol-visibility
-
-# The value of $(CFLAG_VISIBILITY) needs to be added to the CFLAGS for the
-# compilation of all sources that make up the library. This line here does it
-# only for the gnulib part of it. The developer is responsible for adding
-# $(CFLAG_VISIBILITY) to the Makefile.ams of the other portions of the library.
-AM_CFLAGS += $(CFLAG_VISIBILITY)
-
-## end gnulib module lib-symbol-visibility
-
-## begin gnulib module link-warning
-
-LINK_WARNING_H=$(top_srcdir)/build-aux/link-warning.h
-
-EXTRA_DIST += $(top_srcdir)/build-aux/link-warning.h
-
-## end gnulib module link-warning
-
-## begin gnulib module stdbool
-
-BUILT_SOURCES += $(STDBOOL_H)
-
-# We need the following in order to create <stdbool.h> when the system
-# doesn't have one that works.
-stdbool.h: stdbool.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += stdbool.h stdbool.h-t
-
-EXTRA_DIST += stdbool.in.h
-
-## end gnulib module stdbool
-
-## begin gnulib module stdint
-
-BUILT_SOURCES += $(STDINT_H)
-
-# We need the following in order to create <stdint.h> when the system
-# doesn't have one that works with the given compiler.
-stdint.h: stdint.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
- -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
- -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
- -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
- -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
- -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
- -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
- -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
- -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
- -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
- -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
- -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
- -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
- -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
- -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
- -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
- -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
- -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
- < $(srcdir)/stdint.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += stdint.h stdint.h-t
-
-EXTRA_DIST += stdint.in.h
-
-## end gnulib module stdint
-
-## begin gnulib module striconv
-
-libgnu_la_SOURCES += striconv.h striconv.c
-if GL_COND_LIBTOOL
-libgnu_la_LDFLAGS += $(LTLIBICONV)
-endif
-
-## end gnulib module striconv
-
-## begin gnulib module string
-
-BUILT_SOURCES += string.h
-
-# We need the following in order to create <string.h> when the system
-# doesn't have one that works with the given compiler.
-string.h: string.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
- -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
- -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \
- -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \
- -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \
- -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \
- -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \
- -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \
- -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \
- -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \
- -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \
- -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \
- -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \
- -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \
- -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \
- -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \
- -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \
- -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \
- -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \
- -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \
- -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \
- -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \
- -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \
- -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \
- -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \
- -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \
- -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \
- -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \
- -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \
- -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \
- -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \
- -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \
- -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \
- -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
- -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
- -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
- -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \
- -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
- -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
- -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
- -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
- -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \
- -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
- -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
- -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
- -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
- -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
- -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
- -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \
- -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
- -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
- -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
- -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
- -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
- -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
- -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
- -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/string.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += string.h string.h-t
-
-EXTRA_DIST += string.in.h
-
-## end gnulib module string
-
-## begin gnulib module strverscmp
-
-
-EXTRA_DIST += strverscmp.c
-
-EXTRA_libgnu_la_SOURCES += strverscmp.c
-
-## end gnulib module strverscmp
-
-## begin gnulib module wchar
-
-BUILT_SOURCES += $(WCHAR_H)
-
-# We need the following in order to create <wchar.h> when the system
-# version does not work standalone.
-wchar.h: wchar.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
- -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
- -e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \
- -e 's|@''GNULIB_WCTOB''@|$(GNULIB_WCTOB)|g' \
- -e 's|@''GNULIB_MBSINIT''@|$(GNULIB_MBSINIT)|g' \
- -e 's|@''GNULIB_MBRTOWC''@|$(GNULIB_MBRTOWC)|g' \
- -e 's|@''GNULIB_MBRLEN''@|$(GNULIB_MBRLEN)|g' \
- -e 's|@''GNULIB_MBSRTOWCS''@|$(GNULIB_MBSRTOWCS)|g' \
- -e 's|@''GNULIB_MBSNRTOWCS''@|$(GNULIB_MBSNRTOWCS)|g' \
- -e 's|@''GNULIB_WCRTOMB''@|$(GNULIB_WCRTOMB)|g' \
- -e 's|@''GNULIB_WCSRTOMBS''@|$(GNULIB_WCSRTOMBS)|g' \
- -e 's|@''GNULIB_WCSNRTOMBS''@|$(GNULIB_WCSNRTOMBS)|g' \
- -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \
- -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
- -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
- -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
- -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
- -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
- -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
- -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
- -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
- -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
- -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
- -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
- -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
- -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
- -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
- -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
- -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
- -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
- -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
- -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
- -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
- -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
- -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
- -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
- -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/wchar.in.h; \
- } > $@-t
- mv $@-t $@
-MOSTLYCLEANFILES += wchar.h wchar.h-t
-
-EXTRA_DIST += wchar.in.h
-
-## end gnulib module wchar
-
-
-mostlyclean-local: mostlyclean-generic
- @for dir in '' $(MOSTLYCLEANDIRS); do \
- if test -n "$$dir" && test -d $$dir; then \
- echo "rmdir $$dir"; rmdir $$dir; \
- fi; \
- done; \
- :
+include gnulib.mk
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
+# Copyright (C) 2011 Simon Josefsson.
#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file is part of GNU Libidn.
+#
+# GNU Libidn is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of
+# the License, or (at your option) any later version.
+#
+# GNU Libidn is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with GNU Libidn; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=lib/gl/override --lib=libgnu --source-base=lib/gl --m4-base=lib/gl/m4 --doc-base=doc --tests-base=lib/gltests --aux-dir=build-aux --with-tests --lgpl=2 --libtool --macro-prefix=lgl --no-vc-files gettext-h lib-msvc-compat lib-symbol-versions lib-symbol-visibility stdint striconv strverscmp
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=lib/gl/override --lib=libgnu --source-base=lib/gl --m4-base=lib/gl/m4 --doc-base=doc --tests-base=lib/gltests --aux-dir=build-aux --with-tests --avoid=iconv-h-tests --avoid=string-tests --avoid=wchar-tests --lgpl=2 --makefile-name=gnulib.mk --no-conditional-dependencies --libtool --macro-prefix=lgl --no-vc-files gettext-h lib-msvc-compat lib-symbol-versions lib-symbol-visibility stdint striconv strverscmp
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
+DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/gnulib.mk
@GL_COND_LIBTOOL_TRUE@am__append_1 = $(LTLIBICONV)
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__append_2 = unistr/u8-mbtoucr.c
+@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__append_3 = unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
subdir = lib/gl
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
LIBRARIES = $(noinst_LIBRARIES)
LTLIBRARIES = $(noinst_LTLIBRARIES)
am__DEPENDENCIES_1 =
+am__libgnu_la_SOURCES_DIST = c-ctype.h c-ctype.c c-strcase.h \
+ c-strcasecmp.c c-strncasecmp.c gettext.h striconv.h striconv.c \
+ unistr/u8-mbtoucr.c unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
+am__dirstamp = $(am__leading_dot)dirstamp
+@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@am__objects_1 = unistr/u8-mbtoucr.lo
+@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@am__objects_2 = unistr/u8-uctomb.lo \
+@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@ unistr/u8-uctomb-aux.lo
am_libgnu_la_OBJECTS = c-ctype.lo c-strcasecmp.lo c-strncasecmp.lo \
- striconv.lo
+ striconv.lo $(am__objects_1) $(am__objects_2)
libgnu_la_OBJECTS = $(am_libgnu_la_OBJECTS)
-libgnu_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+libgnu_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libgnu_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libgnu_la_SOURCES) $(EXTRA_libgnu_la_SOURCES)
-DIST_SOURCES = $(libgnu_la_SOURCES) $(EXTRA_libgnu_la_SOURCES)
+DIST_SOURCES = $(am__libgnu_la_SOURCES_DIST) \
+ $(EXTRA_libgnu_la_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.5 gnits
+AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects
SUBDIRS =
noinst_HEADERS =
noinst_LIBRARIES =
noinst_LTLIBRARIES = libgnu.la
EXTRA_DIST = m4/gnulib-cache.m4 $(top_srcdir)/build-aux/config.rpath \
- iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h \
- iconv_open-osf.h iconv.in.h iconv_open-aix.gperf \
+ iconv.in.h iconv_open-aix.h iconv_open-hpux.h \
+ iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h \
+ iconv.c iconv_close.c iconv_open-aix.gperf \
iconv_open-hpux.gperf iconv_open-irix.gperf \
- iconv_open-osf.gperf iconv_open.c \
- $(top_srcdir)/build-aux/link-warning.h stdbool.in.h \
- stdint.in.h string.in.h strverscmp.c wchar.in.h
+ iconv_open-osf.gperf iconv_open-solaris.gperf iconv_open.c \
+ $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ $(top_srcdir)/build-aux/snippet/c++defs.h \
+ $(top_srcdir)/build-aux/snippet/unused-parameter.h \
+ $(top_srcdir)/build-aux/snippet/warn-on-use.h stdbool.in.h \
+ stddef.in.h stdint.in.h string.in.h strverscmp.c unistr.in.h \
+ unitypes.in.h
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
BUILT_SOURCES = $(ICONV_H) iconv_open-aix.h iconv_open-hpux.h \
- iconv_open-irix.h iconv_open-osf.h $(STDBOOL_H) $(STDINT_H) \
- string.h $(WCHAR_H)
+ iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h \
+ arg-nonnull.h c++defs.h unused-parameter.h warn-on-use.h \
+ $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) string.h \
+ $(LIBUNISTRING_UNISTR_H) $(LIBUNISTRING_UNITYPES_H)
SUFFIXES =
MOSTLYCLEANFILES = core *.stackdump iconv.h iconv.h-t \
iconv_open-aix.h-t iconv_open-hpux.h-t iconv_open-irix.h-t \
- iconv_open-osf.h-t stdbool.h stdbool.h-t stdint.h stdint.h-t \
- string.h string.h-t wchar.h wchar.h-t
+ iconv_open-osf.h-t iconv_open-solaris.h-t arg-nonnull.h \
+ arg-nonnull.h-t c++defs.h c++defs.h-t unused-parameter.h \
+ unused-parameter.h-t warn-on-use.h warn-on-use.h-t stdbool.h \
+ stdbool.h-t stddef.h stddef.h-t stdint.h stdint.h-t string.h \
+ string.h-t unistr.h unistr.h-t unitypes.h unitypes.h-t
MOSTLYCLEANDIRS =
CLEANFILES =
DISTCLEANFILES =
MAINTAINERCLEANFILES = iconv_open-aix.h iconv_open-hpux.h \
- iconv_open-irix.h iconv_open-osf.h
+ iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
AM_CPPFLAGS =
# The value of $(CFLAG_VISIBILITY) needs to be added to the CFLAGS for the
# $(CFLAG_VISIBILITY) to the Makefile.ams of the other portions of the library.
AM_CFLAGS = $(CFLAG_VISIBILITY)
libgnu_la_SOURCES = c-ctype.h c-ctype.c c-strcase.h c-strcasecmp.c \
- c-strncasecmp.c gettext.h striconv.h striconv.c
+ c-strncasecmp.c gettext.h striconv.h striconv.c \
+ $(am__append_2) $(am__append_3)
libgnu_la_LIBADD = $(lgl_LTLIBOBJS)
libgnu_la_DEPENDENCIES = $(lgl_LTLIBOBJS)
-EXTRA_libgnu_la_SOURCES = iconv_open.c strverscmp.c
-libgnu_la_LDFLAGS = $(AM_LDFLAGS) $(am__append_1)
+EXTRA_libgnu_la_SOURCES = iconv.c iconv_close.c iconv_open.c \
+ strverscmp.c
+libgnu_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(LTLIBICONV) \
+ $(LTLIBINTL) $(am__append_1)
GPERF = gperf
-LINK_WARNING_H = $(top_srcdir)/build-aux/link-warning.h
+ARG_NONNULL_H = arg-nonnull.h
+CXXDEFS_H = c++defs.h
+UNUSED_PARAMETER_H = unused-parameter.h
+WARN_ON_USE_H = warn-on-use.h
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
+unistr/$(am__dirstamp):
+ @$(MKDIR_P) unistr
+ @: > unistr/$(am__dirstamp)
+unistr/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) unistr/$(DEPDIR)
+ @: > unistr/$(DEPDIR)/$(am__dirstamp)
+unistr/u8-mbtoucr.lo: unistr/$(am__dirstamp) \
+ unistr/$(DEPDIR)/$(am__dirstamp)
+unistr/u8-uctomb.lo: unistr/$(am__dirstamp) \
+ unistr/$(DEPDIR)/$(am__dirstamp)
+unistr/u8-uctomb-aux.lo: unistr/$(am__dirstamp) \
+ unistr/$(DEPDIR)/$(am__dirstamp)
libgnu.la: $(libgnu_la_OBJECTS) $(libgnu_la_DEPENDENCIES)
- $(libgnu_la_LINK) $(libgnu_la_OBJECTS) $(libgnu_la_LIBADD) $(LIBS)
+ $(AM_V_CCLD)$(libgnu_la_LINK) $(libgnu_la_OBJECTS) $(libgnu_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
+ -rm -f unistr/u8-mbtoucr.$(OBJEXT)
+ -rm -f unistr/u8-mbtoucr.lo
+ -rm -f unistr/u8-uctomb-aux.$(OBJEXT)
+ -rm -f unistr/u8-uctomb-aux.lo
+ -rm -f unistr/u8-uctomb.$(OBJEXT)
+ -rm -f unistr/u8-uctomb.lo
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-ctype.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strcasecmp.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strncasecmp.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iconv.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iconv_close.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iconv_open.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/striconv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strverscmp.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u8-mbtoucr.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u8-uctomb-aux.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/u8-uctomb.Plo@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
clean-libtool:
-rm -rf .libs _libs
+ -rm -rf unistr/.libs unistr/_libs
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f unistr/$(DEPDIR)/$(am__dirstamp)
+ -rm -f unistr/$(am__dirstamp)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
clean-noinstLTLIBRARIES mostlyclean-am
distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR) unistr/$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
installcheck-am:
maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR) unistr/$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
# We need the following in order to create <iconv.h> when the system
# doesn't have one that works with the given compiler.
-iconv.h: iconv.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_ICONV_H''@|$(NEXT_ICONV_H)|g' \
- -e 's|@''ICONV_CONST''@|$(ICONV_CONST)|g' \
- -e 's|@''REPLACE_ICONV''@|$(REPLACE_ICONV)|g' \
- -e 's|@''REPLACE_ICONV_OPEN''@|$(REPLACE_ICONV_OPEN)|g' \
- -e 's|@''REPLACE_ICONV_UTF''@|$(REPLACE_ICONV_UTF)|g' \
- < $(srcdir)/iconv.in.h; \
- } > $@-t
- mv $@-t $@
+@GL_GENERATE_ICONV_H_TRUE@iconv.h: iconv.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+@GL_GENERATE_ICONV_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_ICONV_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+@GL_GENERATE_ICONV_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+@GL_GENERATE_ICONV_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_ICONV_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_ICONV_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_ICONV_H_TRUE@ -e 's|@''NEXT_ICONV_H''@|$(NEXT_ICONV_H)|g' \
+@GL_GENERATE_ICONV_H_TRUE@ -e 's/@''GNULIB_ICONV''@/$(GNULIB_ICONV)/g' \
+@GL_GENERATE_ICONV_H_TRUE@ -e 's|@''ICONV_CONST''@|$(ICONV_CONST)|g' \
+@GL_GENERATE_ICONV_H_TRUE@ -e 's|@''REPLACE_ICONV''@|$(REPLACE_ICONV)|g' \
+@GL_GENERATE_ICONV_H_TRUE@ -e 's|@''REPLACE_ICONV_OPEN''@|$(REPLACE_ICONV_OPEN)|g' \
+@GL_GENERATE_ICONV_H_TRUE@ -e 's|@''REPLACE_ICONV_UTF''@|$(REPLACE_ICONV_UTF)|g' \
+@GL_GENERATE_ICONV_H_TRUE@ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+@GL_GENERATE_ICONV_H_TRUE@ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+@GL_GENERATE_ICONV_H_TRUE@ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+@GL_GENERATE_ICONV_H_TRUE@ < $(srcdir)/iconv.in.h; \
+@GL_GENERATE_ICONV_H_TRUE@ } > $@-t && \
+@GL_GENERATE_ICONV_H_TRUE@ mv $@-t $@
+@GL_GENERATE_ICONV_H_FALSE@iconv.h: $(top_builddir)/config.status
+@GL_GENERATE_ICONV_H_FALSE@ rm -f $@
iconv_open-aix.h: iconv_open-aix.gperf
$(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t
iconv_open-osf.h: iconv_open-osf.gperf
$(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t
mv $(srcdir)/iconv_open-osf.h-t $(srcdir)/iconv_open-osf.h
+iconv_open-solaris.h: iconv_open-solaris.gperf
+ $(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t
+ mv $(srcdir)/iconv_open-solaris.h-t $(srcdir)/iconv_open-solaris.h
+# The arg-nonnull.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
+# off.
+arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_ARG_NONNULL/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ > $@-t && \
+ mv $@-t $@
+# The c++defs.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
+c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/_GL_CXXDEFS/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/c++defs.h \
+ > $@-t && \
+ mv $@-t $@
+# The unused-parameter.h that gets inserted into generated .h files is the same
+# as build-aux/snippet/unused-parameter.h, except that it has the copyright
+# header cut off.
+unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/unused-parameter.h \
+ > $@-t && \
+ mv $@-t $@
+# The warn-on-use.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
+# off.
+warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/^.ifndef/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
+ > $@-t && \
+ mv $@-t $@
# We need the following in order to create <stdbool.h> when the system
# doesn't have one that works.
-stdbool.h: stdbool.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \
- } > $@-t
- mv $@-t $@
+@GL_GENERATE_STDBOOL_H_TRUE@stdbool.h: stdbool.in.h $(top_builddir)/config.status
+@GL_GENERATE_STDBOOL_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_STDBOOL_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+@GL_GENERATE_STDBOOL_H_TRUE@ sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \
+@GL_GENERATE_STDBOOL_H_TRUE@ } > $@-t && \
+@GL_GENERATE_STDBOOL_H_TRUE@ mv $@-t $@
+@GL_GENERATE_STDBOOL_H_FALSE@stdbool.h: $(top_builddir)/config.status
+@GL_GENERATE_STDBOOL_H_FALSE@ rm -f $@
+
+# We need the following in order to create <stddef.h> when the system
+# doesn't have one that works with the given compiler.
+@GL_GENERATE_STDDEF_H_TRUE@stddef.h: stddef.in.h $(top_builddir)/config.status
+@GL_GENERATE_STDDEF_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_STDDEF_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+@GL_GENERATE_STDDEF_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
+@GL_GENERATE_STDDEF_H_TRUE@ < $(srcdir)/stddef.in.h; \
+@GL_GENERATE_STDDEF_H_TRUE@ } > $@-t && \
+@GL_GENERATE_STDDEF_H_TRUE@ mv $@-t $@
+@GL_GENERATE_STDDEF_H_FALSE@stddef.h: $(top_builddir)/config.status
+@GL_GENERATE_STDDEF_H_FALSE@ rm -f $@
# We need the following in order to create <stdint.h> when the system
# doesn't have one that works with the given compiler.
-stdint.h: stdint.in.h
- rm -f $@-t $@
- { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
- -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
- -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
- -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
- -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
- -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
- -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
- -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
- -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
- -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
- -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
- -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
- -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
- -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
- -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
- -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
- -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
- -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
- -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
- < $(srcdir)/stdint.in.h; \
- } > $@-t
- mv $@-t $@
+@GL_GENERATE_STDINT_H_TRUE@stdint.h: stdint.in.h $(top_builddir)/config.status
+@GL_GENERATE_STDINT_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_STDINT_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+@GL_GENERATE_STDINT_H_TRUE@ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
+@GL_GENERATE_STDINT_H_TRUE@ < $(srcdir)/stdint.in.h; \
+@GL_GENERATE_STDINT_H_TRUE@ } > $@-t && \
+@GL_GENERATE_STDINT_H_TRUE@ mv $@-t $@
+@GL_GENERATE_STDINT_H_FALSE@stdint.h: $(top_builddir)/config.status
+@GL_GENERATE_STDINT_H_FALSE@ rm -f $@
# We need the following in order to create <string.h> when the system
# doesn't have one that works with the given compiler.
-string.h: string.in.h
- rm -f $@-t $@
+string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
- -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
- -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \
- -e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \
- -e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \
- -e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \
- -e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \
- -e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \
- -e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \
- -e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \
- -e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \
- -e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \
- -e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \
- -e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \
- -e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \
- -e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \
- -e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \
- -e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \
- -e 's|@''GNULIB_RAWMEMCHR''@|$(GNULIB_RAWMEMCHR)|g' \
- -e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \
- -e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \
- -e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \
- -e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \
- -e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \
- -e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \
- -e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \
- -e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \
- -e 's|@''GNULIB_STRSTR''@|$(GNULIB_STRSTR)|g' \
- -e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \
- -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \
- -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \
- -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \
- -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|g' \
+ -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
+ -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
+ -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
+ -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \
+ -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \
+ -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \
+ -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \
+ -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \
+ -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \
+ -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \
+ -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \
+ -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \
+ -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \
+ -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \
+ -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \
+ -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \
+ -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \
+ -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \
+ -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \
+ -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \
+ -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \
+ -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \
+ -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \
+ -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \
+ -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \
+ -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \
+ -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \
+ -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \
+ -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \
+ -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \
+ -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \
+ -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \
+ -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \
+ -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \
+ -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \
+ -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
+ -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
+ < $(srcdir)/string.in.h | \
+ sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
+ -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
+ -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
+ -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
-e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
-e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
-e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
-e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
-e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
-e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
- -e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \
-e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
-e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
-e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
-e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
-e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
-e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
- -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \
+ -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
-e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
-e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
+ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
+ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
-e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
-e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
+ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
-e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
-e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
-e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
+ -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
+ -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
+ -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
+ -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
-e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
+ -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
+ -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
< $(srcdir)/string.in.h; \
- } > $@-t
+ } > $@-t && \
mv $@-t $@
-# We need the following in order to create <wchar.h> when the system
-# version does not work standalone.
-wchar.h: wchar.in.h
- rm -f $@-t $@
+unistr.h: unistr.in.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
- -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
- -e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \
- -e 's|@''GNULIB_WCTOB''@|$(GNULIB_WCTOB)|g' \
- -e 's|@''GNULIB_MBSINIT''@|$(GNULIB_MBSINIT)|g' \
- -e 's|@''GNULIB_MBRTOWC''@|$(GNULIB_MBRTOWC)|g' \
- -e 's|@''GNULIB_MBRLEN''@|$(GNULIB_MBRLEN)|g' \
- -e 's|@''GNULIB_MBSRTOWCS''@|$(GNULIB_MBSRTOWCS)|g' \
- -e 's|@''GNULIB_MBSNRTOWCS''@|$(GNULIB_MBSNRTOWCS)|g' \
- -e 's|@''GNULIB_WCRTOMB''@|$(GNULIB_WCRTOMB)|g' \
- -e 's|@''GNULIB_WCSRTOMBS''@|$(GNULIB_WCSRTOMBS)|g' \
- -e 's|@''GNULIB_WCSNRTOMBS''@|$(GNULIB_WCSNRTOMBS)|g' \
- -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \
- -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
- -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
- -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
- -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
- -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
- -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
- -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
- -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
- -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
- -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
- -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
- -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
- -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
- -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
- -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
- -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
- -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
- -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
- -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
- -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
- -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
- -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
- -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
- -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
- -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
- < $(srcdir)/wchar.in.h; \
- } > $@-t
- mv $@-t $@
+ cat $(srcdir)/unistr.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
+
+unitypes.h: unitypes.in.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/unitypes.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
mostlyclean-local: mostlyclean-generic
@for dir in '' $(MOSTLYCLEANDIRS); do \
/* Character handling in C locale.
- Copyright 2000-2003, 2006 Free Software Foundation, Inc.
+ Copyright 2000-2003, 2006, 2009-2011 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
<ctype.h> functions' behaviour depends on the current locale set via
setlocale.
- Copyright (C) 2000-2003, 2006, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2000-2003, 2006, 2008-2011 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
/* Case-insensitive string comparison functions in C locale.
- Copyright (C) 1995-1996, 2001, 2003, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2011 Free Software
+ Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
/* c-strcasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2006, 2009-2011 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
c2 = c_tolower (*p2);
if (c1 == '\0')
- break;
+ break;
++p1;
++p2;
/* c-strncasecmp.c -- case insensitive string comparator in C locale
- Copyright (C) 1998-1999, 2005-2006 Free Software Foundation, Inc.
+ Copyright (C) 1998-1999, 2005-2006, 2009-2011 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
c2 = c_tolower (*p2);
if (--n == 0 || c1 == '\0')
- break;
+ break;
++p1;
++p2;
/* Convenience header for conditional use of GNU <libintl.h>.
- Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2011 Free Software
+ Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
it now, to make later inclusions of <libintl.h> a NOP. */
#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)
# include <cstdlib>
-# if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H
+# if (__GLIBC__ >= 2 && !defined __UCLIBC__) || _GLIBCXX_HAVE_LIBINTL_H
# include <libintl.h>
# endif
#endif
((void) (Domainname), ngettext (Msgid1, Msgid2, N))
# undef dcngettext
# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
- ((void) (Category), dngettext(Domainname, Msgid1, Msgid2, N))
+ ((void) (Category), dngettext (Domainname, Msgid1, Msgid2, N))
# undef textdomain
# define textdomain(Domainname) ((const char *) (Domainname))
# undef bindtextdomain
#endif
+/* Prefer gnulib's setlocale override over libintl's setlocale override. */
+#ifdef GNULIB_defined_setlocale
+# undef setlocale
+# define setlocale rpl_setlocale
+#endif
+
/* A pseudo function call that serves as a marker for the automated
extraction of messages, but does not call gettext(). The run-time
translation is done at a different place in the code.
initializer for static 'char[]' or 'const char[]' variables. */
#define gettext_noop(String) String
-/* The separator between msgctxt and msgid in a .mo file. */
-#define GETTEXT_CONTEXT_GLUE "\004"
-
-/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a
- MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be
- short and rarely need to change.
- The letter 'p' stands for 'particular' or 'special'. */
-#ifdef DEFAULT_TEXT_DOMAIN
-# define pgettext(Msgctxt, Msgid) \
- pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
-#else
-# define pgettext(Msgctxt, Msgid) \
- pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
-#endif
-#define dpgettext(Domainname, Msgctxt, Msgid) \
- pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
-#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \
- pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category)
-#ifdef DEFAULT_TEXT_DOMAIN
-# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
- npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
-#else
-# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
- npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
-#endif
-#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
- npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
-#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \
- npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category)
-
-#ifdef __GNUC__
-__inline
-#else
-#ifdef __cplusplus
-inline
-#endif
-#endif
-static const char *
-pgettext_aux (const char *domain,
- const char *msg_ctxt_id, const char *msgid,
- int category)
-{
- const char *translation = dcgettext (domain, msg_ctxt_id, category);
- if (translation == msg_ctxt_id)
- return msgid;
- else
- return translation;
-}
-
-#ifdef __GNUC__
-__inline
-#else
-#ifdef __cplusplus
-inline
-#endif
-#endif
-static const char *
-npgettext_aux (const char *domain,
- const char *msg_ctxt_id, const char *msgid,
- const char *msgid_plural, unsigned long int n,
- int category)
-{
- const char *translation =
- dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
- if (translation == msg_ctxt_id || translation == msgid_plural)
- return (n == 1 ? msgid : msgid_plural);
- else
- return translation;
-}
-
#endif /* _LIBGETTEXT_H */
--- /dev/null
+## DO NOT EDIT! GENERATED AUTOMATICALLY!
+## Process this file with automake to produce Makefile.in.
+# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
+# the same distribution terms as the rest of that program.
+#
+# Generated by gnulib-tool.
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=lib/gl/override --lib=libgnu --source-base=lib/gl --m4-base=lib/gl/m4 --doc-base=doc --tests-base=lib/gltests --aux-dir=build-aux --with-tests --avoid=iconv-h-tests --avoid=string-tests --avoid=wchar-tests --lgpl=2 --makefile-name=gnulib.mk --no-conditional-dependencies --libtool --macro-prefix=lgl --no-vc-files gettext-h lib-msvc-compat lib-symbol-versions lib-symbol-visibility stdint striconv strverscmp
+
+
+MOSTLYCLEANFILES += core *.stackdump
+
+noinst_LTLIBRARIES += libgnu.la
+
+libgnu_la_SOURCES =
+libgnu_la_LIBADD = $(lgl_LTLIBOBJS)
+libgnu_la_DEPENDENCIES = $(lgl_LTLIBOBJS)
+EXTRA_libgnu_la_SOURCES =
+libgnu_la_LDFLAGS = $(AM_LDFLAGS)
+libgnu_la_LDFLAGS += -no-undefined
+libgnu_la_LDFLAGS += $(LTLIBICONV)
+libgnu_la_LDFLAGS += $(LTLIBINTL)
+
+## begin gnulib module c-ctype
+
+libgnu_la_SOURCES += c-ctype.h c-ctype.c
+
+## end gnulib module c-ctype
+
+## begin gnulib module c-strcase
+
+libgnu_la_SOURCES += c-strcase.h c-strcasecmp.c c-strncasecmp.c
+
+## end gnulib module c-strcase
+
+## begin gnulib module gettext-h
+
+libgnu_la_SOURCES += gettext.h
+
+## end gnulib module gettext-h
+
+## begin gnulib module gperf
+
+GPERF = gperf
+
+## end gnulib module gperf
+
+## begin gnulib module havelib
+
+
+EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath
+
+## end gnulib module havelib
+
+## begin gnulib module iconv-h
+
+BUILT_SOURCES += $(ICONV_H)
+
+# We need the following in order to create <iconv.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_ICONV_H
+iconv.h: iconv.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_ICONV_H''@|$(NEXT_ICONV_H)|g' \
+ -e 's/@''GNULIB_ICONV''@/$(GNULIB_ICONV)/g' \
+ -e 's|@''ICONV_CONST''@|$(ICONV_CONST)|g' \
+ -e 's|@''REPLACE_ICONV''@|$(REPLACE_ICONV)|g' \
+ -e 's|@''REPLACE_ICONV_OPEN''@|$(REPLACE_ICONV_OPEN)|g' \
+ -e 's|@''REPLACE_ICONV_UTF''@|$(REPLACE_ICONV_UTF)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/iconv.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+else
+iconv.h: $(top_builddir)/config.status
+ rm -f $@
+endif
+MOSTLYCLEANFILES += iconv.h iconv.h-t
+
+EXTRA_DIST += iconv.in.h
+
+## end gnulib module iconv-h
+
+## begin gnulib module iconv_open
+
+iconv_open-aix.h: iconv_open-aix.gperf
+ $(GPERF) -m 10 $(srcdir)/iconv_open-aix.gperf > $(srcdir)/iconv_open-aix.h-t
+ mv $(srcdir)/iconv_open-aix.h-t $(srcdir)/iconv_open-aix.h
+iconv_open-hpux.h: iconv_open-hpux.gperf
+ $(GPERF) -m 10 $(srcdir)/iconv_open-hpux.gperf > $(srcdir)/iconv_open-hpux.h-t
+ mv $(srcdir)/iconv_open-hpux.h-t $(srcdir)/iconv_open-hpux.h
+iconv_open-irix.h: iconv_open-irix.gperf
+ $(GPERF) -m 10 $(srcdir)/iconv_open-irix.gperf > $(srcdir)/iconv_open-irix.h-t
+ mv $(srcdir)/iconv_open-irix.h-t $(srcdir)/iconv_open-irix.h
+iconv_open-osf.h: iconv_open-osf.gperf
+ $(GPERF) -m 10 $(srcdir)/iconv_open-osf.gperf > $(srcdir)/iconv_open-osf.h-t
+ mv $(srcdir)/iconv_open-osf.h-t $(srcdir)/iconv_open-osf.h
+iconv_open-solaris.h: iconv_open-solaris.gperf
+ $(GPERF) -m 10 $(srcdir)/iconv_open-solaris.gperf > $(srcdir)/iconv_open-solaris.h-t
+ mv $(srcdir)/iconv_open-solaris.h-t $(srcdir)/iconv_open-solaris.h
+BUILT_SOURCES += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
+MOSTLYCLEANFILES += iconv_open-aix.h-t iconv_open-hpux.h-t iconv_open-irix.h-t iconv_open-osf.h-t iconv_open-solaris.h-t
+MAINTAINERCLEANFILES += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
+EXTRA_DIST += iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h
+
+EXTRA_DIST += iconv.c iconv_close.c iconv_open-aix.gperf iconv_open-hpux.gperf iconv_open-irix.gperf iconv_open-osf.gperf iconv_open-solaris.gperf iconv_open.c
+
+EXTRA_libgnu_la_SOURCES += iconv.c iconv_close.c iconv_open.c
+
+## end gnulib module iconv_open
+
+## begin gnulib module lib-symbol-visibility
+
+# The value of $(CFLAG_VISIBILITY) needs to be added to the CFLAGS for the
+# compilation of all sources that make up the library. This line here does it
+# only for the gnulib part of it. The developer is responsible for adding
+# $(CFLAG_VISIBILITY) to the Makefile.ams of the other portions of the library.
+AM_CFLAGS += $(CFLAG_VISIBILITY)
+
+## end gnulib module lib-symbol-visibility
+
+## begin gnulib module snippet/arg-nonnull
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+BUILT_SOURCES += arg-nonnull.h
+# The arg-nonnull.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
+# off.
+arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_ARG_NONNULL/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
+
+ARG_NONNULL_H=arg-nonnull.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+
+## end gnulib module snippet/arg-nonnull
+
+## begin gnulib module snippet/c++defs
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+BUILT_SOURCES += c++defs.h
+# The c++defs.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
+c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/_GL_CXXDEFS/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/c++defs.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += c++defs.h c++defs.h-t
+
+CXXDEFS_H=c++defs.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h
+
+## end gnulib module snippet/c++defs
+
+## begin gnulib module snippet/unused-parameter
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+BUILT_SOURCES += unused-parameter.h
+# The unused-parameter.h that gets inserted into generated .h files is the same
+# as build-aux/snippet/unused-parameter.h, except that it has the copyright
+# header cut off.
+unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/unused-parameter.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += unused-parameter.h unused-parameter.h-t
+
+UNUSED_PARAMETER_H=unused-parameter.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/unused-parameter.h
+
+## end gnulib module snippet/unused-parameter
+
+## begin gnulib module snippet/warn-on-use
+
+BUILT_SOURCES += warn-on-use.h
+# The warn-on-use.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
+# off.
+warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/^.ifndef/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
+
+WARN_ON_USE_H=warn-on-use.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h
+
+## end gnulib module snippet/warn-on-use
+
+## begin gnulib module stdbool
+
+BUILT_SOURCES += $(STDBOOL_H)
+
+# We need the following in order to create <stdbool.h> when the system
+# doesn't have one that works.
+if GL_GENERATE_STDBOOL_H
+stdbool.h: stdbool.in.h $(top_builddir)/config.status
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' < $(srcdir)/stdbool.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+else
+stdbool.h: $(top_builddir)/config.status
+ rm -f $@
+endif
+MOSTLYCLEANFILES += stdbool.h stdbool.h-t
+
+EXTRA_DIST += stdbool.in.h
+
+## end gnulib module stdbool
+
+## begin gnulib module stddef
+
+BUILT_SOURCES += $(STDDEF_H)
+
+# We need the following in order to create <stddef.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_STDDEF_H
+stddef.h: stddef.in.h $(top_builddir)/config.status
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_STDDEF_H''@|$(NEXT_STDDEF_H)|g' \
+ -e 's|@''HAVE_WCHAR_T''@|$(HAVE_WCHAR_T)|g' \
+ -e 's|@''REPLACE_NULL''@|$(REPLACE_NULL)|g' \
+ < $(srcdir)/stddef.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+else
+stddef.h: $(top_builddir)/config.status
+ rm -f $@
+endif
+MOSTLYCLEANFILES += stddef.h stddef.h-t
+
+EXTRA_DIST += stddef.in.h
+
+## end gnulib module stddef
+
+## begin gnulib module stdint
+
+BUILT_SOURCES += $(STDINT_H)
+
+# We need the following in order to create <stdint.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_STDINT_H
+stdint.h: stdint.in.h $(top_builddir)/config.status
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+ -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
+ -e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
+ -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+ -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
+ -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
+ -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
+ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
+ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
+ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+ -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
+ -e 's/@''PTRDIFF_T_SUFFIX''@/$(PTRDIFF_T_SUFFIX)/g' \
+ -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
+ -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
+ -e 's/@''SIG_ATOMIC_T_SUFFIX''@/$(SIG_ATOMIC_T_SUFFIX)/g' \
+ -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
+ -e 's/@''SIZE_T_SUFFIX''@/$(SIZE_T_SUFFIX)/g' \
+ -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
+ -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
+ -e 's/@''WCHAR_T_SUFFIX''@/$(WCHAR_T_SUFFIX)/g' \
+ -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
+ -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
+ -e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
+ < $(srcdir)/stdint.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+else
+stdint.h: $(top_builddir)/config.status
+ rm -f $@
+endif
+MOSTLYCLEANFILES += stdint.h stdint.h-t
+
+EXTRA_DIST += stdint.in.h
+
+## end gnulib module stdint
+
+## begin gnulib module striconv
+
+libgnu_la_SOURCES += striconv.h striconv.c
+if GL_COND_LIBTOOL
+libgnu_la_LDFLAGS += $(LTLIBICONV)
+endif
+
+## end gnulib module striconv
+
+## begin gnulib module string
+
+BUILT_SOURCES += string.h
+
+# We need the following in order to create <string.h> when the system
+# doesn't have one that works with the given compiler.
+string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
+ -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \
+ -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \
+ -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \
+ -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \
+ -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \
+ -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \
+ -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \
+ -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \
+ -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \
+ -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \
+ -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \
+ -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \
+ -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \
+ -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \
+ -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \
+ -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \
+ -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \
+ -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \
+ -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \
+ -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \
+ -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \
+ -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \
+ -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \
+ -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \
+ -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \
+ -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \
+ -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \
+ -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \
+ -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \
+ -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \
+ -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \
+ -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \
+ -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \
+ -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \
+ -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \
+ -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \
+ -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \
+ < $(srcdir)/string.in.h | \
+ sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
+ -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
+ -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
+ -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \
+ -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
+ -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
+ -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
+ -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \
+ -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
+ -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
+ -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
+ -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
+ -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
+ -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
+ -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
+ -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
+ -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
+ -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
+ -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
+ -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
+ -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
+ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
+ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
+ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
+ -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
+ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
+ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
+ -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
+ -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
+ -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
+ -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
+ -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
+ -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
+ -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
+ -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
+ -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ < $(srcdir)/string.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += string.h string.h-t
+
+EXTRA_DIST += string.in.h
+
+## end gnulib module string
+
+## begin gnulib module strverscmp
+
+
+EXTRA_DIST += strverscmp.c
+
+EXTRA_libgnu_la_SOURCES += strverscmp.c
+
+## end gnulib module strverscmp
+
+## begin gnulib module unistr/base
+
+BUILT_SOURCES += $(LIBUNISTRING_UNISTR_H)
+
+unistr.h: unistr.in.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/unistr.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
+MOSTLYCLEANFILES += unistr.h unistr.h-t
+
+EXTRA_DIST += unistr.in.h
+
+## end gnulib module unistr/base
+
+## begin gnulib module unistr/u8-mbtoucr
+
+if LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR
+libgnu_la_SOURCES += unistr/u8-mbtoucr.c
+endif
+
+## end gnulib module unistr/u8-mbtoucr
+
+## begin gnulib module unistr/u8-uctomb
+
+if LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB
+libgnu_la_SOURCES += unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
+endif
+
+## end gnulib module unistr/u8-uctomb
+
+## begin gnulib module unitypes
+
+BUILT_SOURCES += $(LIBUNISTRING_UNITYPES_H)
+
+unitypes.h: unitypes.in.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/unitypes.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
+MOSTLYCLEANFILES += unitypes.h unitypes.h-t
+
+EXTRA_DIST += unitypes.in.h
+
+## end gnulib module unitypes
+
+
+mostlyclean-local: mostlyclean-generic
+ @for dir in '' $(MOSTLYCLEANDIRS); do \
+ if test -n "$$dir" && test -d $$dir; then \
+ echo "rmdir $$dir"; rmdir $$dir; \
+ fi; \
+ done; \
+ :
--- /dev/null
+/* Character set conversion.
+ Copyright (C) 1999-2001, 2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License along
+ with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#include <config.h>
+
+/* Specification. */
+#include <iconv.h>
+
+#include <stddef.h>
+
+#if REPLACE_ICONV_UTF
+# include <errno.h>
+# include <stdint.h>
+# include <stdlib.h>
+# include "unistr.h"
+# ifndef uintptr_t
+# define uintptr_t unsigned long
+# endif
+#endif
+
+#if REPLACE_ICONV_UTF
+
+/* UTF-{16,32}{BE,LE} converters taken from GNU libiconv 1.11. */
+
+/* Return code if invalid. (xxx_mbtowc) */
+# define RET_ILSEQ -1
+/* Return code if no bytes were read. (xxx_mbtowc) */
+# define RET_TOOFEW -2
+
+/* Return code if invalid. (xxx_wctomb) */
+# define RET_ILUNI -1
+/* Return code if output buffer is too small. (xxx_wctomb, xxx_reset) */
+# define RET_TOOSMALL -2
+
+/*
+ * UTF-16BE
+ */
+
+/* Specification: RFC 2781 */
+
+static int
+utf16be_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n)
+{
+ if (n >= 2)
+ {
+ ucs4_t wc = (s[0] << 8) + s[1];
+ if (wc >= 0xd800 && wc < 0xdc00)
+ {
+ if (n >= 4)
+ {
+ ucs4_t wc2 = (s[2] << 8) + s[3];
+ if (!(wc2 >= 0xdc00 && wc2 < 0xe000))
+ return RET_ILSEQ;
+ *pwc = 0x10000 + ((wc - 0xd800) << 10) + (wc2 - 0xdc00);
+ return 4;
+ }
+ }
+ else if (wc >= 0xdc00 && wc < 0xe000)
+ {
+ return RET_ILSEQ;
+ }
+ else
+ {
+ *pwc = wc;
+ return 2;
+ }
+ }
+ return RET_TOOFEW;
+}
+
+static int
+utf16be_wctomb (unsigned char *r, ucs4_t wc, size_t n)
+{
+ if (!(wc >= 0xd800 && wc < 0xe000))
+ {
+ if (wc < 0x10000)
+ {
+ if (n >= 2)
+ {
+ r[0] = (unsigned char) (wc >> 8);
+ r[1] = (unsigned char) wc;
+ return 2;
+ }
+ else
+ return RET_TOOSMALL;
+ }
+ else if (wc < 0x110000)
+ {
+ if (n >= 4)
+ {
+ ucs4_t wc1 = 0xd800 + ((wc - 0x10000) >> 10);
+ ucs4_t wc2 = 0xdc00 + ((wc - 0x10000) & 0x3ff);
+ r[0] = (unsigned char) (wc1 >> 8);
+ r[1] = (unsigned char) wc1;
+ r[2] = (unsigned char) (wc2 >> 8);
+ r[3] = (unsigned char) wc2;
+ return 4;
+ }
+ else
+ return RET_TOOSMALL;
+ }
+ }
+ return RET_ILUNI;
+}
+
+/*
+ * UTF-16LE
+ */
+
+/* Specification: RFC 2781 */
+
+static int
+utf16le_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n)
+{
+ if (n >= 2)
+ {
+ ucs4_t wc = s[0] + (s[1] << 8);
+ if (wc >= 0xd800 && wc < 0xdc00)
+ {
+ if (n >= 4)
+ {
+ ucs4_t wc2 = s[2] + (s[3] << 8);
+ if (!(wc2 >= 0xdc00 && wc2 < 0xe000))
+ return RET_ILSEQ;
+ *pwc = 0x10000 + ((wc - 0xd800) << 10) + (wc2 - 0xdc00);
+ return 4;
+ }
+ }
+ else if (wc >= 0xdc00 && wc < 0xe000)
+ {
+ return RET_ILSEQ;
+ }
+ else
+ {
+ *pwc = wc;
+ return 2;
+ }
+ }
+ return RET_TOOFEW;
+}
+
+static int
+utf16le_wctomb (unsigned char *r, ucs4_t wc, size_t n)
+{
+ if (!(wc >= 0xd800 && wc < 0xe000))
+ {
+ if (wc < 0x10000)
+ {
+ if (n >= 2)
+ {
+ r[0] = (unsigned char) wc;
+ r[1] = (unsigned char) (wc >> 8);
+ return 2;
+ }
+ else
+ return RET_TOOSMALL;
+ }
+ else if (wc < 0x110000)
+ {
+ if (n >= 4)
+ {
+ ucs4_t wc1 = 0xd800 + ((wc - 0x10000) >> 10);
+ ucs4_t wc2 = 0xdc00 + ((wc - 0x10000) & 0x3ff);
+ r[0] = (unsigned char) wc1;
+ r[1] = (unsigned char) (wc1 >> 8);
+ r[2] = (unsigned char) wc2;
+ r[3] = (unsigned char) (wc2 >> 8);
+ return 4;
+ }
+ else
+ return RET_TOOSMALL;
+ }
+ }
+ return RET_ILUNI;
+}
+
+/*
+ * UTF-32BE
+ */
+
+/* Specification: Unicode 3.1 Standard Annex #19 */
+
+static int
+utf32be_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n)
+{
+ if (n >= 4)
+ {
+ ucs4_t wc = (s[0] << 24) + (s[1] << 16) + (s[2] << 8) + s[3];
+ if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000))
+ {
+ *pwc = wc;
+ return 4;
+ }
+ else
+ return RET_ILSEQ;
+ }
+ return RET_TOOFEW;
+}
+
+static int
+utf32be_wctomb (unsigned char *r, ucs4_t wc, size_t n)
+{
+ if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000))
+ {
+ if (n >= 4)
+ {
+ r[0] = 0;
+ r[1] = (unsigned char) (wc >> 16);
+ r[2] = (unsigned char) (wc >> 8);
+ r[3] = (unsigned char) wc;
+ return 4;
+ }
+ else
+ return RET_TOOSMALL;
+ }
+ return RET_ILUNI;
+}
+
+/*
+ * UTF-32LE
+ */
+
+/* Specification: Unicode 3.1 Standard Annex #19 */
+
+static int
+utf32le_mbtowc (ucs4_t *pwc, const unsigned char *s, size_t n)
+{
+ if (n >= 4)
+ {
+ ucs4_t wc = s[0] + (s[1] << 8) + (s[2] << 16) + (s[3] << 24);
+ if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000))
+ {
+ *pwc = wc;
+ return 4;
+ }
+ else
+ return RET_ILSEQ;
+ }
+ return RET_TOOFEW;
+}
+
+static int
+utf32le_wctomb (unsigned char *r, ucs4_t wc, size_t n)
+{
+ if (wc < 0x110000 && !(wc >= 0xd800 && wc < 0xe000))
+ {
+ if (n >= 4)
+ {
+ r[0] = (unsigned char) wc;
+ r[1] = (unsigned char) (wc >> 8);
+ r[2] = (unsigned char) (wc >> 16);
+ r[3] = 0;
+ return 4;
+ }
+ else
+ return RET_TOOSMALL;
+ }
+ return RET_ILUNI;
+}
+
+#endif
+
+size_t
+rpl_iconv (iconv_t cd,
+ ICONV_CONST char **inbuf, size_t *inbytesleft,
+ char **outbuf, size_t *outbytesleft)
+#undef iconv
+{
+#if REPLACE_ICONV_UTF
+ switch ((uintptr_t) cd)
+ {
+ {
+ int (*xxx_wctomb) (unsigned char *, ucs4_t, size_t);
+
+ case (uintptr_t) _ICONV_UTF8_UTF16BE:
+ xxx_wctomb = utf16be_wctomb;
+ goto loop_from_utf8;
+ case (uintptr_t) _ICONV_UTF8_UTF16LE:
+ xxx_wctomb = utf16le_wctomb;
+ goto loop_from_utf8;
+ case (uintptr_t) _ICONV_UTF8_UTF32BE:
+ xxx_wctomb = utf32be_wctomb;
+ goto loop_from_utf8;
+ case (uintptr_t) _ICONV_UTF8_UTF32LE:
+ xxx_wctomb = utf32le_wctomb;
+ goto loop_from_utf8;
+
+ loop_from_utf8:
+ if (inbuf == NULL || *inbuf == NULL)
+ return 0;
+ {
+ ICONV_CONST char *inptr = *inbuf;
+ size_t inleft = *inbytesleft;
+ char *outptr = *outbuf;
+ size_t outleft = *outbytesleft;
+ size_t res = 0;
+ while (inleft > 0)
+ {
+ ucs4_t uc;
+ int m = u8_mbtoucr (&uc, (const uint8_t *) inptr, inleft);
+ if (m <= 0)
+ {
+ if (m == -1)
+ {
+ errno = EILSEQ;
+ res = (size_t)(-1);
+ break;
+ }
+ if (m == -2)
+ {
+ errno = EINVAL;
+ res = (size_t)(-1);
+ break;
+ }
+ abort ();
+ }
+ else
+ {
+ int n = xxx_wctomb ((uint8_t *) outptr, uc, outleft);
+ if (n < 0)
+ {
+ if (n == RET_ILUNI)
+ {
+ errno = EILSEQ;
+ res = (size_t)(-1);
+ break;
+ }
+ if (n == RET_TOOSMALL)
+ {
+ errno = E2BIG;
+ res = (size_t)(-1);
+ break;
+ }
+ abort ();
+ }
+ else
+ {
+ inptr += m;
+ inleft -= m;
+ outptr += n;
+ outleft -= n;
+ }
+ }
+ }
+ *inbuf = inptr;
+ *inbytesleft = inleft;
+ *outbuf = outptr;
+ *outbytesleft = outleft;
+ return res;
+ }
+ }
+
+ {
+ int (*xxx_mbtowc) (ucs4_t *, const unsigned char *, size_t);
+
+ case (uintptr_t) _ICONV_UTF16BE_UTF8:
+ xxx_mbtowc = utf16be_mbtowc;
+ goto loop_to_utf8;
+ case (uintptr_t) _ICONV_UTF16LE_UTF8:
+ xxx_mbtowc = utf16le_mbtowc;
+ goto loop_to_utf8;
+ case (uintptr_t) _ICONV_UTF32BE_UTF8:
+ xxx_mbtowc = utf32be_mbtowc;
+ goto loop_to_utf8;
+ case (uintptr_t) _ICONV_UTF32LE_UTF8:
+ xxx_mbtowc = utf32le_mbtowc;
+ goto loop_to_utf8;
+
+ loop_to_utf8:
+ if (inbuf == NULL || *inbuf == NULL)
+ return 0;
+ {
+ ICONV_CONST char *inptr = *inbuf;
+ size_t inleft = *inbytesleft;
+ char *outptr = *outbuf;
+ size_t outleft = *outbytesleft;
+ size_t res = 0;
+ while (inleft > 0)
+ {
+ ucs4_t uc;
+ int m = xxx_mbtowc (&uc, (const uint8_t *) inptr, inleft);
+ if (m <= 0)
+ {
+ if (m == RET_ILSEQ)
+ {
+ errno = EILSEQ;
+ res = (size_t)(-1);
+ break;
+ }
+ if (m == RET_TOOFEW)
+ {
+ errno = EINVAL;
+ res = (size_t)(-1);
+ break;
+ }
+ abort ();
+ }
+ else
+ {
+ int n = u8_uctomb ((uint8_t *) outptr, uc, outleft);
+ if (n < 0)
+ {
+ if (n == -1)
+ {
+ errno = EILSEQ;
+ res = (size_t)(-1);
+ break;
+ }
+ if (n == -2)
+ {
+ errno = E2BIG;
+ res = (size_t)(-1);
+ break;
+ }
+ abort ();
+ }
+ else
+ {
+ inptr += m;
+ inleft -= m;
+ outptr += n;
+ outleft -= n;
+ }
+ }
+ }
+ *inbuf = inptr;
+ *inbytesleft = inleft;
+ *outbuf = outptr;
+ *outbytesleft = outleft;
+ return res;
+ }
+ }
+ }
+#endif
+ return iconv (cd, inbuf, inbytesleft, outbuf, outbytesleft);
+}
/* A GNU-like <iconv.h>.
- Copyright (C) 2007-2008 Free Software Foundation, Inc.
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-#ifndef _GL_ICONV_H
+#ifndef _@GUARD_PREFIX@_ICONV_H
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
/* The include_next requires a split double-inclusion guard. */
#@INCLUDE_NEXT@ @NEXT_ICONV_H@
-#ifndef _GL_ICONV_H
-#define _GL_ICONV_H
+#ifndef _@GUARD_PREFIX@_ICONV_H
+#define _@GUARD_PREFIX@_ICONV_H
-#ifdef __cplusplus
-extern "C" {
-#endif
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
-#if @REPLACE_ICONV_OPEN@
+#if @GNULIB_ICONV@
+# if @REPLACE_ICONV_OPEN@
/* An iconv_open wrapper that supports the IANA standardized encoding names
("ISO-8859-1" etc.) as far as possible. */
-# define iconv_open rpl_iconv_open
-extern iconv_t iconv_open (const char *tocode, const char *fromcode);
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define iconv_open rpl_iconv_open
+# endif
+_GL_FUNCDECL_RPL (iconv_open, iconv_t,
+ (const char *tocode, const char *fromcode)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (iconv_open, iconv_t,
+ (const char *tocode, const char *fromcode));
+# else
+_GL_CXXALIAS_SYS (iconv_open, iconv_t,
+ (const char *tocode, const char *fromcode));
+# endif
+_GL_CXXALIASWARN (iconv_open);
#endif
#if @REPLACE_ICONV_UTF@
# define _ICONV_UTF32LE_UTF8 (iconv_t)(-168)
#endif
-#if @REPLACE_ICONV@
-# define iconv rpl_iconv
-extern size_t iconv (iconv_t cd,
- @ICONV_CONST@ char **inbuf, size_t *inbytesleft,
- char **outbuf, size_t *outbytesleft);
-# define iconv_close rpl_iconv_close
-extern int iconv_close (iconv_t cd);
+#if @GNULIB_ICONV@
+# if @REPLACE_ICONV@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define iconv rpl_iconv
+# endif
+_GL_FUNCDECL_RPL (iconv, size_t,
+ (iconv_t cd,
+ @ICONV_CONST@ char **inbuf, size_t *inbytesleft,
+ char **outbuf, size_t *outbytesleft));
+_GL_CXXALIAS_RPL (iconv, size_t,
+ (iconv_t cd,
+ @ICONV_CONST@ char **inbuf, size_t *inbytesleft,
+ char **outbuf, size_t *outbytesleft));
+# else
+_GL_CXXALIAS_SYS (iconv, size_t,
+ (iconv_t cd,
+ @ICONV_CONST@ char **inbuf, size_t *inbytesleft,
+ char **outbuf, size_t *outbytesleft));
+# endif
+_GL_CXXALIASWARN (iconv);
+# ifndef ICONV_CONST
+# define ICONV_CONST @ICONV_CONST@
+# endif
#endif
-
-#ifdef __cplusplus
-}
+#if @GNULIB_ICONV@
+# if @REPLACE_ICONV@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define iconv_close rpl_iconv_close
+# endif
+_GL_FUNCDECL_RPL (iconv_close, int, (iconv_t cd));
+_GL_CXXALIAS_RPL (iconv_close, int, (iconv_t cd));
+# else
+_GL_CXXALIAS_SYS (iconv_close, int, (iconv_t cd));
+# endif
+_GL_CXXALIASWARN (iconv_close);
#endif
-#endif /* _GL_ICONV_H */
-#endif /* _GL_ICONV_H */
+
+#endif /* _@GUARD_PREFIX@_ICONV_H */
+#endif /* _@GUARD_PREFIX@_ICONV_H */
--- /dev/null
+/* Character set conversion.
+ Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License along
+ with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#include <config.h>
+
+/* Specification. */
+#include <iconv.h>
+
+#include <stdint.h>
+#ifndef uintptr_t
+# define uintptr_t unsigned long
+#endif
+
+int
+rpl_iconv_close (iconv_t cd)
+#undef iconv_close
+{
+#if REPLACE_ICONV_UTF
+ switch ((uintptr_t) cd)
+ {
+ case (uintptr_t) _ICONV_UTF8_UTF16BE:
+ case (uintptr_t) _ICONV_UTF8_UTF16LE:
+ case (uintptr_t) _ICONV_UTF8_UTF32BE:
+ case (uintptr_t) _ICONV_UTF8_UTF32LE:
+ case (uintptr_t) _ICONV_UTF16BE_UTF8:
+ case (uintptr_t) _ICONV_UTF16LE_UTF8:
+ case (uintptr_t) _ICONV_UTF32BE_UTF8:
+ case (uintptr_t) _ICONV_UTF32LE_UTF8:
+ return 0;
+ }
+#endif
+ return iconv_close (cd);
+}
--- /dev/null
+struct mapping { int standard_name; const char vendor_name[10 + 1]; };
+%struct-type
+%language=ANSI-C
+%define slot-name standard_name
+%define hash-function-name mapping_hash
+%define lookup-function-name mapping_lookup
+%readonly-tables
+%global-table
+%define word-array-name mappings
+%pic
+%%
+# On Solaris 10, look in the "iconv -l" output. Some aliases are advertised but
+# not actually supported by the iconv() function and by the 'iconv' program.
+# For example:
+# $ echo abc | iconv -f 646 -t ISO-8859-1
+# Not supported 646 to ISO-8859-1
+# $ echo abc | iconv -f 646 -t ISO8859-1
+$ abc
+ASCII, "646"
+ISO-8859-1, "ISO8859-1"
+ISO-8859-2, "ISO8859-2"
+ISO-8859-3, "ISO8859-3"
+ISO-8859-4, "ISO8859-4"
+ISO-8859-5, "ISO8859-5"
+ISO-8859-6, "ISO8859-6"
+ISO-8859-7, "ISO8859-7"
+ISO-8859-8, "ISO8859-8"
+ISO-8859-9, "ISO8859-9"
+ISO-8859-15, "ISO8859-15"
+CP1251, "ansi-1251"
--- /dev/null
+/* ANSI-C code produced by gperf version 3.0.3 */
+/* Command-line: gperf -m 10 ./iconv_open-solaris.gperf */
+/* Computed positions: -k'10' */
+
+#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
+ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
+ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
+ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
+ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
+ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
+ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
+ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
+ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
+ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
+ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
+ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
+ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
+ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
+ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
+ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
+ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
+ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
+ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
+ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
+ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
+/* The character set is not based on ISO-646. */
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#endif
+
+#line 1 "./iconv_open-solaris.gperf"
+struct mapping { int standard_name; const char vendor_name[10 + 1]; };
+
+#define TOTAL_KEYWORDS 13
+#define MIN_WORD_LENGTH 5
+#define MAX_WORD_LENGTH 11
+#define MIN_HASH_VALUE 5
+#define MAX_HASH_VALUE 19
+/* maximum key range = 15, duplicates = 0 */
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static unsigned int
+mapping_hash (register const char *str, register unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 0,
+ 9, 8, 7, 6, 5, 4, 3, 2, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20
+ };
+ register int hval = len;
+
+ switch (hval)
+ {
+ default:
+ hval += asso_values[(unsigned char)str[9]];
+ /*FALLTHROUGH*/
+ case 9:
+ case 8:
+ case 7:
+ case 6:
+ case 5:
+ break;
+ }
+ return hval;
+}
+
+struct stringpool_t
+ {
+ char stringpool_str5[sizeof("ASCII")];
+ char stringpool_str6[sizeof("CP1251")];
+ char stringpool_str7[sizeof("$ abc")];
+ char stringpool_str10[sizeof("ISO-8859-1")];
+ char stringpool_str11[sizeof("ISO-8859-15")];
+ char stringpool_str12[sizeof("ISO-8859-9")];
+ char stringpool_str13[sizeof("ISO-8859-8")];
+ char stringpool_str14[sizeof("ISO-8859-7")];
+ char stringpool_str15[sizeof("ISO-8859-6")];
+ char stringpool_str16[sizeof("ISO-8859-5")];
+ char stringpool_str17[sizeof("ISO-8859-4")];
+ char stringpool_str18[sizeof("ISO-8859-3")];
+ char stringpool_str19[sizeof("ISO-8859-2")];
+ };
+static const struct stringpool_t stringpool_contents =
+ {
+ "ASCII",
+ "CP1251",
+ "$ abc",
+ "ISO-8859-1",
+ "ISO-8859-15",
+ "ISO-8859-9",
+ "ISO-8859-8",
+ "ISO-8859-7",
+ "ISO-8859-6",
+ "ISO-8859-5",
+ "ISO-8859-4",
+ "ISO-8859-3",
+ "ISO-8859-2"
+ };
+#define stringpool ((const char *) &stringpool_contents)
+
+static const struct mapping mappings[] =
+ {
+ {-1}, {-1}, {-1}, {-1}, {-1},
+#line 19 "./iconv_open-solaris.gperf"
+ {(int)(long)&((struct stringpool_t *)0)->stringpool_str5, "646"},
+#line 30 "./iconv_open-solaris.gperf"
+ {(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "ansi-1251"},
+#line 18 "./iconv_open-solaris.gperf"
+ {(int)(long)&((struct stringpool_t *)0)->stringpool_str7},
+ {-1}, {-1},
+#line 20 "./iconv_open-solaris.gperf"
+ {(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-1"},
+#line 29 "./iconv_open-solaris.gperf"
+ {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"},
+#line 28 "./iconv_open-solaris.gperf"
+ {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-9"},
+#line 27 "./iconv_open-solaris.gperf"
+ {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-8"},
+#line 26 "./iconv_open-solaris.gperf"
+ {(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "ISO8859-7"},
+#line 25 "./iconv_open-solaris.gperf"
+ {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-6"},
+#line 24 "./iconv_open-solaris.gperf"
+ {(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "ISO8859-5"},
+#line 23 "./iconv_open-solaris.gperf"
+ {(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-4"},
+#line 22 "./iconv_open-solaris.gperf"
+ {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-3"},
+#line 21 "./iconv_open-solaris.gperf"
+ {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-2"}
+ };
+
+#ifdef __GNUC__
+__inline
+#ifdef __GNUC_STDC_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
+#endif
+const struct mapping *
+mapping_lookup (register const char *str, register unsigned int len)
+{
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ register int key = mapping_hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= 0)
+ {
+ register int o = mappings[key].standard_name;
+ if (o >= 0)
+ {
+ register const char *s = o + stringpool;
+
+ if (*str == *s && !strcmp (str + 1, s + 1))
+ return &mappings[key];
+ }
+ }
+ }
+ return 0;
+}
/* Character set conversion.
- Copyright (C) 2007 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
#define ICONV_FLAVOR_HPUX "iconv_open-hpux.h"
#define ICONV_FLAVOR_IRIX "iconv_open-irix.h"
#define ICONV_FLAVOR_OSF "iconv_open-osf.h"
+#define ICONV_FLAVOR_SOLARIS "iconv_open-solaris.h"
#ifdef ICONV_FLAVOR
# include ICONV_FLAVOR
&& fromcode[3] == '-')
{
if (c_toupper (tocode[0]) == 'U'
- && c_toupper (tocode[1]) == 'T'
- && c_toupper (tocode[2]) == 'F'
- && tocode[3] == '-')
- {
- if (strcmp (fromcode + 4, "8") == 0)
- {
- if (c_strcasecmp (tocode + 4, "16BE") == 0)
- return _ICONV_UTF8_UTF16BE;
- if (c_strcasecmp (tocode + 4, "16LE") == 0)
- return _ICONV_UTF8_UTF16LE;
- if (c_strcasecmp (tocode + 4, "32BE") == 0)
- return _ICONV_UTF8_UTF32BE;
- if (c_strcasecmp (tocode + 4, "32LE") == 0)
- return _ICONV_UTF8_UTF32LE;
- }
- else if (strcmp (tocode + 4, "8") == 0)
- {
- if (c_strcasecmp (fromcode + 4, "16BE") == 0)
- return _ICONV_UTF16BE_UTF8;
- if (c_strcasecmp (fromcode + 4, "16LE") == 0)
- return _ICONV_UTF16LE_UTF8;
- if (c_strcasecmp (fromcode + 4, "32BE") == 0)
- return _ICONV_UTF32BE_UTF8;
- if (c_strcasecmp (fromcode + 4, "32LE") == 0)
- return _ICONV_UTF32LE_UTF8;
- }
- }
+ && c_toupper (tocode[1]) == 'T'
+ && c_toupper (tocode[2]) == 'F'
+ && tocode[3] == '-')
+ {
+ if (strcmp (fromcode + 4, "8") == 0)
+ {
+ if (c_strcasecmp (tocode + 4, "16BE") == 0)
+ return _ICONV_UTF8_UTF16BE;
+ if (c_strcasecmp (tocode + 4, "16LE") == 0)
+ return _ICONV_UTF8_UTF16LE;
+ if (c_strcasecmp (tocode + 4, "32BE") == 0)
+ return _ICONV_UTF8_UTF32BE;
+ if (c_strcasecmp (tocode + 4, "32LE") == 0)
+ return _ICONV_UTF8_UTF32LE;
+ }
+ else if (strcmp (tocode + 4, "8") == 0)
+ {
+ if (c_strcasecmp (fromcode + 4, "16BE") == 0)
+ return _ICONV_UTF16BE_UTF8;
+ if (c_strcasecmp (fromcode + 4, "16LE") == 0)
+ return _ICONV_UTF16LE_UTF8;
+ if (c_strcasecmp (fromcode + 4, "32BE") == 0)
+ return _ICONV_UTF32BE_UTF8;
+ if (c_strcasecmp (fromcode + 4, "32LE") == 0)
+ return _ICONV_UTF32LE_UTF8;
+ }
+ }
}
#endif
/* Convert the encodings to upper case, because
1. in the arguments of iconv_open() on AIX, HP-UX, and OSF/1 the case
- matters,
+ matters,
2. it makes searching in the table faster. */
{
const char *p = fromcode;
char *q = fromcode_upper;
while ((*q = c_toupper (*p)) != '\0')
{
- p++;
- q++;
- if (q == &fromcode_upper[SIZEOF (fromcode_upper)])
- {
- errno = EINVAL;
- return (iconv_t)(-1);
- }
+ p++;
+ q++;
+ if (q == &fromcode_upper[SIZEOF (fromcode_upper)])
+ {
+ errno = EINVAL;
+ return (iconv_t)(-1);
+ }
}
fromcode_upper_end = q;
}
char *q = tocode_upper;
while ((*q = c_toupper (*p)) != '\0')
{
- p++;
- q++;
- if (q == &tocode_upper[SIZEOF (tocode_upper)])
- {
- errno = EINVAL;
- return (iconv_t)(-1);
- }
+ p++;
+ q++;
+ if (q == &tocode_upper[SIZEOF (tocode_upper)])
+ {
+ errno = EINVAL;
+ return (iconv_t)(-1);
+ }
}
tocode_upper_end = q;
}
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
+# Copyright (C) 2002-2011 Free Software Foundation, Inc.
#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
#
# This file represents the specification of how gnulib-tool is used.
# It acts as a cache: It is written and read by gnulib-tool.
-# In projects using CVS, this file is meant to be stored in CVS,
-# like the configure.ac and various Makefile.am files.
+# In projects that use version control, this file is meant to be put under
+# version control, like the configure.ac and various Makefile.am files.
# Specification in the form of a command-line invocation:
-# gnulib-tool --import --dir=. --local-dir=lib/gl/override --lib=libgnu --source-base=lib/gl --m4-base=lib/gl/m4 --doc-base=doc --tests-base=lib/gltests --aux-dir=build-aux --with-tests --lgpl=2 --libtool --macro-prefix=lgl --no-vc-files gettext-h lib-msvc-compat lib-symbol-versions lib-symbol-visibility stdint striconv strverscmp
+# gnulib-tool --import --dir=. --local-dir=lib/gl/override --lib=libgnu --source-base=lib/gl --m4-base=lib/gl/m4 --doc-base=doc --tests-base=lib/gltests --aux-dir=build-aux --with-tests --avoid=iconv-h-tests --avoid=string-tests --avoid=wchar-tests --lgpl=2 --makefile-name=gnulib.mk --no-conditional-dependencies --libtool --macro-prefix=lgl --no-vc-files gettext-h lib-msvc-compat lib-symbol-versions lib-symbol-visibility stdint striconv strverscmp
# Specification in the form of a few gnulib-tool.m4 macro invocations:
gl_LOCAL_DIR([lib/gl/override])
striconv
strverscmp
])
-gl_AVOID([])
+gl_AVOID([iconv-h-tests string-tests wchar-tests])
gl_SOURCE_BASE([lib/gl])
gl_M4_BASE([lib/gl/m4])
gl_PO_BASE([])
gl_WITH_TESTS
gl_LIB([libgnu])
gl_LGPL([2])
-gl_MAKEFILE_NAME([])
+gl_MAKEFILE_NAME([gnulib.mk])
gl_LIBTOOL
gl_MACRO_PREFIX([lgl])
gl_PO_DOMAIN([])
+gl_WITNESS_C_DOMAIN([])
gl_VC_FILES([false])
# DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
+# Copyright (C) 2002-2011 Free Software Foundation, Inc.
#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
# This file represents the compiled summary of the specification in
# gnulib-cache.m4. It lists the computed macro invocations that need
# to be invoked from configure.ac.
-# In projects using CVS, this file can be treated like other built files.
+# In projects that use version control, this file can be treated like
+# other built files.
# This macro should be invoked from ./configure.ac, in the section
m4_pattern_allow([^gl_ES$])dnl a valid locale name
m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
- AC_REQUIRE([AC_PROG_RANLIB])
+ AC_REQUIRE([gl_PROG_AR_RANLIB])
+ AC_REQUIRE([AM_PROG_CC_C_O])
+ # Code from module alloca-opt:
+ # Code from module alloca-opt-tests:
+ # Code from module c-ctype:
+ # Code from module c-ctype-tests:
+ # Code from module c-strcase:
+ # Code from module c-strcase-tests:
+ # Code from module environ:
+ # Code from module environ-tests:
+ # Code from module extensions:
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+ # Code from module gettext-h:
+ # Code from module gperf:
+ # Code from module havelib:
+ # Code from module iconv:
+ # Code from module iconv-h:
+ # Code from module iconv-tests:
+ # Code from module iconv_open:
+ # Code from module include_next:
+ # Code from module inline:
+ # Code from module intprops:
+ # Code from module intprops-tests:
+ # Code from module inttypes:
+ # Code from module inttypes-incomplete:
+ # Code from module inttypes-tests:
+ # Code from module lib-msvc-compat:
+ # Code from module lib-symbol-versions:
+ # Code from module lib-symbol-visibility:
+ # Code from module locale:
+ # Code from module locale-tests:
+ # Code from module localename:
+ # Code from module localename-tests:
+ # Code from module lock:
+ # Code from module lock-tests:
+ # Code from module malloc-posix:
+ # Code from module malloca:
+ # Code from module malloca-tests:
+ # Code from module multiarch:
+ # Code from module putenv:
+ # Code from module setenv:
+ # Code from module setenv-tests:
+ # Code from module setlocale:
+ # Code from module setlocale-tests:
+ # Code from module snippet/_Noreturn:
+ # Code from module snippet/arg-nonnull:
+ # Code from module snippet/c++defs:
+ # Code from module snippet/unused-parameter:
+ # Code from module snippet/warn-on-use:
+ # Code from module ssize_t:
+ # Code from module stdbool:
+ # Code from module stdbool-tests:
+ # Code from module stddef:
+ # Code from module stddef-tests:
+ # Code from module stdint:
+ # Code from module stdint-tests:
+ # Code from module stdlib:
+ # Code from module stdlib-tests:
+ # Code from module striconv:
+ # Code from module striconv-tests:
+ # Code from module string:
+ # Code from module strverscmp:
+ # Code from module strverscmp-tests:
+ # Code from module thread:
+ # Code from module thread-tests:
+ # Code from module threadlib:
+ gl_THREADLIB_EARLY
+ # Code from module unistd:
+ # Code from module unistd-tests:
+ # Code from module unistr/base:
+ # Code from module unistr/u8-mbtoucr:
+ # Code from module unistr/u8-mbtoucr-tests:
+ # Code from module unistr/u8-uctomb:
+ # Code from module unistr/u8-uctomb-tests:
+ # Code from module unitypes:
+ # Code from module unsetenv:
+ # Code from module unsetenv-tests:
+ # Code from module verify:
+ # Code from module verify-tests:
+ # Code from module wchar:
+ # Code from module yield:
])
# This macro should be invoked from ./configure.ac, in the section
[
AM_CONDITIONAL([GL_COND_LIBTOOL], [true])
gl_cond_libtool=true
+ gl_m4_base='lib/gl/m4'
m4_pushdef([AC_LIBOBJ], m4_defn([lgl_LIBOBJ]))
m4_pushdef([AC_REPLACE_FUNCS], m4_defn([lgl_REPLACE_FUNCS]))
m4_pushdef([AC_LIBSOURCES], m4_defn([lgl_LIBSOURCES]))
m4_pushdef([lgl_LIBSOURCES_DIR], [])
gl_COMMON
gl_source_base='lib/gl'
- AC_SUBST([LIBINTL])
- AC_SUBST([LTLIBINTL])
- AM_ICONV
- gl_ICONV_H
- gl_FUNC_ICONV_OPEN
- gl_LD_OUTPUT_DEF
- gl_LD_VERSION_SCRIPT
- gl_VISIBILITY
- gl_MULTIARCH
- AM_STDBOOL_H
- gl_STDINT_H
- if test $gl_cond_libtool = false; then
- gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
- gl_libdeps="$gl_libdeps $LIBICONV"
- fi
- gl_HEADER_STRING_H
- gl_FUNC_STRVERSCMP
- gl_STRING_MODULE_INDICATOR([strverscmp])
- gl_WCHAR_H
+AC_SUBST([LIBINTL])
+AC_SUBST([LTLIBINTL])
+AM_ICONV
+m4_ifdef([gl_ICONV_MODULE_INDICATOR],
+ [gl_ICONV_MODULE_INDICATOR([iconv])])
+gl_ICONV_H
+gl_FUNC_ICONV_OPEN
+if test $REPLACE_ICONV_OPEN = 1; then
+ AC_LIBOBJ([iconv_open])
+fi
+if test $REPLACE_ICONV = 1; then
+ AC_LIBOBJ([iconv])
+ AC_LIBOBJ([iconv_close])
+fi
+gl_INLINE
+gl_LD_OUTPUT_DEF
+gl_LD_VERSION_SCRIPT
+gl_VISIBILITY
+gl_MULTIARCH
+AM_STDBOOL_H
+gl_STDDEF_H
+gl_STDINT_H
+if test $gl_cond_libtool = false; then
+ gl_ltlibdeps="$gl_ltlibdeps $LTLIBICONV"
+ gl_libdeps="$gl_libdeps $LIBICONV"
+fi
+gl_HEADER_STRING_H
+gl_FUNC_STRVERSCMP
+if test $HAVE_STRVERSCMP = 0; then
+ AC_LIBOBJ([strverscmp])
+ gl_PREREQ_STRVERSCMP
+fi
+gl_STRING_MODULE_INDICATOR([strverscmp])
+gl_LIBUNISTRING_LIBHEADER([0.9.2], [unistr.h])
+gl_MODULE_INDICATOR([unistr/u8-mbtoucr])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr])
+gl_MODULE_INDICATOR([unistr/u8-uctomb])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb])
+gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
+ # End of code from modules
m4_ifval(lgl_LIBSOURCES_LIST, [
m4_syscmd([test ! -d ]m4_defn([lgl_LIBSOURCES_DIR])[ ||
for gl_file in ]lgl_LIBSOURCES_LIST[ ; do
if test -n "$lgl_LIBOBJS"; then
# Remove the extension.
sed_drop_objext='s/\.o$//;s/\.obj$//'
- for i in `for i in $lgl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do
+ for i in `for i in $lgl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
lgl_libobjs="$lgl_libobjs $i.$ac_objext"
lgl_ltlibobjs="$lgl_ltlibobjs $i.lo"
done
m4_pushdef([lgltests_LIBSOURCES_DIR], [])
gl_COMMON
gl_source_base='lib/gltests'
- gt_LOCALE_FR
- gt_LOCALE_TR_UTF8
- gt_TYPE_WCHAR_T
- gt_TYPE_WINT_T
+changequote(,)dnl
+ lgltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS
+changequote([, ])dnl
+ AC_SUBST([lgltests_WITNESS])
+ gl_module_indicator_condition=$lgltests_WITNESS
+ m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition])
+gl_FUNC_ALLOCA
+gt_LOCALE_FR
+gt_LOCALE_TR_UTF8
+gl_ENVIRON
+gl_UNISTD_MODULE_INDICATOR([environ])
+gl_INTTYPES_H
+gl_INTTYPES_INCOMPLETE
+gl_LOCALE_H
+AC_CHECK_FUNCS_ONCE([newlocale])
+gl_LOCALENAME
+AC_CHECK_FUNCS_ONCE([newlocale])
+gl_LOCK
+gl_FUNC_MALLOC_POSIX
+if test $REPLACE_MALLOC = 1; then
+ AC_LIBOBJ([malloc])
+fi
+gl_STDLIB_MODULE_INDICATOR([malloc-posix])
+gl_MALLOCA
+gl_FUNC_PUTENV
+if test $REPLACE_PUTENV = 1; then
+ AC_LIBOBJ([putenv])
+fi
+gl_STDLIB_MODULE_INDICATOR([putenv])
+gl_FUNC_SETENV
+if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
+ AC_LIBOBJ([setenv])
+fi
+gl_STDLIB_MODULE_INDICATOR([setenv])
+gl_FUNC_SETLOCALE
+if test $REPLACE_SETLOCALE = 1; then
+ AC_LIBOBJ([setlocale])
+ gl_PREREQ_SETLOCALE
+fi
+gl_LOCALE_MODULE_INDICATOR([setlocale])
+gt_LOCALE_FR
+gt_LOCALE_FR_UTF8
+gt_LOCALE_JA
+gt_LOCALE_ZH_CN
+gt_TYPE_SSIZE_T
+gt_TYPE_WCHAR_T
+gt_TYPE_WINT_T
+gl_STDLIB_H
+gl_THREAD
+gl_THREADLIB
+gl_UNISTD_H
+gl_FUNC_UNSETENV
+if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
+ AC_LIBOBJ([unsetenv])
+ gl_PREREQ_UNSETENV
+fi
+gl_STDLIB_MODULE_INDICATOR([unsetenv])
+gl_WCHAR_H
+gl_YIELD
+ m4_popdef([gl_MODULE_INDICATOR_CONDITION])
m4_ifval(lgltests_LIBSOURCES_LIST, [
m4_syscmd([test ! -d ]m4_defn([lgltests_LIBSOURCES_DIR])[ ||
for gl_file in ]lgltests_LIBSOURCES_LIST[ ; do
if test -n "$lgltests_LIBOBJS"; then
# Remove the extension.
sed_drop_objext='s/\.o$//;s/\.obj$//'
- for i in `for i in $lgltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do
+ for i in `for i in $lgltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
lgltests_libobjs="$lgltests_libobjs $i.$ac_objext"
lgltests_ltlibobjs="$lgltests_ltlibobjs $i.lo"
done
# gnulib-tool and may be removed by future gnulib-tool invocations.
AC_DEFUN([lgl_FILE_LIST], [
build-aux/config.rpath
- build-aux/link-warning.h
+ build-aux/snippet/_Noreturn.h
+ build-aux/snippet/arg-nonnull.h
+ build-aux/snippet/c++defs.h
+ build-aux/snippet/unused-parameter.h
+ build-aux/snippet/warn-on-use.h
lib/c-ctype.c
lib/c-ctype.h
lib/c-strcase.h
lib/c-strcasecmp.c
lib/c-strncasecmp.c
lib/gettext.h
+ lib/iconv.c
lib/iconv.in.h
+ lib/iconv_close.c
lib/iconv_open-aix.gperf
lib/iconv_open-hpux.gperf
lib/iconv_open-irix.gperf
lib/iconv_open-osf.gperf
+ lib/iconv_open-solaris.gperf
lib/iconv_open.c
lib/stdbool.in.h
+ lib/stddef.in.h
lib/stdint.in.h
lib/striconv.c
lib/striconv.h
lib/string.in.h
lib/strverscmp.c
- lib/wchar.in.h
+ lib/unistr.in.h
+ lib/unistr/u8-mbtoucr.c
+ lib/unistr/u8-uctomb-aux.c
+ lib/unistr/u8-uctomb.c
+ lib/unitypes.in.h
m4/00gnulib.m4
+ m4/alloca.m4
m4/codeset.m4
+ m4/eealloc.m4
+ m4/environ.m4
m4/extensions.m4
m4/gnulib-common.m4
m4/iconv.m4
m4/iconv_h.m4
m4/iconv_open.m4
m4/include_next.m4
+ m4/inline.m4
+ m4/intlmacosx.m4
+ m4/inttypes-pri.m4
+ m4/inttypes.m4
+ m4/lcmessage.m4
m4/ld-output-def.m4
m4/ld-version-script.m4
m4/lib-ld.m4
m4/lib-link.m4
m4/lib-prefix.m4
+ m4/libunistring-base.m4
m4/locale-fr.m4
+ m4/locale-ja.m4
m4/locale-tr.m4
+ m4/locale-zh.m4
+ m4/locale_h.m4
+ m4/localename.m4
+ m4/lock.m4
m4/longlong.m4
+ m4/malloc.m4
+ m4/malloca.m4
m4/multiarch.m4
+ m4/putenv.m4
+ m4/setenv.m4
+ m4/setlocale.m4
+ m4/ssize_t.m4
m4/stdbool.m4
+ m4/stddef_h.m4
m4/stdint.m4
+ m4/stdlib_h.m4
m4/string_h.m4
m4/strverscmp.m4
+ m4/thread.m4
+ m4/threadlib.m4
+ m4/unistd_h.m4
m4/visibility.m4
- m4/wchar.m4
+ m4/warn-on-use.m4
+ m4/wchar_h.m4
m4/wchar_t.m4
m4/wint_t.m4
+ m4/yield.m4
+ tests/init.sh
+ tests/macros.h
+ tests/signature.h
+ tests/test-alloca-opt.c
tests/test-c-ctype.c
tests/test-c-strcase.sh
tests/test-c-strcasecmp.c
tests/test-c-strncasecmp.c
+ tests/test-environ.c
tests/test-iconv.c
+ tests/test-intprops.c
+ tests/test-inttypes.c
+ tests/test-locale.c
+ tests/test-localename.c
+ tests/test-lock.c
+ tests/test-malloca.c
+ tests/test-setenv.c
+ tests/test-setlocale1.c
+ tests/test-setlocale1.sh
+ tests/test-setlocale2.c
+ tests/test-setlocale2.sh
tests/test-stdbool.c
+ tests/test-stddef.c
tests/test-stdint.c
+ tests/test-stdlib.c
tests/test-striconv.c
- tests/test-string.c
tests/test-strverscmp.c
- tests/test-wchar.c
- tests=lib/dummy.c
+ tests/test-sys_wait.h
+ tests/test-thread_create.c
+ tests/test-thread_self.c
+ tests/test-unistd.c
+ tests/test-unsetenv.c
+ tests/test-verify.c
+ tests/test-verify.sh
+ tests/unistr/test-u8-mbtoucr.c
+ tests/unistr/test-u8-uctomb.c
+ tests=lib/alloca.in.h
+ tests=lib/glthread/lock.c
+ tests=lib/glthread/lock.h
+ tests=lib/glthread/thread.c
+ tests=lib/glthread/thread.h
+ tests=lib/glthread/threadlib.c
+ tests=lib/glthread/yield.h
tests=lib/intprops.h
+ tests=lib/inttypes.in.h
+ tests=lib/locale.in.h
+ tests=lib/localename.c
+ tests=lib/localename.h
+ tests=lib/malloc.c
+ tests=lib/malloca.c
+ tests=lib/malloca.h
+ tests=lib/malloca.valgrind
+ tests=lib/putenv.c
+ tests=lib/setenv.c
+ tests=lib/setlocale.c
+ tests=lib/stdlib.in.h
+ tests=lib/unistd.in.h
+ tests=lib/unsetenv.c
tests=lib/verify.h
+ tests=lib/wchar.in.h
])
-# iconv_h.m4 serial 4
-dnl Copyright (C) 2007-2008 Free Software Foundation, Inc.
+# iconv_h.m4 serial 8
+dnl Copyright (C) 2007-2011 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.
AC_DEFUN([gl_ICONV_H],
[
AC_REQUIRE([gl_ICONV_H_DEFAULTS])
+
+ dnl Execute this unconditionally, because ICONV_H may be set by other
+ dnl modules, after this code is executed.
gl_CHECK_NEXT_HEADERS([iconv.h])
])
[
AC_REQUIRE([gl_ICONV_H_DEFAULTS])
ICONV_H='iconv.h'
+ AM_CONDITIONAL([GL_GENERATE_ICONV_H], [test -n "$ICONV_H"])
])
AC_DEFUN([gl_ICONV_MODULE_INDICATOR],
[
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
AC_REQUIRE([gl_ICONV_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
])
AC_DEFUN([gl_ICONV_H_DEFAULTS],
[
+ GNULIB_ICONV=0; AC_SUBST([GNULIB_ICONV])
dnl Assume proper GNU behavior unless another module says otherwise.
+ ICONV_CONST=; AC_SUBST([ICONV_CONST])
REPLACE_ICONV=0; AC_SUBST([REPLACE_ICONV])
REPLACE_ICONV_OPEN=0; AC_SUBST([REPLACE_ICONV_OPEN])
REPLACE_ICONV_UTF=0; AC_SUBST([REPLACE_ICONV_UTF])
ICONV_H=''; AC_SUBST([ICONV_H])
+ AM_CONDITIONAL([GL_GENERATE_ICONV_H], [test -n "$ICONV_H"])
])
-# iconv_open.m4 serial 5
-dnl Copyright (C) 2007-2009 Free Software Foundation, Inc.
+# iconv_open.m4 serial 14
+dnl Copyright (C) 2007-2011 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.
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([gl_ICONV_H_DEFAULTS])
if test "$am_cv_func_iconv" = yes; then
+ dnl Provide the <iconv.h> override, for the sake of the C++ aliases.
+ gl_REPLACE_ICONV_H
dnl Test whether iconv_open accepts standardized encoding names.
dnl We know that GNU libiconv and GNU libc do.
AC_EGREP_CPP([gnu_iconv], [
#include <iconv.h>
- #if defined _LIBICONV_VERSION || defined __GLIBC__
+ #if defined _LIBICONV_VERSION || (defined __GLIBC__ && !defined __UCLIBC__)
gnu_iconv
#endif
], [gl_func_iconv_gnu=yes], [gl_func_iconv_gnu=no])
if test $gl_func_iconv_gnu = no; then
iconv_flavor=
case "$host_os" in
- aix*) iconv_flavor=ICONV_FLAVOR_AIX ;;
- irix*) iconv_flavor=ICONV_FLAVOR_IRIX ;;
- hpux*) iconv_flavor=ICONV_FLAVOR_HPUX ;;
- osf*) iconv_flavor=ICONV_FLAVOR_OSF ;;
+ aix*) iconv_flavor=ICONV_FLAVOR_AIX ;;
+ irix*) iconv_flavor=ICONV_FLAVOR_IRIX ;;
+ hpux*) iconv_flavor=ICONV_FLAVOR_HPUX ;;
+ osf*) iconv_flavor=ICONV_FLAVOR_OSF ;;
+ solaris*) iconv_flavor=ICONV_FLAVOR_SOLARIS ;;
esac
if test -n "$iconv_flavor"; then
AC_DEFINE_UNQUOTED([ICONV_FLAVOR], [$iconv_flavor],
gl_REPLACE_ICONV_OPEN
fi
fi
+ m4_ifdef([gl_FUNC_ICONV_OPEN_UTF_SUPPORT], [
+ gl_FUNC_ICONV_OPEN_UTF_SUPPORT
+ if test $gl_cv_func_iconv_supports_utf = no; then
+ REPLACE_ICONV_UTF=1
+ AC_DEFINE([REPLACE_ICONV_UTF], [1],
+ [Define if the iconv() functions are enhanced to handle the UTF-{16,32}{BE,LE} encodings.])
+ REPLACE_ICONV=1
+ gl_REPLACE_ICONV_OPEN
+ fi
+ ])
fi
])
[
gl_REPLACE_ICONV_H
REPLACE_ICONV_OPEN=1
- AC_LIBOBJ([iconv_open])
-])
-
-AC_DEFUN([gl_FUNC_ICONV_OPEN_UTF],
-[
- AC_REQUIRE([gl_FUNC_ICONV_OPEN])
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_REQUIRE([gl_ICONV_H_DEFAULTS])
- if test "$am_cv_func_iconv" = yes; then
- if test -n "$am_cv_proto_iconv_arg1"; then
- ICONV_CONST="const"
- else
- ICONV_CONST=
- fi
- AC_SUBST([ICONV_CONST])
- AC_CACHE_CHECK([whether iconv supports conversion between UTF-8 and UTF-{16,32}{BE,LE}],
- [gl_cv_func_iconv_supports_utf],
- [
- save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- AC_TRY_RUN([
-#include <iconv.h>
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#define ASSERT(expr) if (!(expr)) return 1;
-int main ()
-{
- /* Test conversion from UTF-8 to UTF-16BE with no errors. */
- {
- static const char input[] =
- "Japanese (\346\227\245\346\234\254\350\252\236) [\360\235\224\215\360\235\224\236\360\235\224\255]";
- static const char expected[] =
- "\000J\000a\000p\000a\000n\000e\000s\000e\000 \000(\145\345\147\054\212\236\000)\000 \000[\330\065\335\015\330\065\335\036\330\065\335\055\000]";
- iconv_t cd;
- char buf[100];
- const char *inptr;
- size_t inbytesleft;
- char *outptr;
- size_t outbytesleft;
- size_t res;
- cd = iconv_open ("UTF-16BE", "UTF-8");
- ASSERT (cd != (iconv_t)(-1));
- inptr = input;
- inbytesleft = sizeof (input) - 1;
- outptr = buf;
- outbytesleft = sizeof (buf);
- res = iconv (cd,
- (ICONV_CONST char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- ASSERT (res == 0 && inbytesleft == 0);
- ASSERT (outptr == buf + (sizeof (expected) - 1));
- ASSERT (memcmp (buf, expected, sizeof (expected) - 1) == 0);
- ASSERT (iconv_close (cd) == 0);
- }
- /* Test conversion from UTF-8 to UTF-16LE with no errors. */
- {
- static const char input[] =
- "Japanese (\346\227\245\346\234\254\350\252\236) [\360\235\224\215\360\235\224\236\360\235\224\255]";
- static const char expected[] =
- "J\000a\000p\000a\000n\000e\000s\000e\000 \000(\000\345\145\054\147\236\212)\000 \000[\000\065\330\015\335\065\330\036\335\065\330\055\335]\000";
- iconv_t cd;
- char buf[100];
- const char *inptr;
- size_t inbytesleft;
- char *outptr;
- size_t outbytesleft;
- size_t res;
- cd = iconv_open ("UTF-16LE", "UTF-8");
- ASSERT (cd != (iconv_t)(-1));
- inptr = input;
- inbytesleft = sizeof (input) - 1;
- outptr = buf;
- outbytesleft = sizeof (buf);
- res = iconv (cd,
- (ICONV_CONST char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- ASSERT (res == 0 && inbytesleft == 0);
- ASSERT (outptr == buf + (sizeof (expected) - 1));
- ASSERT (memcmp (buf, expected, sizeof (expected) - 1) == 0);
- ASSERT (iconv_close (cd) == 0);
- }
- /* Test conversion from UTF-8 to UTF-32BE with no errors. */
- {
- static const char input[] =
- "Japanese (\346\227\245\346\234\254\350\252\236) [\360\235\224\215\360\235\224\236\360\235\224\255]";
- static const char expected[] =
- "\000\000\000J\000\000\000a\000\000\000p\000\000\000a\000\000\000n\000\000\000e\000\000\000s\000\000\000e\000\000\000 \000\000\000(\000\000\145\345\000\000\147\054\000\000\212\236\000\000\000)\000\000\000 \000\000\000[\000\001\325\015\000\001\325\036\000\001\325\055\000\000\000]";
- iconv_t cd;
- char buf[100];
- const char *inptr;
- size_t inbytesleft;
- char *outptr;
- size_t outbytesleft;
- size_t res;
- cd = iconv_open ("UTF-32BE", "UTF-8");
- ASSERT (cd != (iconv_t)(-1));
- inptr = input;
- inbytesleft = sizeof (input) - 1;
- outptr = buf;
- outbytesleft = sizeof (buf);
- res = iconv (cd,
- (ICONV_CONST char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- ASSERT (res == 0 && inbytesleft == 0);
- ASSERT (outptr == buf + (sizeof (expected) - 1));
- ASSERT (memcmp (buf, expected, sizeof (expected) - 1) == 0);
- ASSERT (iconv_close (cd) == 0);
- }
- /* Test conversion from UTF-8 to UTF-32LE with no errors. */
- {
- static const char input[] =
- "Japanese (\346\227\245\346\234\254\350\252\236) [\360\235\224\215\360\235\224\236\360\235\224\255]";
- static const char expected[] =
- "J\000\000\000a\000\000\000p\000\000\000a\000\000\000n\000\000\000e\000\000\000s\000\000\000e\000\000\000 \000\000\000(\000\000\000\345\145\000\000\054\147\000\000\236\212\000\000)\000\000\000 \000\000\000[\000\000\000\015\325\001\000\036\325\001\000\055\325\001\000]\000\000\000";
- iconv_t cd;
- char buf[100];
- const char *inptr;
- size_t inbytesleft;
- char *outptr;
- size_t outbytesleft;
- size_t res;
- cd = iconv_open ("UTF-32LE", "UTF-8");
- ASSERT (cd != (iconv_t)(-1));
- inptr = input;
- inbytesleft = sizeof (input) - 1;
- outptr = buf;
- outbytesleft = sizeof (buf);
- res = iconv (cd,
- (ICONV_CONST char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- ASSERT (res == 0 && inbytesleft == 0);
- ASSERT (outptr == buf + (sizeof (expected) - 1));
- ASSERT (memcmp (buf, expected, sizeof (expected) - 1) == 0);
- ASSERT (iconv_close (cd) == 0);
- }
- /* Test conversion from UTF-16BE to UTF-8 with no errors.
- This test fails on NetBSD 3.0. */
- {
- static const char input[] =
- "\000J\000a\000p\000a\000n\000e\000s\000e\000 \000(\145\345\147\054\212\236\000)\000 \000[\330\065\335\015\330\065\335\036\330\065\335\055\000]";
- static const char expected[] =
- "Japanese (\346\227\245\346\234\254\350\252\236) [\360\235\224\215\360\235\224\236\360\235\224\255]";
- iconv_t cd;
- char buf[100];
- const char *inptr;
- size_t inbytesleft;
- char *outptr;
- size_t outbytesleft;
- size_t res;
- cd = iconv_open ("UTF-8", "UTF-16BE");
- ASSERT (cd != (iconv_t)(-1));
- inptr = input;
- inbytesleft = sizeof (input) - 1;
- outptr = buf;
- outbytesleft = sizeof (buf);
- res = iconv (cd,
- (ICONV_CONST char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
- ASSERT (res == 0 && inbytesleft == 0);
- ASSERT (outptr == buf + (sizeof (expected) - 1));
- ASSERT (memcmp (buf, expected, sizeof (expected) - 1) == 0);
- ASSERT (iconv_close (cd) == 0);
- }
- return 0;
-}], [gl_cv_func_iconv_supports_utf=yes], [gl_cv_func_iconv_supports_utf=no],
- [
- dnl We know that GNU libiconv, GNU libc, and Solaris >= 9 do.
- dnl OSF/1 5.1 has these encodings, but inserts a BOM in the "to"
- dnl direction.
- gl_cv_func_iconv_supports_utf=no
- if test $gl_func_iconv_gnu = yes; then
- gl_cv_func_iconv_supports_utf=yes
- else
-changequote(,)dnl
- case "$host_os" in
- solaris2.9 | solaris2.1[0-9]) gl_cv_func_iconv_supports_utf=yes ;;
- esac
-changequote([,])dnl
- fi
- ])
- LIBS="$save_LIBS"
- ])
- if test $gl_cv_func_iconv_supports_utf = no; then
- REPLACE_ICONV_UTF=1
- AC_DEFINE([REPLACE_ICONV_UTF], [1],
- [Define if the iconv() functions are enhanced to handle the UTF-{16,32}{BE,LE} encodings.])
- REPLACE_ICONV=1
- gl_REPLACE_ICONV_OPEN
- AC_LIBOBJ([iconv])
- AC_LIBOBJ([iconv_close])
- fi
- fi
])
--- /dev/null
+# inline.m4 serial 4
+dnl Copyright (C) 2006, 2009-2011 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 Test for the 'inline' keyword or equivalent.
+dnl Define 'inline' to a supported equivalent, or to nothing if not supported,
+dnl like AC_C_INLINE does. Also, define HAVE_INLINE if 'inline' or an
+dnl equivalent is effectively supported, i.e. if the compiler is likely to
+dnl drop unused 'static inline' functions.
+AC_DEFUN([gl_INLINE],
+[
+ AC_REQUIRE([AC_C_INLINE])
+ AC_CACHE_CHECK([whether the compiler generally respects inline],
+ [gl_cv_c_inline_effective],
+ [if test $ac_cv_c_inline = no; then
+ gl_cv_c_inline_effective=no
+ else
+ dnl GCC defines __NO_INLINE__ if not optimizing or if -fno-inline is
+ dnl specified.
+ dnl Use AC_COMPILE_IFELSE here, not AC_EGREP_CPP, because the result
+ dnl depends on optimization flags, which can be in CFLAGS.
+ dnl (AC_EGREP_CPP looks only at the CPPFLAGS.)
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[]],
+ [[#ifdef __NO_INLINE__
+ #error "inline is not effective"
+ #endif]])],
+ [gl_cv_c_inline_effective=yes],
+ [gl_cv_c_inline_effective=no])
+ fi
+ ])
+ if test $gl_cv_c_inline_effective = yes; then
+ AC_DEFINE([HAVE_INLINE], [1],
+ [Define to 1 if the compiler supports one of the keywords
+ 'inline', '__inline__', '__inline' and effectively inlines
+ functions marked as such.])
+ fi
+])
# ld-output-def.m4 serial 2
-dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2011 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.
-# ld-version-script.m4 serial 1
-dnl Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+# ld-version-script.m4 serial 2
+dnl Copyright (C) 2008-2011 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.
LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
cat > conftest.map <<EOF
VERS_1 {
- global: sym;
+ global: sym;
};
VERS_2 {
global: sym;
} VERS_1;
EOF
- AC_LINK_IFELSE(AC_LANG_PROGRAM([], []),
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
[have_ld_version_script=yes], [have_ld_version_script=no])
rm -f conftest.map
LDFLAGS="$save_LDFLAGS"
--- /dev/null
+# libunistring-base.m4 serial 5
+dnl Copyright (C) 2010-2011 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 From Paolo Bonzini and Bruno Haible.
+
+dnl gl_LIBUNISTRING_MODULE([VERSION], [Module])
+dnl Declares that the source files of Module should be compiled, unless we
+dnl are linking with libunistring and its version is >= the given VERSION.
+dnl Defines an automake conditional LIBUNISTRING_COMPILE_$MODULE that is
+dnl true if the source files of Module should be compiled.
+dnl This macro is to be used for public libunistring API, not for
+dnl undocumented API.
+dnl
+dnl You have to bump the VERSION argument to the next projected version
+dnl number each time you make a change that affects the behaviour of the
+dnl functions defined in Module (even if the sources of Module itself do not
+dnl change).
+
+AC_DEFUN([gl_LIBUNISTRING_MODULE],
+[
+ AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE])
+ dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from
+ dnl gl_LIBUNISTRING_CORE if that macro has been run.
+ AM_CONDITIONAL(AS_TR_CPP([LIBUNISTRING_COMPILE_$2]),
+ [gl_LIBUNISTRING_VERSION_CMP([$1])])
+])
+
+dnl gl_LIBUNISTRING_LIBHEADER([VERSION], [HeaderFile])
+dnl Declares that HeaderFile should be created, unless we are linking
+dnl with libunistring and its version is >= the given VERSION.
+dnl HeaderFile should be relative to the lib directory and end in '.h'.
+dnl Prepares for substituting LIBUNISTRING_HEADERFILE (to HeaderFile or empty).
+dnl
+dnl When we are linking with the already installed libunistring and its version
+dnl is < VERSION, we create HeaderFile here, because we may compile functions
+dnl (via gl_LIBUNISTRING_MODULE above) that are not contained in the installed
+dnl version.
+dnl When we are linking with the already installed libunistring and its version
+dnl is > VERSION, we don't create HeaderFile here: it could cause compilation
+dnl errors in other libunistring header files if some types are missing.
+dnl
+dnl You have to bump the VERSION argument to the next projected version
+dnl number each time you make a non-comment change to the HeaderFile.
+
+AC_DEFUN([gl_LIBUNISTRING_LIBHEADER],
+[
+ AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE])
+ dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from
+ dnl gl_LIBUNISTRING_CORE if that macro has been run.
+ if gl_LIBUNISTRING_VERSION_CMP([$1]); then
+ LIBUNISTRING_[]AS_TR_CPP([$2])='$2'
+ else
+ LIBUNISTRING_[]AS_TR_CPP([$2])=
+ fi
+ AC_SUBST([LIBUNISTRING_]AS_TR_CPP([$2]))
+])
+
+dnl Miscellaneous preparations/initializations.
+
+AC_DEFUN([gl_LIBUNISTRING_LIB_PREPARE],
+[
+ dnl Ensure that HAVE_LIBUNISTRING is fully determined at this point.
+ m4_ifdef([gl_LIBUNISTRING], [AC_REQUIRE([gl_LIBUNISTRING])])
+
+ AC_REQUIRE([AC_PROG_AWK])
+
+dnl Sed expressions to extract the parts of a version number.
+changequote(,)
+gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+changequote([,])
+
+ if test "$HAVE_LIBUNISTRING" = yes; then
+ LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_major"`
+ LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"`
+ LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"`
+ fi
+])
+
+dnl gl_LIBUNISTRING_VERSION_CMP([VERSION])
+dnl Expands to a shell statement that evaluates to true if LIBUNISTRING_VERSION
+dnl is less than the VERSION argument.
+AC_DEFUN([gl_LIBUNISTRING_VERSION_CMP],
+[ { test "$HAVE_LIBUNISTRING" != yes \
+ || {
+ dnl AS_LITERAL_IF exists and works fine since autoconf-2.59 at least.
+ AS_LITERAL_IF([$1],
+ [dnl This is the optimized variant, that assumes the argument is a literal:
+ m4_pushdef([requested_version_major],
+ [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^\([0-9]*\).*], [\1]), [])])
+ m4_pushdef([requested_version_minor],
+ [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^[0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
+ m4_pushdef([requested_version_subminor],
+ [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^[0-9]*[.][0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
+ test $LIBUNISTRING_VERSION_MAJOR -lt requested_version_major \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq requested_version_major \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt requested_version_minor \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq requested_version_minor \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt requested_version_subminor
+ }
+ }
+ }
+ m4_popdef([requested_version_subminor])
+ m4_popdef([requested_version_minor])
+ m4_popdef([requested_version_major])
+ ],
+ [dnl This is the unoptimized variant:
+ requested_version_major=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_major"`
+ requested_version_minor=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_minor"`
+ requested_version_subminor=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_subminor"`
+ test $LIBUNISTRING_VERSION_MAJOR -lt $requested_version_major \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq $requested_version_major \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt $requested_version_minor \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq $requested_version_minor \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt $requested_version_subminor
+ }
+ }
+ }
+ ])
+ }
+ }])
+
+dnl gl_LIBUNISTRING_ARG_OR_ZERO([ARG], [ORIG]) expands to ARG if it is not the
+dnl same as ORIG, otherwise to 0.
+m4_define([gl_LIBUNISTRING_ARG_OR_ZERO], [m4_if([$1], [$2], [0], [$1])])
-# locale-fr.m4 serial 11
-dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc.
+# locale-fr.m4 serial 13
+dnl Copyright (C) 2003, 2005-2011 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.
char buf[16];
int main () {
/* Check whether the given locale name is recognized by the system. */
+#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+ /* On native Win32, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+#else
if (setlocale (LC_ALL, "") == NULL) return 1;
+#endif
/* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
succeeds but then nl_langinfo(CODESET) is "646". In this situation,
- some unit tests fail. */
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
#if HAVE_LANGINFO_CODESET
{
const char *cs = nl_langinfo (CODESET);
- if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
return 1;
}
#endif
changequote([,])dnl
])])
if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO-8859-1
- else
- # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
- if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.ISO8859-1
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw*)
+ # Test for the native Win32 locale name.
+ if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=French_France.1252
+ else
+ # None found.
+ gt_cv_locale_fr=none
+ fi
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the usual locale name.
+ if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR
else
- # Test for the HP-UX locale name.
- if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr_FR.iso88591
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.ISO-8859-1
else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr=fr
+ # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
+ if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.ISO8859-1
else
- # None found.
- gt_cv_locale_fr=none
+ # Test for the HP-UX locale name.
+ if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr_FR.iso88591
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr=fr
+ else
+ # None found.
+ gt_cv_locale_fr=none
+ fi
+ fi
fi
fi
fi
- fi
- fi
+ ;;
+ esac
fi
rm -fr conftest*
])
variables, and all locales use the UTF-8 encoding. */
#if !(defined __BEOS__ || defined __HAIKU__)
/* Check whether the given locale name is recognized by the system. */
+# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+ /* On native Win32, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+# else
if (setlocale (LC_ALL, "") == NULL) return 1;
+# endif
/* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
changequote([,])dnl
])])
if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr_FR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_fr_utf8=fr.UTF-8
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw*)
+ # Test for the hypothetical native Win32 locale name.
+ if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=French_France.65001
else
# None found.
gt_cv_locale_fr_utf8=none
fi
- fi
- fi
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the usual locale name.
+ if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr_FR
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr_FR.UTF-8
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_fr_utf8=fr.UTF-8
+ else
+ # None found.
+ gt_cv_locale_fr_utf8=none
+ fi
+ fi
+ fi
+ ;;
+ esac
fi
rm -fr conftest*
])
--- /dev/null
+# locale-ja.m4 serial 9
+dnl Copyright (C) 2003, 2005-2011 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 From Bruno Haible.
+
+dnl Determine the name of a japanese locale with EUC-JP encoding.
+AC_DEFUN([gt_LOCALE_JA],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AM_LANGINFO_CODESET])
+ AC_CACHE_CHECK([for a traditional japanese locale], [gt_cv_locale_ja], [
+ AC_LANG_CONFTEST([AC_LANG_SOURCE([
+changequote(,)dnl
+#include <locale.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main ()
+{
+ const char *p;
+ /* Check whether the given locale name is recognized by the system. */
+#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+ /* On native Win32, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+#else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+#endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
+#if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
+ return 1;
+ }
+#endif
+#ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+#endif
+ /* Check whether MB_CUR_MAX is > 1. This excludes the dysfunctional locales
+ on Cygwin 1.5.x. */
+ if (MB_CUR_MAX == 1)
+ return 1;
+ /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
+ This excludes the UTF-8 encoding (except on MirBSD). */
+ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+ if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+ for (p = buf; *p != '\0'; p++)
+ if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+ return 1;
+ return 0;
+}
+changequote([,])dnl
+ ])])
+ if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw*)
+ # Note that on native Win32, the Japanese locale is Japanese_Japan.932,
+ # and CP932 is very different from EUC-JP, so we cannot use it here.
+ gt_cv_locale_ja=none
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the AIX locale name.
+ if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja_JP
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja_JP.EUC-JP
+ else
+ # Test for the HP-UX, OSF/1, NetBSD locale name.
+ if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja_JP.eucJP
+ else
+ # Test for the IRIX, FreeBSD locale name.
+ if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja_JP.EUC
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_ja=ja
+ else
+ # Special test for NetBSD 1.6.
+ if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
+ gt_cv_locale_ja=ja_JP.eucJP
+ else
+ # None found.
+ gt_cv_locale_ja=none
+ fi
+ fi
+ fi
+ fi
+ fi
+ fi
+ ;;
+ esac
+ fi
+ rm -fr conftest*
+ ])
+ LOCALE_JA=$gt_cv_locale_ja
+ AC_SUBST([LOCALE_JA])
+])
-# locale-tr.m4 serial 6
-dnl Copyright (C) 2003, 2005-2009 Free Software Foundation, Inc.
+# locale-tr.m4 serial 7
+dnl Copyright (C) 2003, 2005-2011 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 Determine the name of a turkish locale with UTF-8 encoding.
AC_DEFUN([gt_LOCALE_TR_UTF8],
[
+ AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AM_LANGINFO_CODESET])
AC_CACHE_CHECK([for a turkish Unicode locale], [gt_cv_locale_tr_utf8], [
AC_LANG_CONFTEST([AC_LANG_SOURCE([
implement the Turkish upper-/lowercase mappings. Therefore, let this
program return 1 on BeOS. */
/* Check whether the given locale name is recognized by the system. */
+#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+ /* On native Win32, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+#else
if (setlocale (LC_ALL, "") == NULL) return 1;
+#endif
/* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
On MacOS X 10.3.5 (Darwin 7.5) in the tr_TR locale, nl_langinfo(CODESET)
is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
changequote([,])dnl
])])
if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
- # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
- # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
- # configure script would override the LC_ALL setting. Likewise for
- # LC_CTYPE, which is also set at the beginning of the configure script.
- # Test for the usual locale name.
- if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_tr_utf8=tr_TR
- else
- # Test for the locale name with explicit encoding suffix.
- if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_tr_utf8=tr_TR.UTF-8
- else
- # Test for the Solaris 7 locale name.
- if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
- gt_cv_locale_tr_utf8=tr.UTF-8
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw*)
+ # Test for the hypothetical native Win32 locale name.
+ if (LC_ALL=Turkish_Turkey.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_tr_utf8=Turkish_Turkey.65001
else
# None found.
gt_cv_locale_tr_utf8=none
fi
- fi
- fi
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the usual locale name.
+ if (LC_ALL=tr_TR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_tr_utf8=tr_TR
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=tr_TR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_tr_utf8=tr_TR.UTF-8
+ else
+ # Test for the Solaris 7 locale name.
+ if (LC_ALL=tr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_tr_utf8=tr.UTF-8
+ else
+ # None found.
+ gt_cv_locale_tr_utf8=none
+ fi
+ fi
+ fi
+ ;;
+ esac
else
gt_cv_locale_tr_utf8=none
fi
--- /dev/null
+# locale-zh.m4 serial 9
+dnl Copyright (C) 2003, 2005-2011 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 From Bruno Haible.
+
+dnl Determine the name of a chinese locale with GB18030 encoding.
+AC_DEFUN([gt_LOCALE_ZH_CN],
+[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AM_LANGINFO_CODESET])
+ AC_CACHE_CHECK([for a transitional chinese locale], [gt_cv_locale_zh_CN], [
+ AC_LANG_CONFTEST([AC_LANG_SOURCE([
+changequote(,)dnl
+#include <locale.h>
+#include <stdlib.h>
+#include <time.h>
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+struct tm t;
+char buf[16];
+int main ()
+{
+ const char *p;
+ /* Check whether the given locale name is recognized by the system. */
+#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+ /* On native Win32, setlocale(category, "") looks at the system settings,
+ not at the environment variables. Also, when an encoding suffix such
+ as ".65001" or ".54936" is speficied, it succeeds but sets the LC_CTYPE
+ category of the locale to "C". */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
+ || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ return 1;
+#else
+ if (setlocale (LC_ALL, "") == NULL) return 1;
+#endif
+ /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
+ On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
+ is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
+ On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "646". In this situation,
+ some unit tests fail.
+ On MirBSD 10, when an unsupported locale is specified, setlocale()
+ succeeds but then nl_langinfo(CODESET) is "UTF-8". */
+#if HAVE_LANGINFO_CODESET
+ {
+ const char *cs = nl_langinfo (CODESET);
+ if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
+ || strcmp (cs, "UTF-8") == 0)
+ return 1;
+ }
+#endif
+#ifdef __CYGWIN__
+ /* On Cygwin, avoid locale names without encoding suffix, because the
+ locale_charset() function relies on the encoding suffix. Note that
+ LC_ALL is set on the command line. */
+ if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
+#endif
+ /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
+ This excludes the UTF-8 encoding (except on MirBSD). */
+ t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
+ if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
+ for (p = buf; *p != '\0'; p++)
+ if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
+ return 1;
+ /* Check whether a typical GB18030 multibyte sequence is recognized as a
+ single wide character. This excludes the GB2312 and GBK encodings. */
+ if (mblen ("\203\062\332\066", 5) != 4)
+ return 1;
+ return 0;
+}
+changequote([,])dnl
+ ])])
+ if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
+ case "$host_os" in
+ # Handle native Windows specially, because there setlocale() interprets
+ # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
+ # "fr" or "fra" as "French" or "French_France.1252",
+ # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
+ # "ja" as "Japanese" or "Japanese_Japan.932",
+ # and similar.
+ mingw*)
+ # Test for the hypothetical native Win32 locale name.
+ if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_zh_CN=Chinese_China.54936
+ else
+ # None found.
+ gt_cv_locale_zh_CN=none
+ fi
+ ;;
+ solaris2.8)
+ # On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
+ # broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
+ # Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
+ gt_cv_locale_zh_CN=none
+ ;;
+ *)
+ # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
+ # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
+ # configure script would override the LC_ALL setting. Likewise for
+ # LC_CTYPE, which is also set at the beginning of the configure script.
+ # Test for the locale name without encoding suffix.
+ if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_zh_CN=zh_CN
+ else
+ # Test for the locale name with explicit encoding suffix.
+ if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
+ gt_cv_locale_zh_CN=zh_CN.GB18030
+ else
+ # None found.
+ gt_cv_locale_zh_CN=none
+ fi
+ fi
+ ;;
+ esac
+ else
+ # If there was a link error, due to mblen(), the system is so old that
+ # it certainly doesn't have a chinese locale.
+ gt_cv_locale_zh_CN=none
+ fi
+ rm -fr conftest*
+ ])
+ LOCALE_ZH_CN=$gt_cv_locale_zh_CN
+ AC_SUBST([LOCALE_ZH_CN])
+])
--- /dev/null
+# locale_h.m4 serial 14
+dnl Copyright (C) 2007, 2009-2011 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.
+
+AC_DEFUN([gl_LOCALE_H],
+[
+ dnl Use AC_REQUIRE here, so that the default behavior below is expanded
+ dnl once only, before all statements that occur in other macros.
+ AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
+
+ dnl Persuade glibc <locale.h> to define locale_t.
+ AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
+ dnl If <stddef.h> is replaced, then <locale.h> must also be replaced.
+ AC_REQUIRE([gl_STDDEF_H])
+
+ AC_CACHE_CHECK([whether locale.h conforms to POSIX:2001],
+ [gl_cv_header_locale_h_posix2001],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <locale.h>
+ int x = LC_MESSAGES;]],
+ [[]])],
+ [gl_cv_header_locale_h_posix2001=yes],
+ [gl_cv_header_locale_h_posix2001=no])])
+
+ dnl Check for <xlocale.h>.
+ AC_CHECK_HEADERS_ONCE([xlocale.h])
+ if test $ac_cv_header_xlocale_h = yes; then
+ HAVE_XLOCALE_H=1
+ dnl Check whether use of locale_t requires inclusion of <xlocale.h>,
+ dnl e.g. on MacOS X 10.5. If <locale.h> does not define locale_t by
+ dnl itself, we assume that <xlocale.h> will do so.
+ AC_CACHE_CHECK([whether locale.h defines locale_t],
+ [gl_cv_header_locale_has_locale_t],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <locale.h>
+ locale_t x;]],
+ [[]])],
+ [gl_cv_header_locale_has_locale_t=yes],
+ [gl_cv_header_locale_has_locale_t=no])
+ ])
+ if test $gl_cv_header_locale_has_locale_t = yes; then
+ gl_cv_header_locale_h_needs_xlocale_h=no
+ else
+ gl_cv_header_locale_h_needs_xlocale_h=yes
+ fi
+ else
+ HAVE_XLOCALE_H=0
+ gl_cv_header_locale_h_needs_xlocale_h=no
+ fi
+ AC_SUBST([HAVE_XLOCALE_H])
+
+ dnl <locale.h> is always overridden, because of GNULIB_POSIXCHECK.
+ gl_NEXT_HEADERS([locale.h])
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use.
+ gl_WARN_ON_USE_PREPARE([[#include <locale.h>
+/* Some systems provide declarations in a non-standard header. */
+#if HAVE_XLOCALE_H
+# include <xlocale.h>
+#endif
+ ]],
+ [setlocale duplocale])
+])
+
+AC_DEFUN([gl_LOCALE_MODULE_INDICATOR],
+[
+ dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+ AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
+ gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+ dnl Define it also as a C macro, for the benefit of the unit tests.
+ gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_LOCALE_H_DEFAULTS],
+[
+ GNULIB_SETLOCALE=0; AC_SUBST([GNULIB_SETLOCALE])
+ GNULIB_DUPLOCALE=0; AC_SUBST([GNULIB_DUPLOCALE])
+ dnl Assume proper GNU behavior unless another module says otherwise.
+ HAVE_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE])
+ REPLACE_SETLOCALE=0; AC_SUBST([REPLACE_SETLOCALE])
+ REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE])
+])
--- /dev/null
+# localename.m4 serial 2
+dnl Copyright (C) 2007, 2009-2011 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.
+
+AC_DEFUN([gl_LOCALENAME],
+[
+ AC_REQUIRE([gt_LC_MESSAGES])
+ AC_REQUIRE([gt_INTL_MACOSX])
+ AC_CHECK_FUNCS([setlocale uselocale])
+])
+++ /dev/null
-# multiarch.m4 serial 5
-dnl Copyright (C) 2008, 2009 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.
-
-# Determine whether the compiler is or may be producing universal binaries.
-#
-# On MacOS X 10.5 and later systems, the user can create libraries and
-# executables that work on multiple system types--known as "fat" or
-# "universal" binaries--by specifying multiple '-arch' options to the
-# compiler but only a single '-arch' option to the preprocessor. Like
-# this:
-#
-# ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-# CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-# CPP="gcc -E" CXXCPP="g++ -E"
-#
-# Detect this situation and set the macro AA_APPLE_UNIVERSAL_BUILD at the
-# beginning of config.h and set APPLE_UNIVERSAL_BUILD accordingly.
-
-AC_DEFUN_ONCE([gl_MULTIARCH],
-[
- dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN.
- gl_cv_c_multiarch=no
- AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [[#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
- ]])],
- [
- dnl Check for potential -arch flags. It is not universal unless
- dnl there are at least two -arch flags with different values.
- arch=
- prev=
- for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
- if test -n "$prev"; then
- case $word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$arch" || test "$arch" = "$word"; then
- arch="$word"
- else
- gl_cv_c_multiarch=yes
- fi
- ;;
- esac
- prev=
- else
- if test "x$word" = "x-arch"; then
- prev=arch
- fi
- fi
- done
- ])
- if test $gl_cv_c_multiarch = yes; then
- AC_DEFINE([AA_APPLE_UNIVERSAL_BUILD], [1],
- [Define if the compiler is building for multiple architectures of Apple platforms at once.])
- APPLE_UNIVERSAL_BUILD=1
- else
- APPLE_UNIVERSAL_BUILD=0
- fi
- AC_SUBST([APPLE_UNIVERSAL_BUILD])
-])
--- /dev/null
+# setlocale.m4 serial 4
+dnl Copyright (C) 2011 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.
+
+AC_DEFUN([gl_FUNC_SETLOCALE],
+[
+ AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ case "$host_os" in
+ dnl On native Windows systems, setlocale(category,NULL) does not look at
+ dnl the environment variables LC_ALL, category, and LANG.
+ mingw*) REPLACE_SETLOCALE=1 ;;
+ dnl On Cygwin 1.5.x, setlocale always succeeds but setlocale(LC_CTYPE,NULL)
+ dnl is then still "C".
+ cygwin*)
+ case `uname -r` in
+ 1.5.*) REPLACE_SETLOCALE=1 ;;
+ esac
+ ;;
+ esac
+])
+
+# Prerequisites of lib/setlocale.c.
+AC_DEFUN([gl_PREREQ_SETLOCALE],
+[
+ :
+])
+++ /dev/null
-# Check for stdbool.h that conforms to C99.
-
-dnl Copyright (C) 2002-2006, 2009 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.
-
-# Prepare for substituting <stdbool.h> if it is not supported.
-
-AC_DEFUN([AM_STDBOOL_H],
-[
- AC_REQUIRE([AC_HEADER_STDBOOL])
-
- # Define two additional variables used in the Makefile substitution.
-
- if test "$ac_cv_header_stdbool_h" = yes; then
- STDBOOL_H=''
- else
- STDBOOL_H='stdbool.h'
- fi
- AC_SUBST([STDBOOL_H])
-
- if test "$ac_cv_type__Bool" = yes; then
- HAVE__BOOL=1
- else
- HAVE__BOOL=0
- fi
- AC_SUBST([HAVE__BOOL])
-])
-
-# AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future.
-AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H])
-
-# This macro is only needed in autoconf <= 2.59. Newer versions of autoconf
-# have this macro built-in.
-
-AC_DEFUN([AC_HEADER_STDBOOL],
- [AC_CACHE_CHECK([for stdbool.h that conforms to C99],
- [ac_cv_header_stdbool_h],
- [AC_TRY_COMPILE(
- [
- #include <stdbool.h>
- #ifndef bool
- "error: bool is not defined"
- #endif
- #ifndef false
- "error: false is not defined"
- #endif
- #if false
- "error: false is not 0"
- #endif
- #ifndef true
- "error: true is not defined"
- #endif
- #if true != 1
- "error: true is not 1"
- #endif
- #ifndef __bool_true_false_are_defined
- "error: __bool_true_false_are_defined is not defined"
- #endif
-
- struct s { _Bool s: 1; _Bool t; } s;
-
- char a[true == 1 ? 1 : -1];
- char b[false == 0 ? 1 : -1];
- char c[__bool_true_false_are_defined == 1 ? 1 : -1];
- char d[(bool) 0.5 == true ? 1 : -1];
- bool e = &s;
- char f[(_Bool) 0.0 == false ? 1 : -1];
- char g[true];
- char h[sizeof (_Bool)];
- char i[sizeof s.t];
- enum { j = false, k = true, l = false * true, m = true * 256 };
- _Bool n[m];
- char o[sizeof n == m * sizeof n[0] ? 1 : -1];
- char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
- #if defined __xlc__ || defined __GNUC__
- /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
- reported by James Lemley on 2005-10-05; see
- http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
- This test is not quite right, since xlc is allowed to
- reject this program, as the initializer for xlcbug is
- not one of the forms that C requires support for.
- However, doing the test right would require a run-time
- test, and that would make cross-compilation harder.
- Let us hope that IBM fixes the xlc bug, and also adds
- support for this kind of constant expression. In the
- meantime, this test will reject xlc, which is OK, since
- our stdbool.h substitute should suffice. We also test
- this with GCC, where it should work, to detect more
- quickly whether someone messes up the test in the
- future. */
- char digs[] = "0123456789";
- int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1);
- #endif
- /* Catch a bug in an HP-UX C compiler. See
- http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
- http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
- */
- _Bool q = true;
- _Bool *pq = &q;
- ],
- [
- *pq |= q;
- *pq |= ! q;
- /* Refer to every declared value, to avoid compiler optimizations. */
- return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
- + !m + !n + !o + !p + !q + !pq);
- ],
- [ac_cv_header_stdbool_h=yes],
- [ac_cv_header_stdbool_h=no])])
- AC_CHECK_TYPES([_Bool])
- if test $ac_cv_header_stdbool_h = yes; then
- AC_DEFINE([HAVE_STDBOOL_H], [1], [Define to 1 if stdbool.h conforms to C99.])
- fi])
+++ /dev/null
-# stdint.m4 serial 34
-dnl Copyright (C) 2001-2009 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 From Paul Eggert and Bruno Haible.
-dnl Test whether <stdint.h> is supported or must be substituted.
-
-AC_DEFUN([gl_STDINT_H],
-[
- AC_PREREQ([2.59])dnl
-
- dnl Check for long long int and unsigned long long int.
- AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
- if test $ac_cv_type_long_long_int = yes; then
- HAVE_LONG_LONG_INT=1
- else
- HAVE_LONG_LONG_INT=0
- fi
- AC_SUBST([HAVE_LONG_LONG_INT])
- AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
- if test $ac_cv_type_unsigned_long_long_int = yes; then
- HAVE_UNSIGNED_LONG_LONG_INT=1
- else
- HAVE_UNSIGNED_LONG_LONG_INT=0
- fi
- AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT])
-
- dnl Check for <inttypes.h>.
- dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h.
- if test $ac_cv_header_inttypes_h = yes; then
- HAVE_INTTYPES_H=1
- else
- HAVE_INTTYPES_H=0
- fi
- AC_SUBST([HAVE_INTTYPES_H])
-
- dnl Check for <sys/types.h>.
- dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h.
- if test $ac_cv_header_sys_types_h = yes; then
- HAVE_SYS_TYPES_H=1
- else
- HAVE_SYS_TYPES_H=0
- fi
- AC_SUBST([HAVE_SYS_TYPES_H])
-
- gl_CHECK_NEXT_HEADERS([stdint.h])
- if test $ac_cv_header_stdint_h = yes; then
- HAVE_STDINT_H=1
- else
- HAVE_STDINT_H=0
- fi
- AC_SUBST([HAVE_STDINT_H])
-
- dnl Now see whether we need a substitute <stdint.h>.
- if test $ac_cv_header_stdint_h = yes; then
- AC_CACHE_CHECK([whether stdint.h conforms to C99],
- [gl_cv_header_working_stdint_h],
- [gl_cv_header_working_stdint_h=no
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
-#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
-#include <stdint.h>
-/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */
-#if !(defined WCHAR_MIN && defined WCHAR_MAX)
-#error "WCHAR_MIN, WCHAR_MAX not defined in <stdint.h>"
-#endif
-]
-gl_STDINT_INCLUDES
-[
-#ifdef INT8_MAX
-int8_t a1 = INT8_MAX;
-int8_t a1min = INT8_MIN;
-#endif
-#ifdef INT16_MAX
-int16_t a2 = INT16_MAX;
-int16_t a2min = INT16_MIN;
-#endif
-#ifdef INT32_MAX
-int32_t a3 = INT32_MAX;
-int32_t a3min = INT32_MIN;
-#endif
-#ifdef INT64_MAX
-int64_t a4 = INT64_MAX;
-int64_t a4min = INT64_MIN;
-#endif
-#ifdef UINT8_MAX
-uint8_t b1 = UINT8_MAX;
-#else
-typedef int b1[(unsigned char) -1 != 255 ? 1 : -1];
-#endif
-#ifdef UINT16_MAX
-uint16_t b2 = UINT16_MAX;
-#endif
-#ifdef UINT32_MAX
-uint32_t b3 = UINT32_MAX;
-#endif
-#ifdef UINT64_MAX
-uint64_t b4 = UINT64_MAX;
-#endif
-int_least8_t c1 = INT8_C (0x7f);
-int_least8_t c1max = INT_LEAST8_MAX;
-int_least8_t c1min = INT_LEAST8_MIN;
-int_least16_t c2 = INT16_C (0x7fff);
-int_least16_t c2max = INT_LEAST16_MAX;
-int_least16_t c2min = INT_LEAST16_MIN;
-int_least32_t c3 = INT32_C (0x7fffffff);
-int_least32_t c3max = INT_LEAST32_MAX;
-int_least32_t c3min = INT_LEAST32_MIN;
-int_least64_t c4 = INT64_C (0x7fffffffffffffff);
-int_least64_t c4max = INT_LEAST64_MAX;
-int_least64_t c4min = INT_LEAST64_MIN;
-uint_least8_t d1 = UINT8_C (0xff);
-uint_least8_t d1max = UINT_LEAST8_MAX;
-uint_least16_t d2 = UINT16_C (0xffff);
-uint_least16_t d2max = UINT_LEAST16_MAX;
-uint_least32_t d3 = UINT32_C (0xffffffff);
-uint_least32_t d3max = UINT_LEAST32_MAX;
-uint_least64_t d4 = UINT64_C (0xffffffffffffffff);
-uint_least64_t d4max = UINT_LEAST64_MAX;
-int_fast8_t e1 = INT_FAST8_MAX;
-int_fast8_t e1min = INT_FAST8_MIN;
-int_fast16_t e2 = INT_FAST16_MAX;
-int_fast16_t e2min = INT_FAST16_MIN;
-int_fast32_t e3 = INT_FAST32_MAX;
-int_fast32_t e3min = INT_FAST32_MIN;
-int_fast64_t e4 = INT_FAST64_MAX;
-int_fast64_t e4min = INT_FAST64_MIN;
-uint_fast8_t f1 = UINT_FAST8_MAX;
-uint_fast16_t f2 = UINT_FAST16_MAX;
-uint_fast32_t f3 = UINT_FAST32_MAX;
-uint_fast64_t f4 = UINT_FAST64_MAX;
-#ifdef INTPTR_MAX
-intptr_t g = INTPTR_MAX;
-intptr_t gmin = INTPTR_MIN;
-#endif
-#ifdef UINTPTR_MAX
-uintptr_t h = UINTPTR_MAX;
-#endif
-intmax_t i = INTMAX_MAX;
-uintmax_t j = UINTMAX_MAX;
-
-#include <limits.h> /* for CHAR_BIT */
-#define TYPE_MINIMUM(t) \
- ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))
-#define TYPE_MAXIMUM(t) \
- ((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
-struct s {
- int check_PTRDIFF:
- PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t)
- && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t)
- ? 1 : -1;
- /* Detect bug in FreeBSD 6.0 / ia64. */
- int check_SIG_ATOMIC:
- SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t)
- && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t)
- ? 1 : -1;
- int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1;
- int check_WCHAR:
- WCHAR_MIN == TYPE_MINIMUM (wchar_t)
- && WCHAR_MAX == TYPE_MAXIMUM (wchar_t)
- ? 1 : -1;
- /* Detect bug in mingw. */
- int check_WINT:
- WINT_MIN == TYPE_MINIMUM (wint_t)
- && WINT_MAX == TYPE_MAXIMUM (wint_t)
- ? 1 : -1;
-
- /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */
- int check_UINT8_C:
- (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1;
- int check_UINT16_C:
- (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1;
-
- /* Detect bugs in OpenBSD 3.9 stdint.h. */
-#ifdef UINT8_MAX
- int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1;
-#endif
-#ifdef UINT16_MAX
- int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1;
-#endif
-#ifdef UINT32_MAX
- int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1;
-#endif
-#ifdef UINT64_MAX
- int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1;
-#endif
- int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1;
- int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1;
- int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1;
- int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1;
- int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1;
- int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1;
- int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1;
- int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1;
- int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1;
- int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1;
- int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1;
-};
- ]])],
- [dnl Determine whether the various *_MIN, *_MAX macros are usable
- dnl in preprocessor expression. We could do it by compiling a test
- dnl program for each of these macros. It is faster to run a program
- dnl that inspects the macro expansion.
- dnl This detects a bug on HP-UX 11.23/ia64.
- AC_RUN_IFELSE([
- AC_LANG_PROGRAM([[
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
-#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
-#include <stdint.h>
-]
-gl_STDINT_INCLUDES
-[
-#include <stdio.h>
-#include <string.h>
-#define MVAL(macro) MVAL1(macro)
-#define MVAL1(expression) #expression
-static const char *macro_values[] =
- {
-#ifdef INT8_MAX
- MVAL (INT8_MAX),
-#endif
-#ifdef INT16_MAX
- MVAL (INT16_MAX),
-#endif
-#ifdef INT32_MAX
- MVAL (INT32_MAX),
-#endif
-#ifdef INT64_MAX
- MVAL (INT64_MAX),
-#endif
-#ifdef UINT8_MAX
- MVAL (UINT8_MAX),
-#endif
-#ifdef UINT16_MAX
- MVAL (UINT16_MAX),
-#endif
-#ifdef UINT32_MAX
- MVAL (UINT32_MAX),
-#endif
-#ifdef UINT64_MAX
- MVAL (UINT64_MAX),
-#endif
- NULL
- };
-]], [[
- const char **mv;
- for (mv = macro_values; *mv != NULL; mv++)
- {
- const char *value = *mv;
- /* Test whether it looks like a cast expression. */
- if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0
- || strncmp (value, "((unsigned short)"/*)*/, 17) == 0
- || strncmp (value, "((unsigned char)"/*)*/, 16) == 0
- || strncmp (value, "((int)"/*)*/, 6) == 0
- || strncmp (value, "((signed short)"/*)*/, 15) == 0
- || strncmp (value, "((signed char)"/*)*/, 14) == 0)
- return 1;
- }
- return 0;
-]])],
- [gl_cv_header_working_stdint_h=yes],
- [],
- [dnl When cross-compiling, assume it works.
- gl_cv_header_working_stdint_h=yes
- ])
- ])
- ])
- fi
- if test "$gl_cv_header_working_stdint_h" = yes; then
- STDINT_H=
- else
- dnl Check for <sys/inttypes.h>, and for
- dnl <sys/bitypes.h> (used in Linux libc4 >= 4.6.7 and libc5).
- AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h])
- if test $ac_cv_header_sys_inttypes_h = yes; then
- HAVE_SYS_INTTYPES_H=1
- else
- HAVE_SYS_INTTYPES_H=0
- fi
- AC_SUBST([HAVE_SYS_INTTYPES_H])
- if test $ac_cv_header_sys_bitypes_h = yes; then
- HAVE_SYS_BITYPES_H=1
- else
- HAVE_SYS_BITYPES_H=0
- fi
- AC_SUBST([HAVE_SYS_BITYPES_H])
-
- dnl Check for <wchar.h> (missing in Linux uClibc when built without wide
- dnl character support).
- AC_CHECK_HEADERS_ONCE([wchar.h])
-
- gl_STDINT_TYPE_PROPERTIES
- STDINT_H=stdint.h
- fi
- AC_SUBST([STDINT_H])
-])
-
-dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES)
-dnl Determine the size of each of the given types in bits.
-AC_DEFUN([gl_STDINT_BITSIZEOF],
-[
- dnl Use a shell loop, to avoid bloating configure, and
- dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
- dnl config.h.in,
- dnl - extra AC_SUBST calls, so that the right substitutions are made.
- m4_foreach_w([gltype], [$1],
- [AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
- [Define to the number of bits in type ']gltype['.])])
- for gltype in $1 ; do
- AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}],
- [AC_COMPUTE_INT([result], [sizeof ($gltype) * CHAR_BIT],
- [$2
-#include <limits.h>], [result=unknown])
- eval gl_cv_bitsizeof_${gltype}=\$result
- ])
- eval result=\$gl_cv_bitsizeof_${gltype}
- if test $result = unknown; then
- dnl Use a nonempty default, because some compilers, such as IRIX 5 cc,
- dnl do a syntax check even on unused #if conditions and give an error
- dnl on valid C code like this:
- dnl #if 0
- dnl # if > 32
- dnl # endif
- dnl #endif
- result=0
- fi
- GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
- AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result])
- eval BITSIZEOF_${GLTYPE}=\$result
- done
- m4_foreach_w([gltype], [$1],
- [AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
-])
-
-dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES)
-dnl Determine the signedness of each of the given types.
-dnl Define HAVE_SIGNED_TYPE if type is signed.
-AC_DEFUN([gl_CHECK_TYPES_SIGNED],
-[
- dnl Use a shell loop, to avoid bloating configure, and
- dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
- dnl config.h.in,
- dnl - extra AC_SUBST calls, so that the right substitutions are made.
- m4_foreach_w([gltype], [$1],
- [AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
- [Define to 1 if ']gltype[' is a signed integer type.])])
- for gltype in $1 ; do
- AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([$2[
- int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];]])],
- result=yes, result=no)
- eval gl_cv_type_${gltype}_signed=\$result
- ])
- eval result=\$gl_cv_type_${gltype}_signed
- GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
- if test "$result" = yes; then
- AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], [1])
- eval HAVE_SIGNED_${GLTYPE}=1
- else
- eval HAVE_SIGNED_${GLTYPE}=0
- fi
- done
- m4_foreach_w([gltype], [$1],
- [AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
-])
-
-dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES)
-dnl Determine the suffix to use for integer constants of the given types.
-dnl Define t_SUFFIX for each such type.
-AC_DEFUN([gl_INTEGER_TYPE_SUFFIX],
-[
- dnl Use a shell loop, to avoid bloating configure, and
- dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
- dnl config.h.in,
- dnl - extra AC_SUBST calls, so that the right substitutions are made.
- m4_foreach_w([gltype], [$1],
- [AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX],
- [Define to l, ll, u, ul, ull, etc., as suitable for
- constants of type ']gltype['.])])
- for gltype in $1 ; do
- AC_CACHE_CHECK([for $gltype integer literal suffix],
- [gl_cv_type_${gltype}_suffix],
- [eval gl_cv_type_${gltype}_suffix=no
- eval result=\$gl_cv_type_${gltype}_signed
- if test "$result" = yes; then
- glsufu=
- else
- glsufu=u
- fi
- for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do
- case $glsuf in
- '') gltype1='int';;
- l) gltype1='long int';;
- ll) gltype1='long long int';;
- i64) gltype1='__int64';;
- u) gltype1='unsigned int';;
- ul) gltype1='unsigned long int';;
- ull) gltype1='unsigned long long int';;
- ui64)gltype1='unsigned __int64';;
- esac
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([$2[
- extern $gltype foo;
- extern $gltype1 foo;]])],
- [eval gl_cv_type_${gltype}_suffix=\$glsuf])
- eval result=\$gl_cv_type_${gltype}_suffix
- test "$result" != no && break
- done])
- GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
- eval result=\$gl_cv_type_${gltype}_suffix
- test "$result" = no && result=
- eval ${GLTYPE}_SUFFIX=\$result
- AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], [$result])
- done
- m4_foreach_w([gltype], [$1],
- [AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])])
-])
-
-dnl gl_STDINT_INCLUDES
-AC_DEFUN([gl_STDINT_INCLUDES],
-[[
- /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
- included before <wchar.h>. */
- #include <stddef.h>
- #include <signal.h>
- #if HAVE_WCHAR_H
- # include <stdio.h>
- # include <time.h>
- # include <wchar.h>
- #endif
-]])
-
-dnl gl_STDINT_TYPE_PROPERTIES
-dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t
-dnl of interest to stdint.in.h.
-AC_DEFUN([gl_STDINT_TYPE_PROPERTIES],
-[
- AC_REQUIRE([gl_MULTIARCH])
- if test $APPLE_UNIVERSAL_BUILD = 0; then
- gl_STDINT_BITSIZEOF([ptrdiff_t size_t],
- [gl_STDINT_INCLUDES])
- fi
- gl_STDINT_BITSIZEOF([sig_atomic_t wchar_t wint_t],
- [gl_STDINT_INCLUDES])
- gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t],
- [gl_STDINT_INCLUDES])
- gl_cv_type_ptrdiff_t_signed=yes
- gl_cv_type_size_t_signed=no
- if test $APPLE_UNIVERSAL_BUILD = 0; then
- gl_INTEGER_TYPE_SUFFIX([ptrdiff_t size_t],
- [gl_STDINT_INCLUDES])
- fi
- gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t],
- [gl_STDINT_INCLUDES])
-])
-
-dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
-dnl Remove this when we can assume autoconf >= 2.61.
-m4_ifdef([AC_COMPUTE_INT], [], [
- AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
-])
-
-# Hey Emacs!
-# Local Variables:
-# indent-tabs-mode: nil
-# End:
-# strverscmp.m4 serial 7
-dnl Copyright (C) 2002, 2005-2009 Free Software Foundation, Inc.
+# strverscmp.m4 serial 8
+dnl Copyright (C) 2002, 2005-2011 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.
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- AC_REPLACE_FUNCS([strverscmp])
+ AC_CHECK_FUNCS([strverscmp])
if test $ac_cv_func_strverscmp = no; then
- gl_PREREQ_STRVERSCMP
HAVE_STRVERSCMP=0
fi
])
--- /dev/null
+# thread.m4 serial 2
+dnl Copyright (C) 2008-2011 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.
+
+AC_DEFUN([gl_THREAD],
+[
+ AC_REQUIRE([gl_THREADLIB])
+ AC_REQUIRE([AC_C_INLINE])
+
+ if test $gl_threads_api = posix; then
+ gl_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBMULTITHREAD"
+ AC_CHECK_FUNCS([pthread_atfork])
+ LIBS="$gl_save_LIBS"
+ fi
+])
+++ /dev/null
-dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
-
-dnl Copyright (C) 2007-2009 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 Written by Eric Blake.
-
-# wchar.m4 serial 23
-
-AC_DEFUN([gl_WCHAR_H],
-[
- AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
- AC_CACHE_CHECK([whether <wchar.h> is standalone],
- [gl_cv_header_wchar_h_standalone],
- [AC_COMPILE_IFELSE([[#include <wchar.h>
-wchar_t w;]],
- [gl_cv_header_wchar_h_standalone=yes],
- [gl_cv_header_wchar_h_standalone=no])])
-
- AC_REQUIRE([gt_TYPE_WINT_T])
- if test $gt_cv_c_wint_t = yes; then
- HAVE_WINT_T=1
- else
- HAVE_WINT_T=0
- fi
- AC_SUBST([HAVE_WINT_T])
-
- if test $gl_cv_header_wchar_h_standalone != yes || test $gt_cv_c_wint_t != yes; then
- WCHAR_H=wchar.h
- fi
-
- dnl Prepare for creating substitute <wchar.h>.
- dnl Do it always: WCHAR_H may be empty here but can be set later.
- dnl Check for <wchar.h> (missing in Linux uClibc when built without wide
- dnl character support).
- AC_CHECK_HEADERS_ONCE([wchar.h])
- if test $ac_cv_header_wchar_h = yes; then
- HAVE_WCHAR_H=1
- else
- HAVE_WCHAR_H=0
- fi
- AC_SUBST([HAVE_WCHAR_H])
- gl_CHECK_NEXT_HEADERS([wchar.h])
-])
-
-dnl Unconditionally enables the replacement of <wchar.h>.
-AC_DEFUN([gl_REPLACE_WCHAR_H],
-[
- AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
- WCHAR_H=wchar.h
-])
-
-AC_DEFUN([gl_WCHAR_MODULE_INDICATOR],
-[
- dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
- AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
- GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
-])
-
-AC_DEFUN([gl_WCHAR_H_DEFAULTS],
-[
- GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC])
- GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB])
- GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT])
- GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC])
- GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN])
- GNULIB_MBSRTOWCS=0; AC_SUBST([GNULIB_MBSRTOWCS])
- GNULIB_MBSNRTOWCS=0; AC_SUBST([GNULIB_MBSNRTOWCS])
- GNULIB_WCRTOMB=0; AC_SUBST([GNULIB_WCRTOMB])
- GNULIB_WCSRTOMBS=0; AC_SUBST([GNULIB_WCSRTOMBS])
- GNULIB_WCSNRTOMBS=0; AC_SUBST([GNULIB_WCSNRTOMBS])
- GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH])
- dnl Assume proper GNU behavior unless another module says otherwise.
- HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC])
- HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT])
- HAVE_MBRTOWC=1; AC_SUBST([HAVE_MBRTOWC])
- HAVE_MBRLEN=1; AC_SUBST([HAVE_MBRLEN])
- HAVE_MBSRTOWCS=1; AC_SUBST([HAVE_MBSRTOWCS])
- HAVE_MBSNRTOWCS=1; AC_SUBST([HAVE_MBSNRTOWCS])
- HAVE_WCRTOMB=1; AC_SUBST([HAVE_WCRTOMB])
- HAVE_WCSRTOMBS=1; AC_SUBST([HAVE_WCSRTOMBS])
- HAVE_WCSNRTOMBS=1; AC_SUBST([HAVE_WCSNRTOMBS])
- HAVE_DECL_WCTOB=1; AC_SUBST([HAVE_DECL_WCTOB])
- HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH])
- REPLACE_MBSTATE_T=0; AC_SUBST([REPLACE_MBSTATE_T])
- REPLACE_BTOWC=0; AC_SUBST([REPLACE_BTOWC])
- REPLACE_WCTOB=0; AC_SUBST([REPLACE_WCTOB])
- REPLACE_MBSINIT=0; AC_SUBST([REPLACE_MBSINIT])
- REPLACE_MBRTOWC=0; AC_SUBST([REPLACE_MBRTOWC])
- REPLACE_MBRLEN=0; AC_SUBST([REPLACE_MBRLEN])
- REPLACE_MBSRTOWCS=0; AC_SUBST([REPLACE_MBSRTOWCS])
- REPLACE_MBSNRTOWCS=0; AC_SUBST([REPLACE_MBSNRTOWCS])
- REPLACE_WCRTOMB=0; AC_SUBST([REPLACE_WCRTOMB])
- REPLACE_WCSRTOMBS=0; AC_SUBST([REPLACE_WCSRTOMBS])
- REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS])
- REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH])
- WCHAR_H=''; AC_SUBST([WCHAR_H])
-])
--- /dev/null
+# yield.m4 serial 2
+dnl Copyright (C) 2005-2011 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.
+
+AC_DEFUN([gl_YIELD],
+[
+ AC_REQUIRE([gl_THREADLIB])
+ dnl On some systems, sched_yield is in librt, rather than in libpthread.
+ YIELD_LIB=
+ if test $gl_threads_api = posix; then
+ dnl Solaris has sched_yield in librt, not in libpthread or libc.
+ AC_CHECK_LIB([rt], [sched_yield], [YIELD_LIB=-lrt],
+ [dnl Solaris 2.5.1, 2.6 has sched_yield in libposix4, not librt.
+ AC_CHECK_LIB([posix4], [sched_yield], [YIELD_LIB=-lposix4])])
+ fi
+ AC_SUBST([YIELD_LIB])
+])
-/* Copyright (C) 2001-2003, 2006-2008 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2011 Free Software Foundation, Inc.
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
This program is free software; you can redistribute it and/or modify
with this substitute. With this substitute, only the values 0 and 1
give the expected result when converted to _Bool' or 'bool'.
+ - C99 allows the use of (_Bool)0.0 in constant expressions, but
+ this substitute cannot always provide this property.
+
Also, it is suggested that programs use 'bool' rather than '_Bool';
this isn't required, but 'bool' is more common. */
--- /dev/null
+/* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
+
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2.1, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* Written by Eric Blake. */
+
+/*
+ * POSIX 2008 <stddef.h> for platforms that have issues.
+ * <http://www.opengroup.org/susv3xbd/stddef.h.html>
+ */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined __need_wchar_t || defined __need_size_t \
+ || defined __need_ptrdiff_t || defined __need_NULL \
+ || defined __need_wint_t
+/* Special invocation convention inside gcc header files. In
+ particular, gcc provides a version of <stddef.h> that blindly
+ redefines NULL even when __need_wint_t was defined, even though
+ wint_t is not normally provided by <stddef.h>. Hence, we must
+ remember if special invocation has ever been used to obtain wint_t,
+ in which case we need to clean up NULL yet again. */
+
+# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T)
+# ifdef __need_wint_t
+# undef _@GUARD_PREFIX@_STDDEF_H
+# define _GL_STDDEF_WINT_T
+# endif
+# @INCLUDE_NEXT@ @NEXT_STDDEF_H@
+# endif
+
+#else
+/* Normal invocation convention. */
+
+# ifndef _@GUARD_PREFIX@_STDDEF_H
+
+/* The include_next requires a split double-inclusion guard. */
+
+# @INCLUDE_NEXT@ @NEXT_STDDEF_H@
+
+# ifndef _@GUARD_PREFIX@_STDDEF_H
+# define _@GUARD_PREFIX@_STDDEF_H
+
+/* On NetBSD 5.0, the definition of NULL lacks proper parentheses. */
+#if @REPLACE_NULL@
+# undef NULL
+# ifdef __cplusplus
+ /* ISO C++ says that the macro NULL must expand to an integer constant
+ expression, hence '((void *) 0)' is not allowed in C++. */
+# if __GNUG__ >= 3
+ /* GNU C++ has a __null macro that behaves like an integer ('int' or
+ 'long') but has the same size as a pointer. Use that, to avoid
+ warnings. */
+# define NULL __null
+# else
+# define NULL 0L
+# endif
+# else
+# define NULL ((void *) 0)
+# endif
+#endif
+
+/* Some platforms lack wchar_t. */
+#if !@HAVE_WCHAR_T@
+# define wchar_t int
+#endif
+
+# endif /* _@GUARD_PREFIX@_STDDEF_H */
+# endif /* _@GUARD_PREFIX@_STDDEF_H */
+#endif /* __need_XXX */
-/* Copyright (C) 2001-2002, 2004-2009 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2011 Free Software Foundation, Inc.
Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
This file is part of gnulib.
* <http://www.opengroup.org/susv3xbd/stdint.h.html>
*/
-#ifndef _GL_STDINT_H
+#ifndef _@GUARD_PREFIX@_STDINT_H
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
/* When including a system file that in turn includes <inttypes.h>,
use the system <inttypes.h>, not our substitute. This avoids
/* Other systems may have an incomplete or buggy <stdint.h>.
Include it before <inttypes.h>, since any "#include <stdint.h>"
in <inttypes.h> would reinclude us, skipping our contents because
- _GL_STDINT_H is defined.
+ _@GUARD_PREFIX@_STDINT_H is defined.
The include_next requires a split double-inclusion guard. */
-# if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-# endif
# @INCLUDE_NEXT@ @NEXT_STDINT_H@
#endif
-#if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
-#define _GL_STDINT_H
+#if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
+#define _@GUARD_PREFIX@_STDINT_H
/* <sys/types.h> defines some of the stdint.h types as well, on glibc,
IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
-/* Minimum and maximum values for a integer type under the usual assumption.
+/* Minimum and maximum values for an integer type under the usual assumption.
Return an unspecified value if BITS == 0, adding a check to pacify
picky compilers. */
((signed) \
? ~ _STDINT_MIN (signed, bits, zero) \
: /* The expression for the unsigned case. The subtraction of (signed) \
- is a nop in the unsigned case and avoids "signed integer overflow" \
- warnings in the signed case. */ \
+ is a nop in the unsigned case and avoids "signed integer overflow" \
+ warnings in the signed case. */ \
((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
+#if !GNULIB_defined_stdint_types
+
/* 7.18.1.1. Exact-width integer types */
/* Here we assume a standard architecture where the hardware integer
#define int32_t gl_int32_t
#define uint32_t gl_uint32_t
+/* If the system defines INT64_MAX, assume int64_t works. That way,
+ if the underlying platform defines int64_t to be a 64-bit long long
+ int, the code below won't mistakenly define it to be a 64-bit long
+ int, which would mess up C++ name mangling. We must use #ifdef
+ rather than #if, to avoid an error with HP-UX 10.20 cc. */
+
+#ifdef INT64_MAX
+# define GL_INT64_T
+#else
/* Do not undefine int64_t if gnulib is not being used with 64-bit
types, since otherwise it breaks platforms like Tandem/NSK. */
-#if LONG_MAX >> 31 >> 31 == 1
-# undef int64_t
+# if LONG_MAX >> 31 >> 31 == 1
+# undef int64_t
typedef long int gl_int64_t;
-# define int64_t gl_int64_t
-# define GL_INT64_T
-#elif defined _MSC_VER
-# undef int64_t
+# define int64_t gl_int64_t
+# define GL_INT64_T
+# elif defined _MSC_VER
+# undef int64_t
typedef __int64 gl_int64_t;
-# define int64_t gl_int64_t
-# define GL_INT64_T
-#elif @HAVE_LONG_LONG_INT@
-# undef int64_t
+# define int64_t gl_int64_t
+# define GL_INT64_T
+# elif @HAVE_LONG_LONG_INT@
+# undef int64_t
typedef long long int gl_int64_t;
-# define int64_t gl_int64_t
-# define GL_INT64_T
+# define int64_t gl_int64_t
+# define GL_INT64_T
+# endif
#endif
-#if ULONG_MAX >> 31 >> 31 >> 1 == 1
-# undef uint64_t
-typedef unsigned long int gl_uint64_t;
-# define uint64_t gl_uint64_t
+#ifdef UINT64_MAX
# define GL_UINT64_T
-#elif defined _MSC_VER
-# undef uint64_t
+#else
+# if ULONG_MAX >> 31 >> 31 >> 1 == 1
+# undef uint64_t
+typedef unsigned long int gl_uint64_t;
+# define uint64_t gl_uint64_t
+# define GL_UINT64_T
+# elif defined _MSC_VER
+# undef uint64_t
typedef unsigned __int64 gl_uint64_t;
-# define uint64_t gl_uint64_t
-# define GL_UINT64_T
-#elif @HAVE_UNSIGNED_LONG_LONG_INT@
-# undef uint64_t
+# define uint64_t gl_uint64_t
+# define GL_UINT64_T
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@
+# undef uint64_t
typedef unsigned long long int gl_uint64_t;
-# define uint64_t gl_uint64_t
-# define GL_UINT64_T
+# define uint64_t gl_uint64_t
+# define GL_UINT64_T
+# endif
#endif
/* Avoid collision with Solaris 2.5.1 <pthread.h> etc. */
/* Note: These types are compiler dependent. It may be unwise to use them in
public header files. */
-#undef intmax_t
-#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+/* If the system defines INTMAX_MAX, assume that intmax_t works, and
+ similarly for UINTMAX_MAX and uintmax_t. This avoids problems with
+ assuming one type where another is used by the system. */
+
+#ifndef INTMAX_MAX
+# undef INTMAX_C
+# undef intmax_t
+# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
typedef long long int gl_intmax_t;
-# define intmax_t gl_intmax_t
-#elif defined GL_INT64_T
-# define intmax_t int64_t
-#else
+# define intmax_t gl_intmax_t
+# elif defined GL_INT64_T
+# define intmax_t int64_t
+# else
typedef long int gl_intmax_t;
-# define intmax_t gl_intmax_t
+# define intmax_t gl_intmax_t
+# endif
#endif
-#undef uintmax_t
-#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+#ifndef UINTMAX_MAX
+# undef UINTMAX_C
+# undef uintmax_t
+# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
typedef unsigned long long int gl_uintmax_t;
-# define uintmax_t gl_uintmax_t
-#elif defined GL_UINT64_T
-# define uintmax_t uint64_t
-#else
+# define uintmax_t gl_uintmax_t
+# elif defined GL_UINT64_T
+# define uintmax_t uint64_t
+# else
typedef unsigned long int gl_uintmax_t;
-# define uintmax_t gl_uintmax_t
+# define uintmax_t gl_uintmax_t
+# endif
#endif
/* Verify that intmax_t and uintmax_t have the same size. Too much code
breaks if this is not the case. If this check fails, the reason is likely
to be found in the autoconf macros. */
-typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - 1];
+typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
+ ? 1 : -1];
+
+#define GNULIB_defined_stdint_types 1
+#endif /* !GNULIB_defined_stdint_types */
/* 7.18.2. Limits of specified-width integer types */
#define INT32_MAX 2147483647
#define UINT32_MAX 4294967295U
-#undef INT64_MIN
-#undef INT64_MAX
-#ifdef GL_INT64_T
+#if defined GL_INT64_T && ! defined INT64_MAX
/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0
evaluates the latter incorrectly in preprocessor expressions. */
# define INT64_MIN (- INTMAX_C (1) << 63)
# define INT64_MAX INTMAX_C (9223372036854775807)
#endif
-#undef UINT64_MAX
-#ifdef GL_UINT64_T
+#if defined GL_UINT64_T && ! defined UINT64_MAX
# define UINT64_MAX UINTMAX_C (18446744073709551615)
#endif
/* 7.18.2.5. Limits of greatest-width integer types */
-#undef INTMAX_MIN
-#undef INTMAX_MAX
-#ifdef INT64_MAX
-# define INTMAX_MIN INT64_MIN
-# define INTMAX_MAX INT64_MAX
-#else
-# define INTMAX_MIN INT32_MIN
-# define INTMAX_MAX INT32_MAX
+#ifndef INTMAX_MAX
+# undef INTMAX_MIN
+# ifdef INT64_MAX
+# define INTMAX_MIN INT64_MIN
+# define INTMAX_MAX INT64_MAX
+# else
+# define INTMAX_MIN INT32_MIN
+# define INTMAX_MAX INT32_MAX
+# endif
#endif
-#undef UINTMAX_MAX
-#ifdef UINT64_MAX
-# define UINTMAX_MAX UINT64_MAX
-#else
-# define UINTMAX_MAX UINT32_MAX
+#ifndef UINTMAX_MAX
+# ifdef UINT64_MAX
+# define UINTMAX_MAX UINT64_MAX
+# else
+# define UINTMAX_MAX UINT32_MAX
+# endif
#endif
/* 7.18.3. Limits of other integer types */
#undef SIG_ATOMIC_MAX
#define SIG_ATOMIC_MIN \
_STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
- 0@SIG_ATOMIC_T_SUFFIX@)
+ 0@SIG_ATOMIC_T_SUFFIX@)
#define SIG_ATOMIC_MAX \
_STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
- 0@SIG_ATOMIC_T_SUFFIX@)
+ 0@SIG_ATOMIC_T_SUFFIX@)
/* size_t limit */
/* wchar_t limits */
/* Get WCHAR_MIN, WCHAR_MAX.
- This include is not on the top, above, because on OSF/1 4.0 we have a sequence of nested
- includes <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
+ This include is not on the top, above, because on OSF/1 4.0 we have a
+ sequence of nested includes
+ <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
<stdint.h> and assumes its types are already defined. */
-#if ! (defined WCHAR_MIN && defined WCHAR_MAX)
+#if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX)
+ /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>. */
+# include <stddef.h>
+# include <stdio.h>
+# include <time.h>
# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
/* We don't need WCHAR_* in libidn, so to avoid problems with
missing wchar.h, don't include wchar.h here. */
/* 7.18.4.2. Macros for greatest-width integer constants */
-#undef INTMAX_C
-#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
-# define INTMAX_C(x) x##LL
-#elif defined GL_INT64_T
-# define INTMAX_C(x) INT64_C(x)
-#else
-# define INTMAX_C(x) x##L
+#ifndef INTMAX_C
+# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# define INTMAX_C(x) x##LL
+# elif defined GL_INT64_T
+# define INTMAX_C(x) INT64_C(x)
+# else
+# define INTMAX_C(x) x##L
+# endif
#endif
-#undef UINTMAX_C
-#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
-# define UINTMAX_C(x) x##ULL
-#elif defined GL_UINT64_T
-# define UINTMAX_C(x) UINT64_C(x)
-#else
-# define UINTMAX_C(x) x##UL
+#ifndef UINTMAX_C
+# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# define UINTMAX_C(x) x##ULL
+# elif defined GL_UINT64_T
+# define UINTMAX_C(x) UINT64_C(x)
+# else
+# define UINTMAX_C(x) x##UL
+# endif
#endif
#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */
-#endif /* _GL_STDINT_H */
-#endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
+#endif /* _@GUARD_PREFIX@_STDINT_H */
+#endif /* !defined _@GUARD_PREFIX@_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
/* Charset conversion.
- Copyright (C) 2001-2007 Free Software Foundation, Inc.
+ Copyright (C) 2001-2007, 2010-2011 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software; you can redistribute it and/or modify
int
mem_cd_iconv (const char *src, size_t srclen, iconv_t cd,
- char **resultp, size_t *lengthp)
+ char **resultp, size_t *lengthp)
{
# define tmpbufsize 4096
size_t length;
/* Avoid glibc-2.1 bug and Solaris 2.7-2.9 bug. */
# if defined _LIBICONV_VERSION \
- || !((__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) || defined __sun)
+ || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \
+ || defined __sun)
/* Set to the initial state. */
iconv (cd, NULL, NULL, NULL, NULL);
# endif
while (insize > 0)
{
- char *outptr = tmpbuf;
- size_t outsize = tmpbufsize;
- size_t res = iconv (cd,
- (ICONV_CONST char **) &inptr, &insize,
- &outptr, &outsize);
-
- if (res == (size_t)(-1))
- {
- if (errno == E2BIG)
- ;
- else if (errno == EINVAL)
- break;
- else
- return -1;
- }
-# if !defined _LIBICONV_VERSION && !defined __GLIBC__
- /* Irix iconv() inserts a NUL byte if it cannot convert.
- NetBSD iconv() inserts a question mark if it cannot convert.
- Only GNU libiconv and GNU libc are known to prefer to fail rather
- than doing a lossy conversion. */
- else if (res > 0)
- {
- errno = EILSEQ;
- return -1;
- }
+ char *outptr = tmpbuf;
+ size_t outsize = tmpbufsize;
+ size_t res = iconv (cd,
+ (ICONV_CONST char **) &inptr, &insize,
+ &outptr, &outsize);
+
+ if (res == (size_t)(-1))
+ {
+ if (errno == E2BIG)
+ ;
+ else if (errno == EINVAL)
+ break;
+ else
+ return -1;
+ }
+# if !defined _LIBICONV_VERSION && !(defined __GLIBC__ && !defined __UCLIBC__)
+ /* Irix iconv() inserts a NUL byte if it cannot convert.
+ NetBSD iconv() inserts a question mark if it cannot convert.
+ Only GNU libiconv and GNU libc are known to prefer to fail rather
+ than doing a lossy conversion. */
+ else if (res > 0)
+ {
+ errno = EILSEQ;
+ return -1;
+ }
# endif
- count += outptr - tmpbuf;
+ count += outptr - tmpbuf;
}
/* Avoid glibc-2.1 bug and Solaris 2.7 bug. */
# if defined _LIBICONV_VERSION \
- || !((__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) || defined __sun)
+ || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \
+ || defined __sun)
{
char *outptr = tmpbuf;
size_t outsize = tmpbufsize;
size_t res = iconv (cd, NULL, NULL, &outptr, &outsize);
if (res == (size_t)(-1))
- return -1;
+ return -1;
count += outptr - tmpbuf;
}
# endif
{
result = (char *) malloc (length);
if (result == NULL)
- {
- errno = ENOMEM;
- return -1;
- }
+ {
+ errno = ENOMEM;
+ return -1;
+ }
}
/* Avoid glibc-2.1 bug and Solaris 2.7-2.9 bug. */
# if defined _LIBICONV_VERSION \
- || !((__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) || defined __sun)
+ || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \
+ || defined __sun)
/* Return to the initial state. */
iconv (cd, NULL, NULL, NULL, NULL);
# endif
while (insize > 0)
{
- size_t res = iconv (cd,
- (ICONV_CONST char **) &inptr, &insize,
- &outptr, &outsize);
-
- if (res == (size_t)(-1))
- {
- if (errno == EINVAL)
- break;
- else
- goto fail;
- }
-# if !defined _LIBICONV_VERSION && !defined __GLIBC__
- /* Irix iconv() inserts a NUL byte if it cannot convert.
- NetBSD iconv() inserts a question mark if it cannot convert.
- Only GNU libiconv and GNU libc are known to prefer to fail rather
- than doing a lossy conversion. */
- else if (res > 0)
- {
- errno = EILSEQ;
- goto fail;
- }
+ size_t res = iconv (cd,
+ (ICONV_CONST char **) &inptr, &insize,
+ &outptr, &outsize);
+
+ if (res == (size_t)(-1))
+ {
+ if (errno == EINVAL)
+ break;
+ else
+ goto fail;
+ }
+# if !defined _LIBICONV_VERSION && !(defined __GLIBC__ && !defined __UCLIBC__)
+ /* Irix iconv() inserts a NUL byte if it cannot convert.
+ NetBSD iconv() inserts a question mark if it cannot convert.
+ Only GNU libiconv and GNU libc are known to prefer to fail rather
+ than doing a lossy conversion. */
+ else if (res > 0)
+ {
+ errno = EILSEQ;
+ goto fail;
+ }
# endif
}
/* Avoid glibc-2.1 bug and Solaris 2.7 bug. */
# if defined _LIBICONV_VERSION \
- || !((__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) || defined __sun)
+ || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \
+ || defined __sun)
{
size_t res = iconv (cd, NULL, NULL, &outptr, &outsize);
if (res == (size_t)(-1))
- goto fail;
+ goto fail;
}
# endif
if (outsize != 0)
{
if (result != *resultp)
{
- int saved_errno = errno;
- free (result);
- errno = saved_errno;
+ int saved_errno = errno;
+ free (result);
+ errno = saved_errno;
}
return -1;
}
to a trailing NUL byte in the output. But not for UTF-7. So that this
function is usable for UTF-7, we have to exclude the NUL byte from the
conversion and add it by hand afterwards. */
-# if !defined _LIBICONV_VERSION && !defined __GLIBC__
+# if !defined _LIBICONV_VERSION && !(defined __GLIBC__ && !defined __UCLIBC__)
/* Irix iconv() inserts a NUL byte if it cannot convert.
NetBSD iconv() inserts a question mark if it cannot convert.
Only GNU libiconv and GNU libc are known to prefer to fail rather
if (retval < 0)
{
if (result != NULL)
- abort ();
+ abort ();
return NULL;
}
(result != NULL ? realloc (result, length + 1) : malloc (length + 1));
if (final_result == NULL)
{
- if (result != NULL)
- free (result);
+ free (result);
errno = ENOMEM;
return NULL;
}
/* Avoid glibc-2.1 bug and Solaris 2.7-2.9 bug. */
# if defined _LIBICONV_VERSION \
- || !((__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) || defined __sun)
+ || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \
+ || defined __sun)
/* Set to the initial state. */
iconv (cd, NULL, NULL, NULL, NULL);
# endif
for (;;)
{
- /* Here inptr + inbytes_remaining = src + strlen (src),
- outptr + outbytes_remaining = result + result_size - 1. */
- size_t res = iconv (cd,
- (ICONV_CONST char **) &inptr, &inbytes_remaining,
- &outptr, &outbytes_remaining);
-
- if (res == (size_t)(-1))
- {
- if (errno == EINVAL)
- break;
- else if (errno == E2BIG)
- {
- size_t used = outptr - result;
- size_t newsize = result_size * 2;
- char *newresult;
-
- if (!(newsize > result_size))
- {
- errno = ENOMEM;
- goto failed;
- }
- newresult = (char *) realloc (result, newsize);
- if (newresult == NULL)
- {
- errno = ENOMEM;
- goto failed;
- }
- result = newresult;
- result_size = newsize;
- outptr = result + used;
- outbytes_remaining = result_size - 1 - used;
- }
- else
- goto failed;
- }
- else
- break;
+ /* Here inptr + inbytes_remaining = src + strlen (src),
+ outptr + outbytes_remaining = result + result_size - 1. */
+ size_t res = iconv (cd,
+ (ICONV_CONST char **) &inptr, &inbytes_remaining,
+ &outptr, &outbytes_remaining);
+
+ if (res == (size_t)(-1))
+ {
+ if (errno == EINVAL)
+ break;
+ else if (errno == E2BIG)
+ {
+ size_t used = outptr - result;
+ size_t newsize = result_size * 2;
+ char *newresult;
+
+ if (!(newsize > result_size))
+ {
+ errno = ENOMEM;
+ goto failed;
+ }
+ newresult = (char *) realloc (result, newsize);
+ if (newresult == NULL)
+ {
+ errno = ENOMEM;
+ goto failed;
+ }
+ result = newresult;
+ result_size = newsize;
+ outptr = result + used;
+ outbytes_remaining = result_size - 1 - used;
+ }
+ else
+ goto failed;
+ }
+ else
+ break;
}
/* Avoid glibc-2.1 bug and Solaris 2.7 bug. */
# if defined _LIBICONV_VERSION \
- || !((__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) || defined __sun)
+ || !(((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \
+ || defined __sun)
for (;;)
{
- /* Here outptr + outbytes_remaining = result + result_size - 1. */
- size_t res = iconv (cd, NULL, NULL, &outptr, &outbytes_remaining);
-
- if (res == (size_t)(-1))
- {
- if (errno == E2BIG)
- {
- size_t used = outptr - result;
- size_t newsize = result_size * 2;
- char *newresult;
-
- if (!(newsize > result_size))
- {
- errno = ENOMEM;
- goto failed;
- }
- newresult = (char *) realloc (result, newsize);
- if (newresult == NULL)
- {
- errno = ENOMEM;
- goto failed;
- }
- result = newresult;
- result_size = newsize;
- outptr = result + used;
- outbytes_remaining = result_size - 1 - used;
- }
- else
- goto failed;
- }
- else
- break;
+ /* Here outptr + outbytes_remaining = result + result_size - 1. */
+ size_t res = iconv (cd, NULL, NULL, &outptr, &outbytes_remaining);
+
+ if (res == (size_t)(-1))
+ {
+ if (errno == E2BIG)
+ {
+ size_t used = outptr - result;
+ size_t newsize = result_size * 2;
+ char *newresult;
+
+ if (!(newsize > result_size))
+ {
+ errno = ENOMEM;
+ goto failed;
+ }
+ newresult = (char *) realloc (result, newsize);
+ if (newresult == NULL)
+ {
+ errno = ENOMEM;
+ goto failed;
+ }
+ result = newresult;
+ result_size = newsize;
+ outptr = result + used;
+ outbytes_remaining = result_size - 1 - used;
+ }
+ else
+ goto failed;
+ }
+ else
+ break;
}
# endif
char *smaller_result = (char *) realloc (result, length);
if (smaller_result != NULL)
- result = smaller_result;
+ result = smaller_result;
}
return result;
char *result = strdup (src);
if (result == NULL)
- errno = ENOMEM;
+ errno = ENOMEM;
return result;
}
else
char *result;
/* Avoid glibc-2.1 bug with EUC-KR. */
-# if (__GLIBC__ - 0 == 2 && __GLIBC_MINOR__ - 0 <= 1) && !defined _LIBICONV_VERSION
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ <= 1) && !defined __UCLIBC__) \
+ && !defined _LIBICONV_VERSION
if (c_strcasecmp (from_codeset, "EUC-KR") == 0
- || c_strcasecmp (to_codeset, "EUC-KR") == 0)
- {
- errno = EINVAL;
- return NULL;
- }
+ || c_strcasecmp (to_codeset, "EUC-KR") == 0)
+ {
+ errno = EINVAL;
+ return NULL;
+ }
# endif
cd = iconv_open (to_codeset, from_codeset);
if (cd == (iconv_t) -1)
- return NULL;
+ return NULL;
result = str_cd_iconv (src, cd);
if (result == NULL)
- {
- /* Close cd, but preserve the errno from str_cd_iconv. */
- int saved_errno = errno;
- iconv_close (cd);
- errno = saved_errno;
- }
+ {
+ /* Close cd, but preserve the errno from str_cd_iconv. */
+ int saved_errno = errno;
+ iconv_close (cd);
+ errno = saved_errno;
+ }
else
- {
- if (iconv_close (cd) < 0)
- {
- /* Return NULL, but free the allocated memory, and while doing
- that, preserve the errno from iconv_close. */
- int saved_errno = errno;
- free (result);
- errno = saved_errno;
- return NULL;
- }
- }
+ {
+ if (iconv_close (cd) < 0)
+ {
+ /* Return NULL, but free the allocated memory, and while doing
+ that, preserve the errno from iconv_close. */
+ int saved_errno = errno;
+ free (result);
+ errno = saved_errno;
+ return NULL;
+ }
+ }
return result;
#else
/* This is a different error code than if iconv_open existed but didn't
- support from_codeset and to_codeset, so that the caller can emit
- an error message such as
- "iconv() is not supported. Installing GNU libiconv and
- then reinstalling this package would fix this." */
+ support from_codeset and to_codeset, so that the caller can emit
+ an error message such as
+ "iconv() is not supported. Installing GNU libiconv and
+ then reinstalling this package would fix this." */
errno = ENOSYS;
return NULL;
#endif
/* Charset conversion.
- Copyright (C) 2001-2004, 2006-2007 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004, 2006-2007, 2009-2011 Free Software Foundation, Inc.
Written by Bruno Haible and Simon Josefsson.
This program is free software; you can redistribute it and/or modify
in *LENGTHP. *RESULTP is set to a freshly allocated memory block, or is
unchanged if no dynamic memory allocation was necessary. */
extern int mem_cd_iconv (const char *src, size_t srclen, iconv_t cd,
- char **resultp, size_t *lengthp);
+ char **resultp, size_t *lengthp);
/* Convert an entire string from one encoding to another, using iconv.
The original string is the NUL-terminated string starting at SRC.
Return value: the freshly allocated resulting NUL-terminated string if
successful, otherwise NULL and errno set. */
extern char * str_iconv (const char *src,
- const char *from_codeset, const char *to_codeset);
+ const char *from_codeset, const char *to_codeset);
#ifdef __cplusplus
/* A GNU-like <string.h>.
- Copyright (C) 1995-1996, 2001-2008 Free Software Foundation, Inc.
+ Copyright (C) 1995-1996, 2001-2011 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-#ifndef _GL_STRING_H
+#ifndef _@GUARD_PREFIX@_STRING_H
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
/* The include_next requires a split double-inclusion guard. */
#@INCLUDE_NEXT@ @NEXT_STRING_H@
-#ifndef _GL_STRING_H
-#define _GL_STRING_H
+#ifndef _@GUARD_PREFIX@_STRING_H
+#define _@GUARD_PREFIX@_STRING_H
+/* NetBSD 5.0 mis-defines NULL. */
+#include <stddef.h>
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
-# define __attribute__(Spec) /* empty */
+/* MirBSD defines mbslen as a macro. */
+#if @GNULIB_MBSLEN@ && defined __MirBSD__
+# include <wchar.h>
+#endif
+
+/* The __attribute__ feature is available in gcc versions 2.5 and later.
+ The attribute __pure__ was added in gcc 2.96. */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#else
+# define _GL_ATTRIBUTE_PURE /* empty */
+#endif
+
+/* NetBSD 5.0 declares strsignal in <unistd.h>, not in <string.h>. */
+/* But in any case avoid namespace pollution on glibc systems. */
+#if (@GNULIB_STRSIGNAL@ || defined GNULIB_POSIXCHECK) && defined __NetBSD__ \
+ && ! defined __GLIBC__
+# include <unistd.h>
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+
+/* Find the index of the least-significant set bit. */
+#if @GNULIB_FFSL@
+# if !@HAVE_FFSL@
+_GL_FUNCDECL_SYS (ffsl, int, (long int i));
# endif
-/* The attribute __pure__ was added in gcc 2.96. */
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 96)
-# define __pure__ /* empty */
+_GL_CXXALIAS_SYS (ffsl, int, (long int i));
+_GL_CXXALIASWARN (ffsl);
+#elif defined GNULIB_POSIXCHECK
+# undef ffsl
+# if HAVE_RAW_DECL_FFSL
+_GL_WARN_ON_USE (ffsl, "ffsl is not portable - use the ffsl module");
# endif
#endif
-/* The definition of GL_LINK_WARNING is copied here. */
+/* Find the index of the least-significant set bit. */
+#if @GNULIB_FFSLL@
+# if !@HAVE_FFSLL@
+_GL_FUNCDECL_SYS (ffsll, int, (long long int i));
+# endif
+_GL_CXXALIAS_SYS (ffsll, int, (long long int i));
+_GL_CXXALIASWARN (ffsll);
+#elif defined GNULIB_POSIXCHECK
+# undef ffsll
+# if HAVE_RAW_DECL_FFSLL
+_GL_WARN_ON_USE (ffsll, "ffsll is not portable - use the ffsll module");
+# endif
+#endif
-#ifdef __cplusplus
-extern "C" {
+/* Return the first instance of C within N bytes of S, or NULL. */
+#if @GNULIB_MEMCHR@
+# if @REPLACE_MEMCHR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define memchr rpl_memchr
+# endif
+_GL_FUNCDECL_RPL (memchr, void *, (void const *__s, int __c, size_t __n)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (memchr, void *, (void const *__s, int __c, size_t __n));
+# else
+# if ! @HAVE_MEMCHR@
+_GL_FUNCDECL_SYS (memchr, void *, (void const *__s, int __c, size_t __n)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C" { const void * std::memchr (const void *, int, size_t); }
+ extern "C++" { void * std::memchr (void *, int, size_t); } */
+_GL_CXXALIAS_SYS_CAST2 (memchr,
+ void *, (void const *__s, int __c, size_t __n),
+ void const *, (void const *__s, int __c, size_t __n));
+# endif
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (memchr, void *, (void *__s, int __c, size_t __n));
+_GL_CXXALIASWARN1 (memchr, void const *,
+ (void const *__s, int __c, size_t __n));
+# else
+_GL_CXXALIASWARN (memchr);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef memchr
+/* Assume memchr is always declared. */
+_GL_WARN_ON_USE (memchr, "memchr has platform-specific bugs - "
+ "use gnulib module memchr for portability" );
#endif
-
/* Return the first occurrence of NEEDLE in HAYSTACK. */
#if @GNULIB_MEMMEM@
# if @REPLACE_MEMMEM@
-# define memmem rpl_memmem
-# endif
-# if ! @HAVE_DECL_MEMMEM@ || @REPLACE_MEMMEM@
-extern void *memmem (void const *__haystack, size_t __haystack_len,
- void const *__needle, size_t __needle_len)
- __attribute__ ((__pure__));
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define memmem rpl_memmem
+# endif
+_GL_FUNCDECL_RPL (memmem, void *,
+ (void const *__haystack, size_t __haystack_len,
+ void const *__needle, size_t __needle_len)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 3)));
+_GL_CXXALIAS_RPL (memmem, void *,
+ (void const *__haystack, size_t __haystack_len,
+ void const *__needle, size_t __needle_len));
+# else
+# if ! @HAVE_DECL_MEMMEM@
+_GL_FUNCDECL_SYS (memmem, void *,
+ (void const *__haystack, size_t __haystack_len,
+ void const *__needle, size_t __needle_len)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 3)));
+# endif
+_GL_CXXALIAS_SYS (memmem, void *,
+ (void const *__haystack, size_t __haystack_len,
+ void const *__needle, size_t __needle_len));
# endif
+_GL_CXXALIASWARN (memmem);
#elif defined GNULIB_POSIXCHECK
# undef memmem
-# define memmem(a,al,b,bl) \
- (GL_LINK_WARNING ("memmem is unportable and often quadratic - " \
- "use gnulib module memmem-simple for portability, " \
- "and module memmem for speed" ), \
- memmem (a, al, b, bl))
+# if HAVE_RAW_DECL_MEMMEM
+_GL_WARN_ON_USE (memmem, "memmem is unportable and often quadratic - "
+ "use gnulib module memmem-simple for portability, "
+ "and module memmem for speed" );
+# endif
#endif
/* Copy N bytes of SRC to DEST, return pointer to bytes after the
last written byte. */
#if @GNULIB_MEMPCPY@
# if ! @HAVE_MEMPCPY@
-extern void *mempcpy (void *restrict __dest, void const *restrict __src,
- size_t __n);
+_GL_FUNCDECL_SYS (mempcpy, void *,
+ (void *restrict __dest, void const *restrict __src,
+ size_t __n)
+ _GL_ARG_NONNULL ((1, 2)));
# endif
+_GL_CXXALIAS_SYS (mempcpy, void *,
+ (void *restrict __dest, void const *restrict __src,
+ size_t __n));
+_GL_CXXALIASWARN (mempcpy);
#elif defined GNULIB_POSIXCHECK
# undef mempcpy
-# define mempcpy(a,b,n) \
- (GL_LINK_WARNING ("mempcpy is unportable - " \
- "use gnulib module mempcpy for portability"), \
- mempcpy (a, b, n))
+# if HAVE_RAW_DECL_MEMPCPY
+_GL_WARN_ON_USE (mempcpy, "mempcpy is unportable - "
+ "use gnulib module mempcpy for portability");
+# endif
#endif
/* Search backwards through a block for a byte (specified as an int). */
#if @GNULIB_MEMRCHR@
# if ! @HAVE_DECL_MEMRCHR@
-extern void *memrchr (void const *, int, size_t)
- __attribute__ ((__pure__));
+_GL_FUNCDECL_SYS (memrchr, void *, (void const *, int, size_t)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const void * std::memrchr (const void *, int, size_t); }
+ extern "C++" { void * std::memrchr (void *, int, size_t); } */
+_GL_CXXALIAS_SYS_CAST2 (memrchr,
+ void *, (void const *, int, size_t),
+ void const *, (void const *, int, size_t));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t));
+_GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t));
+# else
+_GL_CXXALIASWARN (memrchr);
# endif
#elif defined GNULIB_POSIXCHECK
# undef memrchr
-# define memrchr(a,b,c) \
- (GL_LINK_WARNING ("memrchr is unportable - " \
- "use gnulib module memrchr for portability"), \
- memrchr (a, b, c))
+# if HAVE_RAW_DECL_MEMRCHR
+_GL_WARN_ON_USE (memrchr, "memrchr is unportable - "
+ "use gnulib module memrchr for portability");
+# endif
#endif
/* Find the first occurrence of C in S. More efficient than
occur within N bytes. */
#if @GNULIB_RAWMEMCHR@
# if ! @HAVE_RAWMEMCHR@
-extern void *rawmemchr (void const *__s, int __c_in)
- __attribute__ ((__pure__));
+_GL_FUNCDECL_SYS (rawmemchr, void *, (void const *__s, int __c_in)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const void * std::rawmemchr (const void *, int); }
+ extern "C++" { void * std::rawmemchr (void *, int); } */
+_GL_CXXALIAS_SYS_CAST2 (rawmemchr,
+ void *, (void const *__s, int __c_in),
+ void const *, (void const *__s, int __c_in));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (rawmemchr, void *, (void *__s, int __c_in));
+_GL_CXXALIASWARN1 (rawmemchr, void const *, (void const *__s, int __c_in));
+# else
+_GL_CXXALIASWARN (rawmemchr);
# endif
#elif defined GNULIB_POSIXCHECK
# undef rawmemchr
-# define rawmemchr(a,b) \
- (GL_LINK_WARNING ("rawmemchr is unportable - " \
- "use gnulib module rawmemchr for portability"), \
- rawmemchr (a, b))
+# if HAVE_RAW_DECL_RAWMEMCHR
+_GL_WARN_ON_USE (rawmemchr, "rawmemchr is unportable - "
+ "use gnulib module rawmemchr for portability");
+# endif
#endif
/* Copy SRC to DST, returning the address of the terminating '\0' in DST. */
#if @GNULIB_STPCPY@
# if ! @HAVE_STPCPY@
-extern char *stpcpy (char *restrict __dst, char const *restrict __src);
+_GL_FUNCDECL_SYS (stpcpy, char *,
+ (char *restrict __dst, char const *restrict __src)
+ _GL_ARG_NONNULL ((1, 2)));
# endif
+_GL_CXXALIAS_SYS (stpcpy, char *,
+ (char *restrict __dst, char const *restrict __src));
+_GL_CXXALIASWARN (stpcpy);
#elif defined GNULIB_POSIXCHECK
# undef stpcpy
-# define stpcpy(a,b) \
- (GL_LINK_WARNING ("stpcpy is unportable - " \
- "use gnulib module stpcpy for portability"), \
- stpcpy (a, b))
+# if HAVE_RAW_DECL_STPCPY
+_GL_WARN_ON_USE (stpcpy, "stpcpy is unportable - "
+ "use gnulib module stpcpy for portability");
+# endif
#endif
/* Copy no more than N bytes of SRC to DST, returning a pointer past the
last non-NUL byte written into DST. */
#if @GNULIB_STPNCPY@
-# if ! @HAVE_STPNCPY@
-# define stpncpy gnu_stpncpy
-extern char *stpncpy (char *restrict __dst, char const *restrict __src,
- size_t __n);
+# if @REPLACE_STPNCPY@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef stpncpy
+# define stpncpy rpl_stpncpy
+# endif
+_GL_FUNCDECL_RPL (stpncpy, char *,
+ (char *restrict __dst, char const *restrict __src,
+ size_t __n)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (stpncpy, char *,
+ (char *restrict __dst, char const *restrict __src,
+ size_t __n));
+# else
+# if ! @HAVE_STPNCPY@
+_GL_FUNCDECL_SYS (stpncpy, char *,
+ (char *restrict __dst, char const *restrict __src,
+ size_t __n)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (stpncpy, char *,
+ (char *restrict __dst, char const *restrict __src,
+ size_t __n));
# endif
+_GL_CXXALIASWARN (stpncpy);
#elif defined GNULIB_POSIXCHECK
# undef stpncpy
-# define stpncpy(a,b,n) \
- (GL_LINK_WARNING ("stpncpy is unportable - " \
- "use gnulib module stpncpy for portability"), \
- stpncpy (a, b, n))
+# if HAVE_RAW_DECL_STPNCPY
+_GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - "
+ "use gnulib module stpncpy for portability");
+# endif
#endif
#if defined GNULIB_POSIXCHECK
/* strchr() does not work with multibyte strings if the locale encoding is
GB18030 and the character to be searched is a digit. */
# undef strchr
-# define strchr(s,c) \
- (GL_LINK_WARNING ("strchr cannot work correctly on character strings " \
- "in some multibyte locales - " \
- "use mbschr if you care about internationalization"), \
- strchr (s, c))
+/* Assume strchr is always declared. */
+_GL_WARN_ON_USE (strchr, "strchr cannot work correctly on character strings "
+ "in some multibyte locales - "
+ "use mbschr if you care about internationalization");
#endif
/* Find the first occurrence of C in S or the final NUL byte. */
#if @GNULIB_STRCHRNUL@
-# if ! @HAVE_STRCHRNUL@
-extern char *strchrnul (char const *__s, int __c_in)
- __attribute__ ((__pure__));
+# if @REPLACE_STRCHRNUL@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define strchrnul rpl_strchrnul
+# endif
+_GL_FUNCDECL_RPL (strchrnul, char *, (const char *__s, int __c_in)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strchrnul, char *,
+ (const char *str, int ch));
+# else
+# if ! @HAVE_STRCHRNUL@
+_GL_FUNCDECL_SYS (strchrnul, char *, (char const *__s, int __c_in)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const char * std::strchrnul (const char *, int); }
+ extern "C++" { char * std::strchrnul (char *, int); } */
+_GL_CXXALIAS_SYS_CAST2 (strchrnul,
+ char *, (char const *__s, int __c_in),
+ char const *, (char const *__s, int __c_in));
+# endif
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in));
+_GL_CXXALIASWARN1 (strchrnul, char const *, (char const *__s, int __c_in));
+# else
+_GL_CXXALIASWARN (strchrnul);
# endif
#elif defined GNULIB_POSIXCHECK
# undef strchrnul
-# define strchrnul(a,b) \
- (GL_LINK_WARNING ("strchrnul is unportable - " \
- "use gnulib module strchrnul for portability"), \
- strchrnul (a, b))
+# if HAVE_RAW_DECL_STRCHRNUL
+_GL_WARN_ON_USE (strchrnul, "strchrnul is unportable - "
+ "use gnulib module strchrnul for portability");
+# endif
#endif
/* Duplicate S, returning an identical malloc'd string. */
#if @GNULIB_STRDUP@
# if @REPLACE_STRDUP@
-# undef strdup
-# define strdup rpl_strdup
-# endif
-# if !(@HAVE_DECL_STRDUP@ || defined strdup) || @REPLACE_STRDUP@
-extern char *strdup (char const *__s);
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strdup
+# define strdup rpl_strdup
+# endif
+_GL_FUNCDECL_RPL (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strdup, char *, (char const *__s));
+# else
+# if defined __cplusplus && defined GNULIB_NAMESPACE && defined strdup
+ /* strdup exists as a function and as a macro. Get rid of the macro. */
+# undef strdup
+# endif
+# if !(@HAVE_DECL_STRDUP@ || defined strdup)
+_GL_FUNCDECL_SYS (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strdup, char *, (char const *__s));
# endif
+_GL_CXXALIASWARN (strdup);
#elif defined GNULIB_POSIXCHECK
# undef strdup
-# define strdup(a) \
- (GL_LINK_WARNING ("strdup is unportable - " \
- "use gnulib module strdup for portability"), \
- strdup (a))
+# if HAVE_RAW_DECL_STRDUP
+_GL_WARN_ON_USE (strdup, "strdup is unportable - "
+ "use gnulib module strdup for portability");
+# endif
+#endif
+
+/* Append no more than N characters from SRC onto DEST. */
+#if @GNULIB_STRNCAT@
+# if @REPLACE_STRNCAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strncat
+# define strncat rpl_strncat
+# endif
+_GL_FUNCDECL_RPL (strncat, char *, (char *dest, const char *src, size_t n)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (strncat, char *, (char *dest, const char *src, size_t n));
+# else
+_GL_CXXALIAS_SYS (strncat, char *, (char *dest, const char *src, size_t n));
+# endif
+_GL_CXXALIASWARN (strncat);
+#elif defined GNULIB_POSIXCHECK
+# undef strncat
+# if HAVE_RAW_DECL_STRNCAT
+_GL_WARN_ON_USE (strncat, "strncat is unportable - "
+ "use gnulib module strncat for portability");
+# endif
#endif
/* Return a newly allocated copy of at most N bytes of STRING. */
#if @GNULIB_STRNDUP@
-# if ! @HAVE_STRNDUP@
-# undef strndup
-# define strndup rpl_strndup
-# endif
-# if ! @HAVE_STRNDUP@ || ! @HAVE_DECL_STRNDUP@
-extern char *strndup (char const *__string, size_t __n);
+# if @REPLACE_STRNDUP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strndup
+# define strndup rpl_strndup
+# endif
+_GL_FUNCDECL_RPL (strndup, char *, (char const *__string, size_t __n)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strndup, char *, (char const *__string, size_t __n));
+# else
+# if ! @HAVE_DECL_STRNDUP@
+_GL_FUNCDECL_SYS (strndup, char *, (char const *__string, size_t __n)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strndup, char *, (char const *__string, size_t __n));
# endif
+_GL_CXXALIASWARN (strndup);
#elif defined GNULIB_POSIXCHECK
# undef strndup
-# define strndup(a,n) \
- (GL_LINK_WARNING ("strndup is unportable - " \
- "use gnulib module strndup for portability"), \
- strndup (a, n))
+# if HAVE_RAW_DECL_STRNDUP
+_GL_WARN_ON_USE (strndup, "strndup is unportable - "
+ "use gnulib module strndup for portability");
+# endif
#endif
/* Find the length (number of bytes) of STRING, but scan at most
MAXLEN bytes. If no '\0' terminator is found in that many bytes,
return MAXLEN. */
#if @GNULIB_STRNLEN@
-# if ! @HAVE_DECL_STRNLEN@
-extern size_t strnlen (char const *__string, size_t __maxlen)
- __attribute__ ((__pure__));
+# if @REPLACE_STRNLEN@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strnlen
+# define strnlen rpl_strnlen
+# endif
+_GL_FUNCDECL_RPL (strnlen, size_t, (char const *__string, size_t __maxlen)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strnlen, size_t, (char const *__string, size_t __maxlen));
+# else
+# if ! @HAVE_DECL_STRNLEN@
+_GL_FUNCDECL_SYS (strnlen, size_t, (char const *__string, size_t __maxlen)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strnlen, size_t, (char const *__string, size_t __maxlen));
# endif
+_GL_CXXALIASWARN (strnlen);
#elif defined GNULIB_POSIXCHECK
# undef strnlen
-# define strnlen(a,n) \
- (GL_LINK_WARNING ("strnlen is unportable - " \
- "use gnulib module strnlen for portability"), \
- strnlen (a, n))
+# if HAVE_RAW_DECL_STRNLEN
+_GL_WARN_ON_USE (strnlen, "strnlen is unportable - "
+ "use gnulib module strnlen for portability");
+# endif
#endif
#if defined GNULIB_POSIXCHECK
locale encoding is GB18030 and one of the characters to be searched is a
digit. */
# undef strcspn
-# define strcspn(s,a) \
- (GL_LINK_WARNING ("strcspn cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbscspn if you care about internationalization"), \
- strcspn (s, a))
+/* Assume strcspn is always declared. */
+_GL_WARN_ON_USE (strcspn, "strcspn cannot work correctly on character strings "
+ "in multibyte locales - "
+ "use mbscspn if you care about internationalization");
#endif
/* Find the first occurrence in S of any character in ACCEPT. */
#if @GNULIB_STRPBRK@
# if ! @HAVE_STRPBRK@
-extern char *strpbrk (char const *__s, char const *__accept)
- __attribute__ ((__pure__));
+_GL_FUNCDECL_SYS (strpbrk, char *, (char const *__s, char const *__accept)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C" { const char * strpbrk (const char *, const char *); }
+ extern "C++" { char * strpbrk (char *, const char *); } */
+_GL_CXXALIAS_SYS_CAST2 (strpbrk,
+ char *, (char const *__s, char const *__accept),
+ const char *, (char const *__s, char const *__accept));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (strpbrk, char *, (char *__s, char const *__accept));
+_GL_CXXALIASWARN1 (strpbrk, char const *,
+ (char const *__s, char const *__accept));
+# else
+_GL_CXXALIASWARN (strpbrk);
# endif
# if defined GNULIB_POSIXCHECK
/* strpbrk() assumes the second argument is a list of single-byte characters.
locale encoding is GB18030 and one of the characters to be searched is a
digit. */
# undef strpbrk
-# define strpbrk(s,a) \
- (GL_LINK_WARNING ("strpbrk cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbspbrk if you care about internationalization"), \
- strpbrk (s, a))
+_GL_WARN_ON_USE (strpbrk, "strpbrk cannot work correctly on character strings "
+ "in multibyte locales - "
+ "use mbspbrk if you care about internationalization");
# endif
#elif defined GNULIB_POSIXCHECK
# undef strpbrk
-# define strpbrk(s,a) \
- (GL_LINK_WARNING ("strpbrk is unportable - " \
- "use gnulib module strpbrk for portability"), \
- strpbrk (s, a))
+# if HAVE_RAW_DECL_STRPBRK
+_GL_WARN_ON_USE (strpbrk, "strpbrk is unportable - "
+ "use gnulib module strpbrk for portability");
+# endif
#endif
#if defined GNULIB_POSIXCHECK
/* strspn() assumes the second argument is a list of single-byte characters.
Even in this simple case, it cannot work with multibyte strings. */
# undef strspn
-# define strspn(s,a) \
- (GL_LINK_WARNING ("strspn cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbsspn if you care about internationalization"), \
- strspn (s, a))
+/* Assume strspn is always declared. */
+_GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings "
+ "in multibyte locales - "
+ "use mbsspn if you care about internationalization");
#endif
#if defined GNULIB_POSIXCHECK
/* strrchr() does not work with multibyte strings if the locale encoding is
GB18030 and the character to be searched is a digit. */
# undef strrchr
-# define strrchr(s,c) \
- (GL_LINK_WARNING ("strrchr cannot work correctly on character strings " \
- "in some multibyte locales - " \
- "use mbsrchr if you care about internationalization"), \
- strrchr (s, c))
+/* Assume strrchr is always declared. */
+_GL_WARN_ON_USE (strrchr, "strrchr cannot work correctly on character strings "
+ "in some multibyte locales - "
+ "use mbsrchr if you care about internationalization");
#endif
/* Search the next delimiter (char listed in DELIM) starting at *STRINGP.
See also strtok_r(). */
#if @GNULIB_STRSEP@
# if ! @HAVE_STRSEP@
-extern char *strsep (char **restrict __stringp, char const *restrict __delim);
+_GL_FUNCDECL_SYS (strsep, char *,
+ (char **restrict __stringp, char const *restrict __delim)
+ _GL_ARG_NONNULL ((1, 2)));
# endif
+_GL_CXXALIAS_SYS (strsep, char *,
+ (char **restrict __stringp, char const *restrict __delim));
+_GL_CXXALIASWARN (strsep);
# if defined GNULIB_POSIXCHECK
# undef strsep
-# define strsep(s,d) \
- (GL_LINK_WARNING ("strsep cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbssep if you care about internationalization"), \
- strsep (s, d))
+_GL_WARN_ON_USE (strsep, "strsep cannot work correctly on character strings "
+ "in multibyte locales - "
+ "use mbssep if you care about internationalization");
# endif
#elif defined GNULIB_POSIXCHECK
# undef strsep
-# define strsep(s,d) \
- (GL_LINK_WARNING ("strsep is unportable - " \
- "use gnulib module strsep for portability"), \
- strsep (s, d))
+# if HAVE_RAW_DECL_STRSEP
+_GL_WARN_ON_USE (strsep, "strsep is unportable - "
+ "use gnulib module strsep for portability");
+# endif
#endif
#if @GNULIB_STRSTR@
# if @REPLACE_STRSTR@
-# define strstr rpl_strstr
-char *strstr (const char *haystack, const char *needle)
- __attribute__ ((__pure__));
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define strstr rpl_strstr
+# endif
+_GL_FUNCDECL_RPL (strstr, char *, (const char *haystack, const char *needle)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (strstr, char *, (const char *haystack, const char *needle));
+# else
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const char * strstr (const char *, const char *); }
+ extern "C++" { char * strstr (char *, const char *); } */
+_GL_CXXALIAS_SYS_CAST2 (strstr,
+ char *, (const char *haystack, const char *needle),
+ const char *, (const char *haystack, const char *needle));
+# endif
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (strstr, char *, (char *haystack, const char *needle));
+_GL_CXXALIASWARN1 (strstr, const char *,
+ (const char *haystack, const char *needle));
+# else
+_GL_CXXALIASWARN (strstr);
# endif
#elif defined GNULIB_POSIXCHECK
/* strstr() does not work with multibyte strings if the locale encoding is
POSIX says that it operates on "strings", and "string" in POSIX is defined
as a sequence of bytes, not of characters. */
# undef strstr
-# define strstr(a,b) \
- (GL_LINK_WARNING ("strstr is quadratic on many systems, and cannot " \
- "work correctly on character strings in most " \
- "multibyte locales - " \
- "use mbsstr if you care about internationalization, " \
- "or use strstr if you care about speed"), \
- strstr (a, b))
+/* Assume strstr is always declared. */
+_GL_WARN_ON_USE (strstr, "strstr is quadratic on many systems, and cannot "
+ "work correctly on character strings in most "
+ "multibyte locales - "
+ "use mbsstr if you care about internationalization, "
+ "or use strstr if you care about speed");
#endif
/* Find the first occurrence of NEEDLE in HAYSTACK, using case-insensitive
comparison. */
#if @GNULIB_STRCASESTR@
# if @REPLACE_STRCASESTR@
-# define strcasestr rpl_strcasestr
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define strcasestr rpl_strcasestr
+# endif
+_GL_FUNCDECL_RPL (strcasestr, char *,
+ (const char *haystack, const char *needle)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (strcasestr, char *,
+ (const char *haystack, const char *needle));
+# else
+# if ! @HAVE_STRCASESTR@
+_GL_FUNCDECL_SYS (strcasestr, char *,
+ (const char *haystack, const char *needle)
+ _GL_ATTRIBUTE_PURE
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" { const char * strcasestr (const char *, const char *); }
+ extern "C++" { char * strcasestr (char *, const char *); } */
+_GL_CXXALIAS_SYS_CAST2 (strcasestr,
+ char *, (const char *haystack, const char *needle),
+ const char *, (const char *haystack, const char *needle));
# endif
-# if ! @HAVE_STRCASESTR@ || @REPLACE_STRCASESTR@
-extern char *strcasestr (const char *haystack, const char *needle)
- __attribute__ ((__pure__));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (strcasestr, char *, (char *haystack, const char *needle));
+_GL_CXXALIASWARN1 (strcasestr, const char *,
+ (const char *haystack, const char *needle));
+# else
+_GL_CXXALIASWARN (strcasestr);
# endif
#elif defined GNULIB_POSIXCHECK
/* strcasestr() does not work with multibyte strings:
It is a glibc extension, and glibc implements it only for unibyte
locales. */
# undef strcasestr
-# define strcasestr(a,b) \
- (GL_LINK_WARNING ("strcasestr does work correctly on character strings " \
- "in multibyte locales - " \
- "use mbscasestr if you care about " \
- "internationalization, or use c-strcasestr if you want " \
- "a locale independent function"), \
- strcasestr (a, b))
+# if HAVE_RAW_DECL_STRCASESTR
+_GL_WARN_ON_USE (strcasestr, "strcasestr does work correctly on character "
+ "strings in multibyte locales - "
+ "use mbscasestr if you care about "
+ "internationalization, or use c-strcasestr if you want "
+ "a locale independent function");
+# endif
#endif
/* Parse S into tokens separated by characters in DELIM.
If S is NULL, the saved pointer in SAVE_PTR is used as
the next starting point. For example:
- char s[] = "-abc-=-def";
- char *sp;
- x = strtok_r(s, "-", &sp); // x = "abc", sp = "=-def"
- x = strtok_r(NULL, "-=", &sp); // x = "def", sp = NULL
- x = strtok_r(NULL, "=", &sp); // x = NULL
- // s = "abc\0-def\0"
+ char s[] = "-abc-=-def";
+ char *sp;
+ x = strtok_r(s, "-", &sp); // x = "abc", sp = "=-def"
+ x = strtok_r(NULL, "-=", &sp); // x = "def", sp = NULL
+ x = strtok_r(NULL, "=", &sp); // x = NULL
+ // s = "abc\0-def\0"
This is a variant of strtok() that is multithread-safe.
See also strsep(). */
#if @GNULIB_STRTOK_R@
-# if ! @HAVE_DECL_STRTOK_R@
-extern char *strtok_r (char *restrict s, char const *restrict delim,
- char **restrict save_ptr);
+# if @REPLACE_STRTOK_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strtok_r
+# define strtok_r rpl_strtok_r
+# endif
+_GL_FUNCDECL_RPL (strtok_r, char *,
+ (char *restrict s, char const *restrict delim,
+ char **restrict save_ptr)
+ _GL_ARG_NONNULL ((2, 3)));
+_GL_CXXALIAS_RPL (strtok_r, char *,
+ (char *restrict s, char const *restrict delim,
+ char **restrict save_ptr));
+# else
+# if @UNDEFINE_STRTOK_R@ || defined GNULIB_POSIXCHECK
+# undef strtok_r
+# endif
+# if ! @HAVE_DECL_STRTOK_R@
+_GL_FUNCDECL_SYS (strtok_r, char *,
+ (char *restrict s, char const *restrict delim,
+ char **restrict save_ptr)
+ _GL_ARG_NONNULL ((2, 3)));
+# endif
+_GL_CXXALIAS_SYS (strtok_r, char *,
+ (char *restrict s, char const *restrict delim,
+ char **restrict save_ptr));
# endif
+_GL_CXXALIASWARN (strtok_r);
# if defined GNULIB_POSIXCHECK
-# undef strtok_r
-# define strtok_r(s,d,p) \
- (GL_LINK_WARNING ("strtok_r cannot work correctly on character strings " \
- "in multibyte locales - " \
- "use mbstok_r if you care about internationalization"), \
- strtok_r (s, d, p))
+_GL_WARN_ON_USE (strtok_r, "strtok_r cannot work correctly on character "
+ "strings in multibyte locales - "
+ "use mbstok_r if you care about internationalization");
# endif
#elif defined GNULIB_POSIXCHECK
# undef strtok_r
-# define strtok_r(s,d,p) \
- (GL_LINK_WARNING ("strtok_r is unportable - " \
- "use gnulib module strtok_r for portability"), \
- strtok_r (s, d, p))
+# if HAVE_RAW_DECL_STRTOK_R
+_GL_WARN_ON_USE (strtok_r, "strtok_r is unportable - "
+ "use gnulib module strtok_r for portability");
+# endif
#endif
#if @GNULIB_MBSLEN@
/* Return the number of multibyte characters in the character string STRING.
This considers multibyte characters, unlike strlen, which counts bytes. */
-extern size_t mbslen (const char *string);
+# ifdef __MirBSD__ /* MirBSD defines mbslen as a macro. Override it. */
+# undef mbslen
+# endif
+# if @HAVE_MBSLEN@ /* AIX, OSF/1, MirBSD define mbslen already in libc. */
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define mbslen rpl_mbslen
+# endif
+_GL_FUNCDECL_RPL (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mbslen, size_t, (const char *string));
+# else
+_GL_FUNCDECL_SYS (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_SYS (mbslen, size_t, (const char *string));
+# endif
+_GL_CXXALIASWARN (mbslen);
#endif
#if @GNULIB_MBSNLEN@
/* Return the number of multibyte characters in the character string starting
at STRING and ending at STRING + LEN. */
-extern size_t mbsnlen (const char *string, size_t len);
+_GL_EXTERN_C size_t mbsnlen (const char *string, size_t len)
+ _GL_ARG_NONNULL ((1));
#endif
#if @GNULIB_MBSCHR@
and return a pointer to it. Return NULL if C is not found in STRING.
Unlike strchr(), this function works correctly in multibyte locales with
encodings such as GB18030. */
-# define mbschr rpl_mbschr /* avoid collision with HP-UX function */
-extern char * mbschr (const char *string, int c);
+# if defined __hpux
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define mbschr rpl_mbschr /* avoid collision with HP-UX function */
+# endif
+_GL_FUNCDECL_RPL (mbschr, char *, (const char *string, int c)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mbschr, char *, (const char *string, int c));
+# else
+_GL_FUNCDECL_SYS (mbschr, char *, (const char *string, int c)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_SYS (mbschr, char *, (const char *string, int c));
+# endif
+_GL_CXXALIASWARN (mbschr);
#endif
#if @GNULIB_MBSRCHR@
and return a pointer to it. Return NULL if C is not found in STRING.
Unlike strrchr(), this function works correctly in multibyte locales with
encodings such as GB18030. */
-# define mbsrchr rpl_mbsrchr /* avoid collision with HP-UX function */
-extern char * mbsrchr (const char *string, int c);
+# if defined __hpux || defined __INTERIX
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define mbsrchr rpl_mbsrchr /* avoid collision with system function */
+# endif
+_GL_FUNCDECL_RPL (mbsrchr, char *, (const char *string, int c)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mbsrchr, char *, (const char *string, int c));
+# else
+_GL_FUNCDECL_SYS (mbsrchr, char *, (const char *string, int c)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_SYS (mbsrchr, char *, (const char *string, int c));
+# endif
+_GL_CXXALIASWARN (mbsrchr);
#endif
#if @GNULIB_MBSSTR@
string HAYSTACK. Return NULL if NEEDLE is not found in HAYSTACK.
Unlike strstr(), this function works correctly in multibyte locales with
encodings different from UTF-8. */
-extern char * mbsstr (const char *haystack, const char *needle);
+_GL_EXTERN_C char * mbsstr (const char *haystack, const char *needle)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSCASECMP@
Note: This function may, in multibyte locales, return 0 for strings of
different lengths!
Unlike strcasecmp(), this function works correctly in multibyte locales. */
-extern int mbscasecmp (const char *s1, const char *s2);
+_GL_EXTERN_C int mbscasecmp (const char *s1, const char *s2)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSNCASECMP@
of different lengths!
Unlike strncasecmp(), this function works correctly in multibyte locales.
But beware that N is not a byte count but a character count! */
-extern int mbsncasecmp (const char *s1, const char *s2, size_t n);
+_GL_EXTERN_C int mbsncasecmp (const char *s1, const char *s2, size_t n)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSPCASECMP@
/* Compare the initial segment of the character string STRING consisting of
at most mbslen (PREFIX) characters with the character string PREFIX,
- ignoring case, returning less than, equal to or greater than zero if this
- initial segment is lexicographically less than, equal to or greater than
- PREFIX.
- Note: This function may, in multibyte locales, return 0 if STRING is of
- smaller length than PREFIX!
+ ignoring case. If the two match, return a pointer to the first byte
+ after this prefix in STRING. Otherwise, return NULL.
+ Note: This function may, in multibyte locales, return non-NULL if STRING
+ is of smaller length than PREFIX!
Unlike strncasecmp(), this function works correctly in multibyte
locales. */
-extern char * mbspcasecmp (const char *string, const char *prefix);
+_GL_EXTERN_C char * mbspcasecmp (const char *string, const char *prefix)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSCASESTR@
Note: This function may, in multibyte locales, return success even if
strlen (haystack) < strlen (needle) !
Unlike strcasestr(), this function works correctly in multibyte locales. */
-extern char * mbscasestr (const char *haystack, const char *needle);
+_GL_EXTERN_C char * mbscasestr (const char *haystack, const char *needle)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSCSPN@
beginning of the string to this occurrence, or to the end of the string
if none exists.
Unlike strcspn(), this function works correctly in multibyte locales. */
-extern size_t mbscspn (const char *string, const char *accept);
+_GL_EXTERN_C size_t mbscspn (const char *string, const char *accept)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSPBRK@
in the character string ACCEPT. Return the pointer to it, or NULL if none
exists.
Unlike strpbrk(), this function works correctly in multibyte locales. */
-# define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */
-extern char * mbspbrk (const char *string, const char *accept);
+# if defined __hpux
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define mbspbrk rpl_mbspbrk /* avoid collision with HP-UX function */
+# endif
+_GL_FUNCDECL_RPL (mbspbrk, char *, (const char *string, const char *accept)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (mbspbrk, char *, (const char *string, const char *accept));
+# else
+_GL_FUNCDECL_SYS (mbspbrk, char *, (const char *string, const char *accept)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_SYS (mbspbrk, char *, (const char *string, const char *accept));
+# endif
+_GL_CXXALIASWARN (mbspbrk);
#endif
#if @GNULIB_MBSSPN@
beginning of the string to this occurrence, or to the end of the string
if none exists.
Unlike strspn(), this function works correctly in multibyte locales. */
-extern size_t mbsspn (const char *string, const char *reject);
+_GL_EXTERN_C size_t mbsspn (const char *string, const char *reject)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSSEP@
Caveat: The identity of the delimiting character is lost.
See also mbstok_r(). */
-extern char * mbssep (char **stringp, const char *delim);
+_GL_EXTERN_C char * mbssep (char **stringp, const char *delim)
+ _GL_ARG_NONNULL ((1, 2));
#endif
#if @GNULIB_MBSTOK_R@
the character string DELIM.
If STRING is NULL, the saved pointer in SAVE_PTR is used as
the next starting point. For example:
- char s[] = "-abc-=-def";
- char *sp;
- x = mbstok_r(s, "-", &sp); // x = "abc", sp = "=-def"
- x = mbstok_r(NULL, "-=", &sp); // x = "def", sp = NULL
- x = mbstok_r(NULL, "=", &sp); // x = NULL
- // s = "abc\0-def\0"
+ char s[] = "-abc-=-def";
+ char *sp;
+ x = mbstok_r(s, "-", &sp); // x = "abc", sp = "=-def"
+ x = mbstok_r(NULL, "-=", &sp); // x = "def", sp = NULL
+ x = mbstok_r(NULL, "=", &sp); // x = NULL
+ // s = "abc\0-def\0"
Caveat: It modifies the original string.
Caveat: These functions cannot be used on constant strings.
Caveat: The identity of the delimiting character is lost.
See also mbssep(). */
-extern char * mbstok_r (char *string, const char *delim, char **save_ptr);
+_GL_EXTERN_C char * mbstok_r (char *string, const char *delim, char **save_ptr)
+ _GL_ARG_NONNULL ((2, 3));
#endif
/* Map any int, typically from errno, into an error message. */
#if @GNULIB_STRERROR@
# if @REPLACE_STRERROR@
-# undef strerror
-# define strerror rpl_strerror
-extern char *strerror (int);
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strerror
+# define strerror rpl_strerror
+# endif
+_GL_FUNCDECL_RPL (strerror, char *, (int));
+_GL_CXXALIAS_RPL (strerror, char *, (int));
+# else
+_GL_CXXALIAS_SYS (strerror, char *, (int));
# endif
+_GL_CXXALIASWARN (strerror);
#elif defined GNULIB_POSIXCHECK
# undef strerror
-# define strerror(e) \
- (GL_LINK_WARNING ("strerror is unportable - " \
- "use gnulib module strerror to guarantee non-NULL result"), \
- strerror (e))
+/* Assume strerror is always declared. */
+_GL_WARN_ON_USE (strerror, "strerror is unportable - "
+ "use gnulib module strerror to guarantee non-NULL result");
+#endif
+
+/* Map any int, typically from errno, into an error message. Multithread-safe.
+ Uses the POSIX declaration, not the glibc declaration. */
+#if @GNULIB_STRERROR_R@
+# if @REPLACE_STRERROR_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef strerror_r
+# define strerror_r rpl_strerror_r
+# endif
+_GL_FUNCDECL_RPL (strerror_r, int, (int errnum, char *buf, size_t buflen)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (strerror_r, int, (int errnum, char *buf, size_t buflen));
+# else
+# if !@HAVE_DECL_STRERROR_R@
+_GL_FUNCDECL_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen));
+# endif
+# if @HAVE_DECL_STRERROR_R@
+_GL_CXXALIASWARN (strerror_r);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strerror_r
+# if HAVE_RAW_DECL_STRERROR_R
+_GL_WARN_ON_USE (strerror_r, "strerror_r is unportable - "
+ "use gnulib module strerror_r-posix for portability");
+# endif
#endif
#if @GNULIB_STRSIGNAL@
# if @REPLACE_STRSIGNAL@
-# define strsignal rpl_strsignal
-# endif
-# if ! @HAVE_DECL_STRSIGNAL@ || @REPLACE_STRSIGNAL@
-extern char *strsignal (int __sig);
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define strsignal rpl_strsignal
+# endif
+_GL_FUNCDECL_RPL (strsignal, char *, (int __sig));
+_GL_CXXALIAS_RPL (strsignal, char *, (int __sig));
+# else
+# if ! @HAVE_DECL_STRSIGNAL@
+_GL_FUNCDECL_SYS (strsignal, char *, (int __sig));
+# endif
+/* Need to cast, because on Cygwin 1.5.x systems, the return type is
+ 'const char *'. */
+_GL_CXXALIAS_SYS_CAST (strsignal, char *, (int __sig));
# endif
+_GL_CXXALIASWARN (strsignal);
#elif defined GNULIB_POSIXCHECK
# undef strsignal
-# define strsignal(a) \
- (GL_LINK_WARNING ("strsignal is unportable - " \
- "use gnulib module strsignal for portability"), \
- strsignal (a))
+# if HAVE_RAW_DECL_STRSIGNAL
+_GL_WARN_ON_USE (strsignal, "strsignal is unportable - "
+ "use gnulib module strsignal for portability");
+# endif
#endif
#if @GNULIB_STRVERSCMP@
# if !@HAVE_STRVERSCMP@
-extern int strverscmp (const char *, const char *);
+_GL_FUNCDECL_SYS (strverscmp, int, (const char *, const char *)
+ _GL_ARG_NONNULL ((1, 2)));
# endif
+_GL_CXXALIAS_SYS (strverscmp, int, (const char *, const char *));
+_GL_CXXALIASWARN (strverscmp);
#elif defined GNULIB_POSIXCHECK
# undef strverscmp
-# define strverscmp(a, b) \
- (GL_LINK_WARNING ("strverscmp is unportable - " \
- "use gnulib module strverscmp for portability"), \
- strverscmp (a, b))
+# if HAVE_RAW_DECL_STRVERSCMP
+_GL_WARN_ON_USE (strverscmp, "strverscmp is unportable - "
+ "use gnulib module strverscmp for portability");
+# endif
#endif
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GL_STRING_H */
-#endif /* _GL_STRING_H */
+#endif /* _@GUARD_PREFIX@_STRING_H */
+#endif /* _@GUARD_PREFIX@_STRING_H */
/* Compare strings while treating digits characters numerically.
- Copyright (C) 1997, 2000, 2002, 2004, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2000, 2002, 2004, 2006, 2009-2011 Free Software
+ Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jean-François Bignolles <bignolle@ecoledoc.ibp.fr>, 1997.
case LEN:
while (ISDIGIT (*p1++))
- if (!ISDIGIT (*p2++))
- return 1;
+ if (!ISDIGIT (*p2++))
+ return 1;
return ISDIGIT (*p2) ? -1 : diff;
--- /dev/null
+/* Elementary Unicode string functions.
+ Copyright (C) 2001-2002, 2005-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _UNISTR_H
+#define _UNISTR_H
+
+#include "unitypes.h"
+
+/* Get common macros for C. */
+#include "unused-parameter.h"
+
+/* Get bool. */
+#include <stdbool.h>
+
+/* Get size_t. */
+#include <stddef.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Conventions:
+
+ All functions prefixed with u8_ operate on UTF-8 encoded strings.
+ Their unit is an uint8_t (1 byte).
+
+ All functions prefixed with u16_ operate on UTF-16 encoded strings.
+ Their unit is an uint16_t (a 2-byte word).
+
+ All functions prefixed with u32_ operate on UCS-4 encoded strings.
+ Their unit is an uint32_t (a 4-byte word).
+
+ All argument pairs (s, n) denote a Unicode string s[0..n-1] with exactly
+ n units.
+
+ All arguments starting with "str" and the arguments of functions starting
+ with u8_str/u16_str/u32_str denote a NUL terminated string, i.e. a string
+ which terminates at the first NUL unit. This termination unit is
+ considered part of the string for all memory allocation purposes, but
+ is not considered part of the string for all other logical purposes.
+
+ Functions returning a string result take a (resultbuf, lengthp) argument
+ pair. If resultbuf is not NULL and the result fits into *lengthp units,
+ it is put in resultbuf, and resultbuf is returned. Otherwise, a freshly
+ allocated string is returned. In both cases, *lengthp is set to the
+ length (number of units) of the returned string. In case of error,
+ NULL is returned and errno is set. */
+
+
+/* Elementary string checks. */
+
+/* Check whether an UTF-8 string is well-formed.
+ Return NULL if valid, or a pointer to the first invalid unit otherwise. */
+extern const uint8_t *
+ u8_check (const uint8_t *s, size_t n);
+
+/* Check whether an UTF-16 string is well-formed.
+ Return NULL if valid, or a pointer to the first invalid unit otherwise. */
+extern const uint16_t *
+ u16_check (const uint16_t *s, size_t n);
+
+/* Check whether an UCS-4 string is well-formed.
+ Return NULL if valid, or a pointer to the first invalid unit otherwise. */
+extern const uint32_t *
+ u32_check (const uint32_t *s, size_t n);
+
+
+/* Elementary string conversions. */
+
+/* Convert an UTF-8 string to an UTF-16 string. */
+extern uint16_t *
+ u8_to_u16 (const uint8_t *s, size_t n, uint16_t *resultbuf,
+ size_t *lengthp);
+
+/* Convert an UTF-8 string to an UCS-4 string. */
+extern uint32_t *
+ u8_to_u32 (const uint8_t *s, size_t n, uint32_t *resultbuf,
+ size_t *lengthp);
+
+/* Convert an UTF-16 string to an UTF-8 string. */
+extern uint8_t *
+ u16_to_u8 (const uint16_t *s, size_t n, uint8_t *resultbuf,
+ size_t *lengthp);
+
+/* Convert an UTF-16 string to an UCS-4 string. */
+extern uint32_t *
+ u16_to_u32 (const uint16_t *s, size_t n, uint32_t *resultbuf,
+ size_t *lengthp);
+
+/* Convert an UCS-4 string to an UTF-8 string. */
+extern uint8_t *
+ u32_to_u8 (const uint32_t *s, size_t n, uint8_t *resultbuf,
+ size_t *lengthp);
+
+/* Convert an UCS-4 string to an UTF-16 string. */
+extern uint16_t *
+ u32_to_u16 (const uint32_t *s, size_t n, uint16_t *resultbuf,
+ size_t *lengthp);
+
+
+/* Elementary string functions. */
+
+/* Return the length (number of units) of the first character in S, which is
+ no longer than N. Return 0 if it is the NUL character. Return -1 upon
+ failure. */
+/* Similar to mblen(), except that s must not be NULL. */
+extern int
+ u8_mblen (const uint8_t *s, size_t n);
+extern int
+ u16_mblen (const uint16_t *s, size_t n);
+extern int
+ u32_mblen (const uint32_t *s, size_t n);
+
+/* Return the length (number of units) of the first character in S, putting
+ its 'ucs4_t' representation in *PUC. Upon failure, *PUC is set to 0xfffd,
+ and an appropriate number of units is returned.
+ The number of available units, N, must be > 0. */
+/* Similar to mbtowc(), except that puc and s must not be NULL, n must be > 0,
+ and the NUL character is not treated specially. */
+/* The variants with _safe suffix are safe, even if the library is compiled
+ without --enable-safety. */
+
+#if GNULIB_UNISTR_U8_MBTOUC_UNSAFE || HAVE_LIBUNISTRING
+# if !HAVE_INLINE
+extern int
+ u8_mbtouc_unsafe (ucs4_t *puc, const uint8_t *s, size_t n);
+# else
+extern int
+ u8_mbtouc_unsafe_aux (ucs4_t *puc, const uint8_t *s, size_t n);
+static inline int
+u8_mbtouc_unsafe (ucs4_t *puc, const uint8_t *s, size_t n)
+{
+ uint8_t c = *s;
+
+ if (c < 0x80)
+ {
+ *puc = c;
+ return 1;
+ }
+ else
+ return u8_mbtouc_unsafe_aux (puc, s, n);
+}
+# endif
+#endif
+
+#if GNULIB_UNISTR_U16_MBTOUC_UNSAFE || HAVE_LIBUNISTRING
+# if !HAVE_INLINE
+extern int
+ u16_mbtouc_unsafe (ucs4_t *puc, const uint16_t *s, size_t n);
+# else
+extern int
+ u16_mbtouc_unsafe_aux (ucs4_t *puc, const uint16_t *s, size_t n);
+static inline int
+u16_mbtouc_unsafe (ucs4_t *puc, const uint16_t *s, size_t n)
+{
+ uint16_t c = *s;
+
+ if (c < 0xd800 || c >= 0xe000)
+ {
+ *puc = c;
+ return 1;
+ }
+ else
+ return u16_mbtouc_unsafe_aux (puc, s, n);
+}
+# endif
+#endif
+
+#if GNULIB_UNISTR_U32_MBTOUC_UNSAFE || HAVE_LIBUNISTRING
+# if !HAVE_INLINE
+extern int
+ u32_mbtouc_unsafe (ucs4_t *puc, const uint32_t *s, size_t n);
+# else
+static inline int
+u32_mbtouc_unsafe (ucs4_t *puc,
+ const uint32_t *s, size_t n _GL_UNUSED_PARAMETER)
+{
+ uint32_t c = *s;
+
+# if CONFIG_UNICODE_SAFETY
+ if (c < 0xd800 || (c >= 0xe000 && c < 0x110000))
+# endif
+ *puc = c;
+# if CONFIG_UNICODE_SAFETY
+ else
+ /* invalid multibyte character */
+ *puc = 0xfffd;
+# endif
+ return 1;
+}
+# endif
+#endif
+
+#if GNULIB_UNISTR_U8_MBTOUC || HAVE_LIBUNISTRING
+# if !HAVE_INLINE
+extern int
+ u8_mbtouc (ucs4_t *puc, const uint8_t *s, size_t n);
+# else
+extern int
+ u8_mbtouc_aux (ucs4_t *puc, const uint8_t *s, size_t n);
+static inline int
+u8_mbtouc (ucs4_t *puc, const uint8_t *s, size_t n)
+{
+ uint8_t c = *s;
+
+ if (c < 0x80)
+ {
+ *puc = c;
+ return 1;
+ }
+ else
+ return u8_mbtouc_aux (puc, s, n);
+}
+# endif
+#endif
+
+#if GNULIB_UNISTR_U16_MBTOUC || HAVE_LIBUNISTRING
+# if !HAVE_INLINE
+extern int
+ u16_mbtouc (ucs4_t *puc, const uint16_t *s, size_t n);
+# else
+extern int
+ u16_mbtouc_aux (ucs4_t *puc, const uint16_t *s, size_t n);
+static inline int
+u16_mbtouc (ucs4_t *puc, const uint16_t *s, size_t n)
+{
+ uint16_t c = *s;
+
+ if (c < 0xd800 || c >= 0xe000)
+ {
+ *puc = c;
+ return 1;
+ }
+ else
+ return u16_mbtouc_aux (puc, s, n);
+}
+# endif
+#endif
+
+#if GNULIB_UNISTR_U32_MBTOUC || HAVE_LIBUNISTRING
+# if !HAVE_INLINE
+extern int
+ u32_mbtouc (ucs4_t *puc, const uint32_t *s, size_t n);
+# else
+static inline int
+u32_mbtouc (ucs4_t *puc, const uint32_t *s, size_t n _GL_UNUSED_PARAMETER)
+{
+ uint32_t c = *s;
+
+ if (c < 0xd800 || (c >= 0xe000 && c < 0x110000))
+ *puc = c;
+ else
+ /* invalid multibyte character */
+ *puc = 0xfffd;
+ return 1;
+}
+# endif
+#endif
+
+/* Return the length (number of units) of the first character in S, putting
+ its 'ucs4_t' representation in *PUC. Upon failure, *PUC is set to 0xfffd,
+ and -1 is returned for an invalid sequence of units, -2 is returned for an
+ incomplete sequence of units.
+ The number of available units, N, must be > 0. */
+/* Similar to u*_mbtouc(), except that the return value gives more details
+ about the failure, similar to mbrtowc(). */
+
+#if GNULIB_UNISTR_U8_MBTOUCR || HAVE_LIBUNISTRING
+extern int
+ u8_mbtoucr (ucs4_t *puc, const uint8_t *s, size_t n);
+#endif
+
+#if GNULIB_UNISTR_U16_MBTOUCR || HAVE_LIBUNISTRING
+extern int
+ u16_mbtoucr (ucs4_t *puc, const uint16_t *s, size_t n);
+#endif
+
+#if GNULIB_UNISTR_U32_MBTOUCR || HAVE_LIBUNISTRING
+extern int
+ u32_mbtoucr (ucs4_t *puc, const uint32_t *s, size_t n);
+#endif
+
+/* Put the multibyte character represented by UC in S, returning its
+ length. Return -1 upon failure, -2 if the number of available units, N,
+ is too small. The latter case cannot occur if N >= 6/2/1, respectively. */
+/* Similar to wctomb(), except that s must not be NULL, and the argument n
+ must be specified. */
+
+#if GNULIB_UNISTR_U8_UCTOMB || HAVE_LIBUNISTRING
+/* Auxiliary function, also used by u8_chr, u8_strchr, u8_strrchr. */
+extern int
+ u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n);
+# if !HAVE_INLINE
+extern int
+ u8_uctomb (uint8_t *s, ucs4_t uc, int n);
+# else
+static inline int
+u8_uctomb (uint8_t *s, ucs4_t uc, int n)
+{
+ if (uc < 0x80 && n > 0)
+ {
+ s[0] = uc;
+ return 1;
+ }
+ else
+ return u8_uctomb_aux (s, uc, n);
+}
+# endif
+#endif
+
+#if GNULIB_UNISTR_U16_UCTOMB || HAVE_LIBUNISTRING
+/* Auxiliary function, also used by u16_chr, u16_strchr, u16_strrchr. */
+extern int
+ u16_uctomb_aux (uint16_t *s, ucs4_t uc, int n);
+# if !HAVE_INLINE
+extern int
+ u16_uctomb (uint16_t *s, ucs4_t uc, int n);
+# else
+static inline int
+u16_uctomb (uint16_t *s, ucs4_t uc, int n)
+{
+ if (uc < 0xd800 && n > 0)
+ {
+ s[0] = uc;
+ return 1;
+ }
+ else
+ return u16_uctomb_aux (s, uc, n);
+}
+# endif
+#endif
+
+#if GNULIB_UNISTR_U32_UCTOMB || HAVE_LIBUNISTRING
+# if !HAVE_INLINE
+extern int
+ u32_uctomb (uint32_t *s, ucs4_t uc, int n);
+# else
+static inline int
+u32_uctomb (uint32_t *s, ucs4_t uc, int n)
+{
+ if (uc < 0xd800 || (uc >= 0xe000 && uc < 0x110000))
+ {
+ if (n > 0)
+ {
+ *s = uc;
+ return 1;
+ }
+ else
+ return -2;
+ }
+ else
+ return -1;
+}
+# endif
+#endif
+
+/* Copy N units from SRC to DEST. */
+/* Similar to memcpy(). */
+extern uint8_t *
+ u8_cpy (uint8_t *dest, const uint8_t *src, size_t n);
+extern uint16_t *
+ u16_cpy (uint16_t *dest, const uint16_t *src, size_t n);
+extern uint32_t *
+ u32_cpy (uint32_t *dest, const uint32_t *src, size_t n);
+
+/* Copy N units from SRC to DEST, guaranteeing correct behavior for
+ overlapping memory areas. */
+/* Similar to memmove(). */
+extern uint8_t *
+ u8_move (uint8_t *dest, const uint8_t *src, size_t n);
+extern uint16_t *
+ u16_move (uint16_t *dest, const uint16_t *src, size_t n);
+extern uint32_t *
+ u32_move (uint32_t *dest, const uint32_t *src, size_t n);
+
+/* Set the first N characters of S to UC. UC should be a character that
+ occupies only 1 unit. */
+/* Similar to memset(). */
+extern uint8_t *
+ u8_set (uint8_t *s, ucs4_t uc, size_t n);
+extern uint16_t *
+ u16_set (uint16_t *s, ucs4_t uc, size_t n);
+extern uint32_t *
+ u32_set (uint32_t *s, ucs4_t uc, size_t n);
+
+/* Compare S1 and S2, each of length N. */
+/* Similar to memcmp(). */
+extern int
+ u8_cmp (const uint8_t *s1, const uint8_t *s2, size_t n);
+extern int
+ u16_cmp (const uint16_t *s1, const uint16_t *s2, size_t n);
+extern int
+ u32_cmp (const uint32_t *s1, const uint32_t *s2, size_t n);
+
+/* Compare S1 and S2. */
+/* Similar to the gnulib function memcmp2(). */
+extern int
+ u8_cmp2 (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2);
+extern int
+ u16_cmp2 (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t n2);
+extern int
+ u32_cmp2 (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t n2);
+
+/* Search the string at S for UC. */
+/* Similar to memchr(). */
+extern uint8_t *
+ u8_chr (const uint8_t *s, size_t n, ucs4_t uc);
+extern uint16_t *
+ u16_chr (const uint16_t *s, size_t n, ucs4_t uc);
+extern uint32_t *
+ u32_chr (const uint32_t *s, size_t n, ucs4_t uc);
+
+/* Count the number of Unicode characters in the N units from S. */
+/* Similar to mbsnlen(). */
+extern size_t
+ u8_mbsnlen (const uint8_t *s, size_t n);
+extern size_t
+ u16_mbsnlen (const uint16_t *s, size_t n);
+extern size_t
+ u32_mbsnlen (const uint32_t *s, size_t n);
+
+/* Elementary string functions with memory allocation. */
+
+/* Make a freshly allocated copy of S, of length N. */
+extern uint8_t *
+ u8_cpy_alloc (const uint8_t *s, size_t n);
+extern uint16_t *
+ u16_cpy_alloc (const uint16_t *s, size_t n);
+extern uint32_t *
+ u32_cpy_alloc (const uint32_t *s, size_t n);
+
+/* Elementary string functions on NUL terminated strings. */
+
+/* Return the length (number of units) of the first character in S.
+ Return 0 if it is the NUL character. Return -1 upon failure. */
+extern int
+ u8_strmblen (const uint8_t *s);
+extern int
+ u16_strmblen (const uint16_t *s);
+extern int
+ u32_strmblen (const uint32_t *s);
+
+/* Return the length (number of units) of the first character in S, putting
+ its 'ucs4_t' representation in *PUC. Return 0 if it is the NUL
+ character. Return -1 upon failure. */
+extern int
+ u8_strmbtouc (ucs4_t *puc, const uint8_t *s);
+extern int
+ u16_strmbtouc (ucs4_t *puc, const uint16_t *s);
+extern int
+ u32_strmbtouc (ucs4_t *puc, const uint32_t *s);
+
+/* Forward iteration step. Advances the pointer past the next character,
+ or returns NULL if the end of the string has been reached. Puts the
+ character's 'ucs4_t' representation in *PUC. */
+extern const uint8_t *
+ u8_next (ucs4_t *puc, const uint8_t *s);
+extern const uint16_t *
+ u16_next (ucs4_t *puc, const uint16_t *s);
+extern const uint32_t *
+ u32_next (ucs4_t *puc, const uint32_t *s);
+
+/* Backward iteration step. Advances the pointer to point to the previous
+ character, or returns NULL if the beginning of the string had been reached.
+ Puts the character's 'ucs4_t' representation in *PUC. */
+extern const uint8_t *
+ u8_prev (ucs4_t *puc, const uint8_t *s, const uint8_t *start);
+extern const uint16_t *
+ u16_prev (ucs4_t *puc, const uint16_t *s, const uint16_t *start);
+extern const uint32_t *
+ u32_prev (ucs4_t *puc, const uint32_t *s, const uint32_t *start);
+
+/* Return the number of units in S. */
+/* Similar to strlen(), wcslen(). */
+extern size_t
+ u8_strlen (const uint8_t *s);
+extern size_t
+ u16_strlen (const uint16_t *s);
+extern size_t
+ u32_strlen (const uint32_t *s);
+
+/* Return the number of units in S, but at most MAXLEN. */
+/* Similar to strnlen(), wcsnlen(). */
+extern size_t
+ u8_strnlen (const uint8_t *s, size_t maxlen);
+extern size_t
+ u16_strnlen (const uint16_t *s, size_t maxlen);
+extern size_t
+ u32_strnlen (const uint32_t *s, size_t maxlen);
+
+/* Copy SRC to DEST. */
+/* Similar to strcpy(), wcscpy(). */
+extern uint8_t *
+ u8_strcpy (uint8_t *dest, const uint8_t *src);
+extern uint16_t *
+ u16_strcpy (uint16_t *dest, const uint16_t *src);
+extern uint32_t *
+ u32_strcpy (uint32_t *dest, const uint32_t *src);
+
+/* Copy SRC to DEST, returning the address of the terminating NUL in DEST. */
+/* Similar to stpcpy(). */
+extern uint8_t *
+ u8_stpcpy (uint8_t *dest, const uint8_t *src);
+extern uint16_t *
+ u16_stpcpy (uint16_t *dest, const uint16_t *src);
+extern uint32_t *
+ u32_stpcpy (uint32_t *dest, const uint32_t *src);
+
+/* Copy no more than N units of SRC to DEST. */
+/* Similar to strncpy(), wcsncpy(). */
+extern uint8_t *
+ u8_strncpy (uint8_t *dest, const uint8_t *src, size_t n);
+extern uint16_t *
+ u16_strncpy (uint16_t *dest, const uint16_t *src, size_t n);
+extern uint32_t *
+ u32_strncpy (uint32_t *dest, const uint32_t *src, size_t n);
+
+/* Copy no more than N units of SRC to DEST. Return a pointer past the last
+ non-NUL unit written into DEST. */
+/* Similar to stpncpy(). */
+extern uint8_t *
+ u8_stpncpy (uint8_t *dest, const uint8_t *src, size_t n);
+extern uint16_t *
+ u16_stpncpy (uint16_t *dest, const uint16_t *src, size_t n);
+extern uint32_t *
+ u32_stpncpy (uint32_t *dest, const uint32_t *src, size_t n);
+
+/* Append SRC onto DEST. */
+/* Similar to strcat(), wcscat(). */
+extern uint8_t *
+ u8_strcat (uint8_t *dest, const uint8_t *src);
+extern uint16_t *
+ u16_strcat (uint16_t *dest, const uint16_t *src);
+extern uint32_t *
+ u32_strcat (uint32_t *dest, const uint32_t *src);
+
+/* Append no more than N units of SRC onto DEST. */
+/* Similar to strncat(), wcsncat(). */
+extern uint8_t *
+ u8_strncat (uint8_t *dest, const uint8_t *src, size_t n);
+extern uint16_t *
+ u16_strncat (uint16_t *dest, const uint16_t *src, size_t n);
+extern uint32_t *
+ u32_strncat (uint32_t *dest, const uint32_t *src, size_t n);
+
+/* Compare S1 and S2. */
+/* Similar to strcmp(), wcscmp(). */
+#ifdef __sun
+/* Avoid a collision with the u8_strcmp() function in Solaris 11 libc. */
+extern int
+ u8_strcmp_gnu (const uint8_t *s1, const uint8_t *s2);
+# define u8_strcmp u8_strcmp_gnu
+#else
+extern int
+ u8_strcmp (const uint8_t *s1, const uint8_t *s2);
+#endif
+extern int
+ u16_strcmp (const uint16_t *s1, const uint16_t *s2);
+extern int
+ u32_strcmp (const uint32_t *s1, const uint32_t *s2);
+
+/* Compare S1 and S2 using the collation rules of the current locale.
+ Return -1 if S1 < S2, 0 if S1 = S2, 1 if S1 > S2.
+ Upon failure, set errno and return any value. */
+/* Similar to strcoll(), wcscoll(). */
+extern int
+ u8_strcoll (const uint8_t *s1, const uint8_t *s2);
+extern int
+ u16_strcoll (const uint16_t *s1, const uint16_t *s2);
+extern int
+ u32_strcoll (const uint32_t *s1, const uint32_t *s2);
+
+/* Compare no more than N units of S1 and S2. */
+/* Similar to strncmp(), wcsncmp(). */
+extern int
+ u8_strncmp (const uint8_t *s1, const uint8_t *s2, size_t n);
+extern int
+ u16_strncmp (const uint16_t *s1, const uint16_t *s2, size_t n);
+extern int
+ u32_strncmp (const uint32_t *s1, const uint32_t *s2, size_t n);
+
+/* Duplicate S, returning an identical malloc'd string. */
+/* Similar to strdup(), wcsdup(). */
+extern uint8_t *
+ u8_strdup (const uint8_t *s);
+extern uint16_t *
+ u16_strdup (const uint16_t *s);
+extern uint32_t *
+ u32_strdup (const uint32_t *s);
+
+/* Find the first occurrence of UC in STR. */
+/* Similar to strchr(), wcschr(). */
+extern uint8_t *
+ u8_strchr (const uint8_t *str, ucs4_t uc);
+extern uint16_t *
+ u16_strchr (const uint16_t *str, ucs4_t uc);
+extern uint32_t *
+ u32_strchr (const uint32_t *str, ucs4_t uc);
+
+/* Find the last occurrence of UC in STR. */
+/* Similar to strrchr(), wcsrchr(). */
+extern uint8_t *
+ u8_strrchr (const uint8_t *str, ucs4_t uc);
+extern uint16_t *
+ u16_strrchr (const uint16_t *str, ucs4_t uc);
+extern uint32_t *
+ u32_strrchr (const uint32_t *str, ucs4_t uc);
+
+/* Return the length of the initial segment of STR which consists entirely
+ of Unicode characters not in REJECT. */
+/* Similar to strcspn(), wcscspn(). */
+extern size_t
+ u8_strcspn (const uint8_t *str, const uint8_t *reject);
+extern size_t
+ u16_strcspn (const uint16_t *str, const uint16_t *reject);
+extern size_t
+ u32_strcspn (const uint32_t *str, const uint32_t *reject);
+
+/* Return the length of the initial segment of STR which consists entirely
+ of Unicode characters in ACCEPT. */
+/* Similar to strspn(), wcsspn(). */
+extern size_t
+ u8_strspn (const uint8_t *str, const uint8_t *accept);
+extern size_t
+ u16_strspn (const uint16_t *str, const uint16_t *accept);
+extern size_t
+ u32_strspn (const uint32_t *str, const uint32_t *accept);
+
+/* Find the first occurrence in STR of any character in ACCEPT. */
+/* Similar to strpbrk(), wcspbrk(). */
+extern uint8_t *
+ u8_strpbrk (const uint8_t *str, const uint8_t *accept);
+extern uint16_t *
+ u16_strpbrk (const uint16_t *str, const uint16_t *accept);
+extern uint32_t *
+ u32_strpbrk (const uint32_t *str, const uint32_t *accept);
+
+/* Find the first occurrence of NEEDLE in HAYSTACK. */
+/* Similar to strstr(), wcsstr(). */
+extern uint8_t *
+ u8_strstr (const uint8_t *haystack, const uint8_t *needle);
+extern uint16_t *
+ u16_strstr (const uint16_t *haystack, const uint16_t *needle);
+extern uint32_t *
+ u32_strstr (const uint32_t *haystack, const uint32_t *needle);
+
+/* Test whether STR starts with PREFIX. */
+extern bool
+ u8_startswith (const uint8_t *str, const uint8_t *prefix);
+extern bool
+ u16_startswith (const uint16_t *str, const uint16_t *prefix);
+extern bool
+ u32_startswith (const uint32_t *str, const uint32_t *prefix);
+
+/* Test whether STR ends with SUFFIX. */
+extern bool
+ u8_endswith (const uint8_t *str, const uint8_t *suffix);
+extern bool
+ u16_endswith (const uint16_t *str, const uint16_t *suffix);
+extern bool
+ u32_endswith (const uint32_t *str, const uint32_t *suffix);
+
+/* Divide STR into tokens separated by characters in DELIM.
+ This interface is actually more similar to wcstok than to strtok. */
+/* Similar to strtok_r(), wcstok(). */
+extern uint8_t *
+ u8_strtok (uint8_t *str, const uint8_t *delim, uint8_t **ptr);
+extern uint16_t *
+ u16_strtok (uint16_t *str, const uint16_t *delim, uint16_t **ptr);
+extern uint32_t *
+ u32_strtok (uint32_t *str, const uint32_t *delim, uint32_t **ptr);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _UNISTR_H */
--- /dev/null
+/* Look at first character in UTF-8 string, returning an error code.
+ Copyright (C) 1999-2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2001.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unistr.h"
+
+int
+u8_mbtoucr (ucs4_t *puc, const uint8_t *s, size_t n)
+{
+ uint8_t c = *s;
+
+ if (c < 0x80)
+ {
+ *puc = c;
+ return 1;
+ }
+ else if (c >= 0xc2)
+ {
+ if (c < 0xe0)
+ {
+ if (n >= 2)
+ {
+ if ((s[1] ^ 0x80) < 0x40)
+ {
+ *puc = ((unsigned int) (c & 0x1f) << 6)
+ | (unsigned int) (s[1] ^ 0x80);
+ return 2;
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+ else if (c < 0xf0)
+ {
+ if (n >= 2)
+ {
+ if ((s[1] ^ 0x80) < 0x40
+ && (c >= 0xe1 || s[1] >= 0xa0)
+ && (c != 0xed || s[1] < 0xa0))
+ {
+ if (n >= 3)
+ {
+ if ((s[2] ^ 0x80) < 0x40)
+ {
+ *puc = ((unsigned int) (c & 0x0f) << 12)
+ | ((unsigned int) (s[1] ^ 0x80) << 6)
+ | (unsigned int) (s[2] ^ 0x80);
+ return 3;
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+ else if (c < 0xf8)
+ {
+ if (n >= 2)
+ {
+ if ((s[1] ^ 0x80) < 0x40
+ && (c >= 0xf1 || s[1] >= 0x90)
+#if 1
+ && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90))
+#endif
+ )
+ {
+ if (n >= 3)
+ {
+ if ((s[2] ^ 0x80) < 0x40)
+ {
+ if (n >= 4)
+ {
+ if ((s[3] ^ 0x80) < 0x40)
+ {
+ *puc = ((unsigned int) (c & 0x07) << 18)
+ | ((unsigned int) (s[1] ^ 0x80) << 12)
+ | ((unsigned int) (s[2] ^ 0x80) << 6)
+ | (unsigned int) (s[3] ^ 0x80);
+ return 4;
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+#if 0
+ else if (c < 0xfc)
+ {
+ if (n >= 2)
+ {
+ if ((s[1] ^ 0x80) < 0x40
+ && (c >= 0xf9 || s[1] >= 0x88))
+ {
+ if (n >= 3)
+ {
+ if ((s[2] ^ 0x80) < 0x40)
+ {
+ if (n >= 4)
+ {
+ if ((s[3] ^ 0x80) < 0x40)
+ {
+ if (n >= 5)
+ {
+ if ((s[4] ^ 0x80) < 0x40)
+ {
+ *puc = ((unsigned int) (c & 0x03) << 24)
+ | ((unsigned int) (s[1] ^ 0x80) << 18)
+ | ((unsigned int) (s[2] ^ 0x80) << 12)
+ | ((unsigned int) (s[3] ^ 0x80) << 6)
+ | (unsigned int) (s[4] ^ 0x80);
+ return 5;
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+ else if (c < 0xfe)
+ {
+ if (n >= 2)
+ {
+ if ((s[1] ^ 0x80) < 0x40
+ && (c >= 0xfd || s[1] >= 0x84))
+ {
+ if (n >= 3)
+ {
+ if ((s[2] ^ 0x80) < 0x40)
+ {
+ if (n >= 4)
+ {
+ if ((s[3] ^ 0x80) < 0x40)
+ {
+ if (n >= 5)
+ {
+ if ((s[4] ^ 0x80) < 0x40)
+ {
+ if (n >= 6)
+ {
+ if ((s[5] ^ 0x80) < 0x40)
+ {
+ *puc = ((unsigned int) (c & 0x01) << 30)
+ | ((unsigned int) (s[1] ^ 0x80) << 24)
+ | ((unsigned int) (s[2] ^ 0x80) << 18)
+ | ((unsigned int) (s[3] ^ 0x80) << 12)
+ | ((unsigned int) (s[4] ^ 0x80) << 6)
+ | (unsigned int) (s[5] ^ 0x80);
+ return 6;
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+ /* invalid multibyte character */
+ }
+ else
+ {
+ /* incomplete multibyte character */
+ *puc = 0xfffd;
+ return -2;
+ }
+ }
+#endif
+ }
+ /* invalid multibyte character */
+ *puc = 0xfffd;
+ return -1;
+}
--- /dev/null
+/* Conversion UCS-4 to UTF-8.
+ Copyright (C) 2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include "unistr.h"
+
+int
+u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n)
+{
+ int count;
+
+ if (uc < 0x80)
+ /* The case n >= 1 is already handled by the caller. */
+ return -2;
+ else if (uc < 0x800)
+ count = 2;
+ else if (uc < 0x10000)
+ {
+ if (uc < 0xd800 || uc >= 0xe000)
+ count = 3;
+ else
+ return -1;
+ }
+#if 0
+ else if (uc < 0x200000)
+ count = 4;
+ else if (uc < 0x4000000)
+ count = 5;
+ else if (uc <= 0x7fffffff)
+ count = 6;
+#else
+ else if (uc < 0x110000)
+ count = 4;
+#endif
+ else
+ return -1;
+
+ if (n < count)
+ return -2;
+
+ switch (count) /* note: code falls through cases! */
+ {
+#if 0
+ case 6: s[5] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x4000000;
+ case 5: s[4] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x200000;
+#endif
+ case 4: s[3] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x10000;
+ case 3: s[2] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x800;
+ case 2: s[1] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0xc0;
+ /*case 1:*/ s[0] = uc;
+ }
+ return count;
+}
--- /dev/null
+/* Store a character in UTF-8 string.
+ Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2002.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#if defined IN_LIBUNISTRING
+/* Tell unistr.h to declare u8_uctomb as 'extern', not 'static inline'. */
+# include "unistring-notinline.h"
+#endif
+
+/* Specification. */
+#include "unistr.h"
+
+#if !HAVE_INLINE
+
+int
+u8_uctomb (uint8_t *s, ucs4_t uc, int n)
+{
+ if (uc < 0x80)
+ {
+ if (n > 0)
+ {
+ s[0] = uc;
+ return 1;
+ }
+ /* else return -2, below. */
+ }
+ else
+ {
+ int count;
+
+ if (uc < 0x800)
+ count = 2;
+ else if (uc < 0x10000)
+ {
+ if (uc < 0xd800 || uc >= 0xe000)
+ count = 3;
+ else
+ return -1;
+ }
+#if 0
+ else if (uc < 0x200000)
+ count = 4;
+ else if (uc < 0x4000000)
+ count = 5;
+ else if (uc <= 0x7fffffff)
+ count = 6;
+#else
+ else if (uc < 0x110000)
+ count = 4;
+#endif
+ else
+ return -1;
+
+ if (n >= count)
+ {
+ switch (count) /* note: code falls through cases! */
+ {
+#if 0
+ case 6: s[5] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x4000000;
+ case 5: s[4] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x200000;
+#endif
+ case 4: s[3] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x10000;
+ case 3: s[2] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0x800;
+ case 2: s[1] = 0x80 | (uc & 0x3f); uc = uc >> 6; uc |= 0xc0;
+ /*case 1:*/ s[0] = uc;
+ }
+ return count;
+ }
+ }
+ return -2;
+}
+
+#endif
--- /dev/null
+/* Elementary types for the GNU UniString library.
+ Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _UNITYPES_H
+#define _UNITYPES_H
+
+/* Get uint8_t, uint16_t, uint32_t. */
+#include <stdint.h>
+
+/* Type representing a Unicode character. */
+typedef uint32_t ucs4_t;
+
+#endif /* _UNITYPES_H */
+++ /dev/null
-/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
-
- Copyright (C) 2007-2009 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-/* Written by Eric Blake. */
-
-/*
- * ISO C 99 <wchar.h> for platforms that have issues.
- * <http://www.opengroup.org/susv3xbd/wchar.h.html>
- *
- * For now, this just ensures proper prerequisite inclusion order and
- * the declaration of wcwidth().
- */
-
-#if __GNUC__ >= 3
-@PRAGMA_SYSTEM_HEADER@
-#endif
-
-#if defined __need_mbstate_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H
-/* Special invocation convention:
- - Inside uClibc header files.
- - On HP-UX 11.00 we have a sequence of nested includes
- <wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
- once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
- and once directly. In both situations 'wint_t' is not yet defined,
- therefore we cannot provide the function overrides; instead include only
- the system's <wchar.h>.
- - On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and
- the latter includes <wchar.h>. But here, we have no way to detect whether
- <wctype.h> is completely included or is still being included. */
-
-#@INCLUDE_NEXT@ @NEXT_WCHAR_H@
-
-#else
-/* Normal invocation convention. */
-
-#ifndef _GL_WCHAR_H
-
-#define _GL_ALREADY_INCLUDING_WCHAR_H
-
-/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
- <wchar.h>.
- BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
- included before <wchar.h>. */
-#include <stddef.h>
-#include <stdio.h>
-#include <time.h>
-
-/* Include the original <wchar.h> if it exists.
- Some builds of uClibc lack it. */
-/* The include_next requires a split double-inclusion guard. */
-#if @HAVE_WCHAR_H@
-# @INCLUDE_NEXT@ @NEXT_WCHAR_H@
-#endif
-
-#undef _GL_ALREADY_INCLUDING_WCHAR_H
-
-#ifndef _GL_WCHAR_H
-#define _GL_WCHAR_H
-
-/* The definition of GL_LINK_WARNING is copied here. */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* Define wint_t. (Also done in wctype.in.h.) */
-#if !@HAVE_WINT_T@ && !defined wint_t
-# define wint_t int
-# ifndef WEOF
-# define WEOF -1
-# endif
-#endif
-
-
-/* Override mbstate_t if it is too small.
- On IRIX 6.5, sizeof (mbstate_t) == 1, which is not sufficient for
- implementing mbrtowc for encodings like UTF-8. */
-#if !(@HAVE_MBSINIT@ && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@
-typedef int rpl_mbstate_t;
-# undef mbstate_t
-# define mbstate_t rpl_mbstate_t
-# define GNULIB_defined_mbstate_t 1
-#endif
-
-
-/* Convert a single-byte character to a wide character. */
-#if @GNULIB_BTOWC@
-# if @REPLACE_BTOWC@
-# undef btowc
-# define btowc rpl_btowc
-# endif
-# if !@HAVE_BTOWC@ || @REPLACE_BTOWC@
-extern wint_t btowc (int c);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef btowc
-# define btowc(c) \
- (GL_LINK_WARNING ("btowc is unportable - " \
- "use gnulib module btowc for portability"), \
- btowc (c))
-#endif
-
-
-/* Convert a wide character to a single-byte character. */
-#if @GNULIB_WCTOB@
-# if @REPLACE_WCTOB@
-# undef wctob
-# define wctob rpl_wctob
-# endif
-# if (!defined wctob && !@HAVE_DECL_WCTOB@) || @REPLACE_WCTOB@
-/* wctob is provided by gnulib, or wctob exists but is not declared. */
-extern int wctob (wint_t wc);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wctob
-# define wctob(w) \
- (GL_LINK_WARNING ("wctob is unportable - " \
- "use gnulib module wctob for portability"), \
- wctob (w))
-#endif
-
-
-/* Test whether *PS is in the initial state. */
-#if @GNULIB_MBSINIT@
-# if @REPLACE_MBSINIT@
-# undef mbsinit
-# define mbsinit rpl_mbsinit
-# endif
-# if !@HAVE_MBSINIT@ || @REPLACE_MBSINIT@
-extern int mbsinit (const mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef mbsinit
-# define mbsinit(p) \
- (GL_LINK_WARNING ("mbsinit is unportable - " \
- "use gnulib module mbsinit for portability"), \
- mbsinit (p))
-#endif
-
-
-/* Convert a multibyte character to a wide character. */
-#if @GNULIB_MBRTOWC@
-# if @REPLACE_MBRTOWC@
-# undef mbrtowc
-# define mbrtowc rpl_mbrtowc
-# endif
-# if !@HAVE_MBRTOWC@ || @REPLACE_MBRTOWC@
-extern size_t mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef mbrtowc
-# define mbrtowc(w,s,n,p) \
- (GL_LINK_WARNING ("mbrtowc is unportable - " \
- "use gnulib module mbrtowc for portability"), \
- mbrtowc (w, s, n, p))
-#endif
-
-
-/* Recognize a multibyte character. */
-#if @GNULIB_MBRLEN@
-# if @REPLACE_MBRLEN@
-# undef mbrlen
-# define mbrlen rpl_mbrlen
-# endif
-# if !@HAVE_MBRLEN@ || @REPLACE_MBRLEN@
-extern size_t mbrlen (const char *s, size_t n, mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef mbrlen
-# define mbrlen(s,n,p) \
- (GL_LINK_WARNING ("mbrlen is unportable - " \
- "use gnulib module mbrlen for portability"), \
- mbrlen (s, n, p))
-#endif
-
-
-/* Convert a string to a wide string. */
-#if @GNULIB_MBSRTOWCS@
-# if @REPLACE_MBSRTOWCS@
-# undef mbsrtowcs
-# define mbsrtowcs rpl_mbsrtowcs
-# endif
-# if !@HAVE_MBSRTOWCS@ || @REPLACE_MBSRTOWCS@
-extern size_t mbsrtowcs (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef mbsrtowcs
-# define mbsrtowcs(d,s,l,p) \
- (GL_LINK_WARNING ("mbsrtowcs is unportable - " \
- "use gnulib module mbsrtowcs for portability"), \
- mbsrtowcs (d, s, l, p))
-#endif
-
-
-/* Convert a string to a wide string. */
-#if @GNULIB_MBSNRTOWCS@
-# if @REPLACE_MBSNRTOWCS@
-# undef mbsnrtowcs
-# define mbsnrtowcs rpl_mbsnrtowcs
-# endif
-# if !@HAVE_MBSNRTOWCS@ || @REPLACE_MBSNRTOWCS@
-extern size_t mbsnrtowcs (wchar_t *dest, const char **srcp, size_t srclen, size_t len, mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef mbsnrtowcs
-# define mbsnrtowcs(d,s,n,l,p) \
- (GL_LINK_WARNING ("mbsnrtowcs is unportable - " \
- "use gnulib module mbsnrtowcs for portability"), \
- mbsnrtowcs (d, s, n, l, p))
-#endif
-
-
-/* Convert a wide character to a multibyte character. */
-#if @GNULIB_WCRTOMB@
-# if @REPLACE_WCRTOMB@
-# undef wcrtomb
-# define wcrtomb rpl_wcrtomb
-# endif
-# if !@HAVE_WCRTOMB@ || @REPLACE_WCRTOMB@
-extern size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcrtomb
-# define wcrtomb(s,w,p) \
- (GL_LINK_WARNING ("wcrtomb is unportable - " \
- "use gnulib module wcrtomb for portability"), \
- wcrtomb (s, w, p))
-#endif
-
-
-/* Convert a wide string to a string. */
-#if @GNULIB_WCSRTOMBS@
-# if @REPLACE_WCSRTOMBS@
-# undef wcsrtombs
-# define wcsrtombs rpl_wcsrtombs
-# endif
-# if !@HAVE_WCSRTOMBS@ || @REPLACE_WCSRTOMBS@
-extern size_t wcsrtombs (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcsrtombs
-# define wcsrtombs(d,s,l,p) \
- (GL_LINK_WARNING ("wcsrtombs is unportable - " \
- "use gnulib module wcsrtombs for portability"), \
- wcsrtombs (d, s, l, p))
-#endif
-
-
-/* Convert a wide string to a string. */
-#if @GNULIB_WCSNRTOMBS@
-# if @REPLACE_WCSNRTOMBS@
-# undef wcsnrtombs
-# define wcsnrtombs rpl_wcsnrtombs
-# endif
-# if !@HAVE_WCSNRTOMBS@ || @REPLACE_WCSNRTOMBS@
-extern size_t wcsnrtombs (char *dest, const wchar_t **srcp, size_t srclen, size_t len, mbstate_t *ps);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcsnrtombs
-# define wcsnrtombs(d,s,n,l,p) \
- (GL_LINK_WARNING ("wcsnrtombs is unportable - " \
- "use gnulib module wcsnrtombs for portability"), \
- wcsnrtombs (d, s, n, l, p))
-#endif
-
-
-/* Return the number of screen columns needed for WC. */
-#if @GNULIB_WCWIDTH@
-# if @REPLACE_WCWIDTH@
-# undef wcwidth
-# define wcwidth rpl_wcwidth
-extern int wcwidth (wchar_t);
-# else
-# if !defined wcwidth && !@HAVE_DECL_WCWIDTH@
-/* wcwidth exists but is not declared. */
-extern int wcwidth (int /* actually wchar_t */);
-# endif
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef wcwidth
-# define wcwidth(w) \
- (GL_LINK_WARNING ("wcwidth is unportable - " \
- "use gnulib module wcwidth for portability"), \
- wcwidth (w))
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GL_WCHAR_H */
-#endif /* _GL_WCHAR_H */
-#endif
-## DO NOT EDIT! GENERATED AUTOMATICALLY!
-## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
+## Process this file with automake to produce Makefile.in
+# Copyright (C) 2011 Simon Josefsson.
#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
-# the same distribution terms as the rest of that program.
+# This file is part of GNU Libidn.
#
-# Generated by gnulib-tool.
-
-AUTOMAKE_OPTIONS = 1.5 foreign
-
-SUBDIRS =
-TESTS =
-TESTS_ENVIRONMENT =
-noinst_PROGRAMS =
-check_PROGRAMS =
-noinst_HEADERS =
-noinst_LIBRARIES =
-check_LIBRARIES = libtests.a
-EXTRA_DIST =
-BUILT_SOURCES =
-SUFFIXES =
-MOSTLYCLEANFILES = core *.stackdump
-MOSTLYCLEANDIRS =
-CLEANFILES =
-DISTCLEANFILES =
-MAINTAINERCLEANFILES =
-
-AM_CPPFLAGS = \
- -I. -I$(srcdir) \
- -I../.. -I$(srcdir)/../.. \
- -I../../lib/gl -I$(srcdir)/../../lib/gl
-
-LDADD = libtests.a ../../lib/gl/libgnu.la libtests.a $(LIBTESTS_LIBDEPS)
-
-libtests_a_SOURCES =
-libtests_a_LIBADD = $(lgltests_LIBOBJS)
-libtests_a_DEPENDENCIES = $(lgltests_LIBOBJS)
-EXTRA_libtests_a_SOURCES =
-AM_LIBTOOLFLAGS = --preserve-dup-deps
-
-## begin gnulib module c-ctype-tests
-
-TESTS += test-c-ctype
-check_PROGRAMS += test-c-ctype
-
-EXTRA_DIST += test-c-ctype.c
-
-## end gnulib module c-ctype-tests
-
-## begin gnulib module c-strcase-tests
-
-TESTS += test-c-strcase.sh
-TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' LOCALE_TR_UTF8='@LOCALE_TR_UTF8@'
-check_PROGRAMS += test-c-strcasecmp test-c-strncasecmp
-EXTRA_DIST += test-c-strcase.sh test-c-strcasecmp.c test-c-strncasecmp.c
-
-## end gnulib module c-strcase-tests
-
-## begin gnulib module iconv-tests
-
-TESTS += test-iconv
-check_PROGRAMS += test-iconv
-test_iconv_LDADD = $(LDADD) @LIBICONV@
-
-EXTRA_DIST += test-iconv.c
-
-## end gnulib module iconv-tests
-
-## begin gnulib module intprops
-
-
-EXTRA_DIST += intprops.h
-
-## end gnulib module intprops
-
-## begin gnulib module stdbool-tests
-
-TESTS += test-stdbool
-check_PROGRAMS += test-stdbool
-
-EXTRA_DIST += test-stdbool.c
-
-## end gnulib module stdbool-tests
-
-## begin gnulib module stdint-tests
-
-TESTS += test-stdint
-check_PROGRAMS += test-stdint
-
-EXTRA_DIST += test-stdint.c
-
-## end gnulib module stdint-tests
-
-## begin gnulib module striconv-tests
-
-TESTS += test-striconv
-check_PROGRAMS += test-striconv
-test_striconv_LDADD = $(LDADD) @LIBICONV@
-
-EXTRA_DIST += test-striconv.c
-
-## end gnulib module striconv-tests
-
-## begin gnulib module string-tests
-
-TESTS += test-string
-check_PROGRAMS += test-string
-
-EXTRA_DIST += test-string.c
-
-## end gnulib module string-tests
-
-## begin gnulib module strverscmp-tests
-
-TESTS += test-strverscmp
-check_PROGRAMS += test-strverscmp
-EXTRA_DIST += test-strverscmp.c
-
-## end gnulib module strverscmp-tests
-
-## begin gnulib module verify
-
-libtests_a_SOURCES += verify.h
-
-## end gnulib module verify
-
-## begin gnulib module wchar-tests
-
-TESTS += test-wchar
-check_PROGRAMS += test-wchar
-
-EXTRA_DIST += test-wchar.c
-
-## end gnulib module wchar-tests
-
-## begin gnulib module dummy
-
-libtests_a_SOURCES += dummy.c
-
-## end gnulib module dummy
+# GNU Libidn is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of
+# the License, or (at your option) any later version.
+#
+# GNU Libidn is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with GNU Libidn; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
-# Clean up after Solaris cc.
-clean-local:
- rm -rf SunWS_cache
+include gnulib.mk
-mostlyclean-local: mostlyclean-generic
- @for dir in '' $(MOSTLYCLEANDIRS); do \
- if test -n "$$dir" && test -d $$dir; then \
- echo "rmdir $$dir"; rmdir $$dir; \
- fi; \
- done; \
- :
+AM_CPPFLAGS += $(top_builddir)/gl $(top_srcdir)/gl
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2002-2009 Free Software Foundation, Inc.
+# Copyright (C) 2011 Simon Josefsson.
#
-# This file is free software, distributed under the terms of the GNU
-# General Public License. As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file is part of GNU Libidn.
+#
+# GNU Libidn is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of
+# the License, or (at your option) any later version.
+#
+# GNU Libidn is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with GNU Libidn; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-TESTS = test-c-ctype$(EXEEXT) test-c-strcase.sh test-iconv$(EXEEXT) \
- test-stdbool$(EXEEXT) test-stdint$(EXEEXT) \
- test-striconv$(EXEEXT) test-string$(EXEEXT) \
- test-strverscmp$(EXEEXT) test-wchar$(EXEEXT)
+DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/gnulib.mk
+TESTS = test-alloca-opt$(EXEEXT) test-c-ctype$(EXEEXT) \
+ test-c-strcase.sh test-environ$(EXEEXT) test-iconv$(EXEEXT) \
+ test-intprops$(EXEEXT) test-inttypes$(EXEEXT) \
+ test-locale$(EXEEXT) test-localename$(EXEEXT) \
+ test-lock$(EXEEXT) test-malloca$(EXEEXT) test-setenv$(EXEEXT) \
+ test-setlocale1.sh test-setlocale2.sh test-stdbool$(EXEEXT) \
+ test-stddef$(EXEEXT) test-stdint$(EXEEXT) test-stdlib$(EXEEXT) \
+ test-striconv$(EXEEXT) test-strverscmp$(EXEEXT) \
+ test-thread_self$(EXEEXT) test-thread_create$(EXEEXT) \
+ test-unistd$(EXEEXT) test-u8-mbtoucr$(EXEEXT) \
+ test-u8-uctomb$(EXEEXT) test-unsetenv$(EXEEXT) \
+ test-verify$(EXEEXT) test-verify.sh
+XFAIL_TESTS =
noinst_PROGRAMS =
-check_PROGRAMS = test-c-ctype$(EXEEXT) test-c-strcasecmp$(EXEEXT) \
- test-c-strncasecmp$(EXEEXT) test-iconv$(EXEEXT) \
- test-stdbool$(EXEEXT) test-stdint$(EXEEXT) \
- test-striconv$(EXEEXT) test-string$(EXEEXT) \
- test-strverscmp$(EXEEXT) test-wchar$(EXEEXT)
+check_PROGRAMS = test-alloca-opt$(EXEEXT) test-c-ctype$(EXEEXT) \
+ test-c-strcasecmp$(EXEEXT) test-c-strncasecmp$(EXEEXT) \
+ test-environ$(EXEEXT) test-iconv$(EXEEXT) \
+ test-intprops$(EXEEXT) test-inttypes$(EXEEXT) \
+ test-locale$(EXEEXT) test-localename$(EXEEXT) \
+ test-lock$(EXEEXT) test-malloca$(EXEEXT) test-setenv$(EXEEXT) \
+ test-setlocale1$(EXEEXT) test-setlocale2$(EXEEXT) \
+ test-stdbool$(EXEEXT) test-stddef$(EXEEXT) \
+ test-stdint$(EXEEXT) test-stdlib$(EXEEXT) \
+ test-striconv$(EXEEXT) test-strverscmp$(EXEEXT) \
+ test-thread_self$(EXEEXT) test-thread_create$(EXEEXT) \
+ test-unistd$(EXEEXT) test-u8-mbtoucr$(EXEEXT) \
+ test-u8-uctomb$(EXEEXT) test-unsetenv$(EXEEXT) \
+ test-verify$(EXEEXT)
subdir = lib/gltests
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
+AM_V_AR = $(am__v_AR_$(V))
+am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+am__v_AR_0 = @echo " AR " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
libtests_a_AR = $(AR) $(ARFLAGS)
am__DEPENDENCIES_1 =
-am_libtests_a_OBJECTS = dummy.$(OBJEXT)
+am__dirstamp = $(am__leading_dot)dirstamp
+am_libtests_a_OBJECTS = localename.$(OBJEXT) glthread/lock.$(OBJEXT) \
+ malloca.$(OBJEXT) glthread/thread.$(OBJEXT) \
+ glthread/threadlib.$(OBJEXT)
libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
PROGRAMS = $(noinst_PROGRAMS)
+test_alloca_opt_SOURCES = test-alloca-opt.c
+test_alloca_opt_OBJECTS = test-alloca-opt.$(OBJEXT)
+test_alloca_opt_LDADD = $(LDADD)
+test_alloca_opt_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
+ libtests.a $(am__DEPENDENCIES_1)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
test_c_ctype_SOURCES = test-c-ctype.c
test_c_ctype_OBJECTS = test-c-ctype.$(OBJEXT)
test_c_ctype_LDADD = $(LDADD)
test_c_strncasecmp_LDADD = $(LDADD)
test_c_strncasecmp_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
libtests.a $(am__DEPENDENCIES_1)
+test_environ_SOURCES = test-environ.c
+test_environ_OBJECTS = test-environ.$(OBJEXT)
+test_environ_LDADD = $(LDADD)
+test_environ_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
+ libtests.a $(am__DEPENDENCIES_1)
test_iconv_SOURCES = test-iconv.c
test_iconv_OBJECTS = test-iconv.$(OBJEXT)
am__DEPENDENCIES_2 = libtests.a ../../lib/gl/libgnu.la libtests.a \
$(am__DEPENDENCIES_1)
test_iconv_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_intprops_SOURCES = test-intprops.c
+test_intprops_OBJECTS = test-intprops.$(OBJEXT)
+test_intprops_LDADD = $(LDADD)
+test_intprops_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
+ libtests.a $(am__DEPENDENCIES_1)
+test_inttypes_SOURCES = test-inttypes.c
+test_inttypes_OBJECTS = test-inttypes.$(OBJEXT)
+test_inttypes_LDADD = $(LDADD)
+test_inttypes_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
+ libtests.a $(am__DEPENDENCIES_1)
+test_locale_SOURCES = test-locale.c
+test_locale_OBJECTS = test-locale.$(OBJEXT)
+test_locale_LDADD = $(LDADD)
+test_locale_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
+ libtests.a $(am__DEPENDENCIES_1)
+test_localename_SOURCES = test-localename.c
+test_localename_OBJECTS = test-localename.$(OBJEXT)
+test_localename_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1)
+test_lock_SOURCES = test-lock.c
+test_lock_OBJECTS = test-lock.$(OBJEXT)
+test_lock_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_malloca_SOURCES = test-malloca.c
+test_malloca_OBJECTS = test-malloca.$(OBJEXT)
+test_malloca_LDADD = $(LDADD)
+test_malloca_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
+ libtests.a $(am__DEPENDENCIES_1)
+test_setenv_SOURCES = test-setenv.c
+test_setenv_OBJECTS = test-setenv.$(OBJEXT)
+test_setenv_LDADD = $(LDADD)
+test_setenv_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
+ libtests.a $(am__DEPENDENCIES_1)
+test_setlocale1_SOURCES = test-setlocale1.c
+test_setlocale1_OBJECTS = test-setlocale1.$(OBJEXT)
+test_setlocale1_LDADD = $(LDADD)
+test_setlocale1_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
+ libtests.a $(am__DEPENDENCIES_1)
+test_setlocale2_SOURCES = test-setlocale2.c
+test_setlocale2_OBJECTS = test-setlocale2.$(OBJEXT)
+test_setlocale2_LDADD = $(LDADD)
+test_setlocale2_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
+ libtests.a $(am__DEPENDENCIES_1)
test_stdbool_SOURCES = test-stdbool.c
test_stdbool_OBJECTS = test-stdbool.$(OBJEXT)
test_stdbool_LDADD = $(LDADD)
test_stdbool_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
libtests.a $(am__DEPENDENCIES_1)
+test_stddef_SOURCES = test-stddef.c
+test_stddef_OBJECTS = test-stddef.$(OBJEXT)
+test_stddef_LDADD = $(LDADD)
+test_stddef_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
+ libtests.a $(am__DEPENDENCIES_1)
test_stdint_SOURCES = test-stdint.c
test_stdint_OBJECTS = test-stdint.$(OBJEXT)
test_stdint_LDADD = $(LDADD)
test_stdint_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
libtests.a $(am__DEPENDENCIES_1)
+test_stdlib_SOURCES = test-stdlib.c
+test_stdlib_OBJECTS = test-stdlib.$(OBJEXT)
+test_stdlib_LDADD = $(LDADD)
+test_stdlib_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
+ libtests.a $(am__DEPENDENCIES_1)
test_striconv_SOURCES = test-striconv.c
test_striconv_OBJECTS = test-striconv.$(OBJEXT)
test_striconv_DEPENDENCIES = $(am__DEPENDENCIES_2)
-test_string_SOURCES = test-string.c
-test_string_OBJECTS = test-string.$(OBJEXT)
-test_string_LDADD = $(LDADD)
-test_string_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
- libtests.a $(am__DEPENDENCIES_1)
test_strverscmp_SOURCES = test-strverscmp.c
test_strverscmp_OBJECTS = test-strverscmp.$(OBJEXT)
test_strverscmp_LDADD = $(LDADD)
test_strverscmp_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
libtests.a $(am__DEPENDENCIES_1)
-test_wchar_SOURCES = test-wchar.c
-test_wchar_OBJECTS = test-wchar.$(OBJEXT)
-test_wchar_LDADD = $(LDADD)
-test_wchar_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la libtests.a \
- $(am__DEPENDENCIES_1)
+test_thread_create_SOURCES = test-thread_create.c
+test_thread_create_OBJECTS = test-thread_create.$(OBJEXT)
+test_thread_create_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_thread_self_SOURCES = test-thread_self.c
+test_thread_self_OBJECTS = test-thread_self.$(OBJEXT)
+test_thread_self_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_test_u8_mbtoucr_OBJECTS = unistr/test-u8-mbtoucr.$(OBJEXT)
+test_u8_mbtoucr_OBJECTS = $(am_test_u8_mbtoucr_OBJECTS)
+test_u8_mbtoucr_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_test_u8_uctomb_OBJECTS = unistr/test-u8-uctomb.$(OBJEXT)
+test_u8_uctomb_OBJECTS = $(am_test_u8_uctomb_OBJECTS)
+test_u8_uctomb_DEPENDENCIES = $(am__DEPENDENCIES_2)
+test_unistd_SOURCES = test-unistd.c
+test_unistd_OBJECTS = test-unistd.$(OBJEXT)
+test_unistd_LDADD = $(LDADD)
+test_unistd_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
+ libtests.a $(am__DEPENDENCIES_1)
+test_unsetenv_SOURCES = test-unsetenv.c
+test_unsetenv_OBJECTS = test-unsetenv.$(OBJEXT)
+test_unsetenv_LDADD = $(LDADD)
+test_unsetenv_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
+ libtests.a $(am__DEPENDENCIES_1)
+test_verify_SOURCES = test-verify.c
+test_verify_OBJECTS = test-verify.$(OBJEXT)
+test_verify_LDADD = $(LDADD)
+test_verify_DEPENDENCIES = libtests.a ../../lib/gl/libgnu.la \
+ libtests.a $(am__DEPENDENCIES_1)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
- test-c-ctype.c test-c-strcasecmp.c test-c-strncasecmp.c \
- test-iconv.c test-stdbool.c test-stdint.c test-striconv.c \
- test-string.c test-strverscmp.c test-wchar.c
+ test-alloca-opt.c test-c-ctype.c test-c-strcasecmp.c \
+ test-c-strncasecmp.c test-environ.c test-iconv.c \
+ test-intprops.c test-inttypes.c test-locale.c \
+ test-localename.c test-lock.c test-malloca.c test-setenv.c \
+ test-setlocale1.c test-setlocale2.c test-stdbool.c \
+ test-stddef.c test-stdint.c test-stdlib.c test-striconv.c \
+ test-strverscmp.c test-thread_create.c test-thread_self.c \
+ $(test_u8_mbtoucr_SOURCES) $(test_u8_uctomb_SOURCES) \
+ test-unistd.c test-unsetenv.c test-verify.c
DIST_SOURCES = $(libtests_a_SOURCES) $(EXTRA_libtests_a_SOURCES) \
- test-c-ctype.c test-c-strcasecmp.c test-c-strncasecmp.c \
- test-iconv.c test-stdbool.c test-stdint.c test-striconv.c \
- test-string.c test-strverscmp.c test-wchar.c
+ test-alloca-opt.c test-c-ctype.c test-c-strcasecmp.c \
+ test-c-strncasecmp.c test-environ.c test-iconv.c \
+ test-intprops.c test-inttypes.c test-locale.c \
+ test-localename.c test-lock.c test-malloca.c test-setenv.c \
+ test-setlocale1.c test-setlocale2.c test-stdbool.c \
+ test-stddef.c test-stdint.c test-stdlib.c test-striconv.c \
+ test-strverscmp.c test-thread_create.c test-thread_self.c \
+ $(test_u8_mbtoucr_SOURCES) $(test_u8_uctomb_SOURCES) \
+ test-unistd.c test-unsetenv.c test-verify.c
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AUTOMAKE_OPTIONS = 1.5 foreign
-SUBDIRS =
-TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' LOCALE_FR='@LOCALE_FR@' \
- LOCALE_TR_UTF8='@LOCALE_TR_UTF8@'
+AUTOMAKE_OPTIONS = 1.5 foreign subdir-objects
+SUBDIRS = .
+TESTS_ENVIRONMENT = EXEEXT='@EXEEXT@' srcdir='$(srcdir)' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_TR_UTF8='@LOCALE_TR_UTF8@' \
+ LOCALE_FR='@LOCALE_FR@' LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' LOCALE_ZH_CN='@LOCALE_ZH_CN@' \
+ MAKE='$(MAKE)'
noinst_HEADERS =
noinst_LIBRARIES =
check_LIBRARIES = libtests.a
-EXTRA_DIST = test-c-ctype.c test-c-strcase.sh test-c-strcasecmp.c \
- test-c-strncasecmp.c test-iconv.c intprops.h test-stdbool.c \
- test-stdint.c test-striconv.c test-string.c test-strverscmp.c \
- test-wchar.c
-BUILT_SOURCES =
+EXTRA_DIST = alloca.in.h test-alloca-opt.c test-c-ctype.c macros.h \
+ test-c-strcase.sh test-c-strcasecmp.c test-c-strncasecmp.c \
+ macros.h test-environ.c test-iconv.c signature.h macros.h \
+ intprops.h test-intprops.c macros.h inttypes.in.h \
+ test-inttypes.c locale.in.h test-locale.c localename.h \
+ test-localename.c macros.h test-lock.c malloc.c malloca.h \
+ malloca.valgrind test-malloca.c putenv.c setenv.c \
+ test-setenv.c signature.h macros.h setlocale.c \
+ test-setlocale1.sh test-setlocale1.c test-setlocale2.sh \
+ test-setlocale2.c signature.h macros.h \
+ $(top_srcdir)/build-aux/snippet/_Noreturn.h \
+ $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ $(top_srcdir)/build-aux/snippet/c++defs.h \
+ $(top_srcdir)/build-aux/snippet/unused-parameter.h \
+ $(top_srcdir)/build-aux/snippet/warn-on-use.h test-stdbool.c \
+ test-stddef.c test-stdint.c stdlib.in.h test-stdlib.c \
+ test-sys_wait.h test-striconv.c macros.h test-strverscmp.c \
+ signature.h macros.h test-thread_self.c test-thread_create.c \
+ macros.h $(top_srcdir)/build-aux/config.rpath unistd.in.h \
+ test-unistd.c unistr/test-u8-mbtoucr.c macros.h \
+ unistr/test-u8-uctomb.c macros.h unsetenv.c test-unsetenv.c \
+ signature.h macros.h verify.h test-verify.c test-verify.sh \
+ init.sh wchar.in.h
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+BUILT_SOURCES = $(ALLOCA_H) inttypes.h locale.h arg-nonnull.h \
+ c++defs.h unused-parameter.h warn-on-use.h stdlib.h unistd.h \
+ wchar.h
SUFFIXES =
-MOSTLYCLEANFILES = core *.stackdump
+MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t inttypes.h \
+ inttypes.h-t locale.h locale.h-t arg-nonnull.h arg-nonnull.h-t \
+ c++defs.h c++defs.h-t unused-parameter.h unused-parameter.h-t \
+ warn-on-use.h warn-on-use.h-t stdlib.h stdlib.h-t unistd.h \
+ unistd.h-t wchar.h wchar.h-t
MOSTLYCLEANDIRS =
CLEANFILES =
DISTCLEANFILES =
MAINTAINERCLEANFILES =
-AM_CPPFLAGS = \
- -I. -I$(srcdir) \
- -I../.. -I$(srcdir)/../.. \
- -I../../lib/gl -I$(srcdir)/../../lib/gl
-
+AM_CPPFLAGS = -D@lgltests_WITNESS@=1 -I. -I$(srcdir) -I../.. \
+ -I$(srcdir)/../.. -I../../lib/gl -I$(srcdir)/../../lib/gl \
+ $(top_builddir)/gl $(top_srcdir)/gl
LDADD = libtests.a ../../lib/gl/libgnu.la libtests.a $(LIBTESTS_LIBDEPS)
-libtests_a_SOURCES = verify.h dummy.c
+libtests_a_SOURCES = localename.c glthread/lock.h glthread/lock.c \
+ malloca.c glthread/thread.h glthread/thread.c \
+ glthread/threadlib.c glthread/yield.h
libtests_a_LIBADD = $(lgltests_LIBOBJS)
libtests_a_DEPENDENCIES = $(lgltests_LIBOBJS)
-EXTRA_libtests_a_SOURCES =
+EXTRA_libtests_a_SOURCES = malloc.c putenv.c setenv.c setlocale.c \
+ unsetenv.c
AM_LIBTOOLFLAGS = --preserve-dup-deps
test_iconv_LDADD = $(LDADD) @LIBICONV@
+test_localename_LDADD = $(LDADD) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
+test_lock_LDADD = $(LDADD) @LIBMULTITHREAD@ @YIELD_LIB@
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all Makefile.am that
+# need it. This is ensured by the applicability 'all' defined above.
+_NORETURN_H = $(top_srcdir)/build-aux/snippet/_Noreturn.h
+ARG_NONNULL_H = arg-nonnull.h
+CXXDEFS_H = c++defs.h
+UNUSED_PARAMETER_H = unused-parameter.h
+WARN_ON_USE_H = warn-on-use.h
test_striconv_LDADD = $(LDADD) @LIBICONV@
+test_thread_self_LDADD = $(LDADD) @LIBTHREAD@
+test_thread_create_LDADD = $(LDADD) @LIBMULTITHREAD@
+test_u8_mbtoucr_SOURCES = unistr/test-u8-mbtoucr.c
+test_u8_mbtoucr_LDADD = $(LDADD) $(LIBUNISTRING)
+test_u8_uctomb_SOURCES = unistr/test-u8-uctomb.c
+test_u8_uctomb_LDADD = $(LDADD) $(LIBUNISTRING)
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/gnulib.mk $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
clean-noinstLIBRARIES:
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+glthread/$(am__dirstamp):
+ @$(MKDIR_P) glthread
+ @: > glthread/$(am__dirstamp)
+glthread/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) glthread/$(DEPDIR)
+ @: > glthread/$(DEPDIR)/$(am__dirstamp)
+glthread/lock.$(OBJEXT): glthread/$(am__dirstamp) \
+ glthread/$(DEPDIR)/$(am__dirstamp)
+glthread/thread.$(OBJEXT): glthread/$(am__dirstamp) \
+ glthread/$(DEPDIR)/$(am__dirstamp)
+glthread/threadlib.$(OBJEXT): glthread/$(am__dirstamp) \
+ glthread/$(DEPDIR)/$(am__dirstamp)
libtests.a: $(libtests_a_OBJECTS) $(libtests_a_DEPENDENCIES)
- -rm -f libtests.a
- $(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD)
- $(RANLIB) libtests.a
+ $(AM_V_at)-rm -f libtests.a
+ $(AM_V_AR)$(libtests_a_AR) libtests.a $(libtests_a_OBJECTS) $(libtests_a_LIBADD)
+ $(AM_V_at)$(RANLIB) libtests.a
clean-checkPROGRAMS:
@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
+test-alloca-opt$(EXEEXT): $(test_alloca_opt_OBJECTS) $(test_alloca_opt_DEPENDENCIES)
+ @rm -f test-alloca-opt$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_alloca_opt_OBJECTS) $(test_alloca_opt_LDADD) $(LIBS)
test-c-ctype$(EXEEXT): $(test_c_ctype_OBJECTS) $(test_c_ctype_DEPENDENCIES)
@rm -f test-c-ctype$(EXEEXT)
- $(LINK) $(test_c_ctype_OBJECTS) $(test_c_ctype_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_c_ctype_OBJECTS) $(test_c_ctype_LDADD) $(LIBS)
test-c-strcasecmp$(EXEEXT): $(test_c_strcasecmp_OBJECTS) $(test_c_strcasecmp_DEPENDENCIES)
@rm -f test-c-strcasecmp$(EXEEXT)
- $(LINK) $(test_c_strcasecmp_OBJECTS) $(test_c_strcasecmp_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_c_strcasecmp_OBJECTS) $(test_c_strcasecmp_LDADD) $(LIBS)
test-c-strncasecmp$(EXEEXT): $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_DEPENDENCIES)
@rm -f test-c-strncasecmp$(EXEEXT)
- $(LINK) $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_c_strncasecmp_OBJECTS) $(test_c_strncasecmp_LDADD) $(LIBS)
+test-environ$(EXEEXT): $(test_environ_OBJECTS) $(test_environ_DEPENDENCIES)
+ @rm -f test-environ$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_environ_OBJECTS) $(test_environ_LDADD) $(LIBS)
test-iconv$(EXEEXT): $(test_iconv_OBJECTS) $(test_iconv_DEPENDENCIES)
@rm -f test-iconv$(EXEEXT)
- $(LINK) $(test_iconv_OBJECTS) $(test_iconv_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_iconv_OBJECTS) $(test_iconv_LDADD) $(LIBS)
+test-intprops$(EXEEXT): $(test_intprops_OBJECTS) $(test_intprops_DEPENDENCIES)
+ @rm -f test-intprops$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_intprops_OBJECTS) $(test_intprops_LDADD) $(LIBS)
+test-inttypes$(EXEEXT): $(test_inttypes_OBJECTS) $(test_inttypes_DEPENDENCIES)
+ @rm -f test-inttypes$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_inttypes_OBJECTS) $(test_inttypes_LDADD) $(LIBS)
+test-locale$(EXEEXT): $(test_locale_OBJECTS) $(test_locale_DEPENDENCIES)
+ @rm -f test-locale$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_locale_OBJECTS) $(test_locale_LDADD) $(LIBS)
+test-localename$(EXEEXT): $(test_localename_OBJECTS) $(test_localename_DEPENDENCIES)
+ @rm -f test-localename$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_localename_OBJECTS) $(test_localename_LDADD) $(LIBS)
+test-lock$(EXEEXT): $(test_lock_OBJECTS) $(test_lock_DEPENDENCIES)
+ @rm -f test-lock$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_lock_OBJECTS) $(test_lock_LDADD) $(LIBS)
+test-malloca$(EXEEXT): $(test_malloca_OBJECTS) $(test_malloca_DEPENDENCIES)
+ @rm -f test-malloca$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_malloca_OBJECTS) $(test_malloca_LDADD) $(LIBS)
+test-setenv$(EXEEXT): $(test_setenv_OBJECTS) $(test_setenv_DEPENDENCIES)
+ @rm -f test-setenv$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_setenv_OBJECTS) $(test_setenv_LDADD) $(LIBS)
+test-setlocale1$(EXEEXT): $(test_setlocale1_OBJECTS) $(test_setlocale1_DEPENDENCIES)
+ @rm -f test-setlocale1$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_setlocale1_OBJECTS) $(test_setlocale1_LDADD) $(LIBS)
+test-setlocale2$(EXEEXT): $(test_setlocale2_OBJECTS) $(test_setlocale2_DEPENDENCIES)
+ @rm -f test-setlocale2$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_setlocale2_OBJECTS) $(test_setlocale2_LDADD) $(LIBS)
test-stdbool$(EXEEXT): $(test_stdbool_OBJECTS) $(test_stdbool_DEPENDENCIES)
@rm -f test-stdbool$(EXEEXT)
- $(LINK) $(test_stdbool_OBJECTS) $(test_stdbool_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_stdbool_OBJECTS) $(test_stdbool_LDADD) $(LIBS)
+test-stddef$(EXEEXT): $(test_stddef_OBJECTS) $(test_stddef_DEPENDENCIES)
+ @rm -f test-stddef$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_stddef_OBJECTS) $(test_stddef_LDADD) $(LIBS)
test-stdint$(EXEEXT): $(test_stdint_OBJECTS) $(test_stdint_DEPENDENCIES)
@rm -f test-stdint$(EXEEXT)
- $(LINK) $(test_stdint_OBJECTS) $(test_stdint_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_stdint_OBJECTS) $(test_stdint_LDADD) $(LIBS)
+test-stdlib$(EXEEXT): $(test_stdlib_OBJECTS) $(test_stdlib_DEPENDENCIES)
+ @rm -f test-stdlib$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_stdlib_OBJECTS) $(test_stdlib_LDADD) $(LIBS)
test-striconv$(EXEEXT): $(test_striconv_OBJECTS) $(test_striconv_DEPENDENCIES)
@rm -f test-striconv$(EXEEXT)
- $(LINK) $(test_striconv_OBJECTS) $(test_striconv_LDADD) $(LIBS)
-test-string$(EXEEXT): $(test_string_OBJECTS) $(test_string_DEPENDENCIES)
- @rm -f test-string$(EXEEXT)
- $(LINK) $(test_string_OBJECTS) $(test_string_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_striconv_OBJECTS) $(test_striconv_LDADD) $(LIBS)
test-strverscmp$(EXEEXT): $(test_strverscmp_OBJECTS) $(test_strverscmp_DEPENDENCIES)
@rm -f test-strverscmp$(EXEEXT)
- $(LINK) $(test_strverscmp_OBJECTS) $(test_strverscmp_LDADD) $(LIBS)
-test-wchar$(EXEEXT): $(test_wchar_OBJECTS) $(test_wchar_DEPENDENCIES)
- @rm -f test-wchar$(EXEEXT)
- $(LINK) $(test_wchar_OBJECTS) $(test_wchar_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(test_strverscmp_OBJECTS) $(test_strverscmp_LDADD) $(LIBS)
+test-thread_create$(EXEEXT): $(test_thread_create_OBJECTS) $(test_thread_create_DEPENDENCIES)
+ @rm -f test-thread_create$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_thread_create_OBJECTS) $(test_thread_create_LDADD) $(LIBS)
+test-thread_self$(EXEEXT): $(test_thread_self_OBJECTS) $(test_thread_self_DEPENDENCIES)
+ @rm -f test-thread_self$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_thread_self_OBJECTS) $(test_thread_self_LDADD) $(LIBS)
+unistr/$(am__dirstamp):
+ @$(MKDIR_P) unistr
+ @: > unistr/$(am__dirstamp)
+unistr/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) unistr/$(DEPDIR)
+ @: > unistr/$(DEPDIR)/$(am__dirstamp)
+unistr/test-u8-mbtoucr.$(OBJEXT): unistr/$(am__dirstamp) \
+ unistr/$(DEPDIR)/$(am__dirstamp)
+test-u8-mbtoucr$(EXEEXT): $(test_u8_mbtoucr_OBJECTS) $(test_u8_mbtoucr_DEPENDENCIES)
+ @rm -f test-u8-mbtoucr$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_u8_mbtoucr_OBJECTS) $(test_u8_mbtoucr_LDADD) $(LIBS)
+unistr/test-u8-uctomb.$(OBJEXT): unistr/$(am__dirstamp) \
+ unistr/$(DEPDIR)/$(am__dirstamp)
+test-u8-uctomb$(EXEEXT): $(test_u8_uctomb_OBJECTS) $(test_u8_uctomb_DEPENDENCIES)
+ @rm -f test-u8-uctomb$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_u8_uctomb_OBJECTS) $(test_u8_uctomb_LDADD) $(LIBS)
+test-unistd$(EXEEXT): $(test_unistd_OBJECTS) $(test_unistd_DEPENDENCIES)
+ @rm -f test-unistd$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_unistd_OBJECTS) $(test_unistd_LDADD) $(LIBS)
+test-unsetenv$(EXEEXT): $(test_unsetenv_OBJECTS) $(test_unsetenv_DEPENDENCIES)
+ @rm -f test-unsetenv$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_unsetenv_OBJECTS) $(test_unsetenv_LDADD) $(LIBS)
+test-verify$(EXEEXT): $(test_verify_OBJECTS) $(test_verify_DEPENDENCIES)
+ @rm -f test-verify$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_verify_OBJECTS) $(test_verify_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
+ -rm -f glthread/lock.$(OBJEXT)
+ -rm -f glthread/thread.$(OBJEXT)
+ -rm -f glthread/threadlib.$(OBJEXT)
+ -rm -f unistr/test-u8-mbtoucr.$(OBJEXT)
+ -rm -f unistr/test-u8-uctomb.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dummy.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/localename.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloca.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/putenv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setlocale.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-alloca-opt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-ctype.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strcasecmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-c-strncasecmp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-environ.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-iconv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-intprops.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-inttypes.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-locale.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-localename.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-lock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-malloca.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setenv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-setlocale2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdbool.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stddef.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdint.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-stdlib.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-striconv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-string.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-strverscmp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wchar.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-thread_create.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-thread_self.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unistd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unsetenv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-verify.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/lock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/thread.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/threadlib.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u8-mbtoucr.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@unistr/$(DEPDIR)/test-u8-uctomb.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f glthread/$(DEPDIR)/$(am__dirstamp)
+ -rm -f glthread/$(am__dirstamp)
+ -rm -f unistr/$(DEPDIR)/$(am__dirstamp)
+ -rm -f unistr/$(am__dirstamp)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
clean-noinstPROGRAMS mostlyclean-am
distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR) glthread/$(DEPDIR) unistr/$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
installcheck-am:
maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
+ -rm -rf ./$(DEPDIR) glthread/$(DEPDIR) unistr/$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
tags-recursive uninstall uninstall-am
+# We need the following in order to create <alloca.h> when the system
+# doesn't have one that works with the given compiler.
+@GL_GENERATE_ALLOCA_H_TRUE@alloca.h: alloca.in.h $(top_builddir)/config.status
+@GL_GENERATE_ALLOCA_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \
+@GL_GENERATE_ALLOCA_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+@GL_GENERATE_ALLOCA_H_TRUE@ cat $(srcdir)/alloca.in.h; \
+@GL_GENERATE_ALLOCA_H_TRUE@ } > $@-t && \
+@GL_GENERATE_ALLOCA_H_TRUE@ mv -f $@-t $@
+@GL_GENERATE_ALLOCA_H_FALSE@alloca.h: $(top_builddir)/config.status
+@GL_GENERATE_ALLOCA_H_FALSE@ rm -f $@
+
+# We need the following in order to create <inttypes.h> when the system
+# doesn't have one that works with the given compiler.
+inttypes.h: inttypes.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_NONNULL_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
+ -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
+ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
+ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
+ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
+ -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
+ -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
+ -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
+ -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
+ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
+ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
+ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
+ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
+ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
+ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
+ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
+ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/inttypes.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+
+# We need the following in order to create <locale.h> when the system
+# doesn't have one that provides all definitions.
+locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \
+ -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
+ -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
+ -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
+ -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
+ -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
+ -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/locale.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+# The arg-nonnull.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
+# off.
+arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_ARG_NONNULL/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ > $@-t && \
+ mv $@-t $@
+# The c++defs.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
+c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/_GL_CXXDEFS/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/c++defs.h \
+ > $@-t && \
+ mv $@-t $@
+# The unused-parameter.h that gets inserted into generated .h files is the same
+# as build-aux/snippet/unused-parameter.h, except that it has the copyright
+# header cut off.
+unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/unused-parameter.h \
+ > $@-t && \
+ mv $@-t $@
+# The warn-on-use.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
+# off.
+warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/^.ifndef/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
+ > $@-t && \
+ mv $@-t $@
+
+# We need the following in order to create <stdlib.h> when the system
+# doesn't have one that works with the given compiler.
+stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
+ $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
+ -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \
+ -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \
+ -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \
+ -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \
+ -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \
+ -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \
+ -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \
+ -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \
+ -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \
+ -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
+ -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
+ -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
+ -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
+ -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
+ -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
+ -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
+ -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
+ -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
+ -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
+ -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
+ -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
+ -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
+ -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \
+ -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \
+ -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \
+ -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \
+ -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \
+ < $(srcdir)/stdlib.in.h | \
+ sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
+ -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
+ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
+ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
+ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
+ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
+ -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
+ -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
+ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
+ -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
+ -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+ -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
+ -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
+ -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+ -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
+ -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
+ -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
+ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
+ -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
+ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
+ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
+ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
+ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
+ -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
+ -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
+ -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
+ -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
+ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
+ -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
+ -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
+ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
+ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
+ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+ -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
+ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
+ -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
+ -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
+ -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
+ -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _Noreturn/r $(_NORETURN_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
+ mv $@-t $@
+
+# We need the following in order to create an empty placeholder for
+# <unistd.h> when the system doesn't have one.
+unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+ -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
+ -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \
+ -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
+ -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
+ -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \
+ -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
+ -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
+ -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \
+ -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \
+ -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \
+ -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \
+ -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \
+ -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \
+ -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \
+ -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \
+ -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \
+ -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \
+ -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \
+ -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \
+ -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \
+ -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
+ -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
+ -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
+ -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
+ -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
+ -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
+ -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
+ -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
+ -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \
+ -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \
+ -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \
+ -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \
+ -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \
+ -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \
+ -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \
+ -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \
+ -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \
+ -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
+ -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
+ -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
+ -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
+ -e 's/@''GNULIB_UNISTD_H_GETOPT''@/$(GNULIB_UNISTD_H_GETOPT)/g' \
+ -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
+ -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
+ -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
+ -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \
+ -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \
+ -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \
+ < $(srcdir)/unistd.in.h | \
+ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
+ -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
+ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
+ -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
+ -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
+ -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
+ -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
+ -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \
+ -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
+ -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
+ -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
+ -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
+ -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
+ -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \
+ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
+ -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
+ -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
+ -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
+ -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \
+ -e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \
+ -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \
+ -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \
+ -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \
+ -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
+ -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
+ -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
+ -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
+ -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
+ -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
+ -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
+ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
+ -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
+ -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
+ -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
+ -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
+ -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
+ -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
+ -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
+ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
+ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
+ | \
+ sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
+ -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
+ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
+ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
+ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
+ -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
+ -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
+ -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
+ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
+ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
+ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
+ -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
+ -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
+ -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
+ -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
+ -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
+ -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
+ -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
+ -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
+ -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
+ -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
+ -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
+ -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
+ -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
+ -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \
+ -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
+ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
+ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
+ mv $@-t $@
+
+# We need the following in order to create <wchar.h> when the system
+# version does not work standalone.
+wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
+ -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
+ -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
+ -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
+ -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
+ -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
+ -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \
+ -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \
+ -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \
+ -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \
+ -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \
+ -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \
+ -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \
+ -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \
+ -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \
+ -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \
+ -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \
+ -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \
+ -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \
+ -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \
+ -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \
+ -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \
+ -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \
+ -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \
+ -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \
+ -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \
+ -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \
+ -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \
+ -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \
+ -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \
+ -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \
+ -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \
+ -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \
+ -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \
+ -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \
+ -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \
+ -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \
+ -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \
+ -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \
+ -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \
+ -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
+ -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
+ < $(srcdir)/wchar.in.h | \
+ sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
+ -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
+ -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
+ -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
+ -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
+ -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
+ -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
+ -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
+ -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
+ -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
+ -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
+ -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
+ -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
+ -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
+ -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
+ -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
+ -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
+ -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
+ -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
+ -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
+ -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
+ -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
+ -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
+ -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
+ -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
+ -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
+ -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
+ -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
+ -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
+ -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
+ -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
+ -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
+ -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
+ -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
+ -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
+ -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
+ -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
+ -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
+ -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
+ -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
+ | \
+ sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
+ -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
+ -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
+ -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
+ -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
+ -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
+ -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
+ -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
+ -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
+ -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
+ -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
+ -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
+ -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
+ mv $@-t $@
+
# Clean up after Solaris cc.
clean-local:
rm -rf SunWS_cache
--- /dev/null
+/* Memory allocation on the stack.
+
+ Copyright (C) 1995, 1999, 2001-2004, 2006-2011 Free Software Foundation,
+ Inc.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public
+ License along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ USA. */
+
+/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H
+ means there is a real alloca function. */
+#ifndef _GL_ALLOCA_H
+#define _GL_ALLOCA_H
+
+/* alloca (N) returns a pointer to N bytes of memory
+ allocated on the stack, which will last until the function returns.
+ Use of alloca should be avoided:
+ - inside arguments of function calls - undefined behaviour,
+ - in inline functions - the allocation may actually last until the
+ calling function returns,
+ - for huge N (say, N >= 65536) - you never know how large (or small)
+ the stack is, and when the stack cannot fulfill the memory allocation
+ request, the program just crashes.
+ */
+
+#ifndef alloca
+# ifdef __GNUC__
+# define alloca __builtin_alloca
+# elif defined _AIX
+# define alloca __alloca
+# elif defined _MSC_VER
+# include <malloc.h>
+# define alloca _alloca
+# elif defined __DECC && defined __VMS
+# define alloca __ALLOCA
+# else
+# include <stddef.h>
+# ifdef __cplusplus
+extern "C"
+# endif
+void *alloca (size_t);
+# endif
+#endif
+
+#endif /* _GL_ALLOCA_H */
+++ /dev/null
-/* A dummy file, to prevent empty libraries from breaking builds.
- Copyright (C) 2004, 2007 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Some systems, reportedly OpenBSD and Mac OS X, refuse to create
- libraries without any object files. You might get an error like:
-
- > ar cru .libs/libgl.a
- > ar: no archive members specified
-
- Compiling this file, and adding its object file to the library, will
- prevent the library from being empty. */
-
-/* Some systems, such as Solaris with cc 5.0, refuse to work with libraries
- that don't export any symbol. You might get an error like:
-
- > cc ... libgnu.a
- > ild: (bad file) garbled symbol table in archive ../gllib/libgnu.a
-
- Compiling this file, and adding its object file to the library, will
- prevent the library from exporting no symbols. */
-
-#ifdef __sun
-/* This declaration ensures that the library will export at least 1 symbol. */
-int gl_dummy_symbol;
-#else
-/* This declaration is solely to ensure that after preprocessing
- this file is never empty. */
-typedef int dummy;
-#endif
--- /dev/null
+/* Locking in multithreaded situations.
+ Copyright (C) 2005-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2005.
+ Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
+ gthr-win32.h. */
+
+#include <config.h>
+
+#include "glthread/lock.h"
+
+/* ========================================================================= */
+
+#if USE_POSIX_THREADS
+
+/* -------------------------- gl_lock_t datatype -------------------------- */
+
+/* ------------------------- gl_rwlock_t datatype ------------------------- */
+
+# if HAVE_PTHREAD_RWLOCK
+
+# if !defined PTHREAD_RWLOCK_INITIALIZER
+
+int
+glthread_rwlock_init_multithreaded (gl_rwlock_t *lock)
+{
+ int err;
+
+ err = pthread_rwlock_init (&lock->rwlock, NULL);
+ if (err != 0)
+ return err;
+ lock->initialized = 1;
+ return 0;
+}
+
+int
+glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock)
+{
+ if (!lock->initialized)
+ {
+ int err;
+
+ err = pthread_mutex_lock (&lock->guard);
+ if (err != 0)
+ return err;
+ if (!lock->initialized)
+ {
+ err = glthread_rwlock_init_multithreaded (lock);
+ if (err != 0)
+ {
+ pthread_mutex_unlock (&lock->guard);
+ return err;
+ }
+ }
+ err = pthread_mutex_unlock (&lock->guard);
+ if (err != 0)
+ return err;
+ }
+ return pthread_rwlock_rdlock (&lock->rwlock);
+}
+
+int
+glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock)
+{
+ if (!lock->initialized)
+ {
+ int err;
+
+ err = pthread_mutex_lock (&lock->guard);
+ if (err != 0)
+ return err;
+ if (!lock->initialized)
+ {
+ err = glthread_rwlock_init_multithreaded (lock);
+ if (err != 0)
+ {
+ pthread_mutex_unlock (&lock->guard);
+ return err;
+ }
+ }
+ err = pthread_mutex_unlock (&lock->guard);
+ if (err != 0)
+ return err;
+ }
+ return pthread_rwlock_wrlock (&lock->rwlock);
+}
+
+int
+glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock)
+{
+ if (!lock->initialized)
+ return EINVAL;
+ return pthread_rwlock_unlock (&lock->rwlock);
+}
+
+int
+glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock)
+{
+ int err;
+
+ if (!lock->initialized)
+ return EINVAL;
+ err = pthread_rwlock_destroy (&lock->rwlock);
+ if (err != 0)
+ return err;
+ lock->initialized = 0;
+ return 0;
+}
+
+# endif
+
+# else
+
+int
+glthread_rwlock_init_multithreaded (gl_rwlock_t *lock)
+{
+ int err;
+
+ err = pthread_mutex_init (&lock->lock, NULL);
+ if (err != 0)
+ return err;
+ err = pthread_cond_init (&lock->waiting_readers, NULL);
+ if (err != 0)
+ return err;
+ err = pthread_cond_init (&lock->waiting_writers, NULL);
+ if (err != 0)
+ return err;
+ lock->waiting_writers_count = 0;
+ lock->runcount = 0;
+ return 0;
+}
+
+int
+glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock)
+{
+ int err;
+
+ err = pthread_mutex_lock (&lock->lock);
+ if (err != 0)
+ return err;
+ /* Test whether only readers are currently running, and whether the runcount
+ field will not overflow. */
+ /* POSIX says: "It is implementation-defined whether the calling thread
+ acquires the lock when a writer does not hold the lock and there are
+ writers blocked on the lock." Let's say, no: give the writers a higher
+ priority. */
+ while (!(lock->runcount + 1 > 0 && lock->waiting_writers_count == 0))
+ {
+ /* This thread has to wait for a while. Enqueue it among the
+ waiting_readers. */
+ err = pthread_cond_wait (&lock->waiting_readers, &lock->lock);
+ if (err != 0)
+ {
+ pthread_mutex_unlock (&lock->lock);
+ return err;
+ }
+ }
+ lock->runcount++;
+ return pthread_mutex_unlock (&lock->lock);
+}
+
+int
+glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock)
+{
+ int err;
+
+ err = pthread_mutex_lock (&lock->lock);
+ if (err != 0)
+ return err;
+ /* Test whether no readers or writers are currently running. */
+ while (!(lock->runcount == 0))
+ {
+ /* This thread has to wait for a while. Enqueue it among the
+ waiting_writers. */
+ lock->waiting_writers_count++;
+ err = pthread_cond_wait (&lock->waiting_writers, &lock->lock);
+ if (err != 0)
+ {
+ lock->waiting_writers_count--;
+ pthread_mutex_unlock (&lock->lock);
+ return err;
+ }
+ lock->waiting_writers_count--;
+ }
+ lock->runcount--; /* runcount becomes -1 */
+ return pthread_mutex_unlock (&lock->lock);
+}
+
+int
+glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock)
+{
+ int err;
+
+ err = pthread_mutex_lock (&lock->lock);
+ if (err != 0)
+ return err;
+ if (lock->runcount < 0)
+ {
+ /* Drop a writer lock. */
+ if (!(lock->runcount == -1))
+ {
+ pthread_mutex_unlock (&lock->lock);
+ return EINVAL;
+ }
+ lock->runcount = 0;
+ }
+ else
+ {
+ /* Drop a reader lock. */
+ if (!(lock->runcount > 0))
+ {
+ pthread_mutex_unlock (&lock->lock);
+ return EINVAL;
+ }
+ lock->runcount--;
+ }
+ if (lock->runcount == 0)
+ {
+ /* POSIX recommends that "write locks shall take precedence over read
+ locks", to avoid "writer starvation". */
+ if (lock->waiting_writers_count > 0)
+ {
+ /* Wake up one of the waiting writers. */
+ err = pthread_cond_signal (&lock->waiting_writers);
+ if (err != 0)
+ {
+ pthread_mutex_unlock (&lock->lock);
+ return err;
+ }
+ }
+ else
+ {
+ /* Wake up all waiting readers. */
+ err = pthread_cond_broadcast (&lock->waiting_readers);
+ if (err != 0)
+ {
+ pthread_mutex_unlock (&lock->lock);
+ return err;
+ }
+ }
+ }
+ return pthread_mutex_unlock (&lock->lock);
+}
+
+int
+glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock)
+{
+ int err;
+
+ err = pthread_mutex_destroy (&lock->lock);
+ if (err != 0)
+ return err;
+ err = pthread_cond_destroy (&lock->waiting_readers);
+ if (err != 0)
+ return err;
+ err = pthread_cond_destroy (&lock->waiting_writers);
+ if (err != 0)
+ return err;
+ return 0;
+}
+
+# endif
+
+/* --------------------- gl_recursive_lock_t datatype --------------------- */
+
+# if HAVE_PTHREAD_MUTEX_RECURSIVE
+
+# if defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+
+int
+glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock)
+{
+ pthread_mutexattr_t attributes;
+ int err;
+
+ err = pthread_mutexattr_init (&attributes);
+ if (err != 0)
+ return err;
+ err = pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE);
+ if (err != 0)
+ {
+ pthread_mutexattr_destroy (&attributes);
+ return err;
+ }
+ err = pthread_mutex_init (lock, &attributes);
+ if (err != 0)
+ {
+ pthread_mutexattr_destroy (&attributes);
+ return err;
+ }
+ err = pthread_mutexattr_destroy (&attributes);
+ if (err != 0)
+ return err;
+ return 0;
+}
+
+# else
+
+int
+glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock)
+{
+ pthread_mutexattr_t attributes;
+ int err;
+
+ err = pthread_mutexattr_init (&attributes);
+ if (err != 0)
+ return err;
+ err = pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE);
+ if (err != 0)
+ {
+ pthread_mutexattr_destroy (&attributes);
+ return err;
+ }
+ err = pthread_mutex_init (&lock->recmutex, &attributes);
+ if (err != 0)
+ {
+ pthread_mutexattr_destroy (&attributes);
+ return err;
+ }
+ err = pthread_mutexattr_destroy (&attributes);
+ if (err != 0)
+ return err;
+ lock->initialized = 1;
+ return 0;
+}
+
+int
+glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock)
+{
+ if (!lock->initialized)
+ {
+ int err;
+
+ err = pthread_mutex_lock (&lock->guard);
+ if (err != 0)
+ return err;
+ if (!lock->initialized)
+ {
+ err = glthread_recursive_lock_init_multithreaded (lock);
+ if (err != 0)
+ {
+ pthread_mutex_unlock (&lock->guard);
+ return err;
+ }
+ }
+ err = pthread_mutex_unlock (&lock->guard);
+ if (err != 0)
+ return err;
+ }
+ return pthread_mutex_lock (&lock->recmutex);
+}
+
+int
+glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock)
+{
+ if (!lock->initialized)
+ return EINVAL;
+ return pthread_mutex_unlock (&lock->recmutex);
+}
+
+int
+glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock)
+{
+ int err;
+
+ if (!lock->initialized)
+ return EINVAL;
+ err = pthread_mutex_destroy (&lock->recmutex);
+ if (err != 0)
+ return err;
+ lock->initialized = 0;
+ return 0;
+}
+
+# endif
+
+# else
+
+int
+glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock)
+{
+ int err;
+
+ err = pthread_mutex_init (&lock->mutex, NULL);
+ if (err != 0)
+ return err;
+ lock->owner = (pthread_t) 0;
+ lock->depth = 0;
+ return 0;
+}
+
+int
+glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock)
+{
+ pthread_t self = pthread_self ();
+ if (lock->owner != self)
+ {
+ int err;
+
+ err = pthread_mutex_lock (&lock->mutex);
+ if (err != 0)
+ return err;
+ lock->owner = self;
+ }
+ if (++(lock->depth) == 0) /* wraparound? */
+ {
+ lock->depth--;
+ return EAGAIN;
+ }
+ return 0;
+}
+
+int
+glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock)
+{
+ if (lock->owner != pthread_self ())
+ return EPERM;
+ if (lock->depth == 0)
+ return EINVAL;
+ if (--(lock->depth) == 0)
+ {
+ lock->owner = (pthread_t) 0;
+ return pthread_mutex_unlock (&lock->mutex);
+ }
+ else
+ return 0;
+}
+
+int
+glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock)
+{
+ if (lock->owner != (pthread_t) 0)
+ return EBUSY;
+ return pthread_mutex_destroy (&lock->mutex);
+}
+
+# endif
+
+/* -------------------------- gl_once_t datatype -------------------------- */
+
+static const pthread_once_t fresh_once = PTHREAD_ONCE_INIT;
+
+int
+glthread_once_singlethreaded (pthread_once_t *once_control)
+{
+ /* We don't know whether pthread_once_t is an integer type, a floating-point
+ type, a pointer type, or a structure type. */
+ char *firstbyte = (char *)once_control;
+ if (*firstbyte == *(const char *)&fresh_once)
+ {
+ /* First time use of once_control. Invert the first byte. */
+ *firstbyte = ~ *(const char *)&fresh_once;
+ return 1;
+ }
+ else
+ return 0;
+}
+
+#endif
+
+/* ========================================================================= */
+
+#if USE_PTH_THREADS
+
+/* Use the GNU Pth threads library. */
+
+/* -------------------------- gl_lock_t datatype -------------------------- */
+
+/* ------------------------- gl_rwlock_t datatype ------------------------- */
+
+/* --------------------- gl_recursive_lock_t datatype --------------------- */
+
+/* -------------------------- gl_once_t datatype -------------------------- */
+
+static void
+glthread_once_call (void *arg)
+{
+ void (**gl_once_temp_addr) (void) = (void (**) (void)) arg;
+ void (*initfunction) (void) = *gl_once_temp_addr;
+ initfunction ();
+}
+
+int
+glthread_once_multithreaded (pth_once_t *once_control, void (*initfunction) (void))
+{
+ void (*temp) (void) = initfunction;
+ return (!pth_once (once_control, glthread_once_call, &temp) ? errno : 0);
+}
+
+int
+glthread_once_singlethreaded (pth_once_t *once_control)
+{
+ /* We know that pth_once_t is an integer type. */
+ if (*once_control == PTH_ONCE_INIT)
+ {
+ /* First time use of once_control. Invert the marker. */
+ *once_control = ~ PTH_ONCE_INIT;
+ return 1;
+ }
+ else
+ return 0;
+}
+
+#endif
+
+/* ========================================================================= */
+
+#if USE_SOLARIS_THREADS
+
+/* Use the old Solaris threads library. */
+
+/* -------------------------- gl_lock_t datatype -------------------------- */
+
+/* ------------------------- gl_rwlock_t datatype ------------------------- */
+
+/* --------------------- gl_recursive_lock_t datatype --------------------- */
+
+int
+glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock)
+{
+ int err;
+
+ err = mutex_init (&lock->mutex, USYNC_THREAD, NULL);
+ if (err != 0)
+ return err;
+ lock->owner = (thread_t) 0;
+ lock->depth = 0;
+ return 0;
+}
+
+int
+glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock)
+{
+ thread_t self = thr_self ();
+ if (lock->owner != self)
+ {
+ int err;
+
+ err = mutex_lock (&lock->mutex);
+ if (err != 0)
+ return err;
+ lock->owner = self;
+ }
+ if (++(lock->depth) == 0) /* wraparound? */
+ {
+ lock->depth--;
+ return EAGAIN;
+ }
+ return 0;
+}
+
+int
+glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock)
+{
+ if (lock->owner != thr_self ())
+ return EPERM;
+ if (lock->depth == 0)
+ return EINVAL;
+ if (--(lock->depth) == 0)
+ {
+ lock->owner = (thread_t) 0;
+ return mutex_unlock (&lock->mutex);
+ }
+ else
+ return 0;
+}
+
+int
+glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock)
+{
+ if (lock->owner != (thread_t) 0)
+ return EBUSY;
+ return mutex_destroy (&lock->mutex);
+}
+
+/* -------------------------- gl_once_t datatype -------------------------- */
+
+int
+glthread_once_multithreaded (gl_once_t *once_control, void (*initfunction) (void))
+{
+ if (!once_control->inited)
+ {
+ int err;
+
+ /* Use the mutex to guarantee that if another thread is already calling
+ the initfunction, this thread waits until it's finished. */
+ err = mutex_lock (&once_control->mutex);
+ if (err != 0)
+ return err;
+ if (!once_control->inited)
+ {
+ once_control->inited = 1;
+ initfunction ();
+ }
+ return mutex_unlock (&once_control->mutex);
+ }
+ else
+ return 0;
+}
+
+int
+glthread_once_singlethreaded (gl_once_t *once_control)
+{
+ /* We know that gl_once_t contains an integer type. */
+ if (!once_control->inited)
+ {
+ /* First time use of once_control. Invert the marker. */
+ once_control->inited = ~ 0;
+ return 1;
+ }
+ else
+ return 0;
+}
+
+#endif
+
+/* ========================================================================= */
+
+#if USE_WIN32_THREADS
+
+/* -------------------------- gl_lock_t datatype -------------------------- */
+
+void
+glthread_lock_init_func (gl_lock_t *lock)
+{
+ InitializeCriticalSection (&lock->lock);
+ lock->guard.done = 1;
+}
+
+int
+glthread_lock_lock_func (gl_lock_t *lock)
+{
+ if (!lock->guard.done)
+ {
+ if (InterlockedIncrement (&lock->guard.started) == 0)
+ /* This thread is the first one to need this lock. Initialize it. */
+ glthread_lock_init (lock);
+ else
+ /* Yield the CPU while waiting for another thread to finish
+ initializing this lock. */
+ while (!lock->guard.done)
+ Sleep (0);
+ }
+ EnterCriticalSection (&lock->lock);
+ return 0;
+}
+
+int
+glthread_lock_unlock_func (gl_lock_t *lock)
+{
+ if (!lock->guard.done)
+ return EINVAL;
+ LeaveCriticalSection (&lock->lock);
+ return 0;
+}
+
+int
+glthread_lock_destroy_func (gl_lock_t *lock)
+{
+ if (!lock->guard.done)
+ return EINVAL;
+ DeleteCriticalSection (&lock->lock);
+ lock->guard.done = 0;
+ return 0;
+}
+
+/* ------------------------- gl_rwlock_t datatype ------------------------- */
+
+/* In this file, the waitqueues are implemented as circular arrays. */
+#define gl_waitqueue_t gl_carray_waitqueue_t
+
+static inline void
+gl_waitqueue_init (gl_waitqueue_t *wq)
+{
+ wq->array = NULL;
+ wq->count = 0;
+ wq->alloc = 0;
+ wq->offset = 0;
+}
+
+/* Enqueues the current thread, represented by an event, in a wait queue.
+ Returns INVALID_HANDLE_VALUE if an allocation failure occurs. */
+static HANDLE
+gl_waitqueue_add (gl_waitqueue_t *wq)
+{
+ HANDLE event;
+ unsigned int index;
+
+ if (wq->count == wq->alloc)
+ {
+ unsigned int new_alloc = 2 * wq->alloc + 1;
+ HANDLE *new_array =
+ (HANDLE *) realloc (wq->array, new_alloc * sizeof (HANDLE));
+ if (new_array == NULL)
+ /* No more memory. */
+ return INVALID_HANDLE_VALUE;
+ /* Now is a good opportunity to rotate the array so that its contents
+ starts at offset 0. */
+ if (wq->offset > 0)
+ {
+ unsigned int old_count = wq->count;
+ unsigned int old_alloc = wq->alloc;
+ unsigned int old_offset = wq->offset;
+ unsigned int i;
+ if (old_offset + old_count > old_alloc)
+ {
+ unsigned int limit = old_offset + old_count - old_alloc;
+ for (i = 0; i < limit; i++)
+ new_array[old_alloc + i] = new_array[i];
+ }
+ for (i = 0; i < old_count; i++)
+ new_array[i] = new_array[old_offset + i];
+ wq->offset = 0;
+ }
+ wq->array = new_array;
+ wq->alloc = new_alloc;
+ }
+ /* Whether the created event is a manual-reset one or an auto-reset one,
+ does not matter, since we will wait on it only once. */
+ event = CreateEvent (NULL, TRUE, FALSE, NULL);
+ if (event == INVALID_HANDLE_VALUE)
+ /* No way to allocate an event. */
+ return INVALID_HANDLE_VALUE;
+ index = wq->offset + wq->count;
+ if (index >= wq->alloc)
+ index -= wq->alloc;
+ wq->array[index] = event;
+ wq->count++;
+ return event;
+}
+
+/* Notifies the first thread from a wait queue and dequeues it. */
+static inline void
+gl_waitqueue_notify_first (gl_waitqueue_t *wq)
+{
+ SetEvent (wq->array[wq->offset + 0]);
+ wq->offset++;
+ wq->count--;
+ if (wq->count == 0 || wq->offset == wq->alloc)
+ wq->offset = 0;
+}
+
+/* Notifies all threads from a wait queue and dequeues them all. */
+static inline void
+gl_waitqueue_notify_all (gl_waitqueue_t *wq)
+{
+ unsigned int i;
+
+ for (i = 0; i < wq->count; i++)
+ {
+ unsigned int index = wq->offset + i;
+ if (index >= wq->alloc)
+ index -= wq->alloc;
+ SetEvent (wq->array[index]);
+ }
+ wq->count = 0;
+ wq->offset = 0;
+}
+
+void
+glthread_rwlock_init_func (gl_rwlock_t *lock)
+{
+ InitializeCriticalSection (&lock->lock);
+ gl_waitqueue_init (&lock->waiting_readers);
+ gl_waitqueue_init (&lock->waiting_writers);
+ lock->runcount = 0;
+ lock->guard.done = 1;
+}
+
+int
+glthread_rwlock_rdlock_func (gl_rwlock_t *lock)
+{
+ if (!lock->guard.done)
+ {
+ if (InterlockedIncrement (&lock->guard.started) == 0)
+ /* This thread is the first one to need this lock. Initialize it. */
+ glthread_rwlock_init (lock);
+ else
+ /* Yield the CPU while waiting for another thread to finish
+ initializing this lock. */
+ while (!lock->guard.done)
+ Sleep (0);
+ }
+ EnterCriticalSection (&lock->lock);
+ /* Test whether only readers are currently running, and whether the runcount
+ field will not overflow. */
+ if (!(lock->runcount + 1 > 0))
+ {
+ /* This thread has to wait for a while. Enqueue it among the
+ waiting_readers. */
+ HANDLE event = gl_waitqueue_add (&lock->waiting_readers);
+ if (event != INVALID_HANDLE_VALUE)
+ {
+ DWORD result;
+ LeaveCriticalSection (&lock->lock);
+ /* Wait until another thread signals this event. */
+ result = WaitForSingleObject (event, INFINITE);
+ if (result == WAIT_FAILED || result == WAIT_TIMEOUT)
+ abort ();
+ CloseHandle (event);
+ /* The thread which signalled the event already did the bookkeeping:
+ removed us from the waiting_readers, incremented lock->runcount. */
+ if (!(lock->runcount > 0))
+ abort ();
+ return 0;
+ }
+ else
+ {
+ /* Allocation failure. Weird. */
+ do
+ {
+ LeaveCriticalSection (&lock->lock);
+ Sleep (1);
+ EnterCriticalSection (&lock->lock);
+ }
+ while (!(lock->runcount + 1 > 0));
+ }
+ }
+ lock->runcount++;
+ LeaveCriticalSection (&lock->lock);
+ return 0;
+}
+
+int
+glthread_rwlock_wrlock_func (gl_rwlock_t *lock)
+{
+ if (!lock->guard.done)
+ {
+ if (InterlockedIncrement (&lock->guard.started) == 0)
+ /* This thread is the first one to need this lock. Initialize it. */
+ glthread_rwlock_init (lock);
+ else
+ /* Yield the CPU while waiting for another thread to finish
+ initializing this lock. */
+ while (!lock->guard.done)
+ Sleep (0);
+ }
+ EnterCriticalSection (&lock->lock);
+ /* Test whether no readers or writers are currently running. */
+ if (!(lock->runcount == 0))
+ {
+ /* This thread has to wait for a while. Enqueue it among the
+ waiting_writers. */
+ HANDLE event = gl_waitqueue_add (&lock->waiting_writers);
+ if (event != INVALID_HANDLE_VALUE)
+ {
+ DWORD result;
+ LeaveCriticalSection (&lock->lock);
+ /* Wait until another thread signals this event. */
+ result = WaitForSingleObject (event, INFINITE);
+ if (result == WAIT_FAILED || result == WAIT_TIMEOUT)
+ abort ();
+ CloseHandle (event);
+ /* The thread which signalled the event already did the bookkeeping:
+ removed us from the waiting_writers, set lock->runcount = -1. */
+ if (!(lock->runcount == -1))
+ abort ();
+ return 0;
+ }
+ else
+ {
+ /* Allocation failure. Weird. */
+ do
+ {
+ LeaveCriticalSection (&lock->lock);
+ Sleep (1);
+ EnterCriticalSection (&lock->lock);
+ }
+ while (!(lock->runcount == 0));
+ }
+ }
+ lock->runcount--; /* runcount becomes -1 */
+ LeaveCriticalSection (&lock->lock);
+ return 0;
+}
+
+int
+glthread_rwlock_unlock_func (gl_rwlock_t *lock)
+{
+ if (!lock->guard.done)
+ return EINVAL;
+ EnterCriticalSection (&lock->lock);
+ if (lock->runcount < 0)
+ {
+ /* Drop a writer lock. */
+ if (!(lock->runcount == -1))
+ abort ();
+ lock->runcount = 0;
+ }
+ else
+ {
+ /* Drop a reader lock. */
+ if (!(lock->runcount > 0))
+ {
+ LeaveCriticalSection (&lock->lock);
+ return EPERM;
+ }
+ lock->runcount--;
+ }
+ if (lock->runcount == 0)
+ {
+ /* POSIX recommends that "write locks shall take precedence over read
+ locks", to avoid "writer starvation". */
+ if (lock->waiting_writers.count > 0)
+ {
+ /* Wake up one of the waiting writers. */
+ lock->runcount--;
+ gl_waitqueue_notify_first (&lock->waiting_writers);
+ }
+ else
+ {
+ /* Wake up all waiting readers. */
+ lock->runcount += lock->waiting_readers.count;
+ gl_waitqueue_notify_all (&lock->waiting_readers);
+ }
+ }
+ LeaveCriticalSection (&lock->lock);
+ return 0;
+}
+
+int
+glthread_rwlock_destroy_func (gl_rwlock_t *lock)
+{
+ if (!lock->guard.done)
+ return EINVAL;
+ if (lock->runcount != 0)
+ return EBUSY;
+ DeleteCriticalSection (&lock->lock);
+ if (lock->waiting_readers.array != NULL)
+ free (lock->waiting_readers.array);
+ if (lock->waiting_writers.array != NULL)
+ free (lock->waiting_writers.array);
+ lock->guard.done = 0;
+ return 0;
+}
+
+/* --------------------- gl_recursive_lock_t datatype --------------------- */
+
+void
+glthread_recursive_lock_init_func (gl_recursive_lock_t *lock)
+{
+ lock->owner = 0;
+ lock->depth = 0;
+ InitializeCriticalSection (&lock->lock);
+ lock->guard.done = 1;
+}
+
+int
+glthread_recursive_lock_lock_func (gl_recursive_lock_t *lock)
+{
+ if (!lock->guard.done)
+ {
+ if (InterlockedIncrement (&lock->guard.started) == 0)
+ /* This thread is the first one to need this lock. Initialize it. */
+ glthread_recursive_lock_init (lock);
+ else
+ /* Yield the CPU while waiting for another thread to finish
+ initializing this lock. */
+ while (!lock->guard.done)
+ Sleep (0);
+ }
+ {
+ DWORD self = GetCurrentThreadId ();
+ if (lock->owner != self)
+ {
+ EnterCriticalSection (&lock->lock);
+ lock->owner = self;
+ }
+ if (++(lock->depth) == 0) /* wraparound? */
+ {
+ lock->depth--;
+ return EAGAIN;
+ }
+ }
+ return 0;
+}
+
+int
+glthread_recursive_lock_unlock_func (gl_recursive_lock_t *lock)
+{
+ if (lock->owner != GetCurrentThreadId ())
+ return EPERM;
+ if (lock->depth == 0)
+ return EINVAL;
+ if (--(lock->depth) == 0)
+ {
+ lock->owner = 0;
+ LeaveCriticalSection (&lock->lock);
+ }
+ return 0;
+}
+
+int
+glthread_recursive_lock_destroy_func (gl_recursive_lock_t *lock)
+{
+ if (lock->owner != 0)
+ return EBUSY;
+ DeleteCriticalSection (&lock->lock);
+ lock->guard.done = 0;
+ return 0;
+}
+
+/* -------------------------- gl_once_t datatype -------------------------- */
+
+void
+glthread_once_func (gl_once_t *once_control, void (*initfunction) (void))
+{
+ if (once_control->inited <= 0)
+ {
+ if (InterlockedIncrement (&once_control->started) == 0)
+ {
+ /* This thread is the first one to come to this once_control. */
+ InitializeCriticalSection (&once_control->lock);
+ EnterCriticalSection (&once_control->lock);
+ once_control->inited = 0;
+ initfunction ();
+ once_control->inited = 1;
+ LeaveCriticalSection (&once_control->lock);
+ }
+ else
+ {
+ /* Undo last operation. */
+ InterlockedDecrement (&once_control->started);
+ /* Some other thread has already started the initialization.
+ Yield the CPU while waiting for the other thread to finish
+ initializing and taking the lock. */
+ while (once_control->inited < 0)
+ Sleep (0);
+ if (once_control->inited <= 0)
+ {
+ /* Take the lock. This blocks until the other thread has
+ finished calling the initfunction. */
+ EnterCriticalSection (&once_control->lock);
+ LeaveCriticalSection (&once_control->lock);
+ if (!(once_control->inited > 0))
+ abort ();
+ }
+ }
+ }
+}
+
+#endif
+
+/* ========================================================================= */
--- /dev/null
+/* Locking in multithreaded situations.
+ Copyright (C) 2005-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2005.
+ Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
+ gthr-win32.h. */
+
+/* This file contains locking primitives for use with a given thread library.
+ It does not contain primitives for creating threads or for other
+ synchronization primitives.
+
+ Normal (non-recursive) locks:
+ Type: gl_lock_t
+ Declaration: gl_lock_define(extern, name)
+ Initializer: gl_lock_define_initialized(, name)
+ Initialization: gl_lock_init (name);
+ Taking the lock: gl_lock_lock (name);
+ Releasing the lock: gl_lock_unlock (name);
+ De-initialization: gl_lock_destroy (name);
+ Equivalent functions with control of error handling:
+ Initialization: err = glthread_lock_init (&name);
+ Taking the lock: err = glthread_lock_lock (&name);
+ Releasing the lock: err = glthread_lock_unlock (&name);
+ De-initialization: err = glthread_lock_destroy (&name);
+
+ Read-Write (non-recursive) locks:
+ Type: gl_rwlock_t
+ Declaration: gl_rwlock_define(extern, name)
+ Initializer: gl_rwlock_define_initialized(, name)
+ Initialization: gl_rwlock_init (name);
+ Taking the lock: gl_rwlock_rdlock (name);
+ gl_rwlock_wrlock (name);
+ Releasing the lock: gl_rwlock_unlock (name);
+ De-initialization: gl_rwlock_destroy (name);
+ Equivalent functions with control of error handling:
+ Initialization: err = glthread_rwlock_init (&name);
+ Taking the lock: err = glthread_rwlock_rdlock (&name);
+ err = glthread_rwlock_wrlock (&name);
+ Releasing the lock: err = glthread_rwlock_unlock (&name);
+ De-initialization: err = glthread_rwlock_destroy (&name);
+
+ Recursive locks:
+ Type: gl_recursive_lock_t
+ Declaration: gl_recursive_lock_define(extern, name)
+ Initializer: gl_recursive_lock_define_initialized(, name)
+ Initialization: gl_recursive_lock_init (name);
+ Taking the lock: gl_recursive_lock_lock (name);
+ Releasing the lock: gl_recursive_lock_unlock (name);
+ De-initialization: gl_recursive_lock_destroy (name);
+ Equivalent functions with control of error handling:
+ Initialization: err = glthread_recursive_lock_init (&name);
+ Taking the lock: err = glthread_recursive_lock_lock (&name);
+ Releasing the lock: err = glthread_recursive_lock_unlock (&name);
+ De-initialization: err = glthread_recursive_lock_destroy (&name);
+
+ Once-only execution:
+ Type: gl_once_t
+ Initializer: gl_once_define(extern, name)
+ Execution: gl_once (name, initfunction);
+ Equivalent functions with control of error handling:
+ Execution: err = glthread_once (&name, initfunction);
+*/
+
+
+#ifndef _LOCK_H
+#define _LOCK_H
+
+#include <errno.h>
+#include <stdlib.h>
+
+/* ========================================================================= */
+
+#if USE_POSIX_THREADS
+
+/* Use the POSIX threads library. */
+
+# include <pthread.h>
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+# if PTHREAD_IN_USE_DETECTION_HARD
+
+/* The pthread_in_use() detection needs to be done at runtime. */
+# define pthread_in_use() \
+ glthread_in_use ()
+extern int glthread_in_use (void);
+
+# endif
+
+# if USE_POSIX_THREADS_WEAK
+
+/* Use weak references to the POSIX threads library. */
+
+/* Weak references avoid dragging in external libraries if the other parts
+ of the program don't use them. Here we use them, because we don't want
+ every program that uses libintl to depend on libpthread. This assumes
+ that libpthread would not be loaded after libintl; i.e. if libintl is
+ loaded first, by an executable that does not depend on libpthread, and
+ then a module is dynamically loaded that depends on libpthread, libintl
+ will not be multithread-safe. */
+
+/* The way to test at runtime whether libpthread is present is to test
+ whether a function pointer's value, such as &pthread_mutex_init, is
+ non-NULL. However, some versions of GCC have a bug through which, in
+ PIC mode, &foo != NULL always evaluates to true if there is a direct
+ call to foo(...) in the same function. To avoid this, we test the
+ address of a function in libpthread that we don't use. */
+
+# pragma weak pthread_mutex_init
+# pragma weak pthread_mutex_lock
+# pragma weak pthread_mutex_unlock
+# pragma weak pthread_mutex_destroy
+# pragma weak pthread_rwlock_init
+# pragma weak pthread_rwlock_rdlock
+# pragma weak pthread_rwlock_wrlock
+# pragma weak pthread_rwlock_unlock
+# pragma weak pthread_rwlock_destroy
+# pragma weak pthread_once
+# pragma weak pthread_cond_init
+# pragma weak pthread_cond_wait
+# pragma weak pthread_cond_signal
+# pragma weak pthread_cond_broadcast
+# pragma weak pthread_cond_destroy
+# pragma weak pthread_mutexattr_init
+# pragma weak pthread_mutexattr_settype
+# pragma weak pthread_mutexattr_destroy
+# ifndef pthread_self
+# pragma weak pthread_self
+# endif
+
+# if !PTHREAD_IN_USE_DETECTION_HARD
+# pragma weak pthread_cancel
+# define pthread_in_use() (pthread_cancel != NULL)
+# endif
+
+# else
+
+# if !PTHREAD_IN_USE_DETECTION_HARD
+# define pthread_in_use() 1
+# endif
+
+# endif
+
+/* -------------------------- gl_lock_t datatype -------------------------- */
+
+typedef pthread_mutex_t gl_lock_t;
+# define gl_lock_define(STORAGECLASS, NAME) \
+ STORAGECLASS pthread_mutex_t NAME;
+# define gl_lock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS pthread_mutex_t NAME = gl_lock_initializer;
+# define gl_lock_initializer \
+ PTHREAD_MUTEX_INITIALIZER
+# define glthread_lock_init(LOCK) \
+ (pthread_in_use () ? pthread_mutex_init (LOCK, NULL) : 0)
+# define glthread_lock_lock(LOCK) \
+ (pthread_in_use () ? pthread_mutex_lock (LOCK) : 0)
+# define glthread_lock_unlock(LOCK) \
+ (pthread_in_use () ? pthread_mutex_unlock (LOCK) : 0)
+# define glthread_lock_destroy(LOCK) \
+ (pthread_in_use () ? pthread_mutex_destroy (LOCK) : 0)
+
+/* ------------------------- gl_rwlock_t datatype ------------------------- */
+
+# if HAVE_PTHREAD_RWLOCK
+
+# ifdef PTHREAD_RWLOCK_INITIALIZER
+
+typedef pthread_rwlock_t gl_rwlock_t;
+# define gl_rwlock_define(STORAGECLASS, NAME) \
+ STORAGECLASS pthread_rwlock_t NAME;
+# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS pthread_rwlock_t NAME = gl_rwlock_initializer;
+# define gl_rwlock_initializer \
+ PTHREAD_RWLOCK_INITIALIZER
+# define glthread_rwlock_init(LOCK) \
+ (pthread_in_use () ? pthread_rwlock_init (LOCK, NULL) : 0)
+# define glthread_rwlock_rdlock(LOCK) \
+ (pthread_in_use () ? pthread_rwlock_rdlock (LOCK) : 0)
+# define glthread_rwlock_wrlock(LOCK) \
+ (pthread_in_use () ? pthread_rwlock_wrlock (LOCK) : 0)
+# define glthread_rwlock_unlock(LOCK) \
+ (pthread_in_use () ? pthread_rwlock_unlock (LOCK) : 0)
+# define glthread_rwlock_destroy(LOCK) \
+ (pthread_in_use () ? pthread_rwlock_destroy (LOCK) : 0)
+
+# else
+
+typedef struct
+ {
+ int initialized;
+ pthread_mutex_t guard; /* protects the initialization */
+ pthread_rwlock_t rwlock; /* read-write lock */
+ }
+ gl_rwlock_t;
+# define gl_rwlock_define(STORAGECLASS, NAME) \
+ STORAGECLASS gl_rwlock_t NAME;
+# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer;
+# define gl_rwlock_initializer \
+ { 0, PTHREAD_MUTEX_INITIALIZER }
+# define glthread_rwlock_init(LOCK) \
+ (pthread_in_use () ? glthread_rwlock_init_multithreaded (LOCK) : 0)
+# define glthread_rwlock_rdlock(LOCK) \
+ (pthread_in_use () ? glthread_rwlock_rdlock_multithreaded (LOCK) : 0)
+# define glthread_rwlock_wrlock(LOCK) \
+ (pthread_in_use () ? glthread_rwlock_wrlock_multithreaded (LOCK) : 0)
+# define glthread_rwlock_unlock(LOCK) \
+ (pthread_in_use () ? glthread_rwlock_unlock_multithreaded (LOCK) : 0)
+# define glthread_rwlock_destroy(LOCK) \
+ (pthread_in_use () ? glthread_rwlock_destroy_multithreaded (LOCK) : 0)
+extern int glthread_rwlock_init_multithreaded (gl_rwlock_t *lock);
+extern int glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock);
+extern int glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock);
+extern int glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock);
+extern int glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock);
+
+# endif
+
+# else
+
+typedef struct
+ {
+ pthread_mutex_t lock; /* protects the remaining fields */
+ pthread_cond_t waiting_readers; /* waiting readers */
+ pthread_cond_t waiting_writers; /* waiting writers */
+ unsigned int waiting_writers_count; /* number of waiting writers */
+ int runcount; /* number of readers running, or -1 when a writer runs */
+ }
+ gl_rwlock_t;
+# define gl_rwlock_define(STORAGECLASS, NAME) \
+ STORAGECLASS gl_rwlock_t NAME;
+# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer;
+# define gl_rwlock_initializer \
+ { PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, PTHREAD_COND_INITIALIZER, 0, 0 }
+# define glthread_rwlock_init(LOCK) \
+ (pthread_in_use () ? glthread_rwlock_init_multithreaded (LOCK) : 0)
+# define glthread_rwlock_rdlock(LOCK) \
+ (pthread_in_use () ? glthread_rwlock_rdlock_multithreaded (LOCK) : 0)
+# define glthread_rwlock_wrlock(LOCK) \
+ (pthread_in_use () ? glthread_rwlock_wrlock_multithreaded (LOCK) : 0)
+# define glthread_rwlock_unlock(LOCK) \
+ (pthread_in_use () ? glthread_rwlock_unlock_multithreaded (LOCK) : 0)
+# define glthread_rwlock_destroy(LOCK) \
+ (pthread_in_use () ? glthread_rwlock_destroy_multithreaded (LOCK) : 0)
+extern int glthread_rwlock_init_multithreaded (gl_rwlock_t *lock);
+extern int glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock);
+extern int glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock);
+extern int glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock);
+extern int glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock);
+
+# endif
+
+/* --------------------- gl_recursive_lock_t datatype --------------------- */
+
+# if HAVE_PTHREAD_MUTEX_RECURSIVE
+
+# if defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+
+typedef pthread_mutex_t gl_recursive_lock_t;
+# define gl_recursive_lock_define(STORAGECLASS, NAME) \
+ STORAGECLASS pthread_mutex_t NAME;
+# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS pthread_mutex_t NAME = gl_recursive_lock_initializer;
+# ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER
+# define gl_recursive_lock_initializer \
+ PTHREAD_RECURSIVE_MUTEX_INITIALIZER
+# else
+# define gl_recursive_lock_initializer \
+ PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+# endif
+# define glthread_recursive_lock_init(LOCK) \
+ (pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0)
+# define glthread_recursive_lock_lock(LOCK) \
+ (pthread_in_use () ? pthread_mutex_lock (LOCK) : 0)
+# define glthread_recursive_lock_unlock(LOCK) \
+ (pthread_in_use () ? pthread_mutex_unlock (LOCK) : 0)
+# define glthread_recursive_lock_destroy(LOCK) \
+ (pthread_in_use () ? pthread_mutex_destroy (LOCK) : 0)
+extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock);
+
+# else
+
+typedef struct
+ {
+ pthread_mutex_t recmutex; /* recursive mutex */
+ pthread_mutex_t guard; /* protects the initialization */
+ int initialized;
+ }
+ gl_recursive_lock_t;
+# define gl_recursive_lock_define(STORAGECLASS, NAME) \
+ STORAGECLASS gl_recursive_lock_t NAME;
+# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer;
+# define gl_recursive_lock_initializer \
+ { PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, 0 }
+# define glthread_recursive_lock_init(LOCK) \
+ (pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0)
+# define glthread_recursive_lock_lock(LOCK) \
+ (pthread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0)
+# define glthread_recursive_lock_unlock(LOCK) \
+ (pthread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0)
+# define glthread_recursive_lock_destroy(LOCK) \
+ (pthread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0)
+extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock);
+extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock);
+extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock);
+extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock);
+
+# endif
+
+# else
+
+/* Old versions of POSIX threads on Solaris did not have recursive locks.
+ We have to implement them ourselves. */
+
+typedef struct
+ {
+ pthread_mutex_t mutex;
+ pthread_t owner;
+ unsigned long depth;
+ }
+ gl_recursive_lock_t;
+# define gl_recursive_lock_define(STORAGECLASS, NAME) \
+ STORAGECLASS gl_recursive_lock_t NAME;
+# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer;
+# define gl_recursive_lock_initializer \
+ { PTHREAD_MUTEX_INITIALIZER, (pthread_t) 0, 0 }
+# define glthread_recursive_lock_init(LOCK) \
+ (pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0)
+# define glthread_recursive_lock_lock(LOCK) \
+ (pthread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0)
+# define glthread_recursive_lock_unlock(LOCK) \
+ (pthread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0)
+# define glthread_recursive_lock_destroy(LOCK) \
+ (pthread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0)
+extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock);
+extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock);
+extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock);
+extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock);
+
+# endif
+
+/* -------------------------- gl_once_t datatype -------------------------- */
+
+typedef pthread_once_t gl_once_t;
+# define gl_once_define(STORAGECLASS, NAME) \
+ STORAGECLASS pthread_once_t NAME = PTHREAD_ONCE_INIT;
+# define glthread_once(ONCE_CONTROL, INITFUNCTION) \
+ (pthread_in_use () \
+ ? pthread_once (ONCE_CONTROL, INITFUNCTION) \
+ : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0))
+extern int glthread_once_singlethreaded (pthread_once_t *once_control);
+
+# ifdef __cplusplus
+}
+# endif
+
+#endif
+
+/* ========================================================================= */
+
+#if USE_PTH_THREADS
+
+/* Use the GNU Pth threads library. */
+
+# include <pth.h>
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+# if USE_PTH_THREADS_WEAK
+
+/* Use weak references to the GNU Pth threads library. */
+
+# pragma weak pth_mutex_init
+# pragma weak pth_mutex_acquire
+# pragma weak pth_mutex_release
+# pragma weak pth_rwlock_init
+# pragma weak pth_rwlock_acquire
+# pragma weak pth_rwlock_release
+# pragma weak pth_once
+
+# pragma weak pth_cancel
+# define pth_in_use() (pth_cancel != NULL)
+
+# else
+
+# define pth_in_use() 1
+
+# endif
+
+/* -------------------------- gl_lock_t datatype -------------------------- */
+
+typedef pth_mutex_t gl_lock_t;
+# define gl_lock_define(STORAGECLASS, NAME) \
+ STORAGECLASS pth_mutex_t NAME;
+# define gl_lock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS pth_mutex_t NAME = gl_lock_initializer;
+# define gl_lock_initializer \
+ PTH_MUTEX_INIT
+# define glthread_lock_init(LOCK) \
+ (pth_in_use () && !pth_mutex_init (LOCK) ? errno : 0)
+# define glthread_lock_lock(LOCK) \
+ (pth_in_use () && !pth_mutex_acquire (LOCK, 0, NULL) ? errno : 0)
+# define glthread_lock_unlock(LOCK) \
+ (pth_in_use () && !pth_mutex_release (LOCK) ? errno : 0)
+# define glthread_lock_destroy(LOCK) \
+ ((void)(LOCK), 0)
+
+/* ------------------------- gl_rwlock_t datatype ------------------------- */
+
+typedef pth_rwlock_t gl_rwlock_t;
+# define gl_rwlock_define(STORAGECLASS, NAME) \
+ STORAGECLASS pth_rwlock_t NAME;
+# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS pth_rwlock_t NAME = gl_rwlock_initializer;
+# define gl_rwlock_initializer \
+ PTH_RWLOCK_INIT
+# define glthread_rwlock_init(LOCK) \
+ (pth_in_use () && !pth_rwlock_init (LOCK) ? errno : 0)
+# define glthread_rwlock_rdlock(LOCK) \
+ (pth_in_use () && !pth_rwlock_acquire (LOCK, PTH_RWLOCK_RD, 0, NULL) ? errno : 0)
+# define glthread_rwlock_wrlock(LOCK) \
+ (pth_in_use () && !pth_rwlock_acquire (LOCK, PTH_RWLOCK_RW, 0, NULL) ? errno : 0)
+# define glthread_rwlock_unlock(LOCK) \
+ (pth_in_use () && !pth_rwlock_release (LOCK) ? errno : 0)
+# define glthread_rwlock_destroy(LOCK) \
+ ((void)(LOCK), 0)
+
+/* --------------------- gl_recursive_lock_t datatype --------------------- */
+
+/* In Pth, mutexes are recursive by default. */
+typedef pth_mutex_t gl_recursive_lock_t;
+# define gl_recursive_lock_define(STORAGECLASS, NAME) \
+ STORAGECLASS pth_mutex_t NAME;
+# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS pth_mutex_t NAME = gl_recursive_lock_initializer;
+# define gl_recursive_lock_initializer \
+ PTH_MUTEX_INIT
+# define glthread_recursive_lock_init(LOCK) \
+ (pth_in_use () && !pth_mutex_init (LOCK) ? errno : 0)
+# define glthread_recursive_lock_lock(LOCK) \
+ (pth_in_use () && !pth_mutex_acquire (LOCK, 0, NULL) ? errno : 0)
+# define glthread_recursive_lock_unlock(LOCK) \
+ (pth_in_use () && !pth_mutex_release (LOCK) ? errno : 0)
+# define glthread_recursive_lock_destroy(LOCK) \
+ ((void)(LOCK), 0)
+
+/* -------------------------- gl_once_t datatype -------------------------- */
+
+typedef pth_once_t gl_once_t;
+# define gl_once_define(STORAGECLASS, NAME) \
+ STORAGECLASS pth_once_t NAME = PTH_ONCE_INIT;
+# define glthread_once(ONCE_CONTROL, INITFUNCTION) \
+ (pth_in_use () \
+ ? glthread_once_multithreaded (ONCE_CONTROL, INITFUNCTION) \
+ : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0))
+extern int glthread_once_multithreaded (pth_once_t *once_control, void (*initfunction) (void));
+extern int glthread_once_singlethreaded (pth_once_t *once_control);
+
+# ifdef __cplusplus
+}
+# endif
+
+#endif
+
+/* ========================================================================= */
+
+#if USE_SOLARIS_THREADS
+
+/* Use the old Solaris threads library. */
+
+# include <thread.h>
+# include <synch.h>
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+# if USE_SOLARIS_THREADS_WEAK
+
+/* Use weak references to the old Solaris threads library. */
+
+# pragma weak mutex_init
+# pragma weak mutex_lock
+# pragma weak mutex_unlock
+# pragma weak mutex_destroy
+# pragma weak rwlock_init
+# pragma weak rw_rdlock
+# pragma weak rw_wrlock
+# pragma weak rw_unlock
+# pragma weak rwlock_destroy
+# pragma weak thr_self
+
+# pragma weak thr_suspend
+# define thread_in_use() (thr_suspend != NULL)
+
+# else
+
+# define thread_in_use() 1
+
+# endif
+
+/* -------------------------- gl_lock_t datatype -------------------------- */
+
+typedef mutex_t gl_lock_t;
+# define gl_lock_define(STORAGECLASS, NAME) \
+ STORAGECLASS mutex_t NAME;
+# define gl_lock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS mutex_t NAME = gl_lock_initializer;
+# define gl_lock_initializer \
+ DEFAULTMUTEX
+# define glthread_lock_init(LOCK) \
+ (thread_in_use () ? mutex_init (LOCK, USYNC_THREAD, NULL) : 0)
+# define glthread_lock_lock(LOCK) \
+ (thread_in_use () ? mutex_lock (LOCK) : 0)
+# define glthread_lock_unlock(LOCK) \
+ (thread_in_use () ? mutex_unlock (LOCK) : 0)
+# define glthread_lock_destroy(LOCK) \
+ (thread_in_use () ? mutex_destroy (LOCK) : 0)
+
+/* ------------------------- gl_rwlock_t datatype ------------------------- */
+
+typedef rwlock_t gl_rwlock_t;
+# define gl_rwlock_define(STORAGECLASS, NAME) \
+ STORAGECLASS rwlock_t NAME;
+# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS rwlock_t NAME = gl_rwlock_initializer;
+# define gl_rwlock_initializer \
+ DEFAULTRWLOCK
+# define glthread_rwlock_init(LOCK) \
+ (thread_in_use () ? rwlock_init (LOCK, USYNC_THREAD, NULL) : 0)
+# define glthread_rwlock_rdlock(LOCK) \
+ (thread_in_use () ? rw_rdlock (LOCK) : 0)
+# define glthread_rwlock_wrlock(LOCK) \
+ (thread_in_use () ? rw_wrlock (LOCK) : 0)
+# define glthread_rwlock_unlock(LOCK) \
+ (thread_in_use () ? rw_unlock (LOCK) : 0)
+# define glthread_rwlock_destroy(LOCK) \
+ (thread_in_use () ? rwlock_destroy (LOCK) : 0)
+
+/* --------------------- gl_recursive_lock_t datatype --------------------- */
+
+/* Old Solaris threads did not have recursive locks.
+ We have to implement them ourselves. */
+
+typedef struct
+ {
+ mutex_t mutex;
+ thread_t owner;
+ unsigned long depth;
+ }
+ gl_recursive_lock_t;
+# define gl_recursive_lock_define(STORAGECLASS, NAME) \
+ STORAGECLASS gl_recursive_lock_t NAME;
+# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer;
+# define gl_recursive_lock_initializer \
+ { DEFAULTMUTEX, (thread_t) 0, 0 }
+# define glthread_recursive_lock_init(LOCK) \
+ (thread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0)
+# define glthread_recursive_lock_lock(LOCK) \
+ (thread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0)
+# define glthread_recursive_lock_unlock(LOCK) \
+ (thread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0)
+# define glthread_recursive_lock_destroy(LOCK) \
+ (thread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0)
+extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock);
+extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock);
+extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock);
+extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock);
+
+/* -------------------------- gl_once_t datatype -------------------------- */
+
+typedef struct
+ {
+ volatile int inited;
+ mutex_t mutex;
+ }
+ gl_once_t;
+# define gl_once_define(STORAGECLASS, NAME) \
+ STORAGECLASS gl_once_t NAME = { 0, DEFAULTMUTEX };
+# define glthread_once(ONCE_CONTROL, INITFUNCTION) \
+ (thread_in_use () \
+ ? glthread_once_multithreaded (ONCE_CONTROL, INITFUNCTION) \
+ : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0))
+extern int glthread_once_multithreaded (gl_once_t *once_control, void (*initfunction) (void));
+extern int glthread_once_singlethreaded (gl_once_t *once_control);
+
+# ifdef __cplusplus
+}
+# endif
+
+#endif
+
+/* ========================================================================= */
+
+#if USE_WIN32_THREADS
+
+# define WIN32_LEAN_AND_MEAN /* avoid including junk */
+# include <windows.h>
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+/* We can use CRITICAL_SECTION directly, rather than the Win32 Event, Mutex,
+ Semaphore types, because
+ - we need only to synchronize inside a single process (address space),
+ not inter-process locking,
+ - we don't need to support trylock operations. (TryEnterCriticalSection
+ does not work on Windows 95/98/ME. Packages that need trylock usually
+ define their own mutex type.) */
+
+/* There is no way to statically initialize a CRITICAL_SECTION. It needs
+ to be done lazily, once only. For this we need spinlocks. */
+
+typedef struct { volatile int done; volatile long started; } gl_spinlock_t;
+
+/* -------------------------- gl_lock_t datatype -------------------------- */
+
+typedef struct
+ {
+ gl_spinlock_t guard; /* protects the initialization */
+ CRITICAL_SECTION lock;
+ }
+ gl_lock_t;
+# define gl_lock_define(STORAGECLASS, NAME) \
+ STORAGECLASS gl_lock_t NAME;
+# define gl_lock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS gl_lock_t NAME = gl_lock_initializer;
+# define gl_lock_initializer \
+ { { 0, -1 } }
+# define glthread_lock_init(LOCK) \
+ (glthread_lock_init_func (LOCK), 0)
+# define glthread_lock_lock(LOCK) \
+ glthread_lock_lock_func (LOCK)
+# define glthread_lock_unlock(LOCK) \
+ glthread_lock_unlock_func (LOCK)
+# define glthread_lock_destroy(LOCK) \
+ glthread_lock_destroy_func (LOCK)
+extern void glthread_lock_init_func (gl_lock_t *lock);
+extern int glthread_lock_lock_func (gl_lock_t *lock);
+extern int glthread_lock_unlock_func (gl_lock_t *lock);
+extern int glthread_lock_destroy_func (gl_lock_t *lock);
+
+/* ------------------------- gl_rwlock_t datatype ------------------------- */
+
+/* It is impossible to implement read-write locks using plain locks, without
+ introducing an extra thread dedicated to managing read-write locks.
+ Therefore here we need to use the low-level Event type. */
+
+typedef struct
+ {
+ HANDLE *array; /* array of waiting threads, each represented by an event */
+ unsigned int count; /* number of waiting threads */
+ unsigned int alloc; /* length of allocated array */
+ unsigned int offset; /* index of first waiting thread in array */
+ }
+ gl_carray_waitqueue_t;
+typedef struct
+ {
+ gl_spinlock_t guard; /* protects the initialization */
+ CRITICAL_SECTION lock; /* protects the remaining fields */
+ gl_carray_waitqueue_t waiting_readers; /* waiting readers */
+ gl_carray_waitqueue_t waiting_writers; /* waiting writers */
+ int runcount; /* number of readers running, or -1 when a writer runs */
+ }
+ gl_rwlock_t;
+# define gl_rwlock_define(STORAGECLASS, NAME) \
+ STORAGECLASS gl_rwlock_t NAME;
+# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer;
+# define gl_rwlock_initializer \
+ { { 0, -1 } }
+# define glthread_rwlock_init(LOCK) \
+ (glthread_rwlock_init_func (LOCK), 0)
+# define glthread_rwlock_rdlock(LOCK) \
+ glthread_rwlock_rdlock_func (LOCK)
+# define glthread_rwlock_wrlock(LOCK) \
+ glthread_rwlock_wrlock_func (LOCK)
+# define glthread_rwlock_unlock(LOCK) \
+ glthread_rwlock_unlock_func (LOCK)
+# define glthread_rwlock_destroy(LOCK) \
+ glthread_rwlock_destroy_func (LOCK)
+extern void glthread_rwlock_init_func (gl_rwlock_t *lock);
+extern int glthread_rwlock_rdlock_func (gl_rwlock_t *lock);
+extern int glthread_rwlock_wrlock_func (gl_rwlock_t *lock);
+extern int glthread_rwlock_unlock_func (gl_rwlock_t *lock);
+extern int glthread_rwlock_destroy_func (gl_rwlock_t *lock);
+
+/* --------------------- gl_recursive_lock_t datatype --------------------- */
+
+/* The Win32 documentation says that CRITICAL_SECTION already implements a
+ recursive lock. But we need not rely on it: It's easy to implement a
+ recursive lock without this assumption. */
+
+typedef struct
+ {
+ gl_spinlock_t guard; /* protects the initialization */
+ DWORD owner;
+ unsigned long depth;
+ CRITICAL_SECTION lock;
+ }
+ gl_recursive_lock_t;
+# define gl_recursive_lock_define(STORAGECLASS, NAME) \
+ STORAGECLASS gl_recursive_lock_t NAME;
+# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
+ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer;
+# define gl_recursive_lock_initializer \
+ { { 0, -1 }, 0, 0 }
+# define glthread_recursive_lock_init(LOCK) \
+ (glthread_recursive_lock_init_func (LOCK), 0)
+# define glthread_recursive_lock_lock(LOCK) \
+ glthread_recursive_lock_lock_func (LOCK)
+# define glthread_recursive_lock_unlock(LOCK) \
+ glthread_recursive_lock_unlock_func (LOCK)
+# define glthread_recursive_lock_destroy(LOCK) \
+ glthread_recursive_lock_destroy_func (LOCK)
+extern void glthread_recursive_lock_init_func (gl_recursive_lock_t *lock);
+extern int glthread_recursive_lock_lock_func (gl_recursive_lock_t *lock);
+extern int glthread_recursive_lock_unlock_func (gl_recursive_lock_t *lock);
+extern int glthread_recursive_lock_destroy_func (gl_recursive_lock_t *lock);
+
+/* -------------------------- gl_once_t datatype -------------------------- */
+
+typedef struct
+ {
+ volatile int inited;
+ volatile long started;
+ CRITICAL_SECTION lock;
+ }
+ gl_once_t;
+# define gl_once_define(STORAGECLASS, NAME) \
+ STORAGECLASS gl_once_t NAME = { -1, -1 };
+# define glthread_once(ONCE_CONTROL, INITFUNCTION) \
+ (glthread_once_func (ONCE_CONTROL, INITFUNCTION), 0)
+extern void glthread_once_func (gl_once_t *once_control, void (*initfunction) (void));
+
+# ifdef __cplusplus
+}
+# endif
+
+#endif
+
+/* ========================================================================= */
+
+#if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WIN32_THREADS)
+
+/* Provide dummy implementation if threads are not supported. */
+
+/* -------------------------- gl_lock_t datatype -------------------------- */
+
+typedef int gl_lock_t;
+# define gl_lock_define(STORAGECLASS, NAME)
+# define gl_lock_define_initialized(STORAGECLASS, NAME)
+# define glthread_lock_init(NAME) 0
+# define glthread_lock_lock(NAME) 0
+# define glthread_lock_unlock(NAME) 0
+# define glthread_lock_destroy(NAME) 0
+
+/* ------------------------- gl_rwlock_t datatype ------------------------- */
+
+typedef int gl_rwlock_t;
+# define gl_rwlock_define(STORAGECLASS, NAME)
+# define gl_rwlock_define_initialized(STORAGECLASS, NAME)
+# define glthread_rwlock_init(NAME) 0
+# define glthread_rwlock_rdlock(NAME) 0
+# define glthread_rwlock_wrlock(NAME) 0
+# define glthread_rwlock_unlock(NAME) 0
+# define glthread_rwlock_destroy(NAME) 0
+
+/* --------------------- gl_recursive_lock_t datatype --------------------- */
+
+typedef int gl_recursive_lock_t;
+# define gl_recursive_lock_define(STORAGECLASS, NAME)
+# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME)
+# define glthread_recursive_lock_init(NAME) 0
+# define glthread_recursive_lock_lock(NAME) 0
+# define glthread_recursive_lock_unlock(NAME) 0
+# define glthread_recursive_lock_destroy(NAME) 0
+
+/* -------------------------- gl_once_t datatype -------------------------- */
+
+typedef int gl_once_t;
+# define gl_once_define(STORAGECLASS, NAME) \
+ STORAGECLASS gl_once_t NAME = 0;
+# define glthread_once(ONCE_CONTROL, INITFUNCTION) \
+ (*(ONCE_CONTROL) == 0 ? (*(ONCE_CONTROL) = ~ 0, INITFUNCTION (), 0) : 0)
+
+#endif
+
+/* ========================================================================= */
+
+/* Macros with built-in error handling. */
+
+/* -------------------------- gl_lock_t datatype -------------------------- */
+
+#define gl_lock_init(NAME) \
+ do \
+ { \
+ if (glthread_lock_init (&NAME)) \
+ abort (); \
+ } \
+ while (0)
+#define gl_lock_lock(NAME) \
+ do \
+ { \
+ if (glthread_lock_lock (&NAME)) \
+ abort (); \
+ } \
+ while (0)
+#define gl_lock_unlock(NAME) \
+ do \
+ { \
+ if (glthread_lock_unlock (&NAME)) \
+ abort (); \
+ } \
+ while (0)
+#define gl_lock_destroy(NAME) \
+ do \
+ { \
+ if (glthread_lock_destroy (&NAME)) \
+ abort (); \
+ } \
+ while (0)
+
+/* ------------------------- gl_rwlock_t datatype ------------------------- */
+
+#define gl_rwlock_init(NAME) \
+ do \
+ { \
+ if (glthread_rwlock_init (&NAME)) \
+ abort (); \
+ } \
+ while (0)
+#define gl_rwlock_rdlock(NAME) \
+ do \
+ { \
+ if (glthread_rwlock_rdlock (&NAME)) \
+ abort (); \
+ } \
+ while (0)
+#define gl_rwlock_wrlock(NAME) \
+ do \
+ { \
+ if (glthread_rwlock_wrlock (&NAME)) \
+ abort (); \
+ } \
+ while (0)
+#define gl_rwlock_unlock(NAME) \
+ do \
+ { \
+ if (glthread_rwlock_unlock (&NAME)) \
+ abort (); \
+ } \
+ while (0)
+#define gl_rwlock_destroy(NAME) \
+ do \
+ { \
+ if (glthread_rwlock_destroy (&NAME)) \
+ abort (); \
+ } \
+ while (0)
+
+/* --------------------- gl_recursive_lock_t datatype --------------------- */
+
+#define gl_recursive_lock_init(NAME) \
+ do \
+ { \
+ if (glthread_recursive_lock_init (&NAME)) \
+ abort (); \
+ } \
+ while (0)
+#define gl_recursive_lock_lock(NAME) \
+ do \
+ { \
+ if (glthread_recursive_lock_lock (&NAME)) \
+ abort (); \
+ } \
+ while (0)
+#define gl_recursive_lock_unlock(NAME) \
+ do \
+ { \
+ if (glthread_recursive_lock_unlock (&NAME)) \
+ abort (); \
+ } \
+ while (0)
+#define gl_recursive_lock_destroy(NAME) \
+ do \
+ { \
+ if (glthread_recursive_lock_destroy (&NAME)) \
+ abort (); \
+ } \
+ while (0)
+
+/* -------------------------- gl_once_t datatype -------------------------- */
+
+#define gl_once(NAME, INITFUNCTION) \
+ do \
+ { \
+ if (glthread_once (&NAME, INITFUNCTION)) \
+ abort (); \
+ } \
+ while (0)
+
+/* ========================================================================= */
+
+#endif /* _LOCK_H */
--- /dev/null
+/* Creating and controlling threads.
+ Copyright (C) 2005-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2005.
+ Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
+ gthr-win32.h. */
+
+#include <config.h>
+
+/* Specification. */
+#include "glthread/thread.h"
+
+#include <stdlib.h>
+#include "glthread/lock.h"
+
+/* ========================================================================= */
+
+#if USE_POSIX_THREADS
+
+#include <pthread.h>
+
+#ifdef PTW32_VERSION
+
+const gl_thread_t gl_null_thread /* = { .p = NULL } */;
+
+#endif
+
+#endif
+
+/* ========================================================================= */
+
+#if USE_WIN32_THREADS
+
+#include <process.h>
+
+/* -------------------------- gl_thread_t datatype -------------------------- */
+
+/* The Thread-Local Storage (TLS) key that allows to access each thread's
+ 'struct gl_thread_struct *' pointer. */
+static DWORD self_key = (DWORD)-1;
+
+/* Initializes self_key. This function must only be called once. */
+static void
+do_init_self_key (void)
+{
+ self_key = TlsAlloc ();
+ /* If this fails, we're hosed. */
+ if (self_key == (DWORD)-1)
+ abort ();
+}
+
+/* Initializes self_key. */
+static void
+init_self_key (void)
+{
+ gl_once_define(static, once)
+ gl_once (once, do_init_self_key);
+}
+
+/* This structure contains information about a thread.
+ It is stored in TLS under key self_key. */
+struct gl_thread_struct
+{
+ /* Fields for managing the handle. */
+ HANDLE volatile handle;
+ CRITICAL_SECTION handle_lock;
+ /* Fields for managing the exit value. */
+ void * volatile result;
+ /* Fields for managing the thread start. */
+ void * (*func) (void *);
+ void *arg;
+};
+
+/* Return a real HANDLE object for the current thread. */
+static inline HANDLE
+get_current_thread_handle (void)
+{
+ HANDLE this_handle;
+
+ /* GetCurrentThread() returns a pseudo-handle, i.e. only a symbolic
+ identifier, not a real handle. */
+ if (!DuplicateHandle (GetCurrentProcess (), GetCurrentThread (),
+ GetCurrentProcess (), &this_handle,
+ 0, FALSE, DUPLICATE_SAME_ACCESS))
+ abort ();
+ return this_handle;
+}
+
+gl_thread_t
+gl_thread_self_func (void)
+{
+ gl_thread_t thread;
+
+ if (self_key == (DWORD)-1)
+ init_self_key ();
+ thread = TlsGetValue (self_key);
+ if (thread == NULL)
+ {
+ /* This happens only in threads that have not been created through
+ glthread_create(), such as the main thread. */
+ for (;;)
+ {
+ thread =
+ (struct gl_thread_struct *)
+ malloc (sizeof (struct gl_thread_struct));
+ if (thread != NULL)
+ break;
+ /* Memory allocation failed. There is not much we can do. Have to
+ busy-loop, waiting for the availability of memory. */
+ Sleep (1);
+ }
+
+ thread->handle = get_current_thread_handle ();
+ InitializeCriticalSection (&thread->handle_lock);
+ thread->result = NULL; /* just to be deterministic */
+ TlsSetValue (self_key, thread);
+ }
+ return thread;
+}
+
+/* The main function of a freshly creating thread. It's a wrapper around
+ the FUNC and ARG arguments passed to glthread_create_func. */
+static unsigned int WINAPI
+wrapper_func (void *varg)
+{
+ struct gl_thread_struct *thread = (struct gl_thread_struct *)varg;
+
+ EnterCriticalSection (&thread->handle_lock);
+ /* Create a new handle for the thread only if the parent thread did not yet
+ fill in the handle. */
+ if (thread->handle == NULL)
+ thread->handle = get_current_thread_handle ();
+ LeaveCriticalSection (&thread->handle_lock);
+
+ if (self_key == (DWORD)-1)
+ init_self_key ();
+ TlsSetValue (self_key, thread);
+
+ /* Run the thread. Store the exit value if the thread was not terminated
+ otherwise. */
+ thread->result = thread->func (thread->arg);
+ return 0;
+}
+
+int
+glthread_create_func (gl_thread_t *threadp, void * (*func) (void *), void *arg)
+{
+ struct gl_thread_struct *thread =
+ (struct gl_thread_struct *) malloc (sizeof (struct gl_thread_struct));
+ if (thread == NULL)
+ return ENOMEM;
+ thread->handle = NULL;
+ InitializeCriticalSection (&thread->handle_lock);
+ thread->result = NULL; /* just to be deterministic */
+ thread->func = func;
+ thread->arg = arg;
+
+ {
+ unsigned int thread_id;
+ HANDLE thread_handle;
+
+ thread_handle = (HANDLE)
+ _beginthreadex (NULL, 100000, wrapper_func, thread, 0, &thread_id);
+ /* calls CreateThread with the same arguments */
+ if (thread_handle == NULL)
+ {
+ DeleteCriticalSection (&thread->handle_lock);
+ free (thread);
+ return EAGAIN;
+ }
+
+ EnterCriticalSection (&thread->handle_lock);
+ if (thread->handle == NULL)
+ thread->handle = thread_handle;
+ else
+ /* thread->handle was already set by the thread itself. */
+ CloseHandle (thread_handle);
+ LeaveCriticalSection (&thread->handle_lock);
+
+ *threadp = thread;
+ return 0;
+ }
+}
+
+int
+glthread_join_func (gl_thread_t thread, void **retvalp)
+{
+ if (thread == NULL)
+ return EINVAL;
+
+ if (thread == gl_thread_self ())
+ return EDEADLK;
+
+ if (WaitForSingleObject (thread->handle, INFINITE) == WAIT_FAILED)
+ return EINVAL;
+
+ if (retvalp != NULL)
+ *retvalp = thread->result;
+
+ DeleteCriticalSection (&thread->handle_lock);
+ CloseHandle (thread->handle);
+ free (thread);
+
+ return 0;
+}
+
+int
+gl_thread_exit_func (void *retval)
+{
+ gl_thread_t thread = gl_thread_self ();
+ thread->result = retval;
+ _endthreadex (0); /* calls ExitThread (0) */
+ abort ();
+}
+
+#endif
+
+/* ========================================================================= */
--- /dev/null
+/* Creating and controlling threads.
+ Copyright (C) 2005-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2005.
+ Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
+ gthr-win32.h. */
+
+/* This file contains primitives for creating and controlling threads.
+
+ Thread data type: gl_thread_t.
+
+ Creating a thread:
+ thread = gl_thread_create (func, arg);
+ Or with control of error handling:
+ err = glthread_create (&thread, func, arg);
+ extern int glthread_create (gl_thread_t *result,
+ void *(*func) (void *), void *arg);
+
+ Querying and changing the signal mask of a thread (not supported on all
+ platforms):
+ gl_thread_sigmask (how, newmask, oldmask);
+ Or with control of error handling:
+ err = glthread_sigmask (how, newmask, oldmask);
+ extern int glthread_sigmask (int how, const sigset_t *newmask, sigset_t *oldmask);
+
+ Waiting for termination of another thread:
+ gl_thread_join (thread, &return_value);
+ Or with control of error handling:
+ err = glthread_join (thread, &return_value);
+ extern int glthread_join (gl_thread_t thread, void **return_value_ptr);
+
+ Getting a reference to the current thread:
+ current = gl_thread_self ();
+ extern gl_thread_t gl_thread_self (void);
+
+ Getting a reference to the current thread as a pointer, for debugging:
+ ptr = gl_thread_self_pointer ();
+ extern void * gl_thread_self_pointer (void);
+
+ Terminating the current thread:
+ gl_thread_exit (return_value);
+ extern _Noreturn void gl_thread_exit (void *return_value);
+
+ Requesting custom code to be executed at fork() time(not supported on all
+ platforms):
+ gl_thread_atfork (prepare_func, parent_func, child_func);
+ Or with control of error handling:
+ err = glthread_atfork (prepare_func, parent_func, child_func);
+ extern int glthread_atfork (void (*prepare_func) (void),
+ void (*parent_func) (void),
+ void (*child_func) (void));
+ Note that even on platforms where this is supported, use of fork() and
+ threads together is problematic, see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2008-08/msg00062.html>
+ */
+
+
+#ifndef _GLTHREAD_THREAD_H
+#define _GLTHREAD_THREAD_H
+
+#include <errno.h>
+#include <stdlib.h>
+
+/* ========================================================================= */
+
+#if USE_POSIX_THREADS
+
+/* Use the POSIX threads library. */
+
+# include <pthread.h>
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+# if PTHREAD_IN_USE_DETECTION_HARD
+
+/* The pthread_in_use() detection needs to be done at runtime. */
+# define pthread_in_use() \
+ glthread_in_use ()
+extern int glthread_in_use (void);
+
+# endif
+
+# if USE_POSIX_THREADS_WEAK
+
+/* Use weak references to the POSIX threads library. */
+
+/* Weak references avoid dragging in external libraries if the other parts
+ of the program don't use them. Here we use them, because we don't want
+ every program that uses libintl to depend on libpthread. This assumes
+ that libpthread would not be loaded after libintl; i.e. if libintl is
+ loaded first, by an executable that does not depend on libpthread, and
+ then a module is dynamically loaded that depends on libpthread, libintl
+ will not be multithread-safe. */
+
+/* The way to test at runtime whether libpthread is present is to test
+ whether a function pointer's value, such as &pthread_mutex_init, is
+ non-NULL. However, some versions of GCC have a bug through which, in
+ PIC mode, &foo != NULL always evaluates to true if there is a direct
+ call to foo(...) in the same function. To avoid this, we test the
+ address of a function in libpthread that we don't use. */
+
+# pragma weak pthread_create
+# pragma weak pthread_sigmask
+# pragma weak pthread_join
+# ifndef pthread_self
+# pragma weak pthread_self
+# endif
+# pragma weak pthread_exit
+# if HAVE_PTHREAD_ATFORK
+# pragma weak pthread_atfork
+# endif
+
+# if !PTHREAD_IN_USE_DETECTION_HARD
+# pragma weak pthread_cancel
+# define pthread_in_use() (pthread_cancel != NULL)
+# endif
+
+# else
+
+# if !PTHREAD_IN_USE_DETECTION_HARD
+# define pthread_in_use() 1
+# endif
+
+# endif
+
+/* -------------------------- gl_thread_t datatype -------------------------- */
+
+/* This choice of gl_thread_t assumes that
+ pthread_equal (a, b) is equivalent to ((a) == (b)).
+ This is the case on all platforms in use in 2008. */
+typedef pthread_t gl_thread_t;
+# define glthread_create(THREADP, FUNC, ARG) \
+ (pthread_in_use () ? pthread_create (THREADP, NULL, FUNC, ARG) : ENOSYS)
+# define glthread_sigmask(HOW, SET, OSET) \
+ (pthread_in_use () ? pthread_sigmask (HOW, SET, OSET) : 0)
+# define glthread_join(THREAD, RETVALP) \
+ (pthread_in_use () ? pthread_join (THREAD, RETVALP) : 0)
+# ifdef PTW32_VERSION
+ /* In pthreads-win32, pthread_t is a struct with a pointer field 'p' and
+ other fields. */
+# define gl_thread_self() \
+ (pthread_in_use () ? pthread_self () : gl_null_thread)
+# define gl_thread_self_pointer() \
+ (pthread_in_use () ? pthread_self ().p : NULL)
+extern const gl_thread_t gl_null_thread;
+# else
+# define gl_thread_self() \
+ (pthread_in_use () ? pthread_self () : (pthread_t) NULL)
+# define gl_thread_self_pointer() \
+ (pthread_in_use () ? (void *) pthread_self () : NULL)
+# endif
+# define gl_thread_exit(RETVAL) \
+ (pthread_in_use () ? pthread_exit (RETVAL) : 0)
+
+# if HAVE_PTHREAD_ATFORK
+# define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) \
+ (pthread_in_use () ? pthread_atfork (PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) : 0)
+# else
+# define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0
+# endif
+
+# ifdef __cplusplus
+}
+# endif
+
+#endif
+
+/* ========================================================================= */
+
+#if USE_PTH_THREADS
+
+/* Use the GNU Pth threads library. */
+
+# include <pth.h>
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+# if USE_PTH_THREADS_WEAK
+
+/* Use weak references to the GNU Pth threads library. */
+
+# pragma weak pth_spawn
+# pragma weak pth_sigmask
+# pragma weak pth_join
+# pragma weak pth_self
+# pragma weak pth_exit
+
+# pragma weak pth_cancel
+# define pth_in_use() (pth_cancel != NULL)
+
+# else
+
+# define pth_in_use() 1
+
+# endif
+/* -------------------------- gl_thread_t datatype -------------------------- */
+
+typedef pth_t gl_thread_t;
+# define glthread_create(THREADP, FUNC, ARG) \
+ (pth_in_use () ? ((*(THREADP) = pth_spawn (NULL, FUNC, ARG)) ? 0 : errno) : 0)
+# define glthread_sigmask(HOW, SET, OSET) \
+ (pth_in_use () && !pth_sigmask (HOW, SET, OSET) ? errno : 0)
+# define glthread_join(THREAD, RETVALP) \
+ (pth_in_use () && !pth_join (THREAD, RETVALP) ? errno : 0)
+# define gl_thread_self() \
+ (pth_in_use () ? (void *) pth_self () : NULL)
+# define gl_thread_self_pointer() \
+ gl_thread_self ()
+# define gl_thread_exit(RETVAL) \
+ (pth_in_use () ? pth_exit (RETVAL) : 0)
+# define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0
+
+# ifdef __cplusplus
+}
+# endif
+
+#endif
+
+/* ========================================================================= */
+
+#if USE_SOLARIS_THREADS
+
+/* Use the old Solaris threads library. */
+
+# include <thread.h>
+# include <synch.h>
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+# if USE_SOLARIS_THREADS_WEAK
+
+/* Use weak references to the old Solaris threads library. */
+
+# pragma weak thr_create
+# pragma weak thr_join
+# pragma weak thr_self
+# pragma weak thr_exit
+
+# pragma weak thr_suspend
+# define thread_in_use() (thr_suspend != NULL)
+
+# else
+
+# define thread_in_use() 1
+
+# endif
+
+/* -------------------------- gl_thread_t datatype -------------------------- */
+
+typedef thread_t gl_thread_t;
+# define glthread_create(THREADP, FUNC, ARG) \
+ (thread_in_use () ? thr_create (NULL, 0, FUNC, ARG, 0, THREADP) : 0)
+# define glthread_sigmask(HOW, SET, OSET) \
+ (thread_in_use () ? sigprocmask (HOW, SET, OSET) : 0)
+# define glthread_join(THREAD, RETVALP) \
+ (thread_in_use () ? thr_join (THREAD, NULL, RETVALP) : 0)
+# define gl_thread_self() \
+ (thread_in_use () ? (void *) thr_self () : NULL)
+# define gl_thread_self_pointer() \
+ gl_thread_self ()
+# define gl_thread_exit(RETVAL) \
+ (thread_in_use () ? thr_exit (RETVAL) : 0)
+# define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0
+
+# ifdef __cplusplus
+}
+# endif
+
+#endif
+
+/* ========================================================================= */
+
+#if USE_WIN32_THREADS
+
+# define WIN32_LEAN_AND_MEAN /* avoid including junk */
+# include <windows.h>
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+/* -------------------------- gl_thread_t datatype -------------------------- */
+
+/* The gl_thread_t is a pointer to a structure in memory.
+ Why not the thread handle? If it were the thread handle, it would be hard
+ to implement gl_thread_self() (since GetCurrentThread () returns a pseudo-
+ handle, DuplicateHandle (GetCurrentThread ()) returns a handle that must be
+ closed afterwards, and there is no function for quickly retrieving a thread
+ handle from its id).
+ Why not the thread id? I tried it. It did not work: Sometimes ids appeared
+ that did not belong to running threads, and glthread_join failed with ESRCH.
+ */
+typedef struct gl_thread_struct *gl_thread_t;
+# define glthread_create(THREADP, FUNC, ARG) \
+ glthread_create_func (THREADP, FUNC, ARG)
+# define glthread_sigmask(HOW, SET, OSET) \
+ /* unsupported */ 0
+# define glthread_join(THREAD, RETVALP) \
+ glthread_join_func (THREAD, RETVALP)
+# define gl_thread_self() \
+ gl_thread_self_func ()
+# define gl_thread_self_pointer() \
+ gl_thread_self ()
+# define gl_thread_exit(RETVAL) \
+ gl_thread_exit_func (RETVAL)
+# define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0
+extern int glthread_create_func (gl_thread_t *threadp, void * (*func) (void *), void *arg);
+extern int glthread_join_func (gl_thread_t thread, void **retvalp);
+extern gl_thread_t gl_thread_self_func (void);
+extern int gl_thread_exit_func (void *retval);
+
+# ifdef __cplusplus
+}
+# endif
+
+#endif
+
+/* ========================================================================= */
+
+#if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WIN32_THREADS)
+
+/* Provide dummy implementation if threads are not supported. */
+
+typedef int gl_thread_t;
+# define glthread_create(THREADP, FUNC, ARG) ENOSYS
+# define glthread_sigmask(HOW, SET, OSET) 0
+# define glthread_join(THREAD, RETVALP) 0
+# define gl_thread_self() 0
+# define gl_thread_self_pointer() \
+ ((void *) gl_thread_self ())
+# define gl_thread_exit(RETVAL) 0
+# define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0
+
+#endif
+
+/* ========================================================================= */
+
+/* Macros with built-in error handling. */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+static inline gl_thread_t
+gl_thread_create (void *(*func) (void *arg), void *arg)
+{
+ gl_thread_t thread;
+ int ret;
+
+ ret = glthread_create (&thread, func, arg);
+ if (ret != 0)
+ abort ();
+ return thread;
+}
+#define gl_thread_sigmask(HOW, SET, OSET) \
+ do \
+ { \
+ if (glthread_sigmask (HOW, SET, OSET)) \
+ abort (); \
+ } \
+ while (0)
+#define gl_thread_join(THREAD, RETVAL) \
+ do \
+ { \
+ if (glthread_join (THREAD, RETVAL)) \
+ abort (); \
+ } \
+ while (0)
+#define gl_thread_atfork(PREPARE, PARENT, CHILD) \
+ do \
+ { \
+ if (glthread_atfork (PREPARE, PARENT, CHILD)) \
+ abort (); \
+ } \
+ while (0)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GLTHREAD_THREAD_H */
--- /dev/null
+/* Multithreading primitives.
+ Copyright (C) 2005-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2005. */
+
+#include <config.h>
+
+/* ========================================================================= */
+
+#if USE_POSIX_THREADS
+
+/* Use the POSIX threads library. */
+
+# include <pthread.h>
+# include <stdlib.h>
+
+# if PTHREAD_IN_USE_DETECTION_HARD
+
+/* The function to be executed by a dummy thread. */
+static void *
+dummy_thread_func (void *arg)
+{
+ return arg;
+}
+
+int
+glthread_in_use (void)
+{
+ static int tested;
+ static int result; /* 1: linked with -lpthread, 0: only with libc */
+
+ if (!tested)
+ {
+ pthread_t thread;
+
+ if (pthread_create (&thread, NULL, dummy_thread_func, NULL) != 0)
+ /* Thread creation failed. */
+ result = 0;
+ else
+ {
+ /* Thread creation works. */
+ void *retval;
+ if (pthread_join (thread, &retval) != 0)
+ abort ();
+ result = 1;
+ }
+ tested = 1;
+ }
+ return result;
+}
+
+# endif
+
+#endif
+
+/* ========================================================================= */
+
+/* This declaration is solely to ensure that after preprocessing
+ this file is never empty. */
+typedef int dummy;
--- /dev/null
+/* Yielding the processor to other threads and processes.
+ Copyright (C) 2005-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* This file contains a primitive for yielding the processor to other threads.
+ extern void gl_thread_yield (void);
+ */
+
+#ifndef _GLTHREAD_YIELD_H
+#define _GLTHREAD_YIELD_H
+
+#include <errno.h>
+
+/* ========================================================================= */
+
+#if USE_POSIX_THREADS
+
+/* Use the POSIX threads library. */
+
+# include <sched.h>
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+# define gl_thread_yield() \
+ sched_yield ()
+
+# ifdef __cplusplus
+}
+# endif
+
+#endif
+
+/* ========================================================================= */
+
+#if USE_PTH_THREADS
+
+/* Use the GNU Pth threads library. */
+
+# include <pth.h>
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+# define gl_thread_yield() \
+ pth_yield (NULL)
+
+# ifdef __cplusplus
+}
+# endif
+
+#endif
+
+/* ========================================================================= */
+
+#if USE_SOLARIS_THREADS
+
+/* Use the old Solaris threads library. */
+
+# include <thread.h>
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+# define gl_thread_yield() \
+ thr_yield ()
+
+# ifdef __cplusplus
+}
+# endif
+
+#endif
+
+/* ========================================================================= */
+
+#if USE_WIN32_THREADS
+
+# define WIN32_LEAN_AND_MEAN /* avoid including junk */
+# include <windows.h>
+
+# ifdef __cplusplus
+extern "C" {
+# endif
+
+# define gl_thread_yield() \
+ Sleep (0)
+
+# ifdef __cplusplus
+}
+# endif
+
+#endif
+
+/* ========================================================================= */
+
+#if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WIN32_THREADS)
+
+/* Provide dummy implementation if threads are not supported. */
+
+# define gl_thread_yield() 0
+
+#endif
+
+/* ========================================================================= */
+
+#endif /* _GLTHREAD_YIELD_H */
--- /dev/null
+## DO NOT EDIT! GENERATED AUTOMATICALLY!
+## Process this file with automake to produce Makefile.in.
+# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
+# the same distribution terms as the rest of that program.
+#
+# Generated by gnulib-tool.
+
+AUTOMAKE_OPTIONS = 1.5 foreign subdir-objects
+
+SUBDIRS = .
+TESTS =
+XFAIL_TESTS =
+TESTS_ENVIRONMENT =
+noinst_PROGRAMS =
+check_PROGRAMS =
+noinst_HEADERS =
+noinst_LIBRARIES =
+check_LIBRARIES = libtests.a
+EXTRA_DIST =
+BUILT_SOURCES =
+SUFFIXES =
+MOSTLYCLEANFILES = core *.stackdump
+MOSTLYCLEANDIRS =
+CLEANFILES =
+DISTCLEANFILES =
+MAINTAINERCLEANFILES =
+
+AM_CPPFLAGS = \
+ -D@lgltests_WITNESS@=1 \
+ -I. -I$(srcdir) \
+ -I../.. -I$(srcdir)/../.. \
+ -I../../lib/gl -I$(srcdir)/../../lib/gl
+
+LDADD = libtests.a ../../lib/gl/libgnu.la libtests.a $(LIBTESTS_LIBDEPS)
+
+libtests_a_SOURCES =
+libtests_a_LIBADD = $(lgltests_LIBOBJS)
+libtests_a_DEPENDENCIES = $(lgltests_LIBOBJS)
+EXTRA_libtests_a_SOURCES =
+AM_LIBTOOLFLAGS = --preserve-dup-deps
+
+TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' srcdir='$(srcdir)'
+
+## begin gnulib module alloca-opt
+
+BUILT_SOURCES += $(ALLOCA_H)
+
+# We need the following in order to create <alloca.h> when the system
+# doesn't have one that works with the given compiler.
+if GL_GENERATE_ALLOCA_H
+alloca.h: alloca.in.h $(top_builddir)/config.status
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ cat $(srcdir)/alloca.in.h; \
+ } > $@-t && \
+ mv -f $@-t $@
+else
+alloca.h: $(top_builddir)/config.status
+ rm -f $@
+endif
+MOSTLYCLEANFILES += alloca.h alloca.h-t
+
+EXTRA_DIST += alloca.in.h
+
+## end gnulib module alloca-opt
+
+## begin gnulib module alloca-opt-tests
+
+TESTS += test-alloca-opt
+check_PROGRAMS += test-alloca-opt
+
+EXTRA_DIST += test-alloca-opt.c
+
+## end gnulib module alloca-opt-tests
+
+## begin gnulib module c-ctype-tests
+
+TESTS += test-c-ctype
+check_PROGRAMS += test-c-ctype
+
+EXTRA_DIST += test-c-ctype.c macros.h
+
+## end gnulib module c-ctype-tests
+
+## begin gnulib module c-strcase-tests
+
+TESTS += test-c-strcase.sh
+TESTS_ENVIRONMENT += LOCALE_FR='@LOCALE_FR@' LOCALE_TR_UTF8='@LOCALE_TR_UTF8@'
+check_PROGRAMS += test-c-strcasecmp test-c-strncasecmp
+EXTRA_DIST += test-c-strcase.sh test-c-strcasecmp.c test-c-strncasecmp.c macros.h
+
+## end gnulib module c-strcase-tests
+
+## begin gnulib module environ-tests
+
+TESTS += test-environ
+check_PROGRAMS += test-environ
+
+EXTRA_DIST += test-environ.c
+
+## end gnulib module environ-tests
+
+## begin gnulib module iconv-tests
+
+TESTS += test-iconv
+check_PROGRAMS += test-iconv
+test_iconv_LDADD = $(LDADD) @LIBICONV@
+
+EXTRA_DIST += test-iconv.c signature.h macros.h
+
+## end gnulib module iconv-tests
+
+## begin gnulib module intprops
+
+
+EXTRA_DIST += intprops.h
+
+## end gnulib module intprops
+
+## begin gnulib module intprops-tests
+
+TESTS += test-intprops
+check_PROGRAMS += test-intprops
+EXTRA_DIST += test-intprops.c macros.h
+
+## end gnulib module intprops-tests
+
+## begin gnulib module inttypes-incomplete
+
+BUILT_SOURCES += inttypes.h
+
+# We need the following in order to create <inttypes.h> when the system
+# doesn't have one that works with the given compiler.
+inttypes.h: inttypes.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_NONNULL_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
+ -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
+ -e 's/@''APPLE_UNIVERSAL_BUILD''@/$(APPLE_UNIVERSAL_BUILD)/g' \
+ -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
+ -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
+ -e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
+ -e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
+ -e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
+ -e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
+ -e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
+ -e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
+ -e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
+ -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
+ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
+ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \
+ -e 's/@''INT64_MAX_EQ_LONG_MAX''@/$(INT64_MAX_EQ_LONG_MAX)/g' \
+ -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/$(UINT32_MAX_LT_UINTMAX_MAX)/g' \
+ -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/$(UINT64_MAX_EQ_ULONG_MAX)/g' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/inttypes.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += inttypes.h inttypes.h-t
+
+EXTRA_DIST += inttypes.in.h
+
+## end gnulib module inttypes-incomplete
+
+## begin gnulib module inttypes-tests
+
+TESTS += test-inttypes
+check_PROGRAMS += test-inttypes
+EXTRA_DIST += test-inttypes.c
+
+## end gnulib module inttypes-tests
+
+## begin gnulib module locale
+
+BUILT_SOURCES += locale.h
+
+# We need the following in order to create <locale.h> when the system
+# doesn't have one that provides all definitions.
+locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_LOCALE_H''@|$(NEXT_LOCALE_H)|g' \
+ -e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
+ -e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
+ -e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
+ -e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
+ -e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
+ -e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ < $(srcdir)/locale.in.h; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += locale.h locale.h-t
+
+EXTRA_DIST += locale.in.h
+
+## end gnulib module locale
+
+## begin gnulib module locale-tests
+
+TESTS += test-locale
+check_PROGRAMS += test-locale
+EXTRA_DIST += test-locale.c
+
+## end gnulib module locale-tests
+
+## begin gnulib module localename
+
+libtests_a_SOURCES += localename.c
+
+EXTRA_DIST += localename.h
+
+## end gnulib module localename
+
+## begin gnulib module localename-tests
+
+TESTS += test-localename
+check_PROGRAMS += test-localename
+test_localename_LDADD = $(LDADD) @INTL_MACOSX_LIBS@ $(LIBTHREAD)
+
+EXTRA_DIST += test-localename.c macros.h
+
+## end gnulib module localename-tests
+
+## begin gnulib module lock
+
+libtests_a_SOURCES += glthread/lock.h glthread/lock.c
+
+## end gnulib module lock
+
+## begin gnulib module lock-tests
+
+TESTS += test-lock
+check_PROGRAMS += test-lock
+test_lock_LDADD = $(LDADD) @LIBMULTITHREAD@ @YIELD_LIB@
+EXTRA_DIST += test-lock.c
+
+## end gnulib module lock-tests
+
+## begin gnulib module malloc-posix
+
+
+EXTRA_DIST += malloc.c
+
+EXTRA_libtests_a_SOURCES += malloc.c
+
+## end gnulib module malloc-posix
+
+## begin gnulib module malloca
+
+libtests_a_SOURCES += malloca.c
+
+EXTRA_DIST += malloca.h malloca.valgrind
+
+## end gnulib module malloca
+
+## begin gnulib module malloca-tests
+
+TESTS += test-malloca
+check_PROGRAMS += test-malloca
+
+EXTRA_DIST += test-malloca.c
+
+## end gnulib module malloca-tests
+
+## begin gnulib module putenv
+
+
+EXTRA_DIST += putenv.c
+
+EXTRA_libtests_a_SOURCES += putenv.c
+
+## end gnulib module putenv
+
+## begin gnulib module setenv
+
+
+EXTRA_DIST += setenv.c
+
+EXTRA_libtests_a_SOURCES += setenv.c
+
+## end gnulib module setenv
+
+## begin gnulib module setenv-tests
+
+TESTS += test-setenv
+check_PROGRAMS += test-setenv
+EXTRA_DIST += test-setenv.c signature.h macros.h
+
+## end gnulib module setenv-tests
+
+## begin gnulib module setlocale
+
+
+EXTRA_DIST += setlocale.c
+
+EXTRA_libtests_a_SOURCES += setlocale.c
+
+## end gnulib module setlocale
+
+## begin gnulib module setlocale-tests
+
+TESTS += test-setlocale1.sh test-setlocale2.sh
+TESTS_ENVIRONMENT += \
+ LOCALE_FR='@LOCALE_FR@' \
+ LOCALE_FR_UTF8='@LOCALE_FR_UTF8@' \
+ LOCALE_JA='@LOCALE_JA@' \
+ LOCALE_ZH_CN='@LOCALE_ZH_CN@'
+check_PROGRAMS += test-setlocale1 test-setlocale2
+EXTRA_DIST += test-setlocale1.sh test-setlocale1.c test-setlocale2.sh test-setlocale2.c signature.h macros.h
+
+## end gnulib module setlocale-tests
+
+## begin gnulib module snippet/_Noreturn
+
+# Because this Makefile snippet defines a variable used by other
+# gnulib Makefile snippets, it must be present in all Makefile.am that
+# need it. This is ensured by the applicability 'all' defined above.
+
+_NORETURN_H=$(top_srcdir)/build-aux/snippet/_Noreturn.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/_Noreturn.h
+
+## end gnulib module snippet/_Noreturn
+
+## begin gnulib module snippet/arg-nonnull
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+BUILT_SOURCES += arg-nonnull.h
+# The arg-nonnull.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/arg-nonnull.h, except that it has the copyright header cut
+# off.
+arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_ARG_NONNULL/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += arg-nonnull.h arg-nonnull.h-t
+
+ARG_NONNULL_H=arg-nonnull.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/arg-nonnull.h
+
+## end gnulib module snippet/arg-nonnull
+
+## begin gnulib module snippet/c++defs
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+BUILT_SOURCES += c++defs.h
+# The c++defs.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/c++defs.h, except that it has the copyright header cut off.
+c++defs.h: $(top_srcdir)/build-aux/snippet/c++defs.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/_GL_CXXDEFS/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/c++defs.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += c++defs.h c++defs.h-t
+
+CXXDEFS_H=c++defs.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/c++defs.h
+
+## end gnulib module snippet/c++defs
+
+## begin gnulib module snippet/unused-parameter
+
+# The BUILT_SOURCES created by this Makefile snippet are not used via #include
+# statements but through direct file reference. Therefore this snippet must be
+# present in all Makefile.am that need it. This is ensured by the applicability
+# 'all' defined above.
+
+BUILT_SOURCES += unused-parameter.h
+# The unused-parameter.h that gets inserted into generated .h files is the same
+# as build-aux/snippet/unused-parameter.h, except that it has the copyright
+# header cut off.
+unused-parameter.h: $(top_srcdir)/build-aux/snippet/unused-parameter.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/GL_UNUSED_PARAMETER/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/unused-parameter.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += unused-parameter.h unused-parameter.h-t
+
+UNUSED_PARAMETER_H=unused-parameter.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/unused-parameter.h
+
+## end gnulib module snippet/unused-parameter
+
+## begin gnulib module snippet/warn-on-use
+
+BUILT_SOURCES += warn-on-use.h
+# The warn-on-use.h that gets inserted into generated .h files is the same as
+# build-aux/snippet/warn-on-use.h, except that it has the copyright header cut
+# off.
+warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ sed -n -e '/^.ifndef/,$$p' \
+ < $(top_srcdir)/build-aux/snippet/warn-on-use.h \
+ > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += warn-on-use.h warn-on-use.h-t
+
+WARN_ON_USE_H=warn-on-use.h
+
+EXTRA_DIST += $(top_srcdir)/build-aux/snippet/warn-on-use.h
+
+## end gnulib module snippet/warn-on-use
+
+## begin gnulib module stdbool-tests
+
+TESTS += test-stdbool
+check_PROGRAMS += test-stdbool
+EXTRA_DIST += test-stdbool.c
+
+## end gnulib module stdbool-tests
+
+## begin gnulib module stddef-tests
+
+TESTS += test-stddef
+check_PROGRAMS += test-stddef
+EXTRA_DIST += test-stddef.c
+
+## end gnulib module stddef-tests
+
+## begin gnulib module stdint-tests
+
+TESTS += test-stdint
+check_PROGRAMS += test-stdint
+EXTRA_DIST += test-stdint.c
+
+## end gnulib module stdint-tests
+
+## begin gnulib module stdlib
+
+BUILT_SOURCES += stdlib.h
+
+# We need the following in order to create <stdlib.h> when the system
+# doesn't have one that works with the given compiler.
+stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
+ $(_NORETURN_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
+ -e 's/@''GNULIB__EXIT''@/$(GNULIB__EXIT)/g' \
+ -e 's/@''GNULIB_ATOLL''@/$(GNULIB_ATOLL)/g' \
+ -e 's/@''GNULIB_CALLOC_POSIX''@/$(GNULIB_CALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GNULIB_CANONICALIZE_FILE_NAME)/g' \
+ -e 's/@''GNULIB_GETLOADAVG''@/$(GNULIB_GETLOADAVG)/g' \
+ -e 's/@''GNULIB_GETSUBOPT''@/$(GNULIB_GETSUBOPT)/g' \
+ -e 's/@''GNULIB_GRANTPT''@/$(GNULIB_GRANTPT)/g' \
+ -e 's/@''GNULIB_MALLOC_POSIX''@/$(GNULIB_MALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_MBTOWC''@/$(GNULIB_MBTOWC)/g' \
+ -e 's/@''GNULIB_MKDTEMP''@/$(GNULIB_MKDTEMP)/g' \
+ -e 's/@''GNULIB_MKOSTEMP''@/$(GNULIB_MKOSTEMP)/g' \
+ -e 's/@''GNULIB_MKOSTEMPS''@/$(GNULIB_MKOSTEMPS)/g' \
+ -e 's/@''GNULIB_MKSTEMP''@/$(GNULIB_MKSTEMP)/g' \
+ -e 's/@''GNULIB_MKSTEMPS''@/$(GNULIB_MKSTEMPS)/g' \
+ -e 's/@''GNULIB_POSIX_OPENPT''@/$(GNULIB_POSIX_OPENPT)/g' \
+ -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
+ -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
+ -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
+ -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
+ -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
+ -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
+ -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \
+ -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
+ -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
+ -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
+ -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \
+ -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \
+ -e 's/@''GNULIB_UNLOCKPT''@/$(GNULIB_UNLOCKPT)/g' \
+ -e 's/@''GNULIB_UNSETENV''@/$(GNULIB_UNSETENV)/g' \
+ -e 's/@''GNULIB_WCTOMB''@/$(GNULIB_WCTOMB)/g' \
+ < $(srcdir)/stdlib.in.h | \
+ sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \
+ -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
+ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \
+ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
+ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
+ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
+ -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
+ -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
+ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
+ -e 's|@''HAVE_MKSTEMP''@|$(HAVE_MKSTEMP)|g' \
+ -e 's|@''HAVE_MKSTEMPS''@|$(HAVE_MKSTEMPS)|g' \
+ -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
+ -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
+ -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+ -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
+ -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
+ -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
+ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
+ -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
+ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
+ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
+ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
+ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
+ -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \
+ -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
+ -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
+ -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
+ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
+ -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
+ -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
+ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
+ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
+ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+ -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
+ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
+ -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
+ -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
+ -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
+ -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _Noreturn/r $(_NORETURN_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += stdlib.h stdlib.h-t
+
+EXTRA_DIST += stdlib.in.h
+
+## end gnulib module stdlib
+
+## begin gnulib module stdlib-tests
+
+TESTS += test-stdlib
+check_PROGRAMS += test-stdlib
+EXTRA_DIST += test-stdlib.c test-sys_wait.h
+
+## end gnulib module stdlib-tests
+
+## begin gnulib module striconv-tests
+
+TESTS += test-striconv
+check_PROGRAMS += test-striconv
+test_striconv_LDADD = $(LDADD) @LIBICONV@
+
+EXTRA_DIST += test-striconv.c macros.h
+
+## end gnulib module striconv-tests
+
+## begin gnulib module strverscmp-tests
+
+TESTS += test-strverscmp
+check_PROGRAMS += test-strverscmp
+EXTRA_DIST += test-strverscmp.c signature.h macros.h
+
+## end gnulib module strverscmp-tests
+
+## begin gnulib module thread
+
+libtests_a_SOURCES += glthread/thread.h glthread/thread.c
+
+## end gnulib module thread
+
+## begin gnulib module thread-tests
+
+TESTS += test-thread_self test-thread_create
+check_PROGRAMS += test-thread_self test-thread_create
+test_thread_self_LDADD = $(LDADD) @LIBTHREAD@
+test_thread_create_LDADD = $(LDADD) @LIBMULTITHREAD@
+EXTRA_DIST += test-thread_self.c test-thread_create.c macros.h
+
+## end gnulib module thread-tests
+
+## begin gnulib module threadlib
+
+libtests_a_SOURCES += glthread/threadlib.c
+
+EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath
+
+## end gnulib module threadlib
+
+## begin gnulib module unistd
+
+BUILT_SOURCES += unistd.h
+
+# We need the following in order to create an empty placeholder for
+# <unistd.h> when the system doesn't have one.
+unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+ -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
+ -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \
+ -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
+ -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
+ -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \
+ -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
+ -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
+ -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \
+ -e 's/@''GNULIB_EUIDACCESS''@/$(GNULIB_EUIDACCESS)/g' \
+ -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \
+ -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \
+ -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \
+ -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \
+ -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \
+ -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \
+ -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \
+ -e 's/@''GNULIB_GETDOMAINNAME''@/$(GNULIB_GETDOMAINNAME)/g' \
+ -e 's/@''GNULIB_GETDTABLESIZE''@/$(GNULIB_GETDTABLESIZE)/g' \
+ -e 's/@''GNULIB_GETGROUPS''@/$(GNULIB_GETGROUPS)/g' \
+ -e 's/@''GNULIB_GETHOSTNAME''@/$(GNULIB_GETHOSTNAME)/g' \
+ -e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
+ -e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
+ -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
+ -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
+ -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
+ -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
+ -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
+ -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
+ -e 's/@''GNULIB_LSEEK''@/$(GNULIB_LSEEK)/g' \
+ -e 's/@''GNULIB_PIPE''@/$(GNULIB_PIPE)/g' \
+ -e 's/@''GNULIB_PIPE2''@/$(GNULIB_PIPE2)/g' \
+ -e 's/@''GNULIB_PREAD''@/$(GNULIB_PREAD)/g' \
+ -e 's/@''GNULIB_PWRITE''@/$(GNULIB_PWRITE)/g' \
+ -e 's/@''GNULIB_READ''@/$(GNULIB_READ)/g' \
+ -e 's/@''GNULIB_READLINK''@/$(GNULIB_READLINK)/g' \
+ -e 's/@''GNULIB_READLINKAT''@/$(GNULIB_READLINKAT)/g' \
+ -e 's/@''GNULIB_RMDIR''@/$(GNULIB_RMDIR)/g' \
+ -e 's/@''GNULIB_SLEEP''@/$(GNULIB_SLEEP)/g' \
+ -e 's/@''GNULIB_SYMLINK''@/$(GNULIB_SYMLINK)/g' \
+ -e 's/@''GNULIB_SYMLINKAT''@/$(GNULIB_SYMLINKAT)/g' \
+ -e 's/@''GNULIB_TTYNAME_R''@/$(GNULIB_TTYNAME_R)/g' \
+ -e 's/@''GNULIB_UNISTD_H_GETOPT''@/$(GNULIB_UNISTD_H_GETOPT)/g' \
+ -e 's/@''GNULIB_UNISTD_H_NONBLOCKING''@/$(GNULIB_UNISTD_H_NONBLOCKING)/g' \
+ -e 's/@''GNULIB_UNISTD_H_SIGPIPE''@/$(GNULIB_UNISTD_H_SIGPIPE)/g' \
+ -e 's/@''GNULIB_UNLINK''@/$(GNULIB_UNLINK)/g' \
+ -e 's/@''GNULIB_UNLINKAT''@/$(GNULIB_UNLINKAT)/g' \
+ -e 's/@''GNULIB_USLEEP''@/$(GNULIB_USLEEP)/g' \
+ -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \
+ < $(srcdir)/unistd.in.h | \
+ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
+ -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
+ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
+ -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
+ -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
+ -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
+ -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
+ -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \
+ -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
+ -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
+ -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
+ -e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
+ -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
+ -e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \
+ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
+ -e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
+ -e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
+ -e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
+ -e 's|@''HAVE_LINKAT''@|$(HAVE_LINKAT)|g' \
+ -e 's|@''HAVE_PIPE''@|$(HAVE_PIPE)|g' \
+ -e 's|@''HAVE_PIPE2''@|$(HAVE_PIPE2)|g' \
+ -e 's|@''HAVE_PREAD''@|$(HAVE_PREAD)|g' \
+ -e 's|@''HAVE_PWRITE''@|$(HAVE_PWRITE)|g' \
+ -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
+ -e 's|@''HAVE_READLINKAT''@|$(HAVE_READLINKAT)|g' \
+ -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
+ -e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
+ -e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
+ -e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
+ -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
+ -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
+ -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
+ -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
+ -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
+ -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
+ -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
+ -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
+ -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
+ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
+ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
+ | \
+ sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
+ -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
+ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \
+ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
+ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
+ -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
+ -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \
+ -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
+ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
+ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
+ -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
+ -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
+ -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
+ -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
+ -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \
+ -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \
+ -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \
+ -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \
+ -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \
+ -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \
+ -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \
+ -e 's|@''REPLACE_TTYNAME_R''@|$(REPLACE_TTYNAME_R)|g' \
+ -e 's|@''REPLACE_UNLINK''@|$(REPLACE_UNLINK)|g' \
+ -e 's|@''REPLACE_UNLINKAT''@|$(REPLACE_UNLINKAT)|g' \
+ -e 's|@''REPLACE_USLEEP''@|$(REPLACE_USLEEP)|g' \
+ -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
+ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
+ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|$(UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += unistd.h unistd.h-t
+
+EXTRA_DIST += unistd.in.h
+
+## end gnulib module unistd
+
+## begin gnulib module unistd-tests
+
+TESTS += test-unistd
+check_PROGRAMS += test-unistd
+EXTRA_DIST += test-unistd.c
+
+## end gnulib module unistd-tests
+
+## begin gnulib module unistr/u8-mbtoucr-tests
+
+TESTS += test-u8-mbtoucr
+check_PROGRAMS += test-u8-mbtoucr
+test_u8_mbtoucr_SOURCES = unistr/test-u8-mbtoucr.c
+test_u8_mbtoucr_LDADD = $(LDADD) $(LIBUNISTRING)
+EXTRA_DIST += unistr/test-u8-mbtoucr.c macros.h
+
+## end gnulib module unistr/u8-mbtoucr-tests
+
+## begin gnulib module unistr/u8-uctomb-tests
+
+TESTS += test-u8-uctomb
+check_PROGRAMS += test-u8-uctomb
+test_u8_uctomb_SOURCES = unistr/test-u8-uctomb.c
+test_u8_uctomb_LDADD = $(LDADD) $(LIBUNISTRING)
+EXTRA_DIST += unistr/test-u8-uctomb.c macros.h
+
+## end gnulib module unistr/u8-uctomb-tests
+
+## begin gnulib module unsetenv
+
+
+EXTRA_DIST += unsetenv.c
+
+EXTRA_libtests_a_SOURCES += unsetenv.c
+
+## end gnulib module unsetenv
+
+## begin gnulib module unsetenv-tests
+
+TESTS += test-unsetenv
+check_PROGRAMS += test-unsetenv
+EXTRA_DIST += test-unsetenv.c signature.h macros.h
+
+## end gnulib module unsetenv-tests
+
+## begin gnulib module verify
+
+
+EXTRA_DIST += verify.h
+
+## end gnulib module verify
+
+## begin gnulib module verify-tests
+
+TESTS_ENVIRONMENT += MAKE='$(MAKE)'
+TESTS += test-verify test-verify.sh
+check_PROGRAMS += test-verify
+EXTRA_DIST += test-verify.c test-verify.sh init.sh
+
+## end gnulib module verify-tests
+
+## begin gnulib module wchar
+
+BUILT_SOURCES += wchar.h
+
+# We need the following in order to create <wchar.h> when the system
+# version does not work standalone.
+wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+ $(AM_V_GEN)rm -f $@-t $@ && \
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ sed -e 's|@''GUARD_PREFIX''@|GL_LGL|g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
+ -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
+ -e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
+ -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
+ -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
+ -e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
+ -e 's/@''GNULIB_MBRTOWC''@/$(GNULIB_MBRTOWC)/g' \
+ -e 's/@''GNULIB_MBRLEN''@/$(GNULIB_MBRLEN)/g' \
+ -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \
+ -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \
+ -e 's/@''GNULIB_WCRTOMB''@/$(GNULIB_WCRTOMB)/g' \
+ -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \
+ -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \
+ -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \
+ -e 's/@''GNULIB_WMEMCHR''@/$(GNULIB_WMEMCHR)/g' \
+ -e 's/@''GNULIB_WMEMCMP''@/$(GNULIB_WMEMCMP)/g' \
+ -e 's/@''GNULIB_WMEMCPY''@/$(GNULIB_WMEMCPY)/g' \
+ -e 's/@''GNULIB_WMEMMOVE''@/$(GNULIB_WMEMMOVE)/g' \
+ -e 's/@''GNULIB_WMEMSET''@/$(GNULIB_WMEMSET)/g' \
+ -e 's/@''GNULIB_WCSLEN''@/$(GNULIB_WCSLEN)/g' \
+ -e 's/@''GNULIB_WCSNLEN''@/$(GNULIB_WCSNLEN)/g' \
+ -e 's/@''GNULIB_WCSCPY''@/$(GNULIB_WCSCPY)/g' \
+ -e 's/@''GNULIB_WCPCPY''@/$(GNULIB_WCPCPY)/g' \
+ -e 's/@''GNULIB_WCSNCPY''@/$(GNULIB_WCSNCPY)/g' \
+ -e 's/@''GNULIB_WCPNCPY''@/$(GNULIB_WCPNCPY)/g' \
+ -e 's/@''GNULIB_WCSCAT''@/$(GNULIB_WCSCAT)/g' \
+ -e 's/@''GNULIB_WCSNCAT''@/$(GNULIB_WCSNCAT)/g' \
+ -e 's/@''GNULIB_WCSCMP''@/$(GNULIB_WCSCMP)/g' \
+ -e 's/@''GNULIB_WCSNCMP''@/$(GNULIB_WCSNCMP)/g' \
+ -e 's/@''GNULIB_WCSCASECMP''@/$(GNULIB_WCSCASECMP)/g' \
+ -e 's/@''GNULIB_WCSNCASECMP''@/$(GNULIB_WCSNCASECMP)/g' \
+ -e 's/@''GNULIB_WCSCOLL''@/$(GNULIB_WCSCOLL)/g' \
+ -e 's/@''GNULIB_WCSXFRM''@/$(GNULIB_WCSXFRM)/g' \
+ -e 's/@''GNULIB_WCSDUP''@/$(GNULIB_WCSDUP)/g' \
+ -e 's/@''GNULIB_WCSCHR''@/$(GNULIB_WCSCHR)/g' \
+ -e 's/@''GNULIB_WCSRCHR''@/$(GNULIB_WCSRCHR)/g' \
+ -e 's/@''GNULIB_WCSCSPN''@/$(GNULIB_WCSCSPN)/g' \
+ -e 's/@''GNULIB_WCSSPN''@/$(GNULIB_WCSSPN)/g' \
+ -e 's/@''GNULIB_WCSPBRK''@/$(GNULIB_WCSPBRK)/g' \
+ -e 's/@''GNULIB_WCSSTR''@/$(GNULIB_WCSSTR)/g' \
+ -e 's/@''GNULIB_WCSTOK''@/$(GNULIB_WCSTOK)/g' \
+ -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
+ < $(srcdir)/wchar.in.h | \
+ sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
+ -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
+ -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
+ -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
+ -e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
+ -e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
+ -e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
+ -e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
+ -e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
+ -e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
+ -e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
+ -e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
+ -e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
+ -e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
+ -e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
+ -e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
+ -e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
+ -e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
+ -e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
+ -e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
+ -e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
+ -e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
+ -e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
+ -e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
+ -e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
+ -e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
+ -e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
+ -e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
+ -e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
+ -e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
+ -e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
+ -e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
+ -e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
+ -e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
+ -e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
+ -e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
+ -e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
+ -e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
+ -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
+ -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
+ | \
+ sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
+ -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
+ -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
+ -e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
+ -e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
+ -e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
+ -e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
+ -e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
+ -e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
+ -e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
+ -e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
+ -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
+ -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
+ } > $@-t && \
+ mv $@-t $@
+MOSTLYCLEANFILES += wchar.h wchar.h-t
+
+EXTRA_DIST += wchar.in.h
+
+## end gnulib module wchar
+
+## begin gnulib module yield
+
+libtests_a_SOURCES += glthread/yield.h
+
+## end gnulib module yield
+
+# Clean up after Solaris cc.
+clean-local:
+ rm -rf SunWS_cache
+
+mostlyclean-local: mostlyclean-generic
+ @for dir in '' $(MOSTLYCLEANDIRS); do \
+ if test -n "$$dir" && test -d $$dir; then \
+ echo "rmdir $$dir"; rmdir $$dir; \
+ fi; \
+ done; \
+ :
--- /dev/null
+# source this file; set up for tests
+
+# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Using this file in a test
+# =========================
+#
+# The typical skeleton of a test looks like this:
+#
+# #!/bin/sh
+# . "${srcdir=.}/init.sh"; path_prepend_ .
+# Execute some commands.
+# Note that these commands are executed in a subdirectory, therefore you
+# need to prepend "../" to relative filenames in the build directory.
+# Note that the "path_prepend_ ." is useful only if the body of your
+# test invokes programs residing in the initial directory.
+# For example, if the programs you want to test are in src/, and this test
+# script is named tests/test-1, then you would use "path_prepend_ ../src",
+# or perhaps export PATH='$(abs_top_builddir)/src$(PATH_SEPARATOR)'"$$PATH"
+# to all tests via automake's TESTS_ENVIRONMENT.
+# Set the exit code 0 for success, 77 for skipped, or 1 or other for failure.
+# Use the skip_ and fail_ functions to print a diagnostic and then exit
+# with the corresponding exit code.
+# Exit $?
+
+# Executing a test that uses this file
+# ====================================
+#
+# Running a single test:
+# $ make check TESTS=test-foo.sh
+#
+# Running a single test, with verbose output:
+# $ make check TESTS=test-foo.sh VERBOSE=yes
+#
+# Running a single test, with single-stepping:
+# 1. Go into a sub-shell:
+# $ bash
+# 2. Set relevant environment variables from TESTS_ENVIRONMENT in the
+# Makefile:
+# $ export srcdir=../../tests # this is an example
+# 3. Execute the commands from the test, copy&pasting them one by one:
+# $ . "$srcdir/init.sh"; path_prepend_ .
+# ...
+# 4. Finally
+# $ exit
+
+ME_=`expr "./$0" : '.*/\(.*\)$'`
+
+# We use a trap below for cleanup. This requires us to go through
+# hoops to get the right exit status transported through the handler.
+# So use `Exit STATUS' instead of `exit STATUS' inside of the tests.
+# Turn off errexit here so that we don't trip the bug with OSF1/Tru64
+# sh inside this function.
+Exit () { set +e; (exit $1); exit $1; }
+
+# Print warnings (e.g., about skipped and failed tests) to this file number.
+# Override by defining to say, 9, in init.cfg, and putting say,
+# export ...ENVVAR_SETTINGS...; $(SHELL) 9>&2
+# in the definition of TESTS_ENVIRONMENT in your tests/Makefile.am file.
+# This is useful when using automake's parallel tests mode, to print
+# the reason for skip/failure to console, rather than to the .log files.
+: ${stderr_fileno_=2}
+
+# Note that correct expansion of "$*" depends on IFS starting with ' '.
+# Always write the full diagnostic to stderr.
+# When stderr_fileno_ is not 2, also emit the first line of the
+# diagnostic to that file descriptor.
+warn_ ()
+{
+ # If IFS does not start with ' ', set it and emit the warning in a subshell.
+ case $IFS in
+ ' '*) printf '%s\n' "$*" >&2
+ test $stderr_fileno_ = 2 \
+ || { printf '%s\n' "$*" | sed 1q >&$stderr_fileno_ ; } ;;
+ *) (IFS=' '; warn_ "$@");;
+ esac
+}
+fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; }
+skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; }
+fatal_ () { warn_ "$ME_: hard error: $@"; Exit 99; }
+framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; }
+
+# Sanitize this shell to POSIX mode, if possible.
+DUALCASE=1; export DUALCASE
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+ esac
+fi
+
+# We require $(...) support unconditionally.
+# We require a few additional shell features only when $EXEEXT is nonempty,
+# in order to support automatic $EXEEXT emulation:
+# - hyphen-containing alias names
+# - we prefer to use ${var#...} substitution, rather than having
+# to work around lack of support for that feature.
+# The following code attempts to find a shell with support for these features.
+# If the current shell passes the test, we're done. Otherwise, test other
+# shells until we find one that passes. If one is found, re-exec it.
+# If no acceptable shell is found, skip the current test.
+#
+# The "...set -x; P=1 true 2>err..." test is to disqualify any shell that
+# emits "P=1" into err, as /bin/sh from SunOS 5.11 and OpenBSD 4.7 do.
+#
+# Use "9" to indicate success (rather than 0), in case some shell acts
+# like Solaris 10's /bin/sh but exits successfully instead of with status 2.
+
+# Eval this code in a subshell to determine a shell's suitability.
+# 10 - passes all tests; ok to use
+# 9 - ok, but enabling "set -x" corrupts app stderr; prefer higher score
+# ? - not ok
+gl_shell_test_script_='
+test $(echo y) = y || exit 1
+score_=10
+if test "$VERBOSE" = yes; then
+ test -n "$( (exec 3>&1; set -x; P=1 true 2>&3) 2> /dev/null)" && score_=9
+fi
+test -z "$EXEEXT" && exit $score_
+shopt -s expand_aliases
+alias a-b="echo zoo"
+v=abx
+ test ${v%x} = ab \
+ && test ${v#a} = bx \
+ && test $(a-b) = zoo \
+ && exit $score_
+'
+
+if test "x$1" = "x--no-reexec"; then
+ shift
+else
+ # Assume a working shell. Export to subshells (setup_ needs this).
+ gl_set_x_corrupts_stderr_=false
+ export gl_set_x_corrupts_stderr_
+
+ # Record the first marginally acceptable shell.
+ marginal_=
+
+ # Search for a shell that meets our requirements.
+ for re_shell_ in __current__ "${CONFIG_SHELL:-no_shell}" \
+ /bin/sh bash dash zsh pdksh fail
+ do
+ test "$re_shell_" = no_shell && continue
+
+ # If we've made it all the way to the sentinel, "fail" without
+ # finding even a marginal shell, skip this test.
+ if test "$re_shell_" = fail; then
+ test -z "$marginal_" && skip_ failed to find an adequate shell
+ re_shell_=$marginal_
+ break
+ fi
+
+ # When testing the current shell, simply "eval" the test code.
+ # Otherwise, run it via $re_shell_ -c ...
+ if test "$re_shell_" = __current__; then
+ # 'eval'ing this code makes Solaris 10's /bin/sh exit with
+ # $? set to 2. It does not evaluate any of the code after the
+ # "unexpected" first `('. Thus, we must run it in a subshell.
+ ( eval "$gl_shell_test_script_" ) > /dev/null 2>&1
+ else
+ "$re_shell_" -c "$gl_shell_test_script_" 2>/dev/null
+ fi
+
+ st_=$?
+
+ # $re_shell_ works just fine. Use it.
+ if test $st_ = 10; then
+ gl_set_x_corrupts_stderr_=false
+ break
+ fi
+
+ # If this is our first marginally acceptable shell, remember it.
+ if test "$st_:$marginal_" = 9: ; then
+ marginal_="$re_shell_"
+ gl_set_x_corrupts_stderr_=true
+ fi
+ done
+
+ if test "$re_shell_" != __current__; then
+ # Found a usable shell. Preserve -v and -x.
+ case $- in
+ *v*x* | *x*v*) opts_=-vx ;;
+ *v*) opts_=-v ;;
+ *x*) opts_=-x ;;
+ *) opts_= ;;
+ esac
+ exec "$re_shell_" $opts_ "$0" --no-reexec "$@"
+ echo "$ME_: exec failed" 1>&2
+ exit 127
+ fi
+fi
+
+test -n "$EXEEXT" && shopt -s expand_aliases
+
+# Enable glibc's malloc-perturbing option.
+# This is useful for exposing code that depends on the fact that
+# malloc-related functions often return memory that is mostly zeroed.
+# If you have the time and cycles, use valgrind to do an even better job.
+: ${MALLOC_PERTURB_=87}
+export MALLOC_PERTURB_
+
+# This is a stub function that is run upon trap (upon regular exit and
+# interrupt). Override it with a per-test function, e.g., to unmount
+# a partition, or to undo any other global state changes.
+cleanup_ () { :; }
+
+# Emit a header similar to that from diff -u; Print the simulated "diff"
+# command so that the order of arguments is clear. Don't bother with @@ lines.
+emit_diff_u_header_ ()
+{
+ printf '%s\n' "diff -u $*" \
+ "--- $1 1970-01-01" \
+ "+++ $2 1970-01-01"
+}
+
+# Arrange not to let diff or cmp operate on /dev/null,
+# since on some systems (at least OSF/1 5.1), that doesn't work.
+# When there are not two arguments, or no argument is /dev/null, return 2.
+# When one argument is /dev/null and the other is not empty,
+# cat the nonempty file to stderr and return 1.
+# Otherwise, return 0.
+compare_dev_null_ ()
+{
+ test $# = 2 || return 2
+
+ if test "x$1" = x/dev/null; then
+ test -s "$2" || return 0
+ { emit_diff_u_header_ "$@"; sed 's/^/+/' -- "$2"; } >&2
+ return 1
+ fi
+
+ if test "x$2" = x/dev/null; then
+ test -s "$1" || return 0
+ { emit_diff_u_header_ "$@"; sed 's/^/-/' -- "$1"; } >&2
+ return 1
+ fi
+
+ return 2
+}
+
+if diff_out_=`( diff -u "$0" "$0" < /dev/null ) 2>/dev/null`; then
+ if test -z "$diff_out_"; then
+ compare_ () { diff -u "$@"; }
+ else
+ compare_ ()
+ {
+ if diff -u "$@" > diff.out; then
+ # No differences were found, but Solaris 'diff' produces output
+ # "No differences encountered". Hide this output.
+ rm -f diff.out
+ true
+ else
+ cat diff.out
+ rm -f diff.out
+ false
+ fi
+ }
+ fi
+elif diff_out_=`( diff -c "$0" "$0" < /dev/null ) 2>/dev/null`; then
+ if test -z "$diff_out_"; then
+ compare_ () { diff -c "$@"; }
+ else
+ compare_ ()
+ {
+ if diff -c "$@" > diff.out; then
+ # No differences were found, but AIX and HP-UX 'diff' produce output
+ # "No differences encountered" or "There are no differences between the
+ # files.". Hide this output.
+ rm -f diff.out
+ true
+ else
+ cat diff.out
+ rm -f diff.out
+ false
+ fi
+ }
+ fi
+elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1; then
+ compare_ () { cmp -s "$@"; }
+else
+ compare_ () { cmp "$@"; }
+fi
+
+# Usage: compare EXPECTED ACTUAL
+#
+# Given compare_dev_null_'s preprocessing, defer to compare_ if 2 or more.
+# Otherwise, propagate $? to caller: any diffs have already been printed.
+compare ()
+{
+ compare_dev_null_ "$@"
+ case $? in
+ 0|1) return $?;;
+ *) compare_ "$@";;
+ esac
+}
+
+# An arbitrary prefix to help distinguish test directories.
+testdir_prefix_ () { printf gt; }
+
+# Run the user-overridable cleanup_ function, remove the temporary
+# directory and exit with the incoming value of $?.
+remove_tmp_ ()
+{
+ __st=$?
+ cleanup_
+ # cd out of the directory we're about to remove
+ cd "$initial_cwd_" || cd / || cd /tmp
+ chmod -R u+rwx "$test_dir_"
+ # If removal fails and exit status was to be 0, then change it to 1.
+ rm -rf "$test_dir_" || { test $__st = 0 && __st=1; }
+ exit $__st
+}
+
+# Given a directory name, DIR, if every entry in it that matches *.exe
+# contains only the specified bytes (see the case stmt below), then print
+# a space-separated list of those names and return 0. Otherwise, don't
+# print anything and return 1. Naming constraints apply also to DIR.
+find_exe_basenames_ ()
+{
+ feb_dir_=$1
+ feb_fail_=0
+ feb_result_=
+ feb_sp_=
+ for feb_file_ in $feb_dir_/*.exe; do
+ # If there was no *.exe file, or there existed a file named "*.exe" that
+ # was deleted between the above glob expansion and the existence test
+ # below, just skip it.
+ test "x$feb_file_" = "x$feb_dir_/*.exe" && test ! -f "$feb_file_" \
+ && continue
+ # Exempt [.exe, since we can't create a function by that name, yet
+ # we can't invoke [ by PATH search anyways due to shell builtins.
+ test "x$feb_file_" = "x$feb_dir_/[.exe" && continue
+ case $feb_file_ in
+ *[!-a-zA-Z/0-9_.+]*) feb_fail_=1; break;;
+ *) # Remove leading file name components as well as the .exe suffix.
+ feb_file_=${feb_file_##*/}
+ feb_file_=${feb_file_%.exe}
+ feb_result_="$feb_result_$feb_sp_$feb_file_";;
+ esac
+ feb_sp_=' '
+ done
+ test $feb_fail_ = 0 && printf %s "$feb_result_"
+ return $feb_fail_
+}
+
+# Consider the files in directory, $1.
+# For each file name of the form PROG.exe, create an alias named
+# PROG that simply invokes PROG.exe, then return 0. If any selected
+# file name or the directory name, $1, contains an unexpected character,
+# define no alias and return 1.
+create_exe_shims_ ()
+{
+ case $EXEEXT in
+ '') return 0 ;;
+ .exe) ;;
+ *) echo "$0: unexpected \$EXEEXT value: $EXEEXT" 1>&2; return 1 ;;
+ esac
+
+ base_names_=`find_exe_basenames_ $1` \
+ || { echo "$0 (exe_shim): skipping directory: $1" 1>&2; return 0; }
+
+ if test -n "$base_names_"; then
+ for base_ in $base_names_; do
+ alias "$base_"="$base_$EXEEXT"
+ done
+ fi
+
+ return 0
+}
+
+# Use this function to prepend to PATH an absolute name for each
+# specified, possibly-$initial_cwd_-relative, directory.
+path_prepend_ ()
+{
+ while test $# != 0; do
+ path_dir_=$1
+ case $path_dir_ in
+ '') fail_ "invalid path dir: '$1'";;
+ /*) abs_path_dir_=$path_dir_;;
+ *) abs_path_dir_=`cd "$initial_cwd_/$path_dir_" && echo "$PWD"` \
+ || fail_ "invalid path dir: $path_dir_";;
+ esac
+ case $abs_path_dir_ in
+ *:*) fail_ "invalid path dir: '$abs_path_dir_'";;
+ esac
+ PATH="$abs_path_dir_:$PATH"
+
+ # Create an alias, FOO, for each FOO.exe in this directory.
+ create_exe_shims_ "$abs_path_dir_" \
+ || fail_ "something failed (above): $abs_path_dir_"
+ shift
+ done
+ export PATH
+}
+
+setup_ ()
+{
+ if test "$VERBOSE" = yes; then
+ # Test whether set -x may cause the selected shell to corrupt an
+ # application's stderr. Many do, including zsh-4.3.10 and the /bin/sh
+ # from SunOS 5.11, OpenBSD 4.7 and Irix 5.x and 6.5.
+ # If enabling verbose output this way would cause trouble, simply
+ # issue a warning and refrain.
+ if $gl_set_x_corrupts_stderr_; then
+ warn_ "using SHELL=$SHELL with 'set -x' corrupts stderr"
+ else
+ set -x
+ fi
+ fi
+
+ initial_cwd_=$PWD
+ fail=0
+
+ pfx_=`testdir_prefix_`
+ test_dir_=`mktempd_ "$initial_cwd_" "$pfx_-$ME_.XXXX"` \
+ || fail_ "failed to create temporary directory in $initial_cwd_"
+ cd "$test_dir_"
+
+ # As autoconf-generated configure scripts do, ensure that IFS
+ # is defined initially, so that saving and restoring $IFS works.
+ gl_init_sh_nl_='
+'
+ IFS=" "" $gl_init_sh_nl_"
+
+ # This trap statement, along with a trap on 0 below, ensure that the
+ # temporary directory, $test_dir_, is removed upon exit as well as
+ # upon receipt of any of the listed signals.
+ for sig_ in 1 2 3 13 15; do
+ eval "trap 'Exit $(expr $sig_ + 128)' $sig_"
+ done
+}
+
+# Create a temporary directory, much like mktemp -d does.
+# Written by Jim Meyering.
+#
+# Usage: mktempd_ /tmp phoey.XXXXXXXXXX
+#
+# First, try to use the mktemp program.
+# Failing that, we'll roll our own mktemp-like function:
+# - try to get random bytes from /dev/urandom
+# - failing that, generate output from a combination of quickly-varying
+# sources and gzip. Ignore non-varying gzip header, and extract
+# "random" bits from there.
+# - given those bits, map to file-name bytes using tr, and try to create
+# the desired directory.
+# - make only $MAX_TRIES_ attempts
+
+# Helper function. Print $N pseudo-random bytes from a-zA-Z0-9.
+rand_bytes_ ()
+{
+ n_=$1
+
+ # Maybe try openssl rand -base64 $n_prime_|tr '+/=\012' abcd first?
+ # But if they have openssl, they probably have mktemp, too.
+
+ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
+ dev_rand_=/dev/urandom
+ if test -r "$dev_rand_"; then
+ # Note: 256-length($chars_) == 194; 3 copies of $chars_ is 186 + 8 = 194.
+ dd ibs=$n_ count=1 if=$dev_rand_ 2>/dev/null \
+ | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_
+ return
+ fi
+
+ n_plus_50_=`expr $n_ + 50`
+ cmds_='date; date +%N; free; who -a; w; ps auxww; ps ef; netstat -n'
+ data_=` (eval "$cmds_") 2>&1 | gzip `
+
+ # Ensure that $data_ has length at least 50+$n_
+ while :; do
+ len_=`echo "$data_"|wc -c`
+ test $n_plus_50_ -le $len_ && break;
+ data_=` (echo "$data_"; eval "$cmds_") 2>&1 | gzip `
+ done
+
+ echo "$data_" \
+ | dd bs=1 skip=50 count=$n_ 2>/dev/null \
+ | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_
+}
+
+mktempd_ ()
+{
+ case $# in
+ 2);;
+ *) fail_ "Usage: mktempd_ DIR TEMPLATE";;
+ esac
+
+ destdir_=$1
+ template_=$2
+
+ MAX_TRIES_=4
+
+ # Disallow any trailing slash on specified destdir:
+ # it would subvert the post-mktemp "case"-based destdir test.
+ case $destdir_ in
+ /) ;;
+ */) fail_ "invalid destination dir: remove trailing slash(es)";;
+ esac
+
+ case $template_ in
+ *XXXX) ;;
+ *) fail_ \
+ "invalid template: $template_ (must have a suffix of at least 4 X's)";;
+ esac
+
+ # First, try to use mktemp.
+ d=`unset TMPDIR; mktemp -d -t -p "$destdir_" "$template_" 2>/dev/null` \
+ || fail=1
+
+ # The resulting name must be in the specified directory.
+ case $d in "$destdir_"*);; *) fail=1;; esac
+
+ # It must have created the directory.
+ test -d "$d" || fail=1
+
+ # It must have 0700 permissions. Handle sticky "S" bits.
+ perms=`ls -dgo "$d" 2>/dev/null|tr S -` || fail=1
+ case $perms in drwx------*) ;; *) fail=1;; esac
+
+ test $fail = 0 && {
+ echo "$d"
+ return
+ }
+
+ # If we reach this point, we'll have to create a directory manually.
+
+ # Get a copy of the template without its suffix of X's.
+ base_template_=`echo "$template_"|sed 's/XX*$//'`
+
+ # Calculate how many X's we've just removed.
+ template_length_=`echo "$template_" | wc -c`
+ nx_=`echo "$base_template_" | wc -c`
+ nx_=`expr $template_length_ - $nx_`
+
+ err_=
+ i_=1
+ while :; do
+ X_=`rand_bytes_ $nx_`
+ candidate_dir_="$destdir_/$base_template_$X_"
+ err_=`mkdir -m 0700 "$candidate_dir_" 2>&1` \
+ && { echo "$candidate_dir_"; return; }
+ test $MAX_TRIES_ -le $i_ && break;
+ i_=`expr $i_ + 1`
+ done
+ fail_ "$err_"
+}
+
+# If you want to override the testdir_prefix_ function,
+# or to add more utility functions, use this file.
+test -f "$srcdir/init.cfg" \
+ && . "$srcdir/init.cfg"
+
+setup_ "$@"
+# This trap is here, rather than in the setup_ function, because some
+# shells run the exit trap at shell function exit, rather than script exit.
+trap remove_tmp_ 0
/* intprops.h -- properties of integer types
- Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2001-2005, 2009-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* Written by Paul Eggert. */
+#ifndef _GL_INTPROPS_H
+#define _GL_INTPROPS_H
+
#include <limits.h>
+/* Return an integer value, converted to the same type as the integer
+ expression E after integer type promotion. V is the unconverted value. */
+#define _GL_INT_CONVERT(e, v) (0 * (e) + (v))
+
+/* Act like _GL_INT_CONVERT (E, -V) but work around a bug in IRIX 6.5 cc; see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>. */
+#define _GL_INT_NEGATE_CONVERT(e, v) (0 * (e) - (v))
+
/* The extra casts in the following macros work around compiler bugs,
e.g., in Cray C 5.0.3.0. */
#define TYPE_ONES_COMPLEMENT(t) ((t) ~ (t) 0 == 0)
#define TYPE_SIGNED_MAGNITUDE(t) ((t) ~ (t) 0 < (t) -1)
+/* True if the signed integer expression E uses two's complement. */
+#define _GL_INT_TWOS_COMPLEMENT(e) (~ _GL_INT_CONVERT (e, 0) == -1)
+
/* True if the arithmetic type T is signed. */
#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-/* The maximum and minimum values for the integer type T. These
+/* Return 1 if the integer expression E, after integer promotion, has
+ a signed type. */
+#define _GL_INT_SIGNED(e) (_GL_INT_NEGATE_CONVERT (e, 1) < 0)
+
+
+/* Minimum and maximum values for integer types and expressions. These
macros have undefined behavior if T is signed and has padding bits.
If this is a problem for you, please let us know how to fix it for
your host. */
-#define TYPE_MINIMUM(t) \
- ((t) (! TYPE_SIGNED (t) \
- ? (t) 0 \
- : TYPE_SIGNED_MAGNITUDE (t) \
- ? ~ (t) 0 \
- : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))
-#define TYPE_MAXIMUM(t) \
- ((t) (! TYPE_SIGNED (t) \
- ? (t) -1 \
- : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
-
-/* Return zero if T can be determined to be an unsigned type.
- Otherwise, return 1.
- When compiling with GCC, INT_STRLEN_BOUND uses this macro to obtain a
- tighter bound. Otherwise, it overestimates the true bound by one byte
- when applied to unsigned types of size 2, 4, 16, ... bytes.
- The symbol signed_type_or_expr__ is private to this header file. */
-#if __GNUC__ >= 2
-# define signed_type_or_expr__(t) TYPE_SIGNED (__typeof__ (t))
+
+/* The maximum and minimum values for the integer type T. */
+#define TYPE_MINIMUM(t) \
+ ((t) (! TYPE_SIGNED (t) \
+ ? (t) 0 \
+ : TYPE_SIGNED_MAGNITUDE (t) \
+ ? ~ (t) 0 \
+ : ~ TYPE_MAXIMUM (t)))
+#define TYPE_MAXIMUM(t) \
+ ((t) (! TYPE_SIGNED (t) \
+ ? (t) -1 \
+ : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
+
+/* The maximum and minimum values for the type of the expression E,
+ after integer promotion. E should not have side effects. */
+#define _GL_INT_MINIMUM(e) \
+ (_GL_INT_SIGNED (e) \
+ ? - _GL_INT_TWOS_COMPLEMENT (e) - _GL_SIGNED_INT_MAXIMUM (e) \
+ : _GL_INT_CONVERT (e, 0))
+#define _GL_INT_MAXIMUM(e) \
+ (_GL_INT_SIGNED (e) \
+ ? _GL_SIGNED_INT_MAXIMUM (e) \
+ : _GL_INT_NEGATE_CONVERT (e, 1))
+#define _GL_SIGNED_INT_MAXIMUM(e) \
+ (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
+
+
+/* Return 1 if the __typeof__ keyword works. This could be done by
+ 'configure', but for now it's easier to do it by hand. */
+#if 2 <= __GNUC__ || 0x5110 <= __SUNPRO_C
+# define _GL_HAVE___TYPEOF__ 1
#else
-# define signed_type_or_expr__(t) 1
+# define _GL_HAVE___TYPEOF__ 0
#endif
+/* Return 1 if the integer type or expression T might be signed. Return 0
+ if it is definitely unsigned. This macro does not evaluate its argument,
+ and expands to an integer constant expression. */
+#if _GL_HAVE___TYPEOF__
+# define _GL_SIGNED_TYPE_OR_EXPR(t) TYPE_SIGNED (__typeof__ (t))
+#else
+# define _GL_SIGNED_TYPE_OR_EXPR(t) 1
+#endif
+
+/* Bound on length of the string representing an unsigned integer
+ value representable in B bits. log10 (2.0) < 146/485. The
+ smallest value of B where this bound is not tight is 2621. */
+#define INT_BITS_STRLEN_BOUND(b) (((b) * 146 + 484) / 485)
+
/* Bound on length of the string representing an integer type or expression T.
- Subtract 1 for the sign bit if T is signed; log10 (2.0) < 146/485;
- add 1 for integer division truncation; add 1 more for a minus sign
- if needed. */
-#define INT_STRLEN_BOUND(t) \
- ((sizeof (t) * CHAR_BIT - signed_type_or_expr__ (t)) * 146 / 485 \
- + signed_type_or_expr__ (t) + 1)
+ Subtract 1 for the sign bit if T is signed, and then add 1 more for
+ a minus sign if needed.
+
+ Because _GL_SIGNED_TYPE_OR_EXPR sometimes returns 0 when its argument is
+ signed, this macro may overestimate the true bound by one byte when
+ applied to unsigned types of size 2, 4, 16, ... bytes. */
+#define INT_STRLEN_BOUND(t) \
+ (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \
+ - _GL_SIGNED_TYPE_OR_EXPR (t)) \
+ + _GL_SIGNED_TYPE_OR_EXPR (t))
/* Bound on buffer size needed to represent an integer type or expression T,
including the terminating null. */
#define INT_BUFSIZE_BOUND(t) (INT_STRLEN_BOUND (t) + 1)
+
+
+/* Range overflow checks.
+
+ The INT_<op>_RANGE_OVERFLOW macros return 1 if the corresponding C
+ operators might not yield numerically correct answers due to
+ arithmetic overflow. They do not rely on undefined or
+ implementation-defined behavior. Their implementations are simple
+ and straightforward, but they are a bit harder to use than the
+ INT_<op>_OVERFLOW macros described below.
+
+ Example usage:
+
+ long int i = ...;
+ long int j = ...;
+ if (INT_MULTIPLY_RANGE_OVERFLOW (i, j, LONG_MIN, LONG_MAX))
+ printf ("multiply would overflow");
+ else
+ printf ("product is %ld", i * j);
+
+ Restrictions on *_RANGE_OVERFLOW macros:
+
+ These macros do not check for all possible numerical problems or
+ undefined or unspecified behavior: they do not check for division
+ by zero, for bad shift counts, or for shifting negative numbers.
+
+ These macros may evaluate their arguments zero or multiple times,
+ so the arguments should not have side effects. The arithmetic
+ arguments (including the MIN and MAX arguments) must be of the same
+ integer type after the usual arithmetic conversions, and the type
+ must have minimum value MIN and maximum MAX. Unsigned types should
+ use a zero MIN of the proper type.
+
+ These macros are tuned for constant MIN and MAX. For commutative
+ operations such as A + B, they are also tuned for constant B. */
+
+/* Return 1 if A + B would overflow in [MIN,MAX] arithmetic.
+ See above for restrictions. */
+#define INT_ADD_RANGE_OVERFLOW(a, b, min, max) \
+ ((b) < 0 \
+ ? (a) < (min) - (b) \
+ : (max) - (b) < (a))
+
+/* Return 1 if A - B would overflow in [MIN,MAX] arithmetic.
+ See above for restrictions. */
+#define INT_SUBTRACT_RANGE_OVERFLOW(a, b, min, max) \
+ ((b) < 0 \
+ ? (max) + (b) < (a) \
+ : (a) < (min) + (b))
+
+/* Return 1 if - A would overflow in [MIN,MAX] arithmetic.
+ See above for restrictions. */
+#define INT_NEGATE_RANGE_OVERFLOW(a, min, max) \
+ ((min) < 0 \
+ ? (a) < - (max) \
+ : 0 < (a))
+
+/* Return 1 if A * B would overflow in [MIN,MAX] arithmetic.
+ See above for restrictions. Avoid && and || as they tickle
+ bugs in Sun C 5.11 2010/08/13 and other compilers; see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>. */
+#define INT_MULTIPLY_RANGE_OVERFLOW(a, b, min, max) \
+ ((b) < 0 \
+ ? ((a) < 0 \
+ ? (a) < (max) / (b) \
+ : (b) == -1 \
+ ? 0 \
+ : (min) / (b) < (a)) \
+ : (b) == 0 \
+ ? 0 \
+ : ((a) < 0 \
+ ? (a) < (min) / (b) \
+ : (max) / (b) < (a)))
+
+/* Return 1 if A / B would overflow in [MIN,MAX] arithmetic.
+ See above for restrictions. Do not check for division by zero. */
+#define INT_DIVIDE_RANGE_OVERFLOW(a, b, min, max) \
+ ((min) < 0 && (b) == -1 && (a) < - (max))
+
+/* Return 1 if A % B would overflow in [MIN,MAX] arithmetic.
+ See above for restrictions. Do not check for division by zero.
+ Mathematically, % should never overflow, but on x86-like hosts
+ INT_MIN % -1 traps, and the C standard permits this, so treat this
+ as an overflow too. */
+#define INT_REMAINDER_RANGE_OVERFLOW(a, b, min, max) \
+ INT_DIVIDE_RANGE_OVERFLOW (a, b, min, max)
+
+/* Return 1 if A << B would overflow in [MIN,MAX] arithmetic.
+ See above for restrictions. Here, MIN and MAX are for A only, and B need
+ not be of the same type as the other arguments. The C standard says that
+ behavior is undefined for shifts unless 0 <= B < wordwidth, and that when
+ A is negative then A << B has undefined behavior and A >> B has
+ implementation-defined behavior, but do not check these other
+ restrictions. */
+#define INT_LEFT_SHIFT_RANGE_OVERFLOW(a, b, min, max) \
+ ((a) < 0 \
+ ? (a) < (min) >> (b) \
+ : (max) >> (b) < (a))
+
+
+/* The _GL*_OVERFLOW macros have the same restrictions as the
+ *_RANGE_OVERFLOW macros, except that they do not assume that operands
+ (e.g., A and B) have the same type as MIN and MAX. Instead, they assume
+ that the result (e.g., A + B) has that type. */
+#define _GL_ADD_OVERFLOW(a, b, min, max) \
+ ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \
+ : (a) < 0 ? (b) <= (a) + (b) \
+ : (b) < 0 ? (a) <= (a) + (b) \
+ : (a) + (b) < (b))
+#define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \
+ ((min) < 0 ? INT_SUBTRACT_RANGE_OVERFLOW (a, b, min, max) \
+ : (a) < 0 ? 1 \
+ : (b) < 0 ? (a) - (b) <= (a) \
+ : (a) < (b))
+#define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \
+ (((min) == 0 && (((a) < 0 && 0 < (b)) || ((b) < 0 && 0 < (a)))) \
+ || INT_MULTIPLY_RANGE_OVERFLOW (a, b, min, max))
+#define _GL_DIVIDE_OVERFLOW(a, b, min, max) \
+ ((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max) \
+ : (a) < 0 ? (b) <= (a) + (b) - 1 \
+ : (b) < 0 && (a) + (b) <= (a))
+#define _GL_REMAINDER_OVERFLOW(a, b, min, max) \
+ ((min) < 0 ? (b) == _GL_INT_NEGATE_CONVERT (min, 1) && (a) < - (max) \
+ : (a) < 0 ? (a) % (b) != ((max) - (b) + 1) % (b) \
+ : (b) < 0 && ! _GL_UNSIGNED_NEG_MULTIPLE (a, b, max))
+
+/* Return a nonzero value if A is a mathematical multiple of B, where
+ A is unsigned, B is negative, and MAX is the maximum value of A's
+ type. A's type must be the same as (A % B)'s type. Normally (A %
+ -B == 0) suffices, but things get tricky if -B would overflow. */
+#define _GL_UNSIGNED_NEG_MULTIPLE(a, b, max) \
+ (((b) < -_GL_SIGNED_INT_MAXIMUM (b) \
+ ? (_GL_SIGNED_INT_MAXIMUM (b) == (max) \
+ ? (a) \
+ : (a) % (_GL_INT_CONVERT (a, _GL_SIGNED_INT_MAXIMUM (b)) + 1)) \
+ : (a) % - (b)) \
+ == 0)
+
+
+/* Integer overflow checks.
+
+ The INT_<op>_OVERFLOW macros return 1 if the corresponding C operators
+ might not yield numerically correct answers due to arithmetic overflow.
+ They work correctly on all known practical hosts, and do not rely
+ on undefined behavior due to signed arithmetic overflow.
+
+ Example usage:
+
+ long int i = ...;
+ long int j = ...;
+ if (INT_MULTIPLY_OVERFLOW (i, j))
+ printf ("multiply would overflow");
+ else
+ printf ("product is %ld", i * j);
+
+ These macros do not check for all possible numerical problems or
+ undefined or unspecified behavior: they do not check for division
+ by zero, for bad shift counts, or for shifting negative numbers.
+
+ These macros may evaluate their arguments zero or multiple times, so the
+ arguments should not have side effects.
+
+ These macros are tuned for their last argument being a constant.
+
+ Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B,
+ A % B, and A << B would overflow, respectively. */
+
+#define INT_ADD_OVERFLOW(a, b) \
+ _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
+#define INT_SUBTRACT_OVERFLOW(a, b) \
+ _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
+#define INT_NEGATE_OVERFLOW(a) \
+ INT_NEGATE_RANGE_OVERFLOW (a, _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a))
+#define INT_MULTIPLY_OVERFLOW(a, b) \
+ _GL_BINARY_OP_OVERFLOW (a, b, _GL_MULTIPLY_OVERFLOW)
+#define INT_DIVIDE_OVERFLOW(a, b) \
+ _GL_BINARY_OP_OVERFLOW (a, b, _GL_DIVIDE_OVERFLOW)
+#define INT_REMAINDER_OVERFLOW(a, b) \
+ _GL_BINARY_OP_OVERFLOW (a, b, _GL_REMAINDER_OVERFLOW)
+#define INT_LEFT_SHIFT_OVERFLOW(a, b) \
+ INT_LEFT_SHIFT_RANGE_OVERFLOW (a, b, \
+ _GL_INT_MINIMUM (a), _GL_INT_MAXIMUM (a))
+
+/* Return 1 if the expression A <op> B would overflow,
+ where OP_RESULT_OVERFLOW (A, B, MIN, MAX) does the actual test,
+ assuming MIN and MAX are the minimum and maximum for the result type.
+ Arguments should be free of side effects. */
+#define _GL_BINARY_OP_OVERFLOW(a, b, op_result_overflow) \
+ op_result_overflow (a, b, \
+ _GL_INT_MINIMUM (0 * (b) + (a)), \
+ _GL_INT_MAXIMUM (0 * (b) + (a)))
+
+#endif /* _GL_INTPROPS_H */
--- /dev/null
+/* Copyright (C) 2006-2011 Free Software Foundation, Inc.
+ Written by Paul Eggert, Bruno Haible, Derek Price.
+ This file is part of gnulib.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/*
+ * ISO C 99 <inttypes.h> for platforms that lack it.
+ * <http://www.opengroup.org/susv3xbd/inttypes.h.html>
+ */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* Include the original <inttypes.h> if it exists, and if this file
+ has not been included yet or if this file includes gnulib stdint.h
+ which in turn includes this file.
+ The include_next requires a split double-inclusion guard. */
+#if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+# if @HAVE_INTTYPES_H@
+# @INCLUDE_NEXT@ @NEXT_INTTYPES_H@
+# endif
+#endif
+
+#if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
+#define INTTYPES_H
+
+/* Include <stdint.h> or the gnulib replacement.
+ But avoid namespace pollution on glibc systems. */
+#ifndef __GLIBC__
+# include <stdint.h>
+#endif
+/* Get CHAR_BIT. */
+#include <limits.h>
+
+#if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX)
+# error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>."
+#endif
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+/* 7.8.1 Macros for format specifiers */
+
+#if ! defined __cplusplus || defined __STDC_FORMAT_MACROS
+
+# if defined _TNS_R_TARGET
+ /* Tandem NonStop R series and compatible platforms released before
+ July 2005 support %Ld but not %lld. */
+# define _LONG_LONG_FORMAT_PREFIX "L"
+# else
+# define _LONG_LONG_FORMAT_PREFIX "ll"
+# endif
+
+# if !defined PRId8 || @PRI_MACROS_BROKEN@
+# undef PRId8
+# ifdef INT8_MAX
+# define PRId8 "d"
+# endif
+# endif
+# if !defined PRIi8 || @PRI_MACROS_BROKEN@
+# undef PRIi8
+# ifdef INT8_MAX
+# define PRIi8 "i"
+# endif
+# endif
+# if !defined PRIo8 || @PRI_MACROS_BROKEN@
+# undef PRIo8
+# ifdef UINT8_MAX
+# define PRIo8 "o"
+# endif
+# endif
+# if !defined PRIu8 || @PRI_MACROS_BROKEN@
+# undef PRIu8
+# ifdef UINT8_MAX
+# define PRIu8 "u"
+# endif
+# endif
+# if !defined PRIx8 || @PRI_MACROS_BROKEN@
+# undef PRIx8
+# ifdef UINT8_MAX
+# define PRIx8 "x"
+# endif
+# endif
+# if !defined PRIX8 || @PRI_MACROS_BROKEN@
+# undef PRIX8
+# ifdef UINT8_MAX
+# define PRIX8 "X"
+# endif
+# endif
+# if !defined PRId16 || @PRI_MACROS_BROKEN@
+# undef PRId16
+# ifdef INT16_MAX
+# define PRId16 "d"
+# endif
+# endif
+# if !defined PRIi16 || @PRI_MACROS_BROKEN@
+# undef PRIi16
+# ifdef INT16_MAX
+# define PRIi16 "i"
+# endif
+# endif
+# if !defined PRIo16 || @PRI_MACROS_BROKEN@
+# undef PRIo16
+# ifdef UINT16_MAX
+# define PRIo16 "o"
+# endif
+# endif
+# if !defined PRIu16 || @PRI_MACROS_BROKEN@
+# undef PRIu16
+# ifdef UINT16_MAX
+# define PRIu16 "u"
+# endif
+# endif
+# if !defined PRIx16 || @PRI_MACROS_BROKEN@
+# undef PRIx16
+# ifdef UINT16_MAX
+# define PRIx16 "x"
+# endif
+# endif
+# if !defined PRIX16 || @PRI_MACROS_BROKEN@
+# undef PRIX16
+# ifdef UINT16_MAX
+# define PRIX16 "X"
+# endif
+# endif
+# if !defined PRId32 || @PRI_MACROS_BROKEN@
+# undef PRId32
+# ifdef INT32_MAX
+# define PRId32 "d"
+# endif
+# endif
+# if !defined PRIi32 || @PRI_MACROS_BROKEN@
+# undef PRIi32
+# ifdef INT32_MAX
+# define PRIi32 "i"
+# endif
+# endif
+# if !defined PRIo32 || @PRI_MACROS_BROKEN@
+# undef PRIo32
+# ifdef UINT32_MAX
+# define PRIo32 "o"
+# endif
+# endif
+# if !defined PRIu32 || @PRI_MACROS_BROKEN@
+# undef PRIu32
+# ifdef UINT32_MAX
+# define PRIu32 "u"
+# endif
+# endif
+# if !defined PRIx32 || @PRI_MACROS_BROKEN@
+# undef PRIx32
+# ifdef UINT32_MAX
+# define PRIx32 "x"
+# endif
+# endif
+# if !defined PRIX32 || @PRI_MACROS_BROKEN@
+# undef PRIX32
+# ifdef UINT32_MAX
+# define PRIX32 "X"
+# endif
+# endif
+# ifdef INT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@)
+# define _PRI64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+# define _PRI64_PREFIX "I64"
+# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined PRId64 || @PRI_MACROS_BROKEN@
+# undef PRId64
+# define PRId64 _PRI64_PREFIX "d"
+# endif
+# if !defined PRIi64 || @PRI_MACROS_BROKEN@
+# undef PRIi64
+# define PRIi64 _PRI64_PREFIX "i"
+# endif
+# endif
+# ifdef UINT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@)
+# define _PRIu64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+# define _PRIu64_PREFIX "I64"
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined PRIo64 || @PRI_MACROS_BROKEN@
+# undef PRIo64
+# define PRIo64 _PRIu64_PREFIX "o"
+# endif
+# if !defined PRIu64 || @PRI_MACROS_BROKEN@
+# undef PRIu64
+# define PRIu64 _PRIu64_PREFIX "u"
+# endif
+# if !defined PRIx64 || @PRI_MACROS_BROKEN@
+# undef PRIx64
+# define PRIx64 _PRIu64_PREFIX "x"
+# endif
+# if !defined PRIX64 || @PRI_MACROS_BROKEN@
+# undef PRIX64
+# define PRIX64 _PRIu64_PREFIX "X"
+# endif
+# endif
+
+# if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST8
+# define PRIdLEAST8 "d"
+# endif
+# if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST8
+# define PRIiLEAST8 "i"
+# endif
+# if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST8
+# define PRIoLEAST8 "o"
+# endif
+# if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST8
+# define PRIuLEAST8 "u"
+# endif
+# if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST8
+# define PRIxLEAST8 "x"
+# endif
+# if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST8
+# define PRIXLEAST8 "X"
+# endif
+# if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST16
+# define PRIdLEAST16 "d"
+# endif
+# if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST16
+# define PRIiLEAST16 "i"
+# endif
+# if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST16
+# define PRIoLEAST16 "o"
+# endif
+# if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST16
+# define PRIuLEAST16 "u"
+# endif
+# if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST16
+# define PRIxLEAST16 "x"
+# endif
+# if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST16
+# define PRIXLEAST16 "X"
+# endif
+# if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST32
+# define PRIdLEAST32 "d"
+# endif
+# if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST32
+# define PRIiLEAST32 "i"
+# endif
+# if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST32
+# define PRIoLEAST32 "o"
+# endif
+# if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST32
+# define PRIuLEAST32 "u"
+# endif
+# if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST32
+# define PRIxLEAST32 "x"
+# endif
+# if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST32
+# define PRIXLEAST32 "X"
+# endif
+# ifdef INT64_MAX
+# if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIdLEAST64
+# define PRIdLEAST64 PRId64
+# endif
+# if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIiLEAST64
+# define PRIiLEAST64 PRIi64
+# endif
+# endif
+# ifdef UINT64_MAX
+# if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIoLEAST64
+# define PRIoLEAST64 PRIo64
+# endif
+# if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIuLEAST64
+# define PRIuLEAST64 PRIu64
+# endif
+# if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIxLEAST64
+# define PRIxLEAST64 PRIx64
+# endif
+# if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@
+# undef PRIXLEAST64
+# define PRIXLEAST64 PRIX64
+# endif
+# endif
+
+# if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST8
+# if INT_FAST8_MAX > INT32_MAX
+# define PRIdFAST8 PRId64
+# else
+# define PRIdFAST8 "d"
+# endif
+# endif
+# if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST8
+# if INT_FAST8_MAX > INT32_MAX
+# define PRIiFAST8 PRIi64
+# else
+# define PRIiFAST8 "i"
+# endif
+# endif
+# if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define PRIoFAST8 PRIo64
+# else
+# define PRIoFAST8 "o"
+# endif
+# endif
+# if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define PRIuFAST8 PRIu64
+# else
+# define PRIuFAST8 "u"
+# endif
+# endif
+# if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define PRIxFAST8 PRIx64
+# else
+# define PRIxFAST8 "x"
+# endif
+# endif
+# if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define PRIXFAST8 PRIX64
+# else
+# define PRIXFAST8 "X"
+# endif
+# endif
+# if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST16
+# if INT_FAST16_MAX > INT32_MAX
+# define PRIdFAST16 PRId64
+# else
+# define PRIdFAST16 "d"
+# endif
+# endif
+# if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST16
+# if INT_FAST16_MAX > INT32_MAX
+# define PRIiFAST16 PRIi64
+# else
+# define PRIiFAST16 "i"
+# endif
+# endif
+# if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define PRIoFAST16 PRIo64
+# else
+# define PRIoFAST16 "o"
+# endif
+# endif
+# if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define PRIuFAST16 PRIu64
+# else
+# define PRIuFAST16 "u"
+# endif
+# endif
+# if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define PRIxFAST16 PRIx64
+# else
+# define PRIxFAST16 "x"
+# endif
+# endif
+# if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define PRIXFAST16 PRIX64
+# else
+# define PRIXFAST16 "X"
+# endif
+# endif
+# if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST32
+# if INT_FAST32_MAX > INT32_MAX
+# define PRIdFAST32 PRId64
+# else
+# define PRIdFAST32 "d"
+# endif
+# endif
+# if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST32
+# if INT_FAST32_MAX > INT32_MAX
+# define PRIiFAST32 PRIi64
+# else
+# define PRIiFAST32 "i"
+# endif
+# endif
+# if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define PRIoFAST32 PRIo64
+# else
+# define PRIoFAST32 "o"
+# endif
+# endif
+# if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define PRIuFAST32 PRIu64
+# else
+# define PRIuFAST32 "u"
+# endif
+# endif
+# if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define PRIxFAST32 PRIx64
+# else
+# define PRIxFAST32 "x"
+# endif
+# endif
+# if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define PRIXFAST32 PRIX64
+# else
+# define PRIXFAST32 "X"
+# endif
+# endif
+# ifdef INT64_MAX
+# if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIdFAST64
+# define PRIdFAST64 PRId64
+# endif
+# if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIiFAST64
+# define PRIiFAST64 PRIi64
+# endif
+# endif
+# ifdef UINT64_MAX
+# if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIoFAST64
+# define PRIoFAST64 PRIo64
+# endif
+# if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIuFAST64
+# define PRIuFAST64 PRIu64
+# endif
+# if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIxFAST64
+# define PRIxFAST64 PRIx64
+# endif
+# if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@
+# undef PRIXFAST64
+# define PRIXFAST64 PRIX64
+# endif
+# endif
+
+# if !defined PRIdMAX || @PRI_MACROS_BROKEN@
+# undef PRIdMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+# define PRIdMAX PRId64
+# else
+# define PRIdMAX "ld"
+# endif
+# endif
+# if !defined PRIiMAX || @PRI_MACROS_BROKEN@
+# undef PRIiMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+# define PRIiMAX PRIi64
+# else
+# define PRIiMAX "li"
+# endif
+# endif
+# if !defined PRIoMAX || @PRI_MACROS_BROKEN@
+# undef PRIoMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define PRIoMAX PRIo64
+# else
+# define PRIoMAX "lo"
+# endif
+# endif
+# if !defined PRIuMAX || @PRI_MACROS_BROKEN@
+# undef PRIuMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define PRIuMAX PRIu64
+# else
+# define PRIuMAX "lu"
+# endif
+# endif
+# if !defined PRIxMAX || @PRI_MACROS_BROKEN@
+# undef PRIxMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define PRIxMAX PRIx64
+# else
+# define PRIxMAX "lx"
+# endif
+# endif
+# if !defined PRIXMAX || @PRI_MACROS_BROKEN@
+# undef PRIXMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define PRIXMAX PRIX64
+# else
+# define PRIXMAX "lX"
+# endif
+# endif
+
+# if !defined PRIdPTR || @PRI_MACROS_BROKEN@
+# undef PRIdPTR
+# ifdef INTPTR_MAX
+# define PRIdPTR @PRIPTR_PREFIX@ "d"
+# endif
+# endif
+# if !defined PRIiPTR || @PRI_MACROS_BROKEN@
+# undef PRIiPTR
+# ifdef INTPTR_MAX
+# define PRIiPTR @PRIPTR_PREFIX@ "i"
+# endif
+# endif
+# if !defined PRIoPTR || @PRI_MACROS_BROKEN@
+# undef PRIoPTR
+# ifdef UINTPTR_MAX
+# define PRIoPTR @PRIPTR_PREFIX@ "o"
+# endif
+# endif
+# if !defined PRIuPTR || @PRI_MACROS_BROKEN@
+# undef PRIuPTR
+# ifdef UINTPTR_MAX
+# define PRIuPTR @PRIPTR_PREFIX@ "u"
+# endif
+# endif
+# if !defined PRIxPTR || @PRI_MACROS_BROKEN@
+# undef PRIxPTR
+# ifdef UINTPTR_MAX
+# define PRIxPTR @PRIPTR_PREFIX@ "x"
+# endif
+# endif
+# if !defined PRIXPTR || @PRI_MACROS_BROKEN@
+# undef PRIXPTR
+# ifdef UINTPTR_MAX
+# define PRIXPTR @PRIPTR_PREFIX@ "X"
+# endif
+# endif
+
+# if !defined SCNd8 || @PRI_MACROS_BROKEN@
+# undef SCNd8
+# ifdef INT8_MAX
+# define SCNd8 "hhd"
+# endif
+# endif
+# if !defined SCNi8 || @PRI_MACROS_BROKEN@
+# undef SCNi8
+# ifdef INT8_MAX
+# define SCNi8 "hhi"
+# endif
+# endif
+# if !defined SCNo8 || @PRI_MACROS_BROKEN@
+# undef SCNo8
+# ifdef UINT8_MAX
+# define SCNo8 "hho"
+# endif
+# endif
+# if !defined SCNu8 || @PRI_MACROS_BROKEN@
+# undef SCNu8
+# ifdef UINT8_MAX
+# define SCNu8 "hhu"
+# endif
+# endif
+# if !defined SCNx8 || @PRI_MACROS_BROKEN@
+# undef SCNx8
+# ifdef UINT8_MAX
+# define SCNx8 "hhx"
+# endif
+# endif
+# if !defined SCNd16 || @PRI_MACROS_BROKEN@
+# undef SCNd16
+# ifdef INT16_MAX
+# define SCNd16 "hd"
+# endif
+# endif
+# if !defined SCNi16 || @PRI_MACROS_BROKEN@
+# undef SCNi16
+# ifdef INT16_MAX
+# define SCNi16 "hi"
+# endif
+# endif
+# if !defined SCNo16 || @PRI_MACROS_BROKEN@
+# undef SCNo16
+# ifdef UINT16_MAX
+# define SCNo16 "ho"
+# endif
+# endif
+# if !defined SCNu16 || @PRI_MACROS_BROKEN@
+# undef SCNu16
+# ifdef UINT16_MAX
+# define SCNu16 "hu"
+# endif
+# endif
+# if !defined SCNx16 || @PRI_MACROS_BROKEN@
+# undef SCNx16
+# ifdef UINT16_MAX
+# define SCNx16 "hx"
+# endif
+# endif
+# if !defined SCNd32 || @PRI_MACROS_BROKEN@
+# undef SCNd32
+# ifdef INT32_MAX
+# define SCNd32 "d"
+# endif
+# endif
+# if !defined SCNi32 || @PRI_MACROS_BROKEN@
+# undef SCNi32
+# ifdef INT32_MAX
+# define SCNi32 "i"
+# endif
+# endif
+# if !defined SCNo32 || @PRI_MACROS_BROKEN@
+# undef SCNo32
+# ifdef UINT32_MAX
+# define SCNo32 "o"
+# endif
+# endif
+# if !defined SCNu32 || @PRI_MACROS_BROKEN@
+# undef SCNu32
+# ifdef UINT32_MAX
+# define SCNu32 "u"
+# endif
+# endif
+# if !defined SCNx32 || @PRI_MACROS_BROKEN@
+# undef SCNx32
+# ifdef UINT32_MAX
+# define SCNx32 "x"
+# endif
+# endif
+# ifdef INT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@)
+# define _SCN64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+# define _SCN64_PREFIX "I64"
+# elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
+# define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined SCNd64 || @PRI_MACROS_BROKEN@
+# undef SCNd64
+# define SCNd64 _SCN64_PREFIX "d"
+# endif
+# if !defined SCNi64 || @PRI_MACROS_BROKEN@
+# undef SCNi64
+# define SCNi64 _SCN64_PREFIX "i"
+# endif
+# endif
+# ifdef UINT64_MAX
+# if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@)
+# define _SCNu64_PREFIX "l"
+# elif defined _MSC_VER || defined __MINGW32__
+# define _SCNu64_PREFIX "I64"
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
+# define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX
+# endif
+# if !defined SCNo64 || @PRI_MACROS_BROKEN@
+# undef SCNo64
+# define SCNo64 _SCNu64_PREFIX "o"
+# endif
+# if !defined SCNu64 || @PRI_MACROS_BROKEN@
+# undef SCNu64
+# define SCNu64 _SCNu64_PREFIX "u"
+# endif
+# if !defined SCNx64 || @PRI_MACROS_BROKEN@
+# undef SCNx64
+# define SCNx64 _SCNu64_PREFIX "x"
+# endif
+# endif
+
+# if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST8
+# define SCNdLEAST8 "hhd"
+# endif
+# if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST8
+# define SCNiLEAST8 "hhi"
+# endif
+# if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST8
+# define SCNoLEAST8 "hho"
+# endif
+# if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST8
+# define SCNuLEAST8 "hhu"
+# endif
+# if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST8
+# define SCNxLEAST8 "hhx"
+# endif
+# if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST16
+# define SCNdLEAST16 "hd"
+# endif
+# if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST16
+# define SCNiLEAST16 "hi"
+# endif
+# if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST16
+# define SCNoLEAST16 "ho"
+# endif
+# if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST16
+# define SCNuLEAST16 "hu"
+# endif
+# if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST16
+# define SCNxLEAST16 "hx"
+# endif
+# if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST32
+# define SCNdLEAST32 "d"
+# endif
+# if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST32
+# define SCNiLEAST32 "i"
+# endif
+# if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST32
+# define SCNoLEAST32 "o"
+# endif
+# if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST32
+# define SCNuLEAST32 "u"
+# endif
+# if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST32
+# define SCNxLEAST32 "x"
+# endif
+# ifdef INT64_MAX
+# if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNdLEAST64
+# define SCNdLEAST64 SCNd64
+# endif
+# if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNiLEAST64
+# define SCNiLEAST64 SCNi64
+# endif
+# endif
+# ifdef UINT64_MAX
+# if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNoLEAST64
+# define SCNoLEAST64 SCNo64
+# endif
+# if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNuLEAST64
+# define SCNuLEAST64 SCNu64
+# endif
+# if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@
+# undef SCNxLEAST64
+# define SCNxLEAST64 SCNx64
+# endif
+# endif
+
+# if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST8
+# if INT_FAST8_MAX > INT32_MAX
+# define SCNdFAST8 SCNd64
+# elif INT_FAST8_MAX == 0x7fff
+# define SCNdFAST8 "hd"
+# elif INT_FAST8_MAX == 0x7f
+# define SCNdFAST8 "hhd"
+# else
+# define SCNdFAST8 "d"
+# endif
+# endif
+# if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST8
+# if INT_FAST8_MAX > INT32_MAX
+# define SCNiFAST8 SCNi64
+# elif INT_FAST8_MAX == 0x7fff
+# define SCNiFAST8 "hi"
+# elif INT_FAST8_MAX == 0x7f
+# define SCNiFAST8 "hhi"
+# else
+# define SCNiFAST8 "i"
+# endif
+# endif
+# if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define SCNoFAST8 SCNo64
+# elif UINT_FAST8_MAX == 0xffff
+# define SCNoFAST8 "ho"
+# elif UINT_FAST8_MAX == 0xff
+# define SCNoFAST8 "hho"
+# else
+# define SCNoFAST8 "o"
+# endif
+# endif
+# if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define SCNuFAST8 SCNu64
+# elif UINT_FAST8_MAX == 0xffff
+# define SCNuFAST8 "hu"
+# elif UINT_FAST8_MAX == 0xff
+# define SCNuFAST8 "hhu"
+# else
+# define SCNuFAST8 "u"
+# endif
+# endif
+# if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST8
+# if UINT_FAST8_MAX > UINT32_MAX
+# define SCNxFAST8 SCNx64
+# elif UINT_FAST8_MAX == 0xffff
+# define SCNxFAST8 "hx"
+# elif UINT_FAST8_MAX == 0xff
+# define SCNxFAST8 "hhx"
+# else
+# define SCNxFAST8 "x"
+# endif
+# endif
+# if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST16
+# if INT_FAST16_MAX > INT32_MAX
+# define SCNdFAST16 SCNd64
+# elif INT_FAST16_MAX == 0x7fff
+# define SCNdFAST16 "hd"
+# else
+# define SCNdFAST16 "d"
+# endif
+# endif
+# if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST16
+# if INT_FAST16_MAX > INT32_MAX
+# define SCNiFAST16 SCNi64
+# elif INT_FAST16_MAX == 0x7fff
+# define SCNiFAST16 "hi"
+# else
+# define SCNiFAST16 "i"
+# endif
+# endif
+# if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define SCNoFAST16 SCNo64
+# elif UINT_FAST16_MAX == 0xffff
+# define SCNoFAST16 "ho"
+# else
+# define SCNoFAST16 "o"
+# endif
+# endif
+# if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define SCNuFAST16 SCNu64
+# elif UINT_FAST16_MAX == 0xffff
+# define SCNuFAST16 "hu"
+# else
+# define SCNuFAST16 "u"
+# endif
+# endif
+# if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST16
+# if UINT_FAST16_MAX > UINT32_MAX
+# define SCNxFAST16 SCNx64
+# elif UINT_FAST16_MAX == 0xffff
+# define SCNxFAST16 "hx"
+# else
+# define SCNxFAST16 "x"
+# endif
+# endif
+# if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST32
+# if INT_FAST32_MAX > INT32_MAX
+# define SCNdFAST32 SCNd64
+# else
+# define SCNdFAST32 "d"
+# endif
+# endif
+# if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST32
+# if INT_FAST32_MAX > INT32_MAX
+# define SCNiFAST32 SCNi64
+# else
+# define SCNiFAST32 "i"
+# endif
+# endif
+# if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define SCNoFAST32 SCNo64
+# else
+# define SCNoFAST32 "o"
+# endif
+# endif
+# if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define SCNuFAST32 SCNu64
+# else
+# define SCNuFAST32 "u"
+# endif
+# endif
+# if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST32
+# if UINT_FAST32_MAX > UINT32_MAX
+# define SCNxFAST32 SCNx64
+# else
+# define SCNxFAST32 "x"
+# endif
+# endif
+# ifdef INT64_MAX
+# if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNdFAST64
+# define SCNdFAST64 SCNd64
+# endif
+# if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNiFAST64
+# define SCNiFAST64 SCNi64
+# endif
+# endif
+# ifdef UINT64_MAX
+# if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNoFAST64
+# define SCNoFAST64 SCNo64
+# endif
+# if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNuFAST64
+# define SCNuFAST64 SCNu64
+# endif
+# if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@
+# undef SCNxFAST64
+# define SCNxFAST64 SCNx64
+# endif
+# endif
+
+# if !defined SCNdMAX || @PRI_MACROS_BROKEN@
+# undef SCNdMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+# define SCNdMAX SCNd64
+# else
+# define SCNdMAX "ld"
+# endif
+# endif
+# if !defined SCNiMAX || @PRI_MACROS_BROKEN@
+# undef SCNiMAX
+# if @INT32_MAX_LT_INTMAX_MAX@
+# define SCNiMAX SCNi64
+# else
+# define SCNiMAX "li"
+# endif
+# endif
+# if !defined SCNoMAX || @PRI_MACROS_BROKEN@
+# undef SCNoMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define SCNoMAX SCNo64
+# else
+# define SCNoMAX "lo"
+# endif
+# endif
+# if !defined SCNuMAX || @PRI_MACROS_BROKEN@
+# undef SCNuMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define SCNuMAX SCNu64
+# else
+# define SCNuMAX "lu"
+# endif
+# endif
+# if !defined SCNxMAX || @PRI_MACROS_BROKEN@
+# undef SCNxMAX
+# if @UINT32_MAX_LT_UINTMAX_MAX@
+# define SCNxMAX SCNx64
+# else
+# define SCNxMAX "lx"
+# endif
+# endif
+
+# if !defined SCNdPTR || @PRI_MACROS_BROKEN@
+# undef SCNdPTR
+# ifdef INTPTR_MAX
+# define SCNdPTR @PRIPTR_PREFIX@ "d"
+# endif
+# endif
+# if !defined SCNiPTR || @PRI_MACROS_BROKEN@
+# undef SCNiPTR
+# ifdef INTPTR_MAX
+# define SCNiPTR @PRIPTR_PREFIX@ "i"
+# endif
+# endif
+# if !defined SCNoPTR || @PRI_MACROS_BROKEN@
+# undef SCNoPTR
+# ifdef UINTPTR_MAX
+# define SCNoPTR @PRIPTR_PREFIX@ "o"
+# endif
+# endif
+# if !defined SCNuPTR || @PRI_MACROS_BROKEN@
+# undef SCNuPTR
+# ifdef UINTPTR_MAX
+# define SCNuPTR @PRIPTR_PREFIX@ "u"
+# endif
+# endif
+# if !defined SCNxPTR || @PRI_MACROS_BROKEN@
+# undef SCNxPTR
+# ifdef UINTPTR_MAX
+# define SCNxPTR @PRIPTR_PREFIX@ "x"
+# endif
+# endif
+
+#endif
+
+/* 7.8.2 Functions for greatest-width integer types */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if @GNULIB_IMAXABS@
+# if !@HAVE_DECL_IMAXABS@
+extern intmax_t imaxabs (intmax_t);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef imaxabs
+# if HAVE_RAW_DECL_IMAXABS
+_GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - "
+ "use gnulib module imaxabs for portability");
+# endif
+#endif
+
+#if @GNULIB_IMAXDIV@
+# if !@HAVE_DECL_IMAXDIV@
+# if !GNULIB_defined_imaxdiv_t
+typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t;
+# define GNULIB_defined_imaxdiv_t 1
+# endif
+extern imaxdiv_t imaxdiv (intmax_t, intmax_t);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef imaxdiv
+# if HAVE_RAW_DECL_IMAXDIV
+_GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - "
+ "use gnulib module imaxdiv for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOIMAX@
+# if !@HAVE_DECL_STRTOIMAX@
+# undef strtoimax
+extern intmax_t strtoimax (const char *, char **, int) _GL_ARG_NONNULL ((1));
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strtoimax
+# if HAVE_RAW_DECL_STRTOIMAX
+_GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - "
+ "use gnulib module strtoimax for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOUMAX@
+# if !@HAVE_DECL_STRTOUMAX@
+# undef strtoumax
+extern uintmax_t strtoumax (const char *, char **, int) _GL_ARG_NONNULL ((1));
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strtoumax
+# if HAVE_RAW_DECL_STRTOUMAX
+_GL_WARN_ON_USE (strtoumax, "strtoumax is unportable - "
+ "use gnulib module strtoumax for portability");
+# endif
+#endif
+
+/* Don't bother defining or declaring wcstoimax and wcstoumax, since
+ wide-character functions like this are hardly ever useful. */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !defined INTTYPES_H && !defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H */
--- /dev/null
+/* A POSIX <locale.h>.
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _@GUARD_PREFIX@_LOCALE_H
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* The include_next requires a split double-inclusion guard. */
+#@INCLUDE_NEXT@ @NEXT_LOCALE_H@
+
+#ifndef _@GUARD_PREFIX@_LOCALE_H
+#define _@GUARD_PREFIX@_LOCALE_H
+
+/* NetBSD 5.0 mis-defines NULL. */
+#include <stddef.h>
+
+/* MacOS X 10.5 defines the locale_t type in <xlocale.h>. */
+#if @HAVE_XLOCALE_H@
+# include <xlocale.h>
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+/* The LC_MESSAGES locale category is specified in POSIX, but not in ISO C.
+ On systems that don't define it, use the same value as GNU libintl. */
+#if !defined LC_MESSAGES
+# define LC_MESSAGES 1729
+#endif
+
+#if @GNULIB_SETLOCALE@
+# if @REPLACE_SETLOCALE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef setlocale
+# define setlocale rpl_setlocale
+# define GNULIB_defined_setlocale 1
+# endif
+_GL_FUNCDECL_RPL (setlocale, char *, (int category, const char *locale));
+_GL_CXXALIAS_RPL (setlocale, char *, (int category, const char *locale));
+# else
+_GL_CXXALIAS_SYS (setlocale, char *, (int category, const char *locale));
+# endif
+_GL_CXXALIASWARN (setlocale);
+#elif defined GNULIB_POSIXCHECK
+# undef setlocale
+# if HAVE_RAW_DECL_SETLOCALE
+_GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - "
+ "use gnulib module setlocale for portability");
+# endif
+#endif
+
+#if @GNULIB_DUPLOCALE@
+# if @REPLACE_DUPLOCALE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef duplocale
+# define duplocale rpl_duplocale
+# endif
+_GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale));
+# else
+# if @HAVE_DUPLOCALE@
+_GL_CXXALIAS_SYS (duplocale, locale_t, (locale_t locale));
+# endif
+# endif
+# if @HAVE_DUPLOCALE@
+_GL_CXXALIASWARN (duplocale);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef duplocale
+# if HAVE_RAW_DECL_DUPLOCALE
+_GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - "
+ "use gnulib module duplocale for portability");
+# endif
+#endif
+
+#endif /* _@GUARD_PREFIX@_LOCALE_H */
+#endif /* _@GUARD_PREFIX@_LOCALE_H */
--- /dev/null
+/* Determine name of the currently selected locale.
+ Copyright (C) 1995-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Ulrich Drepper <drepper@gnu.org>, 1995. */
+/* Win32 code written by Tor Lillqvist <tml@iki.fi>. */
+/* MacOS X code written by Bruno Haible <bruno@clisp.org>. */
+
+#include <config.h>
+
+/* Specification. */
+#ifdef IN_LIBINTL
+# include "gettextP.h"
+#else
+# include "localename.h"
+#endif
+
+#include <limits.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <locale.h>
+#include <string.h>
+
+#if HAVE_USELOCALE
+/* MacOS X 10.5 defines the locale_t type in <xlocale.h>. */
+# if defined __APPLE__ && defined __MACH__
+# include <xlocale.h>
+# endif
+# include <langinfo.h>
+# if !defined IN_LIBINTL
+# include "glthread/lock.h"
+# endif
+#endif
+
+#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
+# include <CoreFoundation/CFString.h>
+# if HAVE_CFLOCALECOPYCURRENT
+# include <CoreFoundation/CFLocale.h>
+# elif HAVE_CFPREFERENCESCOPYAPPVALUE
+# include <CoreFoundation/CFPreferences.h>
+# endif
+#endif
+
+#if defined _WIN32 || defined __WIN32__
+# define WIN32_NATIVE
+#endif
+
+#if defined WIN32_NATIVE || defined __CYGWIN__ /* WIN32 or Cygwin */
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+/* List of language codes, sorted by value:
+ 0x01 LANG_ARABIC
+ 0x02 LANG_BULGARIAN
+ 0x03 LANG_CATALAN
+ 0x04 LANG_CHINESE
+ 0x05 LANG_CZECH
+ 0x06 LANG_DANISH
+ 0x07 LANG_GERMAN
+ 0x08 LANG_GREEK
+ 0x09 LANG_ENGLISH
+ 0x0a LANG_SPANISH
+ 0x0b LANG_FINNISH
+ 0x0c LANG_FRENCH
+ 0x0d LANG_HEBREW
+ 0x0e LANG_HUNGARIAN
+ 0x0f LANG_ICELANDIC
+ 0x10 LANG_ITALIAN
+ 0x11 LANG_JAPANESE
+ 0x12 LANG_KOREAN
+ 0x13 LANG_DUTCH
+ 0x14 LANG_NORWEGIAN
+ 0x15 LANG_POLISH
+ 0x16 LANG_PORTUGUESE
+ 0x17 LANG_ROMANSH
+ 0x18 LANG_ROMANIAN
+ 0x19 LANG_RUSSIAN
+ 0x1a LANG_CROATIAN == LANG_SERBIAN
+ 0x1b LANG_SLOVAK
+ 0x1c LANG_ALBANIAN
+ 0x1d LANG_SWEDISH
+ 0x1e LANG_THAI
+ 0x1f LANG_TURKISH
+ 0x20 LANG_URDU
+ 0x21 LANG_INDONESIAN
+ 0x22 LANG_UKRAINIAN
+ 0x23 LANG_BELARUSIAN
+ 0x24 LANG_SLOVENIAN
+ 0x25 LANG_ESTONIAN
+ 0x26 LANG_LATVIAN
+ 0x27 LANG_LITHUANIAN
+ 0x28 LANG_TAJIK
+ 0x29 LANG_FARSI
+ 0x2a LANG_VIETNAMESE
+ 0x2b LANG_ARMENIAN
+ 0x2c LANG_AZERI
+ 0x2d LANG_BASQUE
+ 0x2e LANG_SORBIAN
+ 0x2f LANG_MACEDONIAN
+ 0x30 LANG_SUTU
+ 0x31 LANG_TSONGA
+ 0x32 LANG_TSWANA
+ 0x33 LANG_VENDA
+ 0x34 LANG_XHOSA
+ 0x35 LANG_ZULU
+ 0x36 LANG_AFRIKAANS
+ 0x37 LANG_GEORGIAN
+ 0x38 LANG_FAEROESE
+ 0x39 LANG_HINDI
+ 0x3a LANG_MALTESE
+ 0x3b LANG_SAMI
+ 0x3c LANG_GAELIC
+ 0x3d LANG_YIDDISH
+ 0x3e LANG_MALAY
+ 0x3f LANG_KAZAK
+ 0x40 LANG_KYRGYZ
+ 0x41 LANG_SWAHILI
+ 0x42 LANG_TURKMEN
+ 0x43 LANG_UZBEK
+ 0x44 LANG_TATAR
+ 0x45 LANG_BENGALI
+ 0x46 LANG_PUNJABI
+ 0x47 LANG_GUJARATI
+ 0x48 LANG_ORIYA
+ 0x49 LANG_TAMIL
+ 0x4a LANG_TELUGU
+ 0x4b LANG_KANNADA
+ 0x4c LANG_MALAYALAM
+ 0x4d LANG_ASSAMESE
+ 0x4e LANG_MARATHI
+ 0x4f LANG_SANSKRIT
+ 0x50 LANG_MONGOLIAN
+ 0x51 LANG_TIBETAN
+ 0x52 LANG_WELSH
+ 0x53 LANG_CAMBODIAN
+ 0x54 LANG_LAO
+ 0x55 LANG_BURMESE
+ 0x56 LANG_GALICIAN
+ 0x57 LANG_KONKANI
+ 0x58 LANG_MANIPURI
+ 0x59 LANG_SINDHI
+ 0x5a LANG_SYRIAC
+ 0x5b LANG_SINHALESE
+ 0x5c LANG_CHEROKEE
+ 0x5d LANG_INUKTITUT
+ 0x5e LANG_AMHARIC
+ 0x5f LANG_TAMAZIGHT
+ 0x60 LANG_KASHMIRI
+ 0x61 LANG_NEPALI
+ 0x62 LANG_FRISIAN
+ 0x63 LANG_PASHTO
+ 0x64 LANG_TAGALOG
+ 0x65 LANG_DIVEHI
+ 0x66 LANG_EDO
+ 0x67 LANG_FULFULDE
+ 0x68 LANG_HAUSA
+ 0x69 LANG_IBIBIO
+ 0x6a LANG_YORUBA
+ 0x6d LANG_BASHKIR
+ 0x6e LANG_LUXEMBOURGISH
+ 0x6f LANG_GREENLANDIC
+ 0x70 LANG_IGBO
+ 0x71 LANG_KANURI
+ 0x72 LANG_OROMO
+ 0x73 LANG_TIGRINYA
+ 0x74 LANG_GUARANI
+ 0x75 LANG_HAWAIIAN
+ 0x76 LANG_LATIN
+ 0x77 LANG_SOMALI
+ 0x78 LANG_YI
+ 0x79 LANG_PAPIAMENTU
+ 0x7a LANG_MAPUDUNGUN
+ 0x7c LANG_MOHAWK
+ 0x7e LANG_BRETON
+ 0x82 LANG_OCCITAN
+ 0x83 LANG_CORSICAN
+ 0x84 LANG_ALSATIAN
+ 0x85 LANG_YAKUT
+ 0x86 LANG_KICHE
+ 0x87 LANG_KINYARWANDA
+ 0x88 LANG_WOLOF
+ 0x8c LANG_DARI
+ 0x91 LANG_SCOTTISH_GAELIC
+*/
+/* Mingw headers don't have latest language and sublanguage codes. */
+# ifndef LANG_AFRIKAANS
+# define LANG_AFRIKAANS 0x36
+# endif
+# ifndef LANG_ALBANIAN
+# define LANG_ALBANIAN 0x1c
+# endif
+# ifndef LANG_ALSATIAN
+# define LANG_ALSATIAN 0x84
+# endif
+# ifndef LANG_AMHARIC
+# define LANG_AMHARIC 0x5e
+# endif
+# ifndef LANG_ARABIC
+# define LANG_ARABIC 0x01
+# endif
+# ifndef LANG_ARMENIAN
+# define LANG_ARMENIAN 0x2b
+# endif
+# ifndef LANG_ASSAMESE
+# define LANG_ASSAMESE 0x4d
+# endif
+# ifndef LANG_AZERI
+# define LANG_AZERI 0x2c
+# endif
+# ifndef LANG_BASHKIR
+# define LANG_BASHKIR 0x6d
+# endif
+# ifndef LANG_BASQUE
+# define LANG_BASQUE 0x2d
+# endif
+# ifndef LANG_BELARUSIAN
+# define LANG_BELARUSIAN 0x23
+# endif
+# ifndef LANG_BENGALI
+# define LANG_BENGALI 0x45
+# endif
+# ifndef LANG_BRETON
+# define LANG_BRETON 0x7e
+# endif
+# ifndef LANG_BURMESE
+# define LANG_BURMESE 0x55
+# endif
+# ifndef LANG_CAMBODIAN
+# define LANG_CAMBODIAN 0x53
+# endif
+# ifndef LANG_CATALAN
+# define LANG_CATALAN 0x03
+# endif
+# ifndef LANG_CHEROKEE
+# define LANG_CHEROKEE 0x5c
+# endif
+# ifndef LANG_CORSICAN
+# define LANG_CORSICAN 0x83
+# endif
+# ifndef LANG_DARI
+# define LANG_DARI 0x8c
+# endif
+# ifndef LANG_DIVEHI
+# define LANG_DIVEHI 0x65
+# endif
+# ifndef LANG_EDO
+# define LANG_EDO 0x66
+# endif
+# ifndef LANG_ESTONIAN
+# define LANG_ESTONIAN 0x25
+# endif
+# ifndef LANG_FAEROESE
+# define LANG_FAEROESE 0x38
+# endif
+# ifndef LANG_FARSI
+# define LANG_FARSI 0x29
+# endif
+# ifndef LANG_FRISIAN
+# define LANG_FRISIAN 0x62
+# endif
+# ifndef LANG_FULFULDE
+# define LANG_FULFULDE 0x67
+# endif
+# ifndef LANG_GAELIC
+# define LANG_GAELIC 0x3c
+# endif
+# ifndef LANG_GALICIAN
+# define LANG_GALICIAN 0x56
+# endif
+# ifndef LANG_GEORGIAN
+# define LANG_GEORGIAN 0x37
+# endif
+# ifndef LANG_GREENLANDIC
+# define LANG_GREENLANDIC 0x6f
+# endif
+# ifndef LANG_GUARANI
+# define LANG_GUARANI 0x74
+# endif
+# ifndef LANG_GUJARATI
+# define LANG_GUJARATI 0x47
+# endif
+# ifndef LANG_HAUSA
+# define LANG_HAUSA 0x68
+# endif
+# ifndef LANG_HAWAIIAN
+# define LANG_HAWAIIAN 0x75
+# endif
+# ifndef LANG_HEBREW
+# define LANG_HEBREW 0x0d
+# endif
+# ifndef LANG_HINDI
+# define LANG_HINDI 0x39
+# endif
+# ifndef LANG_IBIBIO
+# define LANG_IBIBIO 0x69
+# endif
+# ifndef LANG_IGBO
+# define LANG_IGBO 0x70
+# endif
+# ifndef LANG_INDONESIAN
+# define LANG_INDONESIAN 0x21
+# endif
+# ifndef LANG_INUKTITUT
+# define LANG_INUKTITUT 0x5d
+# endif
+# ifndef LANG_KANNADA
+# define LANG_KANNADA 0x4b
+# endif
+# ifndef LANG_KANURI
+# define LANG_KANURI 0x71
+# endif
+# ifndef LANG_KASHMIRI
+# define LANG_KASHMIRI 0x60
+# endif
+# ifndef LANG_KAZAK
+# define LANG_KAZAK 0x3f
+# endif
+# ifndef LANG_KICHE
+# define LANG_KICHE 0x86
+# endif
+# ifndef LANG_KINYARWANDA
+# define LANG_KINYARWANDA 0x87
+# endif
+# ifndef LANG_KONKANI
+# define LANG_KONKANI 0x57
+# endif
+# ifndef LANG_KYRGYZ
+# define LANG_KYRGYZ 0x40
+# endif
+# ifndef LANG_LAO
+# define LANG_LAO 0x54
+# endif
+# ifndef LANG_LATIN
+# define LANG_LATIN 0x76
+# endif
+# ifndef LANG_LATVIAN
+# define LANG_LATVIAN 0x26
+# endif
+# ifndef LANG_LITHUANIAN
+# define LANG_LITHUANIAN 0x27
+# endif
+# ifndef LANG_LUXEMBOURGISH
+# define LANG_LUXEMBOURGISH 0x6e
+# endif
+# ifndef LANG_MACEDONIAN
+# define LANG_MACEDONIAN 0x2f
+# endif
+# ifndef LANG_MALAY
+# define LANG_MALAY 0x3e
+# endif
+# ifndef LANG_MALAYALAM
+# define LANG_MALAYALAM 0x4c
+# endif
+# ifndef LANG_MALTESE
+# define LANG_MALTESE 0x3a
+# endif
+# ifndef LANG_MANIPURI
+# define LANG_MANIPURI 0x58
+# endif
+# ifndef LANG_MAORI
+# define LANG_MAORI 0x81
+# endif
+# ifndef LANG_MAPUDUNGUN
+# define LANG_MAPUDUNGUN 0x7a
+# endif
+# ifndef LANG_MARATHI
+# define LANG_MARATHI 0x4e
+# endif
+# ifndef LANG_MOHAWK
+# define LANG_MOHAWK 0x7c
+# endif
+# ifndef LANG_MONGOLIAN
+# define LANG_MONGOLIAN 0x50
+# endif
+# ifndef LANG_NEPALI
+# define LANG_NEPALI 0x61
+# endif
+# ifndef LANG_OCCITAN
+# define LANG_OCCITAN 0x82
+# endif
+# ifndef LANG_ORIYA
+# define LANG_ORIYA 0x48
+# endif
+# ifndef LANG_OROMO
+# define LANG_OROMO 0x72
+# endif
+# ifndef LANG_PAPIAMENTU
+# define LANG_PAPIAMENTU 0x79
+# endif
+# ifndef LANG_PASHTO
+# define LANG_PASHTO 0x63
+# endif
+# ifndef LANG_PUNJABI
+# define LANG_PUNJABI 0x46
+# endif
+# ifndef LANG_QUECHUA
+# define LANG_QUECHUA 0x6b
+# endif
+# ifndef LANG_ROMANSH
+# define LANG_ROMANSH 0x17
+# endif
+# ifndef LANG_SAMI
+# define LANG_SAMI 0x3b
+# endif
+# ifndef LANG_SANSKRIT
+# define LANG_SANSKRIT 0x4f
+# endif
+# ifndef LANG_SCOTTISH_GAELIC
+# define LANG_SCOTTISH_GAELIC 0x91
+# endif
+# ifndef LANG_SERBIAN
+# define LANG_SERBIAN 0x1a
+# endif
+# ifndef LANG_SINDHI
+# define LANG_SINDHI 0x59
+# endif
+# ifndef LANG_SINHALESE
+# define LANG_SINHALESE 0x5b
+# endif
+# ifndef LANG_SLOVAK
+# define LANG_SLOVAK 0x1b
+# endif
+# ifndef LANG_SOMALI
+# define LANG_SOMALI 0x77
+# endif
+# ifndef LANG_SORBIAN
+# define LANG_SORBIAN 0x2e
+# endif
+# ifndef LANG_SOTHO
+# define LANG_SOTHO 0x6c
+# endif
+# ifndef LANG_SUTU
+# define LANG_SUTU 0x30
+# endif
+# ifndef LANG_SWAHILI
+# define LANG_SWAHILI 0x41
+# endif
+# ifndef LANG_SYRIAC
+# define LANG_SYRIAC 0x5a
+# endif
+# ifndef LANG_TAGALOG
+# define LANG_TAGALOG 0x64
+# endif
+# ifndef LANG_TAJIK
+# define LANG_TAJIK 0x28
+# endif
+# ifndef LANG_TAMAZIGHT
+# define LANG_TAMAZIGHT 0x5f
+# endif
+# ifndef LANG_TAMIL
+# define LANG_TAMIL 0x49
+# endif
+# ifndef LANG_TATAR
+# define LANG_TATAR 0x44
+# endif
+# ifndef LANG_TELUGU
+# define LANG_TELUGU 0x4a
+# endif
+# ifndef LANG_THAI
+# define LANG_THAI 0x1e
+# endif
+# ifndef LANG_TIBETAN
+# define LANG_TIBETAN 0x51
+# endif
+# ifndef LANG_TIGRINYA
+# define LANG_TIGRINYA 0x73
+# endif
+# ifndef LANG_TSONGA
+# define LANG_TSONGA 0x31
+# endif
+# ifndef LANG_TSWANA
+# define LANG_TSWANA 0x32
+# endif
+# ifndef LANG_TURKMEN
+# define LANG_TURKMEN 0x42
+# endif
+# ifndef LANG_UIGHUR
+# define LANG_UIGHUR 0x80
+# endif
+# ifndef LANG_UKRAINIAN
+# define LANG_UKRAINIAN 0x22
+# endif
+# ifndef LANG_URDU
+# define LANG_URDU 0x20
+# endif
+# ifndef LANG_UZBEK
+# define LANG_UZBEK 0x43
+# endif
+# ifndef LANG_VENDA
+# define LANG_VENDA 0x33
+# endif
+# ifndef LANG_VIETNAMESE
+# define LANG_VIETNAMESE 0x2a
+# endif
+# ifndef LANG_WELSH
+# define LANG_WELSH 0x52
+# endif
+# ifndef LANG_WOLOF
+# define LANG_WOLOF 0x88
+# endif
+# ifndef LANG_XHOSA
+# define LANG_XHOSA 0x34
+# endif
+# ifndef LANG_YAKUT
+# define LANG_YAKUT 0x85
+# endif
+# ifndef LANG_YI
+# define LANG_YI 0x78
+# endif
+# ifndef LANG_YIDDISH
+# define LANG_YIDDISH 0x3d
+# endif
+# ifndef LANG_YORUBA
+# define LANG_YORUBA 0x6a
+# endif
+# ifndef LANG_ZULU
+# define LANG_ZULU 0x35
+# endif
+# ifndef SUBLANG_AFRIKAANS_SOUTH_AFRICA
+# define SUBLANG_AFRIKAANS_SOUTH_AFRICA 0x01
+# endif
+# ifndef SUBLANG_ALBANIAN_ALBANIA
+# define SUBLANG_ALBANIAN_ALBANIA 0x01
+# endif
+# ifndef SUBLANG_ALSATIAN_FRANCE
+# define SUBLANG_ALSATIAN_FRANCE 0x01
+# endif
+# ifndef SUBLANG_AMHARIC_ETHIOPIA
+# define SUBLANG_AMHARIC_ETHIOPIA 0x01
+# endif
+# ifndef SUBLANG_ARABIC_SAUDI_ARABIA
+# define SUBLANG_ARABIC_SAUDI_ARABIA 0x01
+# endif
+# ifndef SUBLANG_ARABIC_IRAQ
+# define SUBLANG_ARABIC_IRAQ 0x02
+# endif
+# ifndef SUBLANG_ARABIC_EGYPT
+# define SUBLANG_ARABIC_EGYPT 0x03
+# endif
+# ifndef SUBLANG_ARABIC_LIBYA
+# define SUBLANG_ARABIC_LIBYA 0x04
+# endif
+# ifndef SUBLANG_ARABIC_ALGERIA
+# define SUBLANG_ARABIC_ALGERIA 0x05
+# endif
+# ifndef SUBLANG_ARABIC_MOROCCO
+# define SUBLANG_ARABIC_MOROCCO 0x06
+# endif
+# ifndef SUBLANG_ARABIC_TUNISIA
+# define SUBLANG_ARABIC_TUNISIA 0x07
+# endif
+# ifndef SUBLANG_ARABIC_OMAN
+# define SUBLANG_ARABIC_OMAN 0x08
+# endif
+# ifndef SUBLANG_ARABIC_YEMEN
+# define SUBLANG_ARABIC_YEMEN 0x09
+# endif
+# ifndef SUBLANG_ARABIC_SYRIA
+# define SUBLANG_ARABIC_SYRIA 0x0a
+# endif
+# ifndef SUBLANG_ARABIC_JORDAN
+# define SUBLANG_ARABIC_JORDAN 0x0b
+# endif
+# ifndef SUBLANG_ARABIC_LEBANON
+# define SUBLANG_ARABIC_LEBANON 0x0c
+# endif
+# ifndef SUBLANG_ARABIC_KUWAIT
+# define SUBLANG_ARABIC_KUWAIT 0x0d
+# endif
+# ifndef SUBLANG_ARABIC_UAE
+# define SUBLANG_ARABIC_UAE 0x0e
+# endif
+# ifndef SUBLANG_ARABIC_BAHRAIN
+# define SUBLANG_ARABIC_BAHRAIN 0x0f
+# endif
+# ifndef SUBLANG_ARABIC_QATAR
+# define SUBLANG_ARABIC_QATAR 0x10
+# endif
+# ifndef SUBLANG_ARMENIAN_ARMENIA
+# define SUBLANG_ARMENIAN_ARMENIA 0x01
+# endif
+# ifndef SUBLANG_ASSAMESE_INDIA
+# define SUBLANG_ASSAMESE_INDIA 0x01
+# endif
+# ifndef SUBLANG_AZERI_LATIN
+# define SUBLANG_AZERI_LATIN 0x01
+# endif
+# ifndef SUBLANG_AZERI_CYRILLIC
+# define SUBLANG_AZERI_CYRILLIC 0x02
+# endif
+# ifndef SUBLANG_BASHKIR_RUSSIA
+# define SUBLANG_BASHKIR_RUSSIA 0x01
+# endif
+# ifndef SUBLANG_BASQUE_BASQUE
+# define SUBLANG_BASQUE_BASQUE 0x01
+# endif
+# ifndef SUBLANG_BELARUSIAN_BELARUS
+# define SUBLANG_BELARUSIAN_BELARUS 0x01
+# endif
+# ifndef SUBLANG_BENGALI_INDIA
+# define SUBLANG_BENGALI_INDIA 0x01
+# endif
+# ifndef SUBLANG_BENGALI_BANGLADESH
+# define SUBLANG_BENGALI_BANGLADESH 0x02
+# endif
+# ifndef SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN
+# define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN 0x05
+# endif
+# ifndef SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC
+# define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x08
+# endif
+# ifndef SUBLANG_BRETON_FRANCE
+# define SUBLANG_BRETON_FRANCE 0x01
+# endif
+# ifndef SUBLANG_BULGARIAN_BULGARIA
+# define SUBLANG_BULGARIAN_BULGARIA 0x01
+# endif
+# ifndef SUBLANG_CAMBODIAN_CAMBODIA
+# define SUBLANG_CAMBODIAN_CAMBODIA 0x01
+# endif
+# ifndef SUBLANG_CATALAN_SPAIN
+# define SUBLANG_CATALAN_SPAIN 0x01
+# endif
+# ifndef SUBLANG_CORSICAN_FRANCE
+# define SUBLANG_CORSICAN_FRANCE 0x01
+# endif
+# ifndef SUBLANG_CROATIAN_CROATIA
+# define SUBLANG_CROATIAN_CROATIA 0x01
+# endif
+# ifndef SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN
+# define SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN 0x04
+# endif
+# ifndef SUBLANG_CHINESE_MACAU
+# define SUBLANG_CHINESE_MACAU 0x05
+# endif
+# ifndef SUBLANG_CZECH_CZECH_REPUBLIC
+# define SUBLANG_CZECH_CZECH_REPUBLIC 0x01
+# endif
+# ifndef SUBLANG_DANISH_DENMARK
+# define SUBLANG_DANISH_DENMARK 0x01
+# endif
+# ifndef SUBLANG_DARI_AFGHANISTAN
+# define SUBLANG_DARI_AFGHANISTAN 0x01
+# endif
+# ifndef SUBLANG_DIVEHI_MALDIVES
+# define SUBLANG_DIVEHI_MALDIVES 0x01
+# endif
+# ifndef SUBLANG_DUTCH_SURINAM
+# define SUBLANG_DUTCH_SURINAM 0x03
+# endif
+# ifndef SUBLANG_ENGLISH_SOUTH_AFRICA
+# define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07
+# endif
+# ifndef SUBLANG_ENGLISH_JAMAICA
+# define SUBLANG_ENGLISH_JAMAICA 0x08
+# endif
+# ifndef SUBLANG_ENGLISH_CARIBBEAN
+# define SUBLANG_ENGLISH_CARIBBEAN 0x09
+# endif
+# ifndef SUBLANG_ENGLISH_BELIZE
+# define SUBLANG_ENGLISH_BELIZE 0x0a
+# endif
+# ifndef SUBLANG_ENGLISH_TRINIDAD
+# define SUBLANG_ENGLISH_TRINIDAD 0x0b
+# endif
+# ifndef SUBLANG_ENGLISH_ZIMBABWE
+# define SUBLANG_ENGLISH_ZIMBABWE 0x0c
+# endif
+# ifndef SUBLANG_ENGLISH_PHILIPPINES
+# define SUBLANG_ENGLISH_PHILIPPINES 0x0d
+# endif
+# ifndef SUBLANG_ENGLISH_INDONESIA
+# define SUBLANG_ENGLISH_INDONESIA 0x0e
+# endif
+# ifndef SUBLANG_ENGLISH_HONGKONG
+# define SUBLANG_ENGLISH_HONGKONG 0x0f
+# endif
+# ifndef SUBLANG_ENGLISH_INDIA
+# define SUBLANG_ENGLISH_INDIA 0x10
+# endif
+# ifndef SUBLANG_ENGLISH_MALAYSIA
+# define SUBLANG_ENGLISH_MALAYSIA 0x11
+# endif
+# ifndef SUBLANG_ENGLISH_SINGAPORE
+# define SUBLANG_ENGLISH_SINGAPORE 0x12
+# endif
+# ifndef SUBLANG_ESTONIAN_ESTONIA
+# define SUBLANG_ESTONIAN_ESTONIA 0x01
+# endif
+# ifndef SUBLANG_FAEROESE_FAROE_ISLANDS
+# define SUBLANG_FAEROESE_FAROE_ISLANDS 0x01
+# endif
+# ifndef SUBLANG_FARSI_IRAN
+# define SUBLANG_FARSI_IRAN 0x01
+# endif
+# ifndef SUBLANG_FINNISH_FINLAND
+# define SUBLANG_FINNISH_FINLAND 0x01
+# endif
+# ifndef SUBLANG_FRENCH_LUXEMBOURG
+# define SUBLANG_FRENCH_LUXEMBOURG 0x05
+# endif
+# ifndef SUBLANG_FRENCH_MONACO
+# define SUBLANG_FRENCH_MONACO 0x06
+# endif
+# ifndef SUBLANG_FRENCH_WESTINDIES
+# define SUBLANG_FRENCH_WESTINDIES 0x07
+# endif
+# ifndef SUBLANG_FRENCH_REUNION
+# define SUBLANG_FRENCH_REUNION 0x08
+# endif
+# ifndef SUBLANG_FRENCH_CONGO
+# define SUBLANG_FRENCH_CONGO 0x09
+# endif
+# ifndef SUBLANG_FRENCH_SENEGAL
+# define SUBLANG_FRENCH_SENEGAL 0x0a
+# endif
+# ifndef SUBLANG_FRENCH_CAMEROON
+# define SUBLANG_FRENCH_CAMEROON 0x0b
+# endif
+# ifndef SUBLANG_FRENCH_COTEDIVOIRE
+# define SUBLANG_FRENCH_COTEDIVOIRE 0x0c
+# endif
+# ifndef SUBLANG_FRENCH_MALI
+# define SUBLANG_FRENCH_MALI 0x0d
+# endif
+# ifndef SUBLANG_FRENCH_MOROCCO
+# define SUBLANG_FRENCH_MOROCCO 0x0e
+# endif
+# ifndef SUBLANG_FRENCH_HAITI
+# define SUBLANG_FRENCH_HAITI 0x0f
+# endif
+# ifndef SUBLANG_FRISIAN_NETHERLANDS
+# define SUBLANG_FRISIAN_NETHERLANDS 0x01
+# endif
+# ifndef SUBLANG_GALICIAN_SPAIN
+# define SUBLANG_GALICIAN_SPAIN 0x01
+# endif
+# ifndef SUBLANG_GEORGIAN_GEORGIA
+# define SUBLANG_GEORGIAN_GEORGIA 0x01
+# endif
+# ifndef SUBLANG_GERMAN_LUXEMBOURG
+# define SUBLANG_GERMAN_LUXEMBOURG 0x04
+# endif
+# ifndef SUBLANG_GERMAN_LIECHTENSTEIN
+# define SUBLANG_GERMAN_LIECHTENSTEIN 0x05
+# endif
+# ifndef SUBLANG_GREEK_GREECE
+# define SUBLANG_GREEK_GREECE 0x01
+# endif
+# ifndef SUBLANG_GREENLANDIC_GREENLAND
+# define SUBLANG_GREENLANDIC_GREENLAND 0x01
+# endif
+# ifndef SUBLANG_GUJARATI_INDIA
+# define SUBLANG_GUJARATI_INDIA 0x01
+# endif
+# ifndef SUBLANG_HAUSA_NIGERIA_LATIN
+# define SUBLANG_HAUSA_NIGERIA_LATIN 0x01
+# endif
+# ifndef SUBLANG_HEBREW_ISRAEL
+# define SUBLANG_HEBREW_ISRAEL 0x01
+# endif
+# ifndef SUBLANG_HINDI_INDIA
+# define SUBLANG_HINDI_INDIA 0x01
+# endif
+# ifndef SUBLANG_HUNGARIAN_HUNGARY
+# define SUBLANG_HUNGARIAN_HUNGARY 0x01
+# endif
+# ifndef SUBLANG_ICELANDIC_ICELAND
+# define SUBLANG_ICELANDIC_ICELAND 0x01
+# endif
+# ifndef SUBLANG_IGBO_NIGERIA
+# define SUBLANG_IGBO_NIGERIA 0x01
+# endif
+# ifndef SUBLANG_INDONESIAN_INDONESIA
+# define SUBLANG_INDONESIAN_INDONESIA 0x01
+# endif
+# ifndef SUBLANG_INUKTITUT_CANADA
+# define SUBLANG_INUKTITUT_CANADA 0x01
+# endif
+# undef SUBLANG_INUKTITUT_CANADA_LATIN
+# define SUBLANG_INUKTITUT_CANADA_LATIN 0x02
+# undef SUBLANG_IRISH_IRELAND
+# define SUBLANG_IRISH_IRELAND 0x02
+# ifndef SUBLANG_JAPANESE_JAPAN
+# define SUBLANG_JAPANESE_JAPAN 0x01
+# endif
+# ifndef SUBLANG_KANNADA_INDIA
+# define SUBLANG_KANNADA_INDIA 0x01
+# endif
+# ifndef SUBLANG_KASHMIRI_INDIA
+# define SUBLANG_KASHMIRI_INDIA 0x02
+# endif
+# ifndef SUBLANG_KAZAK_KAZAKHSTAN
+# define SUBLANG_KAZAK_KAZAKHSTAN 0x01
+# endif
+# ifndef SUBLANG_KICHE_GUATEMALA
+# define SUBLANG_KICHE_GUATEMALA 0x01
+# endif
+# ifndef SUBLANG_KINYARWANDA_RWANDA
+# define SUBLANG_KINYARWANDA_RWANDA 0x01
+# endif
+# ifndef SUBLANG_KONKANI_INDIA
+# define SUBLANG_KONKANI_INDIA 0x01
+# endif
+# ifndef SUBLANG_KYRGYZ_KYRGYZSTAN
+# define SUBLANG_KYRGYZ_KYRGYZSTAN 0x01
+# endif
+# ifndef SUBLANG_LAO_LAOS
+# define SUBLANG_LAO_LAOS 0x01
+# endif
+# ifndef SUBLANG_LATVIAN_LATVIA
+# define SUBLANG_LATVIAN_LATVIA 0x01
+# endif
+# ifndef SUBLANG_LITHUANIAN_LITHUANIA
+# define SUBLANG_LITHUANIAN_LITHUANIA 0x01
+# endif
+# undef SUBLANG_LOWER_SORBIAN_GERMANY
+# define SUBLANG_LOWER_SORBIAN_GERMANY 0x02
+# ifndef SUBLANG_LUXEMBOURGISH_LUXEMBOURG
+# define SUBLANG_LUXEMBOURGISH_LUXEMBOURG 0x01
+# endif
+# ifndef SUBLANG_MACEDONIAN_MACEDONIA
+# define SUBLANG_MACEDONIAN_MACEDONIA 0x01
+# endif
+# ifndef SUBLANG_MALAY_MALAYSIA
+# define SUBLANG_MALAY_MALAYSIA 0x01
+# endif
+# ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM
+# define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02
+# endif
+# ifndef SUBLANG_MALAYALAM_INDIA
+# define SUBLANG_MALAYALAM_INDIA 0x01
+# endif
+# ifndef SUBLANG_MALTESE_MALTA
+# define SUBLANG_MALTESE_MALTA 0x01
+# endif
+# ifndef SUBLANG_MAORI_NEW_ZEALAND
+# define SUBLANG_MAORI_NEW_ZEALAND 0x01
+# endif
+# ifndef SUBLANG_MAPUDUNGUN_CHILE
+# define SUBLANG_MAPUDUNGUN_CHILE 0x01
+# endif
+# ifndef SUBLANG_MARATHI_INDIA
+# define SUBLANG_MARATHI_INDIA 0x01
+# endif
+# ifndef SUBLANG_MOHAWK_CANADA
+# define SUBLANG_MOHAWK_CANADA 0x01
+# endif
+# ifndef SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA
+# define SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA 0x01
+# endif
+# ifndef SUBLANG_MONGOLIAN_PRC
+# define SUBLANG_MONGOLIAN_PRC 0x02
+# endif
+# ifndef SUBLANG_NEPALI_NEPAL
+# define SUBLANG_NEPALI_NEPAL 0x01
+# endif
+# ifndef SUBLANG_NEPALI_INDIA
+# define SUBLANG_NEPALI_INDIA 0x02
+# endif
+# ifndef SUBLANG_OCCITAN_FRANCE
+# define SUBLANG_OCCITAN_FRANCE 0x01
+# endif
+# ifndef SUBLANG_ORIYA_INDIA
+# define SUBLANG_ORIYA_INDIA 0x01
+# endif
+# ifndef SUBLANG_PASHTO_AFGHANISTAN
+# define SUBLANG_PASHTO_AFGHANISTAN 0x01
+# endif
+# ifndef SUBLANG_POLISH_POLAND
+# define SUBLANG_POLISH_POLAND 0x01
+# endif
+# ifndef SUBLANG_PUNJABI_INDIA
+# define SUBLANG_PUNJABI_INDIA 0x01
+# endif
+# ifndef SUBLANG_PUNJABI_PAKISTAN
+# define SUBLANG_PUNJABI_PAKISTAN 0x02
+# endif
+# ifndef SUBLANG_QUECHUA_BOLIVIA
+# define SUBLANG_QUECHUA_BOLIVIA 0x01
+# endif
+# ifndef SUBLANG_QUECHUA_ECUADOR
+# define SUBLANG_QUECHUA_ECUADOR 0x02
+# endif
+# ifndef SUBLANG_QUECHUA_PERU
+# define SUBLANG_QUECHUA_PERU 0x03
+# endif
+# ifndef SUBLANG_ROMANIAN_ROMANIA
+# define SUBLANG_ROMANIAN_ROMANIA 0x01
+# endif
+# ifndef SUBLANG_ROMANIAN_MOLDOVA
+# define SUBLANG_ROMANIAN_MOLDOVA 0x02
+# endif
+# ifndef SUBLANG_ROMANSH_SWITZERLAND
+# define SUBLANG_ROMANSH_SWITZERLAND 0x01
+# endif
+# ifndef SUBLANG_RUSSIAN_RUSSIA
+# define SUBLANG_RUSSIAN_RUSSIA 0x01
+# endif
+# ifndef SUBLANG_RUSSIAN_MOLDAVIA
+# define SUBLANG_RUSSIAN_MOLDAVIA 0x02
+# endif
+# ifndef SUBLANG_SAMI_NORTHERN_NORWAY
+# define SUBLANG_SAMI_NORTHERN_NORWAY 0x01
+# endif
+# ifndef SUBLANG_SAMI_NORTHERN_SWEDEN
+# define SUBLANG_SAMI_NORTHERN_SWEDEN 0x02
+# endif
+# ifndef SUBLANG_SAMI_NORTHERN_FINLAND
+# define SUBLANG_SAMI_NORTHERN_FINLAND 0x03
+# endif
+# ifndef SUBLANG_SAMI_LULE_NORWAY
+# define SUBLANG_SAMI_LULE_NORWAY 0x04
+# endif
+# ifndef SUBLANG_SAMI_LULE_SWEDEN
+# define SUBLANG_SAMI_LULE_SWEDEN 0x05
+# endif
+# ifndef SUBLANG_SAMI_SOUTHERN_NORWAY
+# define SUBLANG_SAMI_SOUTHERN_NORWAY 0x06
+# endif
+# ifndef SUBLANG_SAMI_SOUTHERN_SWEDEN
+# define SUBLANG_SAMI_SOUTHERN_SWEDEN 0x07
+# endif
+# undef SUBLANG_SAMI_SKOLT_FINLAND
+# define SUBLANG_SAMI_SKOLT_FINLAND 0x08
+# undef SUBLANG_SAMI_INARI_FINLAND
+# define SUBLANG_SAMI_INARI_FINLAND 0x09
+# ifndef SUBLANG_SANSKRIT_INDIA
+# define SUBLANG_SANSKRIT_INDIA 0x01
+# endif
+# ifndef SUBLANG_SERBIAN_LATIN
+# define SUBLANG_SERBIAN_LATIN 0x02
+# endif
+# ifndef SUBLANG_SERBIAN_CYRILLIC
+# define SUBLANG_SERBIAN_CYRILLIC 0x03
+# endif
+# ifndef SUBLANG_SINDHI_INDIA
+# define SUBLANG_SINDHI_INDIA 0x01
+# endif
+# undef SUBLANG_SINDHI_PAKISTAN
+# define SUBLANG_SINDHI_PAKISTAN 0x02
+# ifndef SUBLANG_SINDHI_AFGHANISTAN
+# define SUBLANG_SINDHI_AFGHANISTAN 0x02
+# endif
+# ifndef SUBLANG_SINHALESE_SRI_LANKA
+# define SUBLANG_SINHALESE_SRI_LANKA 0x01
+# endif
+# ifndef SUBLANG_SLOVAK_SLOVAKIA
+# define SUBLANG_SLOVAK_SLOVAKIA 0x01
+# endif
+# ifndef SUBLANG_SLOVENIAN_SLOVENIA
+# define SUBLANG_SLOVENIAN_SLOVENIA 0x01
+# endif
+# ifndef SUBLANG_SOTHO_SOUTH_AFRICA
+# define SUBLANG_SOTHO_SOUTH_AFRICA 0x01
+# endif
+# ifndef SUBLANG_SPANISH_GUATEMALA
+# define SUBLANG_SPANISH_GUATEMALA 0x04
+# endif
+# ifndef SUBLANG_SPANISH_COSTA_RICA
+# define SUBLANG_SPANISH_COSTA_RICA 0x05
+# endif
+# ifndef SUBLANG_SPANISH_PANAMA
+# define SUBLANG_SPANISH_PANAMA 0x06
+# endif
+# ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC
+# define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07
+# endif
+# ifndef SUBLANG_SPANISH_VENEZUELA
+# define SUBLANG_SPANISH_VENEZUELA 0x08
+# endif
+# ifndef SUBLANG_SPANISH_COLOMBIA
+# define SUBLANG_SPANISH_COLOMBIA 0x09
+# endif
+# ifndef SUBLANG_SPANISH_PERU
+# define SUBLANG_SPANISH_PERU 0x0a
+# endif
+# ifndef SUBLANG_SPANISH_ARGENTINA
+# define SUBLANG_SPANISH_ARGENTINA 0x0b
+# endif
+# ifndef SUBLANG_SPANISH_ECUADOR
+# define SUBLANG_SPANISH_ECUADOR 0x0c
+# endif
+# ifndef SUBLANG_SPANISH_CHILE
+# define SUBLANG_SPANISH_CHILE 0x0d
+# endif
+# ifndef SUBLANG_SPANISH_URUGUAY
+# define SUBLANG_SPANISH_URUGUAY 0x0e
+# endif
+# ifndef SUBLANG_SPANISH_PARAGUAY
+# define SUBLANG_SPANISH_PARAGUAY 0x0f
+# endif
+# ifndef SUBLANG_SPANISH_BOLIVIA
+# define SUBLANG_SPANISH_BOLIVIA 0x10
+# endif
+# ifndef SUBLANG_SPANISH_EL_SALVADOR
+# define SUBLANG_SPANISH_EL_SALVADOR 0x11
+# endif
+# ifndef SUBLANG_SPANISH_HONDURAS
+# define SUBLANG_SPANISH_HONDURAS 0x12
+# endif
+# ifndef SUBLANG_SPANISH_NICARAGUA
+# define SUBLANG_SPANISH_NICARAGUA 0x13
+# endif
+# ifndef SUBLANG_SPANISH_PUERTO_RICO
+# define SUBLANG_SPANISH_PUERTO_RICO 0x14
+# endif
+# ifndef SUBLANG_SPANISH_US
+# define SUBLANG_SPANISH_US 0x15
+# endif
+# ifndef SUBLANG_SWAHILI_KENYA
+# define SUBLANG_SWAHILI_KENYA 0x01
+# endif
+# ifndef SUBLANG_SWEDISH_SWEDEN
+# define SUBLANG_SWEDISH_SWEDEN 0x01
+# endif
+# ifndef SUBLANG_SWEDISH_FINLAND
+# define SUBLANG_SWEDISH_FINLAND 0x02
+# endif
+# ifndef SUBLANG_SYRIAC_SYRIA
+# define SUBLANG_SYRIAC_SYRIA 0x01
+# endif
+# ifndef SUBLANG_TAGALOG_PHILIPPINES
+# define SUBLANG_TAGALOG_PHILIPPINES 0x01
+# endif
+# ifndef SUBLANG_TAJIK_TAJIKISTAN
+# define SUBLANG_TAJIK_TAJIKISTAN 0x01
+# endif
+# ifndef SUBLANG_TAMAZIGHT_ARABIC
+# define SUBLANG_TAMAZIGHT_ARABIC 0x01
+# endif
+# ifndef SUBLANG_TAMAZIGHT_ALGERIA_LATIN
+# define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02
+# endif
+# ifndef SUBLANG_TAMIL_INDIA
+# define SUBLANG_TAMIL_INDIA 0x01
+# endif
+# ifndef SUBLANG_TATAR_RUSSIA
+# define SUBLANG_TATAR_RUSSIA 0x01
+# endif
+# ifndef SUBLANG_TELUGU_INDIA
+# define SUBLANG_TELUGU_INDIA 0x01
+# endif
+# ifndef SUBLANG_THAI_THAILAND
+# define SUBLANG_THAI_THAILAND 0x01
+# endif
+# ifndef SUBLANG_TIBETAN_PRC
+# define SUBLANG_TIBETAN_PRC 0x01
+# endif
+# undef SUBLANG_TIBETAN_BHUTAN
+# define SUBLANG_TIBETAN_BHUTAN 0x02
+# ifndef SUBLANG_TIGRINYA_ETHIOPIA
+# define SUBLANG_TIGRINYA_ETHIOPIA 0x01
+# endif
+# ifndef SUBLANG_TIGRINYA_ERITREA
+# define SUBLANG_TIGRINYA_ERITREA 0x02
+# endif
+# ifndef SUBLANG_TSWANA_SOUTH_AFRICA
+# define SUBLANG_TSWANA_SOUTH_AFRICA 0x01
+# endif
+# ifndef SUBLANG_TURKISH_TURKEY
+# define SUBLANG_TURKISH_TURKEY 0x01
+# endif
+# ifndef SUBLANG_TURKMEN_TURKMENISTAN
+# define SUBLANG_TURKMEN_TURKMENISTAN 0x01
+# endif
+# ifndef SUBLANG_UIGHUR_PRC
+# define SUBLANG_UIGHUR_PRC 0x01
+# endif
+# ifndef SUBLANG_UKRAINIAN_UKRAINE
+# define SUBLANG_UKRAINIAN_UKRAINE 0x01
+# endif
+# ifndef SUBLANG_UPPER_SORBIAN_GERMANY
+# define SUBLANG_UPPER_SORBIAN_GERMANY 0x01
+# endif
+# ifndef SUBLANG_URDU_PAKISTAN
+# define SUBLANG_URDU_PAKISTAN 0x01
+# endif
+# ifndef SUBLANG_URDU_INDIA
+# define SUBLANG_URDU_INDIA 0x02
+# endif
+# ifndef SUBLANG_UZBEK_LATIN
+# define SUBLANG_UZBEK_LATIN 0x01
+# endif
+# ifndef SUBLANG_UZBEK_CYRILLIC
+# define SUBLANG_UZBEK_CYRILLIC 0x02
+# endif
+# ifndef SUBLANG_VIETNAMESE_VIETNAM
+# define SUBLANG_VIETNAMESE_VIETNAM 0x01
+# endif
+# ifndef SUBLANG_WELSH_UNITED_KINGDOM
+# define SUBLANG_WELSH_UNITED_KINGDOM 0x01
+# endif
+# ifndef SUBLANG_WOLOF_SENEGAL
+# define SUBLANG_WOLOF_SENEGAL 0x01
+# endif
+# ifndef SUBLANG_XHOSA_SOUTH_AFRICA
+# define SUBLANG_XHOSA_SOUTH_AFRICA 0x01
+# endif
+# ifndef SUBLANG_YAKUT_RUSSIA
+# define SUBLANG_YAKUT_RUSSIA 0x01
+# endif
+# ifndef SUBLANG_YI_PRC
+# define SUBLANG_YI_PRC 0x01
+# endif
+# ifndef SUBLANG_YORUBA_NIGERIA
+# define SUBLANG_YORUBA_NIGERIA 0x01
+# endif
+# ifndef SUBLANG_ZULU_SOUTH_AFRICA
+# define SUBLANG_ZULU_SOUTH_AFRICA 0x01
+# endif
+/* GetLocaleInfoA operations. */
+# ifndef LOCALE_SNAME
+# define LOCALE_SNAME 0x5c
+# endif
+#endif
+
+
+#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
+/* MacOS X 10.2 or newer */
+
+/* Canonicalize a MacOS X locale name to a Unix locale name.
+ NAME is a sufficiently large buffer.
+ On input, it contains the MacOS X locale name.
+ On output, it contains the Unix locale name. */
+# if !defined IN_LIBINTL
+static
+# endif
+void
+gl_locale_name_canonicalize (char *name)
+{
+ /* This conversion is based on a posting by
+ Deborah GoldSmith <goldsmit@apple.com> on 2005-03-08,
+ http://lists.apple.com/archives/carbon-dev/2005/Mar/msg00293.html */
+
+ /* Convert legacy (NeXTstep inherited) English names to Unix (ISO 639 and
+ ISO 3166) names. Prior to MacOS X 10.3, there is no API for doing this.
+ Therefore we do it ourselves, using a table based on the results of the
+ MacOS X 10.3.8 function
+ CFLocaleCreateCanonicalLocaleIdentifierFromString(). */
+ typedef struct { const char legacy[21+1]; const char unixy[5+1]; }
+ legacy_entry;
+ static const legacy_entry legacy_table[] = {
+ { "Afrikaans", "af" },
+ { "Albanian", "sq" },
+ { "Amharic", "am" },
+ { "Arabic", "ar" },
+ { "Armenian", "hy" },
+ { "Assamese", "as" },
+ { "Aymara", "ay" },
+ { "Azerbaijani", "az" },
+ { "Basque", "eu" },
+ { "Belarusian", "be" },
+ { "Belorussian", "be" },
+ { "Bengali", "bn" },
+ { "Brazilian Portugese", "pt_BR" },
+ { "Brazilian Portuguese", "pt_BR" },
+ { "Breton", "br" },
+ { "Bulgarian", "bg" },
+ { "Burmese", "my" },
+ { "Byelorussian", "be" },
+ { "Catalan", "ca" },
+ { "Chewa", "ny" },
+ { "Chichewa", "ny" },
+ { "Chinese", "zh" },
+ { "Chinese, Simplified", "zh_CN" },
+ { "Chinese, Traditional", "zh_TW" },
+ { "Chinese, Tradtional", "zh_TW" },
+ { "Croatian", "hr" },
+ { "Czech", "cs" },
+ { "Danish", "da" },
+ { "Dutch", "nl" },
+ { "Dzongkha", "dz" },
+ { "English", "en" },
+ { "Esperanto", "eo" },
+ { "Estonian", "et" },
+ { "Faroese", "fo" },
+ { "Farsi", "fa" },
+ { "Finnish", "fi" },
+ { "Flemish", "nl_BE" },
+ { "French", "fr" },
+ { "Galician", "gl" },
+ { "Gallegan", "gl" },
+ { "Georgian", "ka" },
+ { "German", "de" },
+ { "Greek", "el" },
+ { "Greenlandic", "kl" },
+ { "Guarani", "gn" },
+ { "Gujarati", "gu" },
+ { "Hawaiian", "haw" }, /* Yes, "haw", not "cpe". */
+ { "Hebrew", "he" },
+ { "Hindi", "hi" },
+ { "Hungarian", "hu" },
+ { "Icelandic", "is" },
+ { "Indonesian", "id" },
+ { "Inuktitut", "iu" },
+ { "Irish", "ga" },
+ { "Italian", "it" },
+ { "Japanese", "ja" },
+ { "Javanese", "jv" },
+ { "Kalaallisut", "kl" },
+ { "Kannada", "kn" },
+ { "Kashmiri", "ks" },
+ { "Kazakh", "kk" },
+ { "Khmer", "km" },
+ { "Kinyarwanda", "rw" },
+ { "Kirghiz", "ky" },
+ { "Korean", "ko" },
+ { "Kurdish", "ku" },
+ { "Latin", "la" },
+ { "Latvian", "lv" },
+ { "Lithuanian", "lt" },
+ { "Macedonian", "mk" },
+ { "Malagasy", "mg" },
+ { "Malay", "ms" },
+ { "Malayalam", "ml" },
+ { "Maltese", "mt" },
+ { "Manx", "gv" },
+ { "Marathi", "mr" },
+ { "Moldavian", "mo" },
+ { "Mongolian", "mn" },
+ { "Nepali", "ne" },
+ { "Norwegian", "nb" }, /* Yes, "nb", not the obsolete "no". */
+ { "Nyanja", "ny" },
+ { "Nynorsk", "nn" },
+ { "Oriya", "or" },
+ { "Oromo", "om" },
+ { "Panjabi", "pa" },
+ { "Pashto", "ps" },
+ { "Persian", "fa" },
+ { "Polish", "pl" },
+ { "Portuguese", "pt" },
+ { "Portuguese, Brazilian", "pt_BR" },
+ { "Punjabi", "pa" },
+ { "Pushto", "ps" },
+ { "Quechua", "qu" },
+ { "Romanian", "ro" },
+ { "Ruanda", "rw" },
+ { "Rundi", "rn" },
+ { "Russian", "ru" },
+ { "Sami", "se_NO" }, /* Not just "se". */
+ { "Sanskrit", "sa" },
+ { "Scottish", "gd" },
+ { "Serbian", "sr" },
+ { "Simplified Chinese", "zh_CN" },
+ { "Sindhi", "sd" },
+ { "Sinhalese", "si" },
+ { "Slovak", "sk" },
+ { "Slovenian", "sl" },
+ { "Somali", "so" },
+ { "Spanish", "es" },
+ { "Sundanese", "su" },
+ { "Swahili", "sw" },
+ { "Swedish", "sv" },
+ { "Tagalog", "tl" },
+ { "Tajik", "tg" },
+ { "Tajiki", "tg" },
+ { "Tamil", "ta" },
+ { "Tatar", "tt" },
+ { "Telugu", "te" },
+ { "Thai", "th" },
+ { "Tibetan", "bo" },
+ { "Tigrinya", "ti" },
+ { "Tongan", "to" },
+ { "Traditional Chinese", "zh_TW" },
+ { "Turkish", "tr" },
+ { "Turkmen", "tk" },
+ { "Uighur", "ug" },
+ { "Ukrainian", "uk" },
+ { "Urdu", "ur" },
+ { "Uzbek", "uz" },
+ { "Vietnamese", "vi" },
+ { "Welsh", "cy" },
+ { "Yiddish", "yi" }
+ };
+
+ /* Convert new-style locale names with language tags (ISO 639 and ISO 15924)
+ to Unix (ISO 639 and ISO 3166) names. */
+ typedef struct { const char langtag[7+1]; const char unixy[12+1]; }
+ langtag_entry;
+ static const langtag_entry langtag_table[] = {
+ /* MacOS X has "az-Arab", "az-Cyrl", "az-Latn".
+ The default script for az on Unix is Latin. */
+ { "az-Latn", "az" },
+ /* MacOS X has "ga-dots". Does not yet exist on Unix. */
+ { "ga-dots", "ga" },
+ /* MacOS X has "kk-Cyrl". Does not yet exist on Unix. */
+ /* MacOS X has "mn-Cyrl", "mn-Mong".
+ The default script for mn on Unix is Cyrillic. */
+ { "mn-Cyrl", "mn" },
+ /* MacOS X has "ms-Arab", "ms-Latn".
+ The default script for ms on Unix is Latin. */
+ { "ms-Latn", "ms" },
+ /* MacOS X has "tg-Cyrl".
+ The default script for tg on Unix is Cyrillic. */
+ { "tg-Cyrl", "tg" },
+ /* MacOS X has "tk-Cyrl". Does not yet exist on Unix. */
+ /* MacOS X has "tt-Cyrl".
+ The default script for tt on Unix is Cyrillic. */
+ { "tt-Cyrl", "tt" },
+ /* MacOS X has "zh-Hans", "zh-Hant".
+ Country codes are used to distinguish these on Unix. */
+ { "zh-Hans", "zh_CN" },
+ { "zh-Hant", "zh_TW" }
+ };
+
+ /* Convert script names (ISO 15924) to Unix conventions.
+ See http://www.unicode.org/iso15924/iso15924-codes.html */
+ typedef struct { const char script[4+1]; const char unixy[9+1]; }
+ script_entry;
+ static const script_entry script_table[] = {
+ { "Arab", "arabic" },
+ { "Cyrl", "cyrillic" },
+ { "Mong", "mongolian" }
+ };
+
+ /* Step 1: Convert using legacy_table. */
+ if (name[0] >= 'A' && name[0] <= 'Z')
+ {
+ unsigned int i1, i2;
+ i1 = 0;
+ i2 = sizeof (legacy_table) / sizeof (legacy_entry);
+ while (i2 - i1 > 1)
+ {
+ /* At this point we know that if name occurs in legacy_table,
+ its index must be >= i1 and < i2. */
+ unsigned int i = (i1 + i2) >> 1;
+ const legacy_entry *p = &legacy_table[i];
+ if (strcmp (name, p->legacy) < 0)
+ i2 = i;
+ else
+ i1 = i;
+ }
+ if (strcmp (name, legacy_table[i1].legacy) == 0)
+ {
+ strcpy (name, legacy_table[i1].unixy);
+ return;
+ }
+ }
+
+ /* Step 2: Convert using langtag_table and script_table. */
+ if (strlen (name) == 7 && name[2] == '-')
+ {
+ unsigned int i1, i2;
+ i1 = 0;
+ i2 = sizeof (langtag_table) / sizeof (langtag_entry);
+ while (i2 - i1 > 1)
+ {
+ /* At this point we know that if name occurs in langtag_table,
+ its index must be >= i1 and < i2. */
+ unsigned int i = (i1 + i2) >> 1;
+ const langtag_entry *p = &langtag_table[i];
+ if (strcmp (name, p->langtag) < 0)
+ i2 = i;
+ else
+ i1 = i;
+ }
+ if (strcmp (name, langtag_table[i1].langtag) == 0)
+ {
+ strcpy (name, langtag_table[i1].unixy);
+ return;
+ }
+
+ i1 = 0;
+ i2 = sizeof (script_table) / sizeof (script_entry);
+ while (i2 - i1 > 1)
+ {
+ /* At this point we know that if (name + 3) occurs in script_table,
+ its index must be >= i1 and < i2. */
+ unsigned int i = (i1 + i2) >> 1;
+ const script_entry *p = &script_table[i];
+ if (strcmp (name + 3, p->script) < 0)
+ i2 = i;
+ else
+ i1 = i;
+ }
+ if (strcmp (name + 3, script_table[i1].script) == 0)
+ {
+ name[2] = '@';
+ strcpy (name + 3, script_table[i1].unixy);
+ return;
+ }
+ }
+
+ /* Step 3: Convert new-style dash to Unix underscore. */
+ {
+ char *p;
+ for (p = name; *p != '\0'; p++)
+ if (*p == '-')
+ *p = '_';
+ }
+}
+
+#endif
+
+
+#if defined WIN32_NATIVE || defined __CYGWIN__ /* WIN32 or Cygwin */
+
+/* Canonicalize a Win32 native locale name to a Unix locale name.
+ NAME is a sufficiently large buffer.
+ On input, it contains the Win32 locale name.
+ On output, it contains the Unix locale name. */
+# if !defined IN_LIBINTL
+static
+# endif
+void
+gl_locale_name_canonicalize (char *name)
+{
+ /* FIXME: This is probably incomplete: it does not handle "zh-Hans" and
+ "zh-Hant". */
+ char *p;
+
+ for (p = name; *p != '\0'; p++)
+ if (*p == '-')
+ {
+ *p = '_';
+ p++;
+ for (; *p != '\0'; p++)
+ {
+ if (*p >= 'a' && *p <= 'z')
+ *p += 'A' - 'a';
+ if (*p == '-')
+ {
+ *p = '\0';
+ return;
+ }
+ }
+ return;
+ }
+}
+
+# if !defined IN_LIBINTL
+static
+# endif
+const char *
+gl_locale_name_from_win32_LANGID (LANGID langid)
+{
+ /* Activate the new code only when the GETTEXT_MUI environment variable is
+ set, for the time being, since the new code is not well tested. */
+ if (getenv ("GETTEXT_MUI") != NULL)
+ {
+ static char namebuf[256];
+
+ /* Query the system's notion of locale name.
+ On Windows95/98/ME, GetLocaleInfoA returns some incorrect results.
+ But we don't need to support systems that are so old. */
+ if (GetLocaleInfoA (MAKELCID (langid, SORT_DEFAULT), LOCALE_SNAME,
+ namebuf, sizeof (namebuf) - 1))
+ {
+ /* Convert it to a Unix locale name. */
+ gl_locale_name_canonicalize (namebuf);
+ return namebuf;
+ }
+ }
+ /* Internet Explorer has an LCID to RFC3066 name mapping stored in
+ HKEY_CLASSES_ROOT\Mime\Database\Rfc1766. But we better don't use that
+ since IE's i18n subsystem is known to be inconsistent with the Win32 base
+ (e.g. they have different character conversion facilities that produce
+ different results). */
+ /* Use our own table. */
+ {
+ int primary, sub;
+
+ /* Split into language and territory part. */
+ primary = PRIMARYLANGID (langid);
+ sub = SUBLANGID (langid);
+
+ /* Dispatch on language.
+ See also http://www.unicode.org/unicode/onlinedat/languages.html .
+ For details about languages, see http://www.ethnologue.com/ . */
+ switch (primary)
+ {
+ case LANG_AFRIKAANS:
+ switch (sub)
+ {
+ case SUBLANG_AFRIKAANS_SOUTH_AFRICA: return "af_ZA";
+ }
+ return "af";
+ case LANG_ALBANIAN:
+ switch (sub)
+ {
+ case SUBLANG_ALBANIAN_ALBANIA: return "sq_AL";
+ }
+ return "sq";
+ case LANG_ALSATIAN:
+ switch (sub)
+ {
+ case SUBLANG_ALSATIAN_FRANCE: return "gsw_FR";
+ }
+ return "gsw";
+ case LANG_AMHARIC:
+ switch (sub)
+ {
+ case SUBLANG_AMHARIC_ETHIOPIA: return "am_ET";
+ }
+ return "am";
+ case LANG_ARABIC:
+ switch (sub)
+ {
+ case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA";
+ case SUBLANG_ARABIC_IRAQ: return "ar_IQ";
+ case SUBLANG_ARABIC_EGYPT: return "ar_EG";
+ case SUBLANG_ARABIC_LIBYA: return "ar_LY";
+ case SUBLANG_ARABIC_ALGERIA: return "ar_DZ";
+ case SUBLANG_ARABIC_MOROCCO: return "ar_MA";
+ case SUBLANG_ARABIC_TUNISIA: return "ar_TN";
+ case SUBLANG_ARABIC_OMAN: return "ar_OM";
+ case SUBLANG_ARABIC_YEMEN: return "ar_YE";
+ case SUBLANG_ARABIC_SYRIA: return "ar_SY";
+ case SUBLANG_ARABIC_JORDAN: return "ar_JO";
+ case SUBLANG_ARABIC_LEBANON: return "ar_LB";
+ case SUBLANG_ARABIC_KUWAIT: return "ar_KW";
+ case SUBLANG_ARABIC_UAE: return "ar_AE";
+ case SUBLANG_ARABIC_BAHRAIN: return "ar_BH";
+ case SUBLANG_ARABIC_QATAR: return "ar_QA";
+ }
+ return "ar";
+ case LANG_ARMENIAN:
+ switch (sub)
+ {
+ case SUBLANG_ARMENIAN_ARMENIA: return "hy_AM";
+ }
+ return "hy";
+ case LANG_ASSAMESE:
+ switch (sub)
+ {
+ case SUBLANG_ASSAMESE_INDIA: return "as_IN";
+ }
+ return "as";
+ case LANG_AZERI:
+ switch (sub)
+ {
+ /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */
+ case 0x1e: return "az@latin";
+ case SUBLANG_AZERI_LATIN: return "az_AZ@latin";
+ case 0x1d: return "az@cyrillic";
+ case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic";
+ }
+ return "az";
+ case LANG_BASHKIR:
+ switch (sub)
+ {
+ case SUBLANG_BASHKIR_RUSSIA: return "ba_RU";
+ }
+ return "ba";
+ case LANG_BASQUE:
+ switch (sub)
+ {
+ case SUBLANG_BASQUE_BASQUE: return "eu_ES";
+ }
+ return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */
+ case LANG_BELARUSIAN:
+ switch (sub)
+ {
+ case SUBLANG_BELARUSIAN_BELARUS: return "be_BY";
+ }
+ return "be";
+ case LANG_BENGALI:
+ switch (sub)
+ {
+ case SUBLANG_BENGALI_INDIA: return "bn_IN";
+ case SUBLANG_BENGALI_BANGLADESH: return "bn_BD";
+ }
+ return "bn";
+ case LANG_BRETON:
+ switch (sub)
+ {
+ case SUBLANG_BRETON_FRANCE: return "br_FR";
+ }
+ return "br";
+ case LANG_BULGARIAN:
+ switch (sub)
+ {
+ case SUBLANG_BULGARIAN_BULGARIA: return "bg_BG";
+ }
+ return "bg";
+ case LANG_BURMESE:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "my_MM";
+ }
+ return "my";
+ case LANG_CAMBODIAN:
+ switch (sub)
+ {
+ case SUBLANG_CAMBODIAN_CAMBODIA: return "km_KH";
+ }
+ return "km";
+ case LANG_CATALAN:
+ switch (sub)
+ {
+ case SUBLANG_CATALAN_SPAIN: return "ca_ES";
+ }
+ return "ca";
+ case LANG_CHEROKEE:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "chr_US";
+ }
+ return "chr";
+ case LANG_CHINESE:
+ switch (sub)
+ {
+ case SUBLANG_CHINESE_TRADITIONAL: case 0x1f: return "zh_TW";
+ case SUBLANG_CHINESE_SIMPLIFIED: case 0x00: return "zh_CN";
+ case SUBLANG_CHINESE_HONGKONG: return "zh_HK"; /* traditional */
+ case SUBLANG_CHINESE_SINGAPORE: return "zh_SG"; /* simplified */
+ case SUBLANG_CHINESE_MACAU: return "zh_MO"; /* traditional */
+ }
+ return "zh";
+ case LANG_CORSICAN:
+ switch (sub)
+ {
+ case SUBLANG_CORSICAN_FRANCE: return "co_FR";
+ }
+ return "co";
+ case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN == LANG_BOSNIAN
+ * What used to be called Serbo-Croatian
+ * should really now be two separate
+ * languages because of political reasons.
+ * (Says tml, who knows nothing about Serbian
+ * or Croatian.)
+ * (I can feel those flames coming already.)
+ */
+ switch (sub)
+ {
+ /* Croatian */
+ case 0x00: return "hr";
+ case SUBLANG_CROATIAN_CROATIA: return "hr_HR";
+ case SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN: return "hr_BA";
+ /* Serbian */
+ case 0x1f: return "sr";
+ case 0x1c: return "sr"; /* latin */
+ case SUBLANG_SERBIAN_LATIN: return "sr_CS"; /* latin */
+ case 0x09: return "sr_RS"; /* latin */
+ case 0x0b: return "sr_ME"; /* latin */
+ case 0x06: return "sr_BA"; /* latin */
+ case 0x1b: return "sr@cyrillic";
+ case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic";
+ case 0x0a: return "sr_RS@cyrillic";
+ case 0x0c: return "sr_ME@cyrillic";
+ case 0x07: return "sr_BA@cyrillic";
+ /* Bosnian */
+ case 0x1e: return "bs";
+ case 0x1a: return "bs"; /* latin */
+ case SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN: return "bs_BA"; /* latin */
+ case 0x19: return "bs@cyrillic";
+ case SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC: return "bs_BA@cyrillic";
+ }
+ return "hr";
+ case LANG_CZECH:
+ switch (sub)
+ {
+ case SUBLANG_CZECH_CZECH_REPUBLIC: return "cs_CZ";
+ }
+ return "cs";
+ case LANG_DANISH:
+ switch (sub)
+ {
+ case SUBLANG_DANISH_DENMARK: return "da_DK";
+ }
+ return "da";
+ case LANG_DARI:
+ /* FIXME: Adjust this when such locales appear on Unix. */
+ switch (sub)
+ {
+ case SUBLANG_DARI_AFGHANISTAN: return "prs_AF";
+ }
+ return "prs";
+ case LANG_DIVEHI:
+ switch (sub)
+ {
+ case SUBLANG_DIVEHI_MALDIVES: return "dv_MV";
+ }
+ return "dv";
+ case LANG_DUTCH:
+ switch (sub)
+ {
+ case SUBLANG_DUTCH: return "nl_NL";
+ case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE";
+ case SUBLANG_DUTCH_SURINAM: return "nl_SR";
+ }
+ return "nl";
+ case LANG_EDO:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "bin_NG";
+ }
+ return "bin";
+ case LANG_ENGLISH:
+ switch (sub)
+ {
+ /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought
+ * English was the language spoken in England.
+ * Oh well.
+ */
+ case SUBLANG_ENGLISH_US: return "en_US";
+ case SUBLANG_ENGLISH_UK: return "en_GB";
+ case SUBLANG_ENGLISH_AUS: return "en_AU";
+ case SUBLANG_ENGLISH_CAN: return "en_CA";
+ case SUBLANG_ENGLISH_NZ: return "en_NZ";
+ case SUBLANG_ENGLISH_EIRE: return "en_IE";
+ case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA";
+ case SUBLANG_ENGLISH_JAMAICA: return "en_JM";
+ case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */
+ case SUBLANG_ENGLISH_BELIZE: return "en_BZ";
+ case SUBLANG_ENGLISH_TRINIDAD: return "en_TT";
+ case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW";
+ case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH";
+ case SUBLANG_ENGLISH_INDONESIA: return "en_ID";
+ case SUBLANG_ENGLISH_HONGKONG: return "en_HK";
+ case SUBLANG_ENGLISH_INDIA: return "en_IN";
+ case SUBLANG_ENGLISH_MALAYSIA: return "en_MY";
+ case SUBLANG_ENGLISH_SINGAPORE: return "en_SG";
+ }
+ return "en";
+ case LANG_ESTONIAN:
+ switch (sub)
+ {
+ case SUBLANG_ESTONIAN_ESTONIA: return "et_EE";
+ }
+ return "et";
+ case LANG_FAEROESE:
+ switch (sub)
+ {
+ case SUBLANG_FAEROESE_FAROE_ISLANDS: return "fo_FO";
+ }
+ return "fo";
+ case LANG_FARSI:
+ switch (sub)
+ {
+ case SUBLANG_FARSI_IRAN: return "fa_IR";
+ }
+ return "fa";
+ case LANG_FINNISH:
+ switch (sub)
+ {
+ case SUBLANG_FINNISH_FINLAND: return "fi_FI";
+ }
+ return "fi";
+ case LANG_FRENCH:
+ switch (sub)
+ {
+ case SUBLANG_FRENCH: return "fr_FR";
+ case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE";
+ case SUBLANG_FRENCH_CANADIAN: return "fr_CA";
+ case SUBLANG_FRENCH_SWISS: return "fr_CH";
+ case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU";
+ case SUBLANG_FRENCH_MONACO: return "fr_MC";
+ case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */
+ case SUBLANG_FRENCH_REUNION: return "fr_RE";
+ case SUBLANG_FRENCH_CONGO: return "fr_CG";
+ case SUBLANG_FRENCH_SENEGAL: return "fr_SN";
+ case SUBLANG_FRENCH_CAMEROON: return "fr_CM";
+ case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI";
+ case SUBLANG_FRENCH_MALI: return "fr_ML";
+ case SUBLANG_FRENCH_MOROCCO: return "fr_MA";
+ case SUBLANG_FRENCH_HAITI: return "fr_HT";
+ }
+ return "fr";
+ case LANG_FRISIAN:
+ switch (sub)
+ {
+ case SUBLANG_FRISIAN_NETHERLANDS: return "fy_NL";
+ }
+ return "fy";
+ case LANG_FULFULDE:
+ /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "ff_NG";
+ }
+ return "ff";
+ case LANG_GAELIC:
+ switch (sub)
+ {
+ case 0x01: /* SCOTTISH */
+ /* old, superseded by LANG_SCOTTISH_GAELIC */
+ return "gd_GB";
+ case SUBLANG_IRISH_IRELAND: return "ga_IE";
+ }
+ return "ga";
+ case LANG_GALICIAN:
+ switch (sub)
+ {
+ case SUBLANG_GALICIAN_SPAIN: return "gl_ES";
+ }
+ return "gl";
+ case LANG_GEORGIAN:
+ switch (sub)
+ {
+ case SUBLANG_GEORGIAN_GEORGIA: return "ka_GE";
+ }
+ return "ka";
+ case LANG_GERMAN:
+ switch (sub)
+ {
+ case SUBLANG_GERMAN: return "de_DE";
+ case SUBLANG_GERMAN_SWISS: return "de_CH";
+ case SUBLANG_GERMAN_AUSTRIAN: return "de_AT";
+ case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU";
+ case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI";
+ }
+ return "de";
+ case LANG_GREEK:
+ switch (sub)
+ {
+ case SUBLANG_GREEK_GREECE: return "el_GR";
+ }
+ return "el";
+ case LANG_GREENLANDIC:
+ switch (sub)
+ {
+ case SUBLANG_GREENLANDIC_GREENLAND: return "kl_GL";
+ }
+ return "kl";
+ case LANG_GUARANI:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "gn_PY";
+ }
+ return "gn";
+ case LANG_GUJARATI:
+ switch (sub)
+ {
+ case SUBLANG_GUJARATI_INDIA: return "gu_IN";
+ }
+ return "gu";
+ case LANG_HAUSA:
+ switch (sub)
+ {
+ case 0x1f: return "ha";
+ case SUBLANG_HAUSA_NIGERIA_LATIN: return "ha_NG";
+ }
+ return "ha";
+ case LANG_HAWAIIAN:
+ /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers)
+ or Hawaii Creole English ("cpe_US", 600000 speakers)? */
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "cpe_US";
+ }
+ return "cpe";
+ case LANG_HEBREW:
+ switch (sub)
+ {
+ case SUBLANG_HEBREW_ISRAEL: return "he_IL";
+ }
+ return "he";
+ case LANG_HINDI:
+ switch (sub)
+ {
+ case SUBLANG_HINDI_INDIA: return "hi_IN";
+ }
+ return "hi";
+ case LANG_HUNGARIAN:
+ switch (sub)
+ {
+ case SUBLANG_HUNGARIAN_HUNGARY: return "hu_HU";
+ }
+ return "hu";
+ case LANG_IBIBIO:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "nic_NG";
+ }
+ return "nic";
+ case LANG_ICELANDIC:
+ switch (sub)
+ {
+ case SUBLANG_ICELANDIC_ICELAND: return "is_IS";
+ }
+ return "is";
+ case LANG_IGBO:
+ switch (sub)
+ {
+ case SUBLANG_IGBO_NIGERIA: return "ig_NG";
+ }
+ return "ig";
+ case LANG_INDONESIAN:
+ switch (sub)
+ {
+ case SUBLANG_INDONESIAN_INDONESIA: return "id_ID";
+ }
+ return "id";
+ case LANG_INUKTITUT:
+ switch (sub)
+ {
+ case 0x1e: return "iu"; /* syllabic */
+ case SUBLANG_INUKTITUT_CANADA: return "iu_CA"; /* syllabic */
+ case 0x1f: return "iu@latin";
+ case SUBLANG_INUKTITUT_CANADA_LATIN: return "iu_CA@latin";
+ }
+ return "iu";
+ case LANG_ITALIAN:
+ switch (sub)
+ {
+ case SUBLANG_ITALIAN: return "it_IT";
+ case SUBLANG_ITALIAN_SWISS: return "it_CH";
+ }
+ return "it";
+ case LANG_JAPANESE:
+ switch (sub)
+ {
+ case SUBLANG_JAPANESE_JAPAN: return "ja_JP";
+ }
+ return "ja";
+ case LANG_KANNADA:
+ switch (sub)
+ {
+ case SUBLANG_KANNADA_INDIA: return "kn_IN";
+ }
+ return "kn";
+ case LANG_KANURI:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "kr_NG";
+ }
+ return "kr";
+ case LANG_KASHMIRI:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "ks_PK";
+ case SUBLANG_KASHMIRI_INDIA: return "ks_IN";
+ }
+ return "ks";
+ case LANG_KAZAK:
+ switch (sub)
+ {
+ case SUBLANG_KAZAK_KAZAKHSTAN: return "kk_KZ";
+ }
+ return "kk";
+ case LANG_KICHE:
+ /* FIXME: Adjust this when such locales appear on Unix. */
+ switch (sub)
+ {
+ case SUBLANG_KICHE_GUATEMALA: return "qut_GT";
+ }
+ return "qut";
+ case LANG_KINYARWANDA:
+ switch (sub)
+ {
+ case SUBLANG_KINYARWANDA_RWANDA: return "rw_RW";
+ }
+ return "rw";
+ case LANG_KONKANI:
+ /* FIXME: Adjust this when such locales appear on Unix. */
+ switch (sub)
+ {
+ case SUBLANG_KONKANI_INDIA: return "kok_IN";
+ }
+ return "kok";
+ case LANG_KOREAN:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "ko_KR";
+ }
+ return "ko";
+ case LANG_KYRGYZ:
+ switch (sub)
+ {
+ case SUBLANG_KYRGYZ_KYRGYZSTAN: return "ky_KG";
+ }
+ return "ky";
+ case LANG_LAO:
+ switch (sub)
+ {
+ case SUBLANG_LAO_LAOS: return "lo_LA";
+ }
+ return "lo";
+ case LANG_LATIN:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "la_VA";
+ }
+ return "la";
+ case LANG_LATVIAN:
+ switch (sub)
+ {
+ case SUBLANG_LATVIAN_LATVIA: return "lv_LV";
+ }
+ return "lv";
+ case LANG_LITHUANIAN:
+ switch (sub)
+ {
+ case SUBLANG_LITHUANIAN_LITHUANIA: return "lt_LT";
+ }
+ return "lt";
+ case LANG_LUXEMBOURGISH:
+ switch (sub)
+ {
+ case SUBLANG_LUXEMBOURGISH_LUXEMBOURG: return "lb_LU";
+ }
+ return "lb";
+ case LANG_MACEDONIAN:
+ switch (sub)
+ {
+ case SUBLANG_MACEDONIAN_MACEDONIA: return "mk_MK";
+ }
+ return "mk";
+ case LANG_MALAY:
+ switch (sub)
+ {
+ case SUBLANG_MALAY_MALAYSIA: return "ms_MY";
+ case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN";
+ }
+ return "ms";
+ case LANG_MALAYALAM:
+ switch (sub)
+ {
+ case SUBLANG_MALAYALAM_INDIA: return "ml_IN";
+ }
+ return "ml";
+ case LANG_MALTESE:
+ switch (sub)
+ {
+ case SUBLANG_MALTESE_MALTA: return "mt_MT";
+ }
+ return "mt";
+ case LANG_MANIPURI:
+ /* FIXME: Adjust this when such locales appear on Unix. */
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "mni_IN";
+ }
+ return "mni";
+ case LANG_MAORI:
+ switch (sub)
+ {
+ case SUBLANG_MAORI_NEW_ZEALAND: return "mi_NZ";
+ }
+ return "mi";
+ case LANG_MAPUDUNGUN:
+ switch (sub)
+ {
+ case SUBLANG_MAPUDUNGUN_CHILE: return "arn_CL";
+ }
+ return "arn";
+ case LANG_MARATHI:
+ switch (sub)
+ {
+ case SUBLANG_MARATHI_INDIA: return "mr_IN";
+ }
+ return "mr";
+ case LANG_MOHAWK:
+ switch (sub)
+ {
+ case SUBLANG_MOHAWK_CANADA: return "moh_CA";
+ }
+ return "moh";
+ case LANG_MONGOLIAN:
+ switch (sub)
+ {
+ case SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA: case 0x1e: return "mn_MN";
+ case SUBLANG_MONGOLIAN_PRC: case 0x1f: return "mn_CN";
+ }
+ return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */
+ case LANG_NEPALI:
+ switch (sub)
+ {
+ case SUBLANG_NEPALI_NEPAL: return "ne_NP";
+ case SUBLANG_NEPALI_INDIA: return "ne_IN";
+ }
+ return "ne";
+ case LANG_NORWEGIAN:
+ switch (sub)
+ {
+ case 0x1f: return "nb";
+ case SUBLANG_NORWEGIAN_BOKMAL: return "nb_NO";
+ case 0x1e: return "nn";
+ case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO";
+ }
+ return "no";
+ case LANG_OCCITAN:
+ switch (sub)
+ {
+ case SUBLANG_OCCITAN_FRANCE: return "oc_FR";
+ }
+ return "oc";
+ case LANG_ORIYA:
+ switch (sub)
+ {
+ case SUBLANG_ORIYA_INDIA: return "or_IN";
+ }
+ return "or";
+ case LANG_OROMO:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "om_ET";
+ }
+ return "om";
+ case LANG_PAPIAMENTU:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "pap_AN";
+ }
+ return "pap";
+ case LANG_PASHTO:
+ switch (sub)
+ {
+ case SUBLANG_PASHTO_AFGHANISTAN: return "ps_AF";
+ }
+ return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */
+ case LANG_POLISH:
+ switch (sub)
+ {
+ case SUBLANG_POLISH_POLAND: return "pl_PL";
+ }
+ return "pl";
+ case LANG_PORTUGUESE:
+ switch (sub)
+ {
+ /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT.
+ Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */
+ case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR";
+ case SUBLANG_PORTUGUESE: return "pt_PT";
+ }
+ return "pt";
+ case LANG_PUNJABI:
+ switch (sub)
+ {
+ case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */
+ case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */
+ }
+ return "pa";
+ case LANG_QUECHUA:
+ /* Note: Microsoft uses the non-ISO language code "quz". */
+ switch (sub)
+ {
+ case SUBLANG_QUECHUA_BOLIVIA: return "qu_BO";
+ case SUBLANG_QUECHUA_ECUADOR: return "qu_EC";
+ case SUBLANG_QUECHUA_PERU: return "qu_PE";
+ }
+ return "qu";
+ case LANG_ROMANIAN:
+ switch (sub)
+ {
+ case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO";
+ case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD";
+ }
+ return "ro";
+ case LANG_ROMANSH:
+ switch (sub)
+ {
+ case SUBLANG_ROMANSH_SWITZERLAND: return "rm_CH";
+ }
+ return "rm";
+ case LANG_RUSSIAN:
+ switch (sub)
+ {
+ case SUBLANG_RUSSIAN_RUSSIA: return "ru_RU";
+ case SUBLANG_RUSSIAN_MOLDAVIA: return "ru_MD";
+ }
+ return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */
+ case LANG_SAMI:
+ switch (sub)
+ {
+ /* Northern Sami */
+ case 0x00: return "se";
+ case SUBLANG_SAMI_NORTHERN_NORWAY: return "se_NO";
+ case SUBLANG_SAMI_NORTHERN_SWEDEN: return "se_SE";
+ case SUBLANG_SAMI_NORTHERN_FINLAND: return "se_FI";
+ /* Lule Sami */
+ case 0x1f: return "smj";
+ case SUBLANG_SAMI_LULE_NORWAY: return "smj_NO";
+ case SUBLANG_SAMI_LULE_SWEDEN: return "smj_SE";
+ /* Southern Sami */
+ case 0x1e: return "sma";
+ case SUBLANG_SAMI_SOUTHERN_NORWAY: return "sma_NO";
+ case SUBLANG_SAMI_SOUTHERN_SWEDEN: return "sma_SE";
+ /* Skolt Sami */
+ case 0x1d: return "sms";
+ case SUBLANG_SAMI_SKOLT_FINLAND: return "sms_FI";
+ /* Inari Sami */
+ case 0x1c: return "smn";
+ case SUBLANG_SAMI_INARI_FINLAND: return "smn_FI";
+ }
+ return "se"; /* or "smi"? */
+ case LANG_SANSKRIT:
+ switch (sub)
+ {
+ case SUBLANG_SANSKRIT_INDIA: return "sa_IN";
+ }
+ return "sa";
+ case LANG_SCOTTISH_GAELIC:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "gd_GB";
+ }
+ return "gd";
+ case LANG_SINDHI:
+ switch (sub)
+ {
+ case SUBLANG_SINDHI_INDIA: return "sd_IN";
+ case SUBLANG_SINDHI_PAKISTAN: return "sd_PK";
+ /*case SUBLANG_SINDHI_AFGHANISTAN: return "sd_AF";*/
+ }
+ return "sd";
+ case LANG_SINHALESE:
+ switch (sub)
+ {
+ case SUBLANG_SINHALESE_SRI_LANKA: return "si_LK";
+ }
+ return "si";
+ case LANG_SLOVAK:
+ switch (sub)
+ {
+ case SUBLANG_SLOVAK_SLOVAKIA: return "sk_SK";
+ }
+ return "sk";
+ case LANG_SLOVENIAN:
+ switch (sub)
+ {
+ case SUBLANG_SLOVENIAN_SLOVENIA: return "sl_SI";
+ }
+ return "sl";
+ case LANG_SOMALI:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "so_SO";
+ }
+ return "so";
+ case LANG_SORBIAN:
+ /* FIXME: Adjust this when such locales appear on Unix. */
+ switch (sub)
+ {
+ /* Upper Sorbian */
+ case 0x00: return "hsb";
+ case SUBLANG_UPPER_SORBIAN_GERMANY: return "hsb_DE";
+ /* Lower Sorbian */
+ case 0x1f: return "dsb";
+ case SUBLANG_LOWER_SORBIAN_GERMANY: return "dsb_DE";
+ }
+ return "wen";
+ case LANG_SOTHO:
+ /* <http://www.microsoft.com/globaldev/reference/lcid-all.mspx> calls
+ it "Sepedi"; according to
+ <http://www.ethnologue.com/show_language.asp?code=nso>
+ <http://www.ethnologue.com/show_language.asp?code=sot>
+ it's the same as Northern Sotho. */
+ switch (sub)
+ {
+ case SUBLANG_SOTHO_SOUTH_AFRICA: return "nso_ZA";
+ }
+ return "nso";
+ case LANG_SPANISH:
+ switch (sub)
+ {
+ case SUBLANG_SPANISH: return "es_ES";
+ case SUBLANG_SPANISH_MEXICAN: return "es_MX";
+ case SUBLANG_SPANISH_MODERN:
+ return "es_ES@modern"; /* not seen on Unix */
+ case SUBLANG_SPANISH_GUATEMALA: return "es_GT";
+ case SUBLANG_SPANISH_COSTA_RICA: return "es_CR";
+ case SUBLANG_SPANISH_PANAMA: return "es_PA";
+ case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO";
+ case SUBLANG_SPANISH_VENEZUELA: return "es_VE";
+ case SUBLANG_SPANISH_COLOMBIA: return "es_CO";
+ case SUBLANG_SPANISH_PERU: return "es_PE";
+ case SUBLANG_SPANISH_ARGENTINA: return "es_AR";
+ case SUBLANG_SPANISH_ECUADOR: return "es_EC";
+ case SUBLANG_SPANISH_CHILE: return "es_CL";
+ case SUBLANG_SPANISH_URUGUAY: return "es_UY";
+ case SUBLANG_SPANISH_PARAGUAY: return "es_PY";
+ case SUBLANG_SPANISH_BOLIVIA: return "es_BO";
+ case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV";
+ case SUBLANG_SPANISH_HONDURAS: return "es_HN";
+ case SUBLANG_SPANISH_NICARAGUA: return "es_NI";
+ case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR";
+ case SUBLANG_SPANISH_US: return "es_US";
+ }
+ return "es";
+ case LANG_SUTU:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */
+ }
+ return "bnt";
+ case LANG_SWAHILI:
+ switch (sub)
+ {
+ case SUBLANG_SWAHILI_KENYA: return "sw_KE";
+ }
+ return "sw";
+ case LANG_SWEDISH:
+ switch (sub)
+ {
+ case SUBLANG_SWEDISH_SWEDEN: return "sv_SE";
+ case SUBLANG_SWEDISH_FINLAND: return "sv_FI";
+ }
+ return "sv";
+ case LANG_SYRIAC:
+ switch (sub)
+ {
+ case SUBLANG_SYRIAC_SYRIA: return "syr_SY"; /* An extinct language. */
+ }
+ return "syr";
+ case LANG_TAGALOG:
+ switch (sub)
+ {
+ case SUBLANG_TAGALOG_PHILIPPINES: return "tl_PH"; /* or "fil_PH"? */
+ }
+ return "tl"; /* or "fil"? */
+ case LANG_TAJIK:
+ switch (sub)
+ {
+ case 0x1f: return "tg";
+ case SUBLANG_TAJIK_TAJIKISTAN: return "tg_TJ";
+ }
+ return "tg";
+ case LANG_TAMAZIGHT:
+ /* Note: Microsoft uses the non-ISO language code "tmz". */
+ switch (sub)
+ {
+ /* FIXME: Adjust this when Tamazight locales appear on Unix. */
+ case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic";
+ case 0x1f: return "ber@latin";
+ case SUBLANG_TAMAZIGHT_ALGERIA_LATIN: return "ber_DZ@latin";
+ }
+ return "ber";
+ case LANG_TAMIL:
+ switch (sub)
+ {
+ case SUBLANG_TAMIL_INDIA: return "ta_IN";
+ }
+ return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */
+ case LANG_TATAR:
+ switch (sub)
+ {
+ case SUBLANG_TATAR_RUSSIA: return "tt_RU";
+ }
+ return "tt";
+ case LANG_TELUGU:
+ switch (sub)
+ {
+ case SUBLANG_TELUGU_INDIA: return "te_IN";
+ }
+ return "te";
+ case LANG_THAI:
+ switch (sub)
+ {
+ case SUBLANG_THAI_THAILAND: return "th_TH";
+ }
+ return "th";
+ case LANG_TIBETAN:
+ switch (sub)
+ {
+ case SUBLANG_TIBETAN_PRC:
+ /* Most Tibetans would not like "bo_CN". But Tibet does not yet
+ have a country code of its own. */
+ return "bo";
+ case SUBLANG_TIBETAN_BHUTAN: return "bo_BT";
+ }
+ return "bo";
+ case LANG_TIGRINYA:
+ switch (sub)
+ {
+ case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET";
+ case SUBLANG_TIGRINYA_ERITREA: return "ti_ER";
+ }
+ return "ti";
+ case LANG_TSONGA:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "ts_ZA";
+ }
+ return "ts";
+ case LANG_TSWANA:
+ /* Spoken in South Africa, Botswana. */
+ switch (sub)
+ {
+ case SUBLANG_TSWANA_SOUTH_AFRICA: return "tn_ZA";
+ }
+ return "tn";
+ case LANG_TURKISH:
+ switch (sub)
+ {
+ case SUBLANG_TURKISH_TURKEY: return "tr_TR";
+ }
+ return "tr";
+ case LANG_TURKMEN:
+ switch (sub)
+ {
+ case SUBLANG_TURKMEN_TURKMENISTAN: return "tk_TM";
+ }
+ return "tk";
+ case LANG_UIGHUR:
+ switch (sub)
+ {
+ case SUBLANG_UIGHUR_PRC: return "ug_CN";
+ }
+ return "ug";
+ case LANG_UKRAINIAN:
+ switch (sub)
+ {
+ case SUBLANG_UKRAINIAN_UKRAINE: return "uk_UA";
+ }
+ return "uk";
+ case LANG_URDU:
+ switch (sub)
+ {
+ case SUBLANG_URDU_PAKISTAN: return "ur_PK";
+ case SUBLANG_URDU_INDIA: return "ur_IN";
+ }
+ return "ur";
+ case LANG_UZBEK:
+ switch (sub)
+ {
+ case 0x1f: return "uz";
+ case SUBLANG_UZBEK_LATIN: return "uz_UZ";
+ case 0x1e: return "uz@cyrillic";
+ case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic";
+ }
+ return "uz";
+ case LANG_VENDA:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "ve_ZA";
+ }
+ return "ve";
+ case LANG_VIETNAMESE:
+ switch (sub)
+ {
+ case SUBLANG_VIETNAMESE_VIETNAM: return "vi_VN";
+ }
+ return "vi";
+ case LANG_WELSH:
+ switch (sub)
+ {
+ case SUBLANG_WELSH_UNITED_KINGDOM: return "cy_GB";
+ }
+ return "cy";
+ case LANG_WOLOF:
+ switch (sub)
+ {
+ case SUBLANG_WOLOF_SENEGAL: return "wo_SN";
+ }
+ return "wo";
+ case LANG_XHOSA:
+ switch (sub)
+ {
+ case SUBLANG_XHOSA_SOUTH_AFRICA: return "xh_ZA";
+ }
+ return "xh";
+ case LANG_YAKUT:
+ switch (sub)
+ {
+ case SUBLANG_YAKUT_RUSSIA: return "sah_RU";
+ }
+ return "sah";
+ case LANG_YI:
+ switch (sub)
+ {
+ case SUBLANG_YI_PRC: return "ii_CN";
+ }
+ return "ii";
+ case LANG_YIDDISH:
+ switch (sub)
+ {
+ case SUBLANG_DEFAULT: return "yi_IL";
+ }
+ return "yi";
+ case LANG_YORUBA:
+ switch (sub)
+ {
+ case SUBLANG_YORUBA_NIGERIA: return "yo_NG";
+ }
+ return "yo";
+ case LANG_ZULU:
+ switch (sub)
+ {
+ case SUBLANG_ZULU_SOUTH_AFRICA: return "zu_ZA";
+ }
+ return "zu";
+ default: return "C";
+ }
+ }
+}
+
+# if !defined IN_LIBINTL
+static
+# endif
+const char *
+gl_locale_name_from_win32_LCID (LCID lcid)
+{
+ LANGID langid;
+
+ /* Strip off the sorting rules, keep only the language part. */
+ langid = LANGIDFROMLCID (lcid);
+
+ return gl_locale_name_from_win32_LANGID (langid);
+}
+
+#endif
+
+
+#if HAVE_USELOCALE /* glibc or MacOS X */
+
+/* Simple hash set of strings. We don't want to drag in lots of hash table
+ code here. */
+
+# define SIZE_BITS (sizeof (size_t) * CHAR_BIT)
+
+/* A hash function for NUL-terminated char* strings using
+ the method described by Bruno Haible.
+ See http://www.haible.de/bruno/hashfunc.html. */
+static size_t
+string_hash (const void *x)
+{
+ const char *s = (const char *) x;
+ size_t h = 0;
+
+ for (; *s; s++)
+ h = *s + ((h << 9) | (h >> (SIZE_BITS - 9)));
+
+ return h;
+}
+
+/* A hash table of fixed size. Multiple threads can access it read-only
+ simultaneously, but only one thread can insert into it at the same time. */
+
+/* A node in a hash bucket collision list. */
+struct hash_node
+ {
+ struct hash_node * volatile next;
+ char contents[100]; /* has variable size */
+ };
+
+# define HASH_TABLE_SIZE 257
+static struct hash_node * volatile struniq_hash_table[HASH_TABLE_SIZE]
+ /* = { NULL, ..., NULL } */;
+
+/* This lock protects the struniq_hash_table against multiple simultaneous
+ insertions. */
+gl_lock_define_initialized(static, struniq_lock)
+
+/* Store a copy of the given string in a string pool with indefinite extent.
+ Return a pointer to this copy. */
+static const char *
+struniq (const char *string)
+{
+ size_t hashcode = string_hash (string);
+ size_t slot = hashcode % HASH_TABLE_SIZE;
+ size_t size;
+ struct hash_node *new_node;
+ struct hash_node *p;
+ for (p = struniq_hash_table[slot]; p != NULL; p = p->next)
+ if (strcmp (p->contents, string) == 0)
+ return p->contents;
+ size = strlen (string) + 1;
+ new_node =
+ (struct hash_node *)
+ malloc (offsetof (struct hash_node, contents[0]) + size);
+ if (new_node == NULL)
+ /* Out of memory. Return a statically allocated string. */
+ return "C";
+ memcpy (new_node->contents, string, size);
+ /* Lock while inserting new_node. */
+ gl_lock_lock (struniq_lock);
+ /* Check whether another thread already added the string while we were
+ waiting on the lock. */
+ for (p = struniq_hash_table[slot]; p != NULL; p = p->next)
+ if (strcmp (p->contents, string) == 0)
+ {
+ free (new_node);
+ new_node = p;
+ goto done;
+ }
+ /* Really insert new_node into the hash table. Fill new_node entirely first,
+ because other threads may be iterating over the linked list. */
+ new_node->next = struniq_hash_table[slot];
+ struniq_hash_table[slot] = new_node;
+ done:
+ /* Unlock after new_node is inserted. */
+ gl_lock_unlock (struniq_lock);
+ return new_node->contents;
+}
+
+#endif
+
+
+#if defined IN_LIBINTL || HAVE_USELOCALE
+
+/* Like gl_locale_name_thread, except that the result is not in storage of
+ indefinite extent. */
+# if !defined IN_LIBINTL
+static
+# endif
+const char *
+gl_locale_name_thread_unsafe (int category, const char *categoryname)
+{
+# if HAVE_USELOCALE
+ {
+ locale_t thread_locale = uselocale (NULL);
+ if (thread_locale != LC_GLOBAL_LOCALE)
+ {
+# if __GLIBC__ >= 2 && !defined __UCLIBC__
+ /* Work around an incorrect definition of the _NL_LOCALE_NAME macro in
+ glibc < 2.12.
+ See <http://sourceware.org/bugzilla/show_bug.cgi?id=10968>. */
+ const char *name =
+ nl_langinfo (_NL_ITEM ((category), _NL_ITEM_INDEX (-1)));
+ if (name[0] == '\0')
+ /* Fallback code for glibc < 2.4, which did not implement
+ nl_langinfo (_NL_LOCALE_NAME (category)). */
+ name = thread_locale->__names[category];
+ return name;
+# endif
+# if defined __APPLE__ && defined __MACH__ /* MacOS X */
+ /* The locale name is found deep in an undocumented data structure.
+ Since it's stored in a buffer of size 32 and newlocale() rejects
+ locale names of length > 31, we can assume that it is NUL terminated
+ in this buffer. But we need to make a copy of the locale name, of
+ indefinite extent. */
+ struct _xlocale_part1_v0 /* used in MacOS X 10.5 */
+ {
+ int32_t __refcount;
+ void (*__free_extra)(void *);
+ __darwin_mbstate_t __mbs[10];
+ int64_t __magic;
+ };
+ struct _xlocale_part1_v1 /* used in MacOS X >= 10.6.0 */
+ {
+ int32_t __refcount;
+ void (*__free_extra)(void *);
+ __darwin_mbstate_t __mbs[10];
+ /*pthread_lock_t*/ int __lock;
+ int64_t __magic;
+ };
+ struct _xlocale_part2
+ {
+ int64_t __magic;
+ unsigned char __collate_load_error;
+ unsigned char __collate_substitute_nontrivial;
+ unsigned char _messages_using_locale;
+ unsigned char _monetary_using_locale;
+ unsigned char _numeric_using_locale;
+ unsigned char _time_using_locale;
+ unsigned char __mlocale_changed;
+ unsigned char __nlocale_changed;
+ unsigned char __numeric_fp_cvt;
+ struct __xlocale_st_collate *__lc_collate;
+ struct __xlocale_st_runelocale *__lc_ctype;
+ struct __xlocale_st_messages *__lc_messages;
+ struct __xlocale_st_monetary *__lc_monetary;
+ struct __xlocale_st_numeric *__lc_numeric;
+ struct _xlocale *__lc_numeric_loc;
+ struct __xlocale_st_time *__lc_time;
+ /* more */
+ };
+ struct __xlocale_st_collate
+ {
+ int32_t __refcount;
+ void (*__free_extra)(void *);
+ char __encoding[32];
+ /* more */
+ };
+ struct __xlocale_st_runelocale
+ {
+ int32_t __refcount;
+ void (*__free_extra)(void *);
+ char __ctype_encoding[32];
+ /* more */
+ };
+ struct __xlocale_st_messages
+ {
+ int32_t __refcount;
+ void (*__free_extra)(void *);
+ char *_messages_locale_buf;
+ /* more */
+ };
+ struct __xlocale_st_monetary
+ {
+ int32_t __refcount;
+ void (*__free_extra)(void *);
+ char *_monetary_locale_buf;
+ /* more */
+ };
+ struct __xlocale_st_numeric {
+ int32_t __refcount;
+ void (*__free_extra)(void *);
+ char *_numeric_locale_buf;
+ /* more */
+ };
+ struct __xlocale_st_time {
+ int32_t __refcount;
+ void (*__free_extra)(void *);
+ char *_time_locale_buf;
+ /* more */
+ };
+ struct _xlocale_part2 *tlp;
+ if (((struct _xlocale_part1_v0 *) thread_locale)->__magic
+ == 0x786C6F63616C6530LL)
+ /* MacOS X 10.5 */
+ tlp =
+ (struct _xlocale_part2 *)
+ &((struct _xlocale_part1_v0 *) thread_locale)->__magic;
+ else if (((struct _xlocale_part1_v1 *) thread_locale)->__magic
+ == 0x786C6F63616C6530LL)
+ /* MacOS X >= 10.6.0 */
+ tlp =
+ (struct _xlocale_part2 *)
+ &((struct _xlocale_part1_v1 *) thread_locale)->__magic;
+ else
+ /* Unsupported version of MacOS X: The internals of 'struct _xlocale'
+ have changed again. */
+ return "";
+ switch (category)
+ {
+ case LC_CTYPE:
+ return tlp->__lc_ctype->__ctype_encoding;
+ case LC_NUMERIC:
+ return tlp->_numeric_using_locale
+ ? tlp->__lc_numeric->_numeric_locale_buf
+ : "C";
+ case LC_TIME:
+ return tlp->_time_using_locale
+ ? tlp->__lc_time->_time_locale_buf
+ : "C";
+ case LC_COLLATE:
+ return !tlp->__collate_load_error
+ ? tlp->__lc_collate->__encoding
+ : "C";
+ case LC_MONETARY:
+ return tlp->_monetary_using_locale
+ ? tlp->__lc_monetary->_monetary_locale_buf
+ : "C";
+ case LC_MESSAGES:
+ return tlp->_messages_using_locale
+ ? tlp->__lc_messages->_messages_locale_buf
+ : "C";
+ default: /* We shouldn't get here. */
+ return "";
+ }
+# endif
+ }
+ }
+# endif
+ return NULL;
+}
+
+#endif
+
+const char *
+gl_locale_name_thread (int category, const char *categoryname)
+{
+#if HAVE_USELOCALE
+ const char *name = gl_locale_name_thread_unsafe (category, categoryname);
+ if (name != NULL)
+ return struniq (name);
+#endif
+ return NULL;
+}
+
+/* XPG3 defines the result of 'setlocale (category, NULL)' as:
+ "Directs 'setlocale()' to query 'category' and return the current
+ setting of 'local'."
+ 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.
+ those using GNU C Library). */
+#if defined _LIBC || ((defined __GLIBC__ && __GLIBC__ >= 2) && !defined __UCLIBC__)
+# define HAVE_LOCALE_NULL
+#endif
+
+const char *
+gl_locale_name_posix (int category, const char *categoryname)
+{
+ /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'.
+ On some systems this can be done by the 'setlocale' function itself. */
+#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
+ return setlocale (category, NULL);
+#else
+ /* On other systems we ignore what setlocale reports and instead look at the
+ environment variables directly. This is necessary
+ 1. on systems which have a facility for customizing the default locale
+ (MacOS X, native Windows, Cygwin) and where the system's setlocale()
+ function ignores this default locale (MacOS X, Cygwin), in two cases:
+ a. when the user missed to use the setlocale() override from libintl
+ (for example by not including <libintl.h>),
+ b. when setlocale supports only the "C" locale, such as on Cygwin
+ 1.5.x. In this case even the override from libintl cannot help.
+ 2. on all systems where setlocale supports only the "C" locale. */
+ /* Strictly speaking, it is a POSIX violation to look at the environment
+ variables regardless whether setlocale has been called or not. POSIX
+ says:
+ "For C-language programs, the POSIX locale shall be the
+ default locale when the setlocale() function is not called."
+ But we assume that all programs that use internationalized APIs call
+ setlocale (LC_ALL, ""). */
+ return gl_locale_name_environ (category, categoryname);
+#endif
+}
+
+const char *
+gl_locale_name_environ (int category, const char *categoryname)
+{
+ const char *retval;
+
+ /* Setting of LC_ALL overrides all other. */
+ retval = getenv ("LC_ALL");
+ if (retval != NULL && retval[0] != '\0')
+ return retval;
+ /* Next comes the name of the desired category. */
+ retval = getenv (categoryname);
+ if (retval != NULL && retval[0] != '\0')
+ return retval;
+ /* Last possibility is the LANG environment variable. */
+ retval = getenv ("LANG");
+ if (retval != NULL && retval[0] != '\0')
+ {
+#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
+ /* MacOS X 10.2 or newer.
+ Ignore invalid LANG value set by the Terminal application. */
+ if (strcmp (retval, "UTF-8") != 0)
+#endif
+#if defined __CYGWIN__
+ /* Cygwin.
+ Ignore dummy LANG value set by ~/.profile. */
+ if (strcmp (retval, "C.UTF-8") != 0)
+#endif
+ return retval;
+ }
+
+ return NULL;
+}
+
+const char *
+gl_locale_name_default (void)
+{
+ /* POSIX:2001 says:
+ "All implementations shall define a locale as the default locale, to be
+ invoked when no environment variables are set, or set to the empty
+ string. This default locale can be the POSIX locale or any other
+ implementation-defined locale. Some implementations may provide
+ facilities for local installation administrators to set the default
+ locale, customizing it for each location. POSIX:2001 does not require
+ such a facility.
+
+ The systems with such a facility are MacOS X and Windows: They provide a
+ GUI that allows the user to choose a locale.
+ - On MacOS X, by default, none of LC_* or LANG are set. Starting with
+ MacOS X 10.4 or 10.5, LANG is set for processes launched by the
+ 'Terminal' application (but sometimes to an incorrect value "UTF-8").
+ When no environment variable is set, setlocale (LC_ALL, "") uses the
+ "C" locale.
+ - On native Windows, by default, none of LC_* or LANG are set.
+ When no environment variable is set, setlocale (LC_ALL, "") uses the
+ locale chosen by the user.
+ - On Cygwin 1.5.x, by default, none of LC_* or LANG are set.
+ When no environment variable is set, setlocale (LC_ALL, "") uses the
+ "C" locale.
+ - On Cygwin 1.7, by default, LANG is set to "C.UTF-8" when the default
+ ~/.profile is executed.
+ When no environment variable is set, setlocale (LC_ALL, "") uses the
+ "C.UTF-8" locale, which operates in the same way as the "C" locale.
+ */
+
+#if !(HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE || defined WIN32_NATIVE || defined __CYGWIN__)
+
+ /* The system does not have a way of setting the locale, other than the
+ POSIX specified environment variables. We use C as default locale. */
+ return "C";
+
+#else
+
+ /* Return an XPG style locale name language[_territory][@modifier].
+ Don't even bother determining the codeset; it's not useful in this
+ context, because message catalogs are not specific to a single
+ codeset. */
+
+# if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
+ /* MacOS X 10.2 or newer */
+ {
+ /* Cache the locale name, since CoreFoundation calls are expensive. */
+ static const char *cached_localename;
+
+ if (cached_localename == NULL)
+ {
+ char namebuf[256];
+# if HAVE_CFLOCALECOPYCURRENT /* MacOS X 10.3 or newer */
+ CFLocaleRef locale = CFLocaleCopyCurrent ();
+ CFStringRef name = CFLocaleGetIdentifier (locale);
+
+ if (CFStringGetCString (name, namebuf, sizeof (namebuf),
+ kCFStringEncodingASCII))
+ {
+ gl_locale_name_canonicalize (namebuf);
+ cached_localename = strdup (namebuf);
+ }
+ CFRelease (locale);
+# elif HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */
+ CFTypeRef value =
+ CFPreferencesCopyAppValue (CFSTR ("AppleLocale"),
+ kCFPreferencesCurrentApplication);
+ if (value != NULL
+ && CFGetTypeID (value) == CFStringGetTypeID ()
+ && CFStringGetCString ((CFStringRef)value,
+ namebuf, sizeof (namebuf),
+ kCFStringEncodingASCII))
+ {
+ gl_locale_name_canonicalize (namebuf);
+ cached_localename = strdup (namebuf);
+ }
+# endif
+ if (cached_localename == NULL)
+ cached_localename = "C";
+ }
+ return cached_localename;
+ }
+
+# endif
+
+# if defined WIN32_NATIVE || defined __CYGWIN__ /* WIN32 or Cygwin */
+ {
+ LCID lcid;
+
+ /* Use native Win32 API locale ID. */
+ lcid = GetThreadLocale ();
+
+ return gl_locale_name_from_win32_LCID (lcid);
+ }
+# endif
+#endif
+}
+
+/* Determine the current locale's name, and canonicalize it into XPG syntax
+ language[_territory][.codeset][@modifier]
+ The codeset part in the result is not reliable; the locale_charset()
+ should be used for codeset information instead.
+ The result must not be freed; it is statically allocated. */
+
+const char *
+gl_locale_name (int category, const char *categoryname)
+{
+ const char *retval;
+
+ retval = gl_locale_name_thread (category, categoryname);
+ if (retval != NULL)
+ return retval;
+
+ retval = gl_locale_name_posix (category, categoryname);
+ if (retval != NULL)
+ return retval;
+
+ return gl_locale_name_default ();
+}
--- /dev/null
+/* Determine name of the currently selected locale.
+ Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _GL_LOCALENAME_H
+#define _GL_LOCALENAME_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Determine the current locale's name.
+ It considers both the POSIX notion of locale name (see functions
+ gl_locale_name_thread and gl_locale_name_posix) and the system notion
+ of locale name (see function gl_locale_name_default).
+ CATEGORY is a locale category abbreviation, as defined in <locale.h>,
+ but not LC_ALL. E.g. LC_MESSAGES.
+ CATEGORYNAME is the name of CATEGORY as a string, e.g. "LC_MESSAGES".
+ Return the locale category's name, canonicalized into XPG syntax
+ language[_territory][.codeset][@modifier]
+ The codeset part in the result is not reliable; the locale_charset()
+ should be used for codeset information instead.
+ The result must not be freed; it is statically allocated. */
+extern const char * gl_locale_name (int category, const char *categoryname);
+
+/* Determine the current per-thread locale's name, as specified by uselocale()
+ calls.
+ CATEGORY is a locale category abbreviation, as defined in <locale.h>,
+ but not LC_ALL. E.g. LC_MESSAGES.
+ CATEGORYNAME is the name of CATEGORY as a string, e.g. "LC_MESSAGES".
+ Return the locale category's name, canonicalized into XPG syntax
+ language[_territory][.codeset][@modifier]
+ or NULL if no locale has been specified for the current thread.
+ The codeset part in the result is not reliable; the locale_charset()
+ should be used for codeset information instead.
+ The result must not be freed; it is statically allocated. */
+extern const char * gl_locale_name_thread (int category, const char *categoryname);
+
+/* Determine the thread-independent current locale's name, as specified by
+ setlocale() calls or by environment variables.
+ CATEGORY is a locale category abbreviation, as defined in <locale.h>,
+ but not LC_ALL. E.g. LC_MESSAGES.
+ CATEGORYNAME is the name of CATEGORY as a string, e.g. "LC_MESSAGES".
+ Return the locale category's name, canonicalized into XPG syntax
+ language[_territory][.codeset][@modifier]
+ or NULL if no locale has been specified to setlocale() or by environment
+ variables.
+ The codeset part in the result is not reliable; the locale_charset()
+ should be used for codeset information instead.
+ The result must not be freed; it is statically allocated. */
+extern const char * gl_locale_name_posix (int category, const char *categoryname);
+
+/* Determine the default locale's name, as specified by environment
+ variables.
+ Return the locale category's name, or NULL if no locale has been specified
+ by environment variables.
+ The result must not be freed; it is statically allocated. */
+extern const char * gl_locale_name_environ (int category, const char *categoryname);
+
+/* Determine the default locale's name. This is the current locale's name,
+ if not specified by uselocale() calls, by setlocale() calls, or by
+ environment variables. This locale name is usually determined by systems
+ settings that the user can manipulate through a GUI.
+
+ Quoting POSIX:2001:
+ "All implementations shall define a locale as the default locale,
+ to be invoked when no environment variables are set, or set to the
+ empty string. This default locale can be the C locale or any other
+ implementation-defined locale. Some implementations may provide
+ facilities for local installation administrators to set the default
+ locale, customizing it for each location. IEEE Std 1003.1-2001 does
+ not require such a facility."
+
+ The result must not be freed; it is statically allocated. */
+extern const char * gl_locale_name_default (void);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GL_LOCALENAME_H */
--- /dev/null
+/* Common macros used by gnulib tests.
+ Copyright (C) 2006-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+
+/* This file contains macros that are used by many gnulib tests.
+ Put here only frequently used macros, say, used by 10 tests or more. */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+/* Define ASSERT_STREAM before including this file if ASSERT must
+ target a stream other than stderr. */
+#ifndef ASSERT_STREAM
+# define ASSERT_STREAM stderr
+#endif
+
+/* ASSERT (condition);
+ verifies that the specified condition is fulfilled. If not, a message
+ is printed to ASSERT_STREAM if defined (defaulting to stderr if
+ undefined) and the program is terminated with an error code.
+
+ This macro has the following properties:
+ - The programmer specifies the expected condition, not the failure
+ condition. This simplifies thinking.
+ - The condition is tested always, regardless of compilation flags.
+ (Unlike the macro from <assert.h>.)
+ - On Unix platforms, the tester can debug the test program with a
+ debugger (provided core dumps are enabled: "ulimit -c unlimited").
+ - For the sake of platforms where no debugger is available (such as
+ some mingw systems), an error message is printed on the error
+ stream that includes the source location of the ASSERT invocation.
+ */
+#define ASSERT(expr) \
+ do \
+ { \
+ if (!(expr)) \
+ { \
+ fprintf (ASSERT_STREAM, "%s:%d: assertion failed\n", \
+ __FILE__, __LINE__); \
+ fflush (ASSERT_STREAM); \
+ abort (); \
+ } \
+ } \
+ while (0)
+
+/* SIZEOF (array)
+ returns the number of elements of an array. It works for arrays that are
+ declared outside functions and for local variables of array type. It does
+ *not* work for function parameters of array type, because they are actually
+ parameters of pointer type. */
+#define SIZEOF(array) (sizeof (array) / sizeof (array[0]))
+
+/* STREQ (str1, str2)
+ Return true if two strings compare equal. */
+#define STREQ(a, b) (strcmp (a, b) == 0)
--- /dev/null
+/* malloc() function that is glibc compatible.
+
+ Copyright (C) 1997-1998, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* written by Jim Meyering and Bruno Haible */
+
+#define _GL_USE_STDLIB_ALLOC 1
+#include <config.h>
+/* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */
+#ifdef malloc
+# define NEED_MALLOC_GNU 1
+# undef malloc
+/* Whereas the gnulib module 'malloc-gnu' defines HAVE_MALLOC_GNU. */
+#elif GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU
+# define NEED_MALLOC_GNU 1
+#endif
+
+#include <stdlib.h>
+
+#include <errno.h>
+
+/* Allocate an N-byte block of memory from the heap.
+ If N is zero, allocate a 1-byte block. */
+
+void *
+rpl_malloc (size_t n)
+{
+ void *result;
+
+#if NEED_MALLOC_GNU
+ if (n == 0)
+ n = 1;
+#endif
+
+ result = malloc (n);
+
+#if !HAVE_MALLOC_POSIX
+ if (result == NULL)
+ errno = ENOMEM;
+#endif
+
+ return result;
+}
--- /dev/null
+/* Safe automatic memory allocation.
+ Copyright (C) 2003, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2003.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#define _GL_USE_STDLIB_ALLOC 1
+#include <config.h>
+
+/* Specification. */
+#include "malloca.h"
+
+#include "verify.h"
+
+/* The speed critical point in this file is freea() applied to an alloca()
+ result: it must be fast, to match the speed of alloca(). The speed of
+ mmalloca() and freea() in the other case are not critical, because they
+ are only invoked for big memory sizes. */
+
+#if HAVE_ALLOCA
+
+/* Store the mmalloca() results in a hash table. This is needed to reliably
+ distinguish a mmalloca() result and an alloca() result.
+
+ Although it is possible that the same pointer is returned by alloca() and
+ by mmalloca() at different times in the same application, it does not lead
+ to a bug in freea(), because:
+ - Before a pointer returned by alloca() can point into malloc()ed memory,
+ the function must return, and once this has happened the programmer must
+ not call freea() on it anyway.
+ - Before a pointer returned by mmalloca() can point into the stack, it
+ must be freed. The only function that can free it is freea(), and
+ when freea() frees it, it also removes it from the hash table. */
+
+#define MAGIC_NUMBER 0x1415fb4a
+#define MAGIC_SIZE sizeof (int)
+/* This is how the header info would look like without any alignment
+ considerations. */
+struct preliminary_header { void *next; char room[MAGIC_SIZE]; };
+/* But the header's size must be a multiple of sa_alignment_max. */
+#define HEADER_SIZE \
+ (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max)
+struct header { void *next; char room[HEADER_SIZE - sizeof (struct preliminary_header) + MAGIC_SIZE]; };
+verify (HEADER_SIZE == sizeof (struct header));
+/* We make the hash table quite big, so that during lookups the probability
+ of empty hash buckets is quite high. There is no need to make the hash
+ table resizable, because when the hash table gets filled so much that the
+ lookup becomes slow, it means that the application has memory leaks. */
+#define HASH_TABLE_SIZE 257
+static void * mmalloca_results[HASH_TABLE_SIZE];
+
+#endif
+
+void *
+mmalloca (size_t n)
+{
+#if HAVE_ALLOCA
+ /* Allocate one more word, that serves as an indicator for malloc()ed
+ memory, so that freea() of an alloca() result is fast. */
+ size_t nplus = n + HEADER_SIZE;
+
+ if (nplus >= n)
+ {
+ char *p = (char *) malloc (nplus);
+
+ if (p != NULL)
+ {
+ size_t slot;
+
+ p += HEADER_SIZE;
+
+ /* Put a magic number into the indicator word. */
+ ((int *) p)[-1] = MAGIC_NUMBER;
+
+ /* Enter p into the hash table. */
+ slot = (unsigned long) p % HASH_TABLE_SIZE;
+ ((struct header *) (p - HEADER_SIZE))->next = mmalloca_results[slot];
+ mmalloca_results[slot] = p;
+
+ return p;
+ }
+ }
+ /* Out of memory. */
+ return NULL;
+#else
+# if !MALLOC_0_IS_NONNULL
+ if (n == 0)
+ n = 1;
+# endif
+ return malloc (n);
+#endif
+}
+
+#if HAVE_ALLOCA
+void
+freea (void *p)
+{
+ /* mmalloca() may have returned NULL. */
+ if (p != NULL)
+ {
+ /* Attempt to quickly distinguish the mmalloca() result - which has
+ a magic indicator word - and the alloca() result - which has an
+ uninitialized indicator word. It is for this test that sa_increment
+ additional bytes are allocated in the alloca() case. */
+ if (((int *) p)[-1] == MAGIC_NUMBER)
+ {
+ /* Looks like a mmalloca() result. To see whether it really is one,
+ perform a lookup in the hash table. */
+ size_t slot = (unsigned long) p % HASH_TABLE_SIZE;
+ void **chain = &mmalloca_results[slot];
+ for (; *chain != NULL;)
+ {
+ if (*chain == p)
+ {
+ /* Found it. Remove it from the hash table and free it. */
+ char *p_begin = (char *) p - HEADER_SIZE;
+ *chain = ((struct header *) p_begin)->next;
+ free (p_begin);
+ return;
+ }
+ chain = &((struct header *) ((char *) *chain - HEADER_SIZE))->next;
+ }
+ }
+ /* At this point, we know it was not a mmalloca() result. */
+ }
+}
+#endif
--- /dev/null
+/* Safe automatic memory allocation.
+ Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2003.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#ifndef _MALLOCA_H
+#define _MALLOCA_H
+
+#include <alloca.h>
+#include <stddef.h>
+#include <stdlib.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* safe_alloca(N) is equivalent to alloca(N) when it is safe to call
+ alloca(N); otherwise it returns NULL. It either returns N bytes of
+ memory allocated on the stack, that lasts until the function returns,
+ or NULL.
+ Use of safe_alloca should be avoided:
+ - inside arguments of function calls - undefined behaviour,
+ - in inline functions - the allocation may actually last until the
+ calling function returns.
+*/
+#if HAVE_ALLOCA
+/* The OS usually guarantees only one guard page at the bottom of the stack,
+ and a page size can be as small as 4096 bytes. So we cannot safely
+ allocate anything larger than 4096 bytes. Also care for the possibility
+ of a few compiler-allocated temporary stack slots.
+ This must be a macro, not an inline function. */
+# define safe_alloca(N) ((N) < 4032 ? alloca (N) : NULL)
+#else
+# define safe_alloca(N) ((void) (N), NULL)
+#endif
+
+/* malloca(N) is a safe variant of alloca(N). It allocates N bytes of
+ memory allocated on the stack, that must be freed using freea() before
+ the function returns. Upon failure, it returns NULL. */
+#if HAVE_ALLOCA
+# define malloca(N) \
+ ((N) < 4032 - sa_increment \
+ ? (void *) ((char *) alloca ((N) + sa_increment) + sa_increment) \
+ : mmalloca (N))
+#else
+# define malloca(N) \
+ mmalloca (N)
+#endif
+extern void * mmalloca (size_t n);
+
+/* Free a block of memory allocated through malloca(). */
+#if HAVE_ALLOCA
+extern void freea (void *p);
+#else
+# define freea free
+#endif
+
+/* nmalloca(N,S) is an overflow-safe variant of malloca (N * S).
+ It allocates an array of N objects, each with S bytes of memory,
+ on the stack. S must be positive and N must be nonnegative.
+ The array must be freed using freea() before the function returns. */
+#if 1
+/* Cf. the definition of xalloc_oversized. */
+# define nmalloca(n, s) \
+ ((n) > (size_t) (sizeof (ptrdiff_t) <= sizeof (size_t) ? -1 : -2) / (s) \
+ ? NULL \
+ : malloca ((n) * (s)))
+#else
+extern void * nmalloca (size_t n, size_t s);
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+/* ------------------- Auxiliary, non-public definitions ------------------- */
+
+/* Determine the alignment of a type at compile time. */
+#if defined __GNUC__
+# define sa_alignof __alignof__
+#elif defined __cplusplus
+ template <class type> struct sa_alignof_helper { char __slot1; type __slot2; };
+# define sa_alignof(type) offsetof (sa_alignof_helper<type>, __slot2)
+#elif defined __hpux
+ /* Work around a HP-UX 10.20 cc bug with enums constants defined as offsetof
+ values. */
+# define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8)
+#elif defined _AIX
+ /* Work around an AIX 3.2.5 xlc bug with enums constants defined as offsetof
+ values. */
+# define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8)
+#else
+# define sa_alignof(type) offsetof (struct { char __slot1; type __slot2; }, __slot2)
+#endif
+
+enum
+{
+/* The desired alignment of memory allocations is the maximum alignment
+ among all elementary types. */
+ sa_alignment_long = sa_alignof (long),
+ sa_alignment_double = sa_alignof (double),
+#if HAVE_LONG_LONG_INT
+ sa_alignment_longlong = sa_alignof (long long),
+#endif
+ sa_alignment_longdouble = sa_alignof (long double),
+ sa_alignment_max = ((sa_alignment_long - 1) | (sa_alignment_double - 1)
+#if HAVE_LONG_LONG_INT
+ | (sa_alignment_longlong - 1)
+#endif
+ | (sa_alignment_longdouble - 1)
+ ) + 1,
+/* The increment that guarantees room for a magic word must be >= sizeof (int)
+ and a multiple of sa_alignment_max. */
+ sa_increment = ((sizeof (int) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max
+};
+
+#endif /* _MALLOCA_H */
--- /dev/null
+# Suppress a valgrind message about use of uninitialized memory in freea().
+# This use is OK because it provides only a speedup.
+{
+ freea
+ Memcheck:Cond
+ fun:freea
+}
--- /dev/null
+/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2011 Free Software
+ Foundation, Inc.
+
+ NOTE: The canonical source of this file is maintained with the GNU C
+ Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 3 of the License, or any
+ later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <stdlib.h>
+
+#include <stddef.h>
+
+/* Include errno.h *after* sys/types.h to work around header problems
+ on AIX 3.2.5. */
+#include <errno.h>
+#ifndef __set_errno
+# define __set_errno(ev) ((errno) = (ev))
+#endif
+
+#include <string.h>
+#include <unistd.h>
+
+#if _LIBC
+# if HAVE_GNU_LD
+# define environ __environ
+# else
+extern char **environ;
+# endif
+#endif
+
+#if _LIBC
+/* This lock protects against simultaneous modifications of `environ'. */
+# include <bits/libc-lock.h>
+__libc_lock_define_initialized (static, envlock)
+# define LOCK __libc_lock_lock (envlock)
+# define UNLOCK __libc_lock_unlock (envlock)
+#else
+# define LOCK
+# define UNLOCK
+#endif
+
+static int
+_unsetenv (const char *name)
+{
+ size_t len;
+ char **ep;
+
+ if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
+ {
+ __set_errno (EINVAL);
+ return -1;
+ }
+
+ len = strlen (name);
+
+ LOCK;
+
+ ep = environ;
+ while (*ep != NULL)
+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
+ {
+ /* Found it. Remove this pointer by moving later ones back. */
+ char **dp = ep;
+
+ do
+ dp[0] = dp[1];
+ while (*dp++);
+ /* Continue the loop in case NAME appears again. */
+ }
+ else
+ ++ep;
+
+ UNLOCK;
+
+ return 0;
+}
+
+
+/* Put STRING, which is of the form "NAME=VALUE", in the environment.
+ If STRING contains no `=', then remove STRING from the environment. */
+int
+putenv (char *string)
+{
+ const char *const name_end = strchr (string, '=');
+ register size_t size;
+ register char **ep;
+
+ if (name_end == NULL)
+ {
+ /* Remove the variable from the environment. */
+ return _unsetenv (string);
+ }
+
+ size = 0;
+ for (ep = environ; *ep != NULL; ++ep)
+ if (!strncmp (*ep, string, name_end - string) &&
+ (*ep)[name_end - string] == '=')
+ break;
+ else
+ ++size;
+
+ if (*ep == NULL)
+ {
+ static char **last_environ = NULL;
+ char **new_environ = (char **) malloc ((size + 2) * sizeof (char *));
+ if (new_environ == NULL)
+ return -1;
+ (void) memcpy ((void *) new_environ, (void *) environ,
+ size * sizeof (char *));
+ new_environ[size] = (char *) string;
+ new_environ[size + 1] = NULL;
+ free (last_environ);
+ last_environ = new_environ;
+ environ = new_environ;
+ }
+ else
+ *ep = string;
+
+ return 0;
+}
--- /dev/null
+/* Copyright (C) 1992, 1995-2003, 2005-2011 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#if !_LIBC
+# define _GL_USE_STDLIB_ALLOC 1
+# include <config.h>
+#endif
+
+/* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc
+ optimizes away the name == NULL test below. */
+#define _GL_ARG_NONNULL(params)
+
+#include <alloca.h>
+
+/* Specification. */
+#include <stdlib.h>
+
+#include <errno.h>
+#ifndef __set_errno
+# define __set_errno(ev) ((errno) = (ev))
+#endif
+
+#include <string.h>
+#if _LIBC || HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#if !_LIBC
+# include "malloca.h"
+#endif
+
+#if _LIBC || !HAVE_SETENV
+
+#if !_LIBC
+# define __environ environ
+#endif
+
+#if _LIBC
+/* This lock protects against simultaneous modifications of `environ'. */
+# include <bits/libc-lock.h>
+__libc_lock_define_initialized (static, envlock)
+# define LOCK __libc_lock_lock (envlock)
+# define UNLOCK __libc_lock_unlock (envlock)
+#else
+# define LOCK
+# define UNLOCK
+#endif
+
+/* In the GNU C library we must keep the namespace clean. */
+#ifdef _LIBC
+# define setenv __setenv
+# define clearenv __clearenv
+# define tfind __tfind
+# define tsearch __tsearch
+#endif
+
+/* In the GNU C library implementation we try to be more clever and
+ allow arbitrarily many changes of the environment given that the used
+ values are from a small set. Outside glibc this will eat up all
+ memory after a while. */
+#if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH \
+ && defined __GNUC__)
+# define USE_TSEARCH 1
+# include <search.h>
+typedef int (*compar_fn_t) (const void *, const void *);
+
+/* This is a pointer to the root of the search tree with the known
+ values. */
+static void *known_values;
+
+# define KNOWN_VALUE(Str) \
+ ({ \
+ void *value = tfind (Str, &known_values, (compar_fn_t) strcmp); \
+ value != NULL ? *(char **) value : NULL; \
+ })
+# define STORE_VALUE(Str) \
+ tsearch (Str, &known_values, (compar_fn_t) strcmp)
+
+#else
+# undef USE_TSEARCH
+
+# define KNOWN_VALUE(Str) NULL
+# define STORE_VALUE(Str) do { } while (0)
+
+#endif
+
+
+/* If this variable is not a null pointer we allocated the current
+ environment. */
+static char **last_environ;
+
+
+/* This function is used by `setenv' and `putenv'. The difference between
+ the two functions is that for the former must create a new string which
+ is then placed in the environment, while the argument of `putenv'
+ must be used directly. This is all complicated by the fact that we try
+ to reuse values once generated for a `setenv' call since we can never
+ free the strings. */
+int
+__add_to_environ (const char *name, const char *value, const char *combined,
+ int replace)
+{
+ char **ep;
+ size_t size;
+ const size_t namelen = strlen (name);
+ const size_t vallen = value != NULL ? strlen (value) + 1 : 0;
+
+ LOCK;
+
+ /* We have to get the pointer now that we have the lock and not earlier
+ since another thread might have created a new environment. */
+ ep = __environ;
+
+ size = 0;
+ if (ep != NULL)
+ {
+ for (; *ep != NULL; ++ep)
+ if (!strncmp (*ep, name, namelen) && (*ep)[namelen] == '=')
+ break;
+ else
+ ++size;
+ }
+
+ if (ep == NULL || *ep == NULL)
+ {
+ char **new_environ;
+#ifdef USE_TSEARCH
+ char *new_value;
+#endif
+
+ /* We allocated this space; we can extend it. */
+ new_environ =
+ (char **) (last_environ == NULL
+ ? malloc ((size + 2) * sizeof (char *))
+ : realloc (last_environ, (size + 2) * sizeof (char *)));
+ if (new_environ == NULL)
+ {
+ /* It's easier to set errno to ENOMEM than to rely on the
+ 'malloc-posix' and 'realloc-posix' gnulib modules. */
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+
+ /* If the whole entry is given add it. */
+ if (combined != NULL)
+ /* We must not add the string to the search tree since it belongs
+ to the user. */
+ new_environ[size] = (char *) combined;
+ else
+ {
+ /* See whether the value is already known. */
+#ifdef USE_TSEARCH
+# ifdef _LIBC
+ new_value = (char *) alloca (namelen + 1 + vallen);
+ __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
+ value, vallen);
+# else
+ new_value = (char *) malloca (namelen + 1 + vallen);
+ if (new_value == NULL)
+ {
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+ memcpy (new_value, name, namelen);
+ new_value[namelen] = '=';
+ memcpy (&new_value[namelen + 1], value, vallen);
+# endif
+
+ new_environ[size] = KNOWN_VALUE (new_value);
+ if (new_environ[size] == NULL)
+#endif
+ {
+ new_environ[size] = (char *) malloc (namelen + 1 + vallen);
+ if (new_environ[size] == NULL)
+ {
+#if defined USE_TSEARCH && !defined _LIBC
+ freea (new_value);
+#endif
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+
+#ifdef USE_TSEARCH
+ memcpy (new_environ[size], new_value, namelen + 1 + vallen);
+#else
+ memcpy (new_environ[size], name, namelen);
+ new_environ[size][namelen] = '=';
+ memcpy (&new_environ[size][namelen + 1], value, vallen);
+#endif
+ /* And save the value now. We cannot do this when we remove
+ the string since then we cannot decide whether it is a
+ user string or not. */
+ STORE_VALUE (new_environ[size]);
+ }
+#if defined USE_TSEARCH && !defined _LIBC
+ freea (new_value);
+#endif
+ }
+
+ if (__environ != last_environ)
+ memcpy ((char *) new_environ, (char *) __environ,
+ size * sizeof (char *));
+
+ new_environ[size + 1] = NULL;
+
+ last_environ = __environ = new_environ;
+ }
+ else if (replace)
+ {
+ char *np;
+
+ /* Use the user string if given. */
+ if (combined != NULL)
+ np = (char *) combined;
+ else
+ {
+#ifdef USE_TSEARCH
+ char *new_value;
+# ifdef _LIBC
+ new_value = alloca (namelen + 1 + vallen);
+ __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
+ value, vallen);
+# else
+ new_value = malloca (namelen + 1 + vallen);
+ if (new_value == NULL)
+ {
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+ memcpy (new_value, name, namelen);
+ new_value[namelen] = '=';
+ memcpy (&new_value[namelen + 1], value, vallen);
+# endif
+
+ np = KNOWN_VALUE (new_value);
+ if (np == NULL)
+#endif
+ {
+ np = (char *) malloc (namelen + 1 + vallen);
+ if (np == NULL)
+ {
+#if defined USE_TSEARCH && !defined _LIBC
+ freea (new_value);
+#endif
+ __set_errno (ENOMEM);
+ UNLOCK;
+ return -1;
+ }
+
+#ifdef USE_TSEARCH
+ memcpy (np, new_value, namelen + 1 + vallen);
+#else
+ memcpy (np, name, namelen);
+ np[namelen] = '=';
+ memcpy (&np[namelen + 1], value, vallen);
+#endif
+ /* And remember the value. */
+ STORE_VALUE (np);
+ }
+#if defined USE_TSEARCH && !defined _LIBC
+ freea (new_value);
+#endif
+ }
+
+ *ep = np;
+ }
+
+ UNLOCK;
+
+ return 0;
+}
+
+int
+setenv (const char *name, const char *value, int replace)
+{
+ if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
+ {
+ __set_errno (EINVAL);
+ return -1;
+ }
+
+ return __add_to_environ (name, value, NULL, replace);
+}
+
+/* The `clearenv' was planned to be added to POSIX.1 but probably
+ never made it. Nevertheless the POSIX.9 standard (POSIX bindings
+ for Fortran 77) requires this function. */
+int
+clearenv (void)
+{
+ LOCK;
+
+ if (__environ == last_environ && __environ != NULL)
+ {
+ /* We allocated this environment so we can free it. */
+ free (__environ);
+ last_environ = NULL;
+ }
+
+ /* Clear the environment pointer removes the whole environment. */
+ __environ = NULL;
+
+ UNLOCK;
+
+ return 0;
+}
+
+#ifdef _LIBC
+static void
+free_mem (void)
+{
+ /* Remove all traces. */
+ clearenv ();
+
+ /* Now remove the search tree. */
+ __tdestroy (known_values, free);
+ known_values = NULL;
+}
+text_set_element (__libc_subfreeres, free_mem);
+
+
+# undef setenv
+# undef clearenv
+weak_alias (__setenv, setenv)
+weak_alias (__clearenv, clearenv)
+#endif
+
+#endif /* _LIBC || !HAVE_SETENV */
+
+/* The rest of this file is called into use when replacing an existing
+ but buggy setenv. Known bugs include failure to diagnose invalid
+ name, and consuming a leading '=' from value. */
+#if HAVE_SETENV
+
+# undef setenv
+# if !HAVE_DECL_SETENV
+extern int setenv (const char *, const char *, int);
+# endif
+# define STREQ(a, b) (strcmp (a, b) == 0)
+
+int
+rpl_setenv (const char *name, const char *value, int replace)
+{
+ int result;
+ if (!name || !*name || strchr (name, '='))
+ {
+ errno = EINVAL;
+ return -1;
+ }
+ /* Call the real setenv even if replace is 0, in case implementation
+ has underlying data to update, such as when environ changes. */
+ result = setenv (name, value, replace);
+ if (result == 0 && replace && *value == '=')
+ {
+ char *tmp = getenv (name);
+ if (!STREQ (tmp, value))
+ {
+ int saved_errno;
+ size_t len = strlen (value);
+ tmp = malloca (len + 2);
+ /* Since leading '=' is eaten, double it up. */
+ *tmp = '=';
+ memcpy (tmp + 1, value, len + 1);
+ result = setenv (name, tmp, replace);
+ saved_errno = errno;
+ freea (tmp);
+ errno = saved_errno;
+ }
+ }
+ return result;
+}
+
+#endif /* HAVE_SETENV */
--- /dev/null
+/* Set the current locale.
+ Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2009. */
+
+#include <config.h>
+
+/* Override setlocale() so that when the default locale is requested
+ (locale = ""), the environment variables LC_ALL, LC_*, and LANG are
+ considered.
+ Also include all the functionality from libintl's setlocale() override. */
+
+/* Please keep this file in sync with
+ gettext/gettext-runtime/intl/setlocale.c ! */
+
+/* Specification. */
+#include <locale.h>
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "localename.h"
+
+#if 1
+
+# undef setlocale
+
+/* Return string representation of locale category CATEGORY. */
+static const char *
+category_to_name (int category)
+{
+ const char *retval;
+
+ switch (category)
+ {
+ case LC_COLLATE:
+ retval = "LC_COLLATE";
+ break;
+ case LC_CTYPE:
+ retval = "LC_CTYPE";
+ break;
+ case LC_MONETARY:
+ retval = "LC_MONETARY";
+ break;
+ case LC_NUMERIC:
+ retval = "LC_NUMERIC";
+ break;
+ case LC_TIME:
+ retval = "LC_TIME";
+ break;
+ case LC_MESSAGES:
+ retval = "LC_MESSAGES";
+ break;
+ default:
+ /* If you have a better idea for a default value let me know. */
+ retval = "LC_XXX";
+ }
+
+ return retval;
+}
+
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+/* The native Win32 setlocale() function expects locale names of the form
+ "German" or "German_Germany" or "DEU", but not "de" or "de_DE". We need
+ to convert the names from the form with ISO 639 language code and ISO 3166
+ country code to the form with English names or with three-letter identifier.
+ The three-letter identifiers known by a Windows XP SP2 or SP3 are:
+ AFK Afrikaans_South Africa.1252
+ ARA Arabic_Saudi Arabia.1256
+ ARB Arabic_Lebanon.1256
+ ARE Arabic_Egypt.1256
+ ARG Arabic_Algeria.1256
+ ARH Arabic_Bahrain.1256
+ ARI Arabic_Iraq.1256
+ ARJ Arabic_Jordan.1256
+ ARK Arabic_Kuwait.1256
+ ARL Arabic_Libya.1256
+ ARM Arabic_Morocco.1256
+ ARO Arabic_Oman.1256
+ ARQ Arabic_Qatar.1256
+ ARS Arabic_Syria.1256
+ ART Arabic_Tunisia.1256
+ ARU Arabic_U.A.E..1256
+ ARY Arabic_Yemen.1256
+ AZE Azeri (Latin)_Azerbaijan.1254
+ BEL Belarusian_Belarus.1251
+ BGR Bulgarian_Bulgaria.1251
+ BSB Bosnian_Bosnia and Herzegovina.1250
+ BSC Bosnian (Cyrillic)_Bosnia and Herzegovina.1250 (wrong encoding!)
+ CAT Catalan_Spain.1252
+ CHH Chinese_Hong Kong S.A.R..950
+ CHI Chinese_Singapore.936
+ CHS Chinese_People's Republic of China.936
+ CHT Chinese_Taiwan.950
+ CSY Czech_Czech Republic.1250
+ CYM Welsh_United Kingdom.1252
+ DAN Danish_Denmark.1252
+ DEA German_Austria.1252
+ DEC German_Liechtenstein.1252
+ DEL German_Luxembourg.1252
+ DES German_Switzerland.1252
+ DEU German_Germany.1252
+ ELL Greek_Greece.1253
+ ENA English_Australia.1252
+ ENB English_Caribbean.1252
+ ENC English_Canada.1252
+ ENG English_United Kingdom.1252
+ ENI English_Ireland.1252
+ ENJ English_Jamaica.1252
+ ENL English_Belize.1252
+ ENP English_Republic of the Philippines.1252
+ ENS English_South Africa.1252
+ ENT English_Trinidad and Tobago.1252
+ ENU English_United States.1252
+ ENW English_Zimbabwe.1252
+ ENZ English_New Zealand.1252
+ ESA Spanish_Panama.1252
+ ESB Spanish_Bolivia.1252
+ ESC Spanish_Costa Rica.1252
+ ESD Spanish_Dominican Republic.1252
+ ESE Spanish_El Salvador.1252
+ ESF Spanish_Ecuador.1252
+ ESG Spanish_Guatemala.1252
+ ESH Spanish_Honduras.1252
+ ESI Spanish_Nicaragua.1252
+ ESL Spanish_Chile.1252
+ ESM Spanish_Mexico.1252
+ ESN Spanish_Spain.1252
+ ESO Spanish_Colombia.1252
+ ESP Spanish_Spain.1252
+ ESR Spanish_Peru.1252
+ ESS Spanish_Argentina.1252
+ ESU Spanish_Puerto Rico.1252
+ ESV Spanish_Venezuela.1252
+ ESY Spanish_Uruguay.1252
+ ESZ Spanish_Paraguay.1252
+ ETI Estonian_Estonia.1257
+ EUQ Basque_Spain.1252
+ FAR Farsi_Iran.1256
+ FIN Finnish_Finland.1252
+ FOS Faroese_Faroe Islands.1252
+ FPO Filipino_Philippines.1252
+ FRA French_France.1252
+ FRB French_Belgium.1252
+ FRC French_Canada.1252
+ FRL French_Luxembourg.1252
+ FRM French_Principality of Monaco.1252
+ FRS French_Switzerland.1252
+ FYN Frisian_Netherlands.1252
+ GLC Galician_Spain.1252
+ HEB Hebrew_Israel.1255
+ HRB Croatian_Bosnia and Herzegovina.1250
+ HRV Croatian_Croatia.1250
+ HUN Hungarian_Hungary.1250
+ IND Indonesian_Indonesia.1252
+ IRE Irish_Ireland.1252
+ ISL Icelandic_Iceland.1252
+ ITA Italian_Italy.1252
+ ITS Italian_Switzerland.1252
+ IUK Inuktitut (Latin)_Canada.1252
+ JPN Japanese_Japan.932
+ KKZ Kazakh_Kazakhstan.1251
+ KOR Korean_Korea.949
+ KYR Kyrgyz_Kyrgyzstan.1251
+ LBX Luxembourgish_Luxembourg.1252
+ LTH Lithuanian_Lithuania.1257
+ LVI Latvian_Latvia.1257
+ MKI FYRO Macedonian_Former Yugoslav Republic of Macedonia.1251
+ MON Mongolian_Mongolia.1251
+ MPD Mapudungun_Chile.1252
+ MSB Malay_Brunei Darussalam.1252
+ MSL Malay_Malaysia.1252
+ MWK Mohawk_Canada.1252
+ NLB Dutch_Belgium.1252
+ NLD Dutch_Netherlands.1252
+ NON Norwegian-Nynorsk_Norway.1252
+ NOR Norwegian (Bokmål)_Norway.1252
+ NSO Northern Sotho_South Africa.1252
+ PLK Polish_Poland.1250
+ PTB Portuguese_Brazil.1252
+ PTG Portuguese_Portugal.1252
+ QUB Quechua_Bolivia.1252
+ QUE Quechua_Ecuador.1252
+ QUP Quechua_Peru.1252
+ RMC Romansh_Switzerland.1252
+ ROM Romanian_Romania.1250
+ RUS Russian_Russia.1251
+ SKY Slovak_Slovakia.1250
+ SLV Slovenian_Slovenia.1250
+ SMA Sami (Southern)_Norway.1252
+ SMB Sami (Southern)_Sweden.1252
+ SME Sami (Northern)_Norway.1252
+ SMF Sami (Northern)_Sweden.1252
+ SMG Sami (Northern)_Finland.1252
+ SMJ Sami (Lule)_Norway.1252
+ SMK Sami (Lule)_Sweden.1252
+ SMN Sami (Inari)_Finland.1252
+ SMS Sami (Skolt)_Finland.1252
+ SQI Albanian_Albania.1250
+ SRB Serbian (Cyrillic)_Serbia and Montenegro.1251
+ SRL Serbian (Latin)_Serbia and Montenegro.1250
+ SRN Serbian (Cyrillic)_Bosnia and Herzegovina.1251
+ SRS Serbian (Latin)_Bosnia and Herzegovina.1250
+ SVE Swedish_Sweden.1252
+ SVF Swedish_Finland.1252
+ SWK Swahili_Kenya.1252
+ THA Thai_Thailand.874
+ TRK Turkish_Turkey.1254
+ TSN Tswana_South Africa.1252
+ TTT Tatar_Russia.1251
+ UKR Ukrainian_Ukraine.1251
+ URD Urdu_Islamic Republic of Pakistan.1256
+ USA English_United States.1252
+ UZB Uzbek (Latin)_Uzbekistan.1254
+ VIT Vietnamese_Viet Nam.1258
+ XHO Xhosa_South Africa.1252
+ ZHH Chinese_Hong Kong S.A.R..950
+ ZHI Chinese_Singapore.936
+ ZHM Chinese_Macau S.A.R..950
+ ZUL Zulu_South Africa.1252
+ */
+
+/* Table from ISO 639 language code, optionally with country or script suffix,
+ to English name.
+ Keep in sync with the gl_locale_name_from_win32_LANGID function in
+ localename.c! */
+struct table_entry
+{
+ const char *code;
+ const char *english;
+};
+static const struct table_entry language_table[] =
+ {
+ { "af", "Afrikaans" },
+ { "am", "Amharic" },
+ { "ar", "Arabic" },
+ { "arn", "Mapudungun" },
+ { "as", "Assamese" },
+ { "az@cyrillic", "Azeri (Cyrillic)" },
+ { "az@latin", "Azeri (Latin)" },
+ { "ba", "Bashkir" },
+ { "be", "Belarusian" },
+ { "ber", "Tamazight" },
+ { "ber@arabic", "Tamazight (Arabic)" },
+ { "ber@latin", "Tamazight (Latin)" },
+ { "bg", "Bulgarian" },
+ { "bin", "Edo" },
+ { "bn", "Bengali" },
+ { "bn_BD", "Bengali (Bangladesh)" },
+ { "bn_IN", "Bengali (India)" },
+ { "bnt", "Sutu" },
+ { "bo", "Tibetan" },
+ { "br", "Breton" },
+ { "bs", "BSB" }, /* "Bosnian (Latin)" */
+ { "bs@cyrillic", "BSC" }, /* Bosnian (Cyrillic) */
+ { "ca", "Catalan" },
+ { "chr", "Cherokee" },
+ { "co", "Corsican" },
+ { "cpe", "Hawaiian" },
+ { "cs", "Czech" },
+ { "cy", "Welsh" },
+ { "da", "Danish" },
+ { "de", "German" },
+ { "dsb", "Lower Sorbian" },
+ { "dv", "Divehi" },
+ { "el", "Greek" },
+ { "en", "English" },
+ { "es", "Spanish" },
+ { "et", "Estonian" },
+ { "eu", "Basque" },
+ { "fa", "Farsi" },
+ { "ff", "Fulfulde" },
+ { "fi", "Finnish" },
+ { "fo", "Faroese" }, /* "Faeroese" does not work */
+ { "fr", "French" },
+ { "fy", "Frisian" },
+ { "ga", "IRE" }, /* Gaelic (Ireland) */
+ { "gd", "Gaelic (Scotland)" },
+ { "gd", "Scottish Gaelic" },
+ { "gl", "Galician" },
+ { "gn", "Guarani" },
+ { "gsw", "Alsatian" },
+ { "gu", "Gujarati" },
+ { "ha", "Hausa" },
+ { "he", "Hebrew" },
+ { "hi", "Hindi" },
+ { "hr", "Croatian" },
+ { "hsb", "Upper Sorbian" },
+ { "hu", "Hungarian" },
+ { "hy", "Armenian" },
+ { "id", "Indonesian" },
+ { "ig", "Igbo" },
+ { "ii", "Yi" },
+ { "is", "Icelandic" },
+ { "it", "Italian" },
+ { "iu", "IUK" }, /* Inuktitut */
+ { "ja", "Japanese" },
+ { "ka", "Georgian" },
+ { "kk", "Kazakh" },
+ { "kl", "Greenlandic" },
+ { "km", "Cambodian" },
+ { "km", "Khmer" },
+ { "kn", "Kannada" },
+ { "ko", "Korean" },
+ { "kok", "Konkani" },
+ { "kr", "Kanuri" },
+ { "ks", "Kashmiri" },
+ { "ks_IN", "Kashmiri_India" },
+ { "ks_PK", "Kashmiri (Arabic)_Pakistan" },
+ { "ky", "Kyrgyz" },
+ { "la", "Latin" },
+ { "lb", "Luxembourgish" },
+ { "lo", "Lao" },
+ { "lt", "Lithuanian" },
+ { "lv", "Latvian" },
+ { "mi", "Maori" },
+ { "mk", "FYRO Macedonian" },
+ { "mk", "Macedonian" },
+ { "ml", "Malayalam" },
+ { "mn", "Mongolian" },
+ { "mni", "Manipuri" },
+ { "moh", "Mohawk" },
+ { "mr", "Marathi" },
+ { "ms", "Malay" },
+ { "mt", "Maltese" },
+ { "my", "Burmese" },
+ { "nb", "NOR" }, /* Norwegian Bokmål */
+ { "ne", "Nepali" },
+ { "nic", "Ibibio" },
+ { "nl", "Dutch" },
+ { "nn", "NON" }, /* Norwegian Nynorsk */
+ { "no", "Norwegian" },
+ { "nso", "Northern Sotho" },
+ { "nso", "Sepedi" },
+ { "oc", "Occitan" },
+ { "om", "Oromo" },
+ { "or", "Oriya" },
+ { "pa", "Punjabi" },
+ { "pap", "Papiamentu" },
+ { "pl", "Polish" },
+ { "prs", "Dari" },
+ { "ps", "Pashto" },
+ { "pt", "Portuguese" },
+ { "qu", "Quechua" },
+ { "qut", "K'iche'" },
+ { "rm", "Romansh" },
+ { "ro", "Romanian" },
+ { "ru", "Russian" },
+ { "rw", "Kinyarwanda" },
+ { "sa", "Sanskrit" },
+ { "sah", "Yakut" },
+ { "sd", "Sindhi" },
+ { "se", "Sami (Northern)" },
+ { "se", "Northern Sami" },
+ { "si", "Sinhalese" },
+ { "sk", "Slovak" },
+ { "sl", "Slovenian" },
+ { "sma", "Sami (Southern)" },
+ { "sma", "Southern Sami" },
+ { "smj", "Sami (Lule)" },
+ { "smj", "Lule Sami" },
+ { "smn", "Sami (Inari)" },
+ { "smn", "Inari Sami" },
+ { "sms", "Sami (Skolt)" },
+ { "sms", "Skolt Sami" },
+ { "so", "Somali" },
+ { "sq", "Albanian" },
+ { "sr", "Serbian (Latin)" },
+ { "sr@cyrillic", "SRB" }, /* Serbian (Cyrillic) */
+ { "sw", "Swahili" },
+ { "syr", "Syriac" },
+ { "ta", "Tamil" },
+ { "te", "Telugu" },
+ { "tg", "Tajik" },
+ { "th", "Thai" },
+ { "ti", "Tigrinya" },
+ { "tk", "Turkmen" },
+ { "tl", "Filipino" },
+ { "tn", "Tswana" },
+ { "tr", "Turkish" },
+ { "ts", "Tsonga" },
+ { "tt", "Tatar" },
+ { "ug", "Uighur" },
+ { "uk", "Ukrainian" },
+ { "ur", "Urdu" },
+ { "uz", "Uzbek" },
+ { "uz", "Uzbek (Latin)" },
+ { "uz@cyrillic", "Uzbek (Cyrillic)" },
+ { "ve", "Venda" },
+ { "vi", "Vietnamese" },
+ { "wen", "Sorbian" },
+ { "wo", "Wolof" },
+ { "xh", "Xhosa" },
+ { "yi", "Yiddish" },
+ { "yo", "Yoruba" },
+ { "zh", "Chinese" },
+ { "zu", "Zulu" }
+ };
+
+/* Table from ISO 3166 country code to English name.
+ Keep in sync with the gl_locale_name_from_win32_LANGID function in
+ localename.c! */
+static const struct table_entry country_table[] =
+ {
+ { "AE", "U.A.E." },
+ { "AF", "Afghanistan" },
+ { "AL", "Albania" },
+ { "AM", "Armenia" },
+ { "AN", "Netherlands Antilles" },
+ { "AR", "Argentina" },
+ { "AT", "Austria" },
+ { "AU", "Australia" },
+ { "AZ", "Azerbaijan" },
+ { "BA", "Bosnia and Herzegovina" },
+ { "BD", "Bangladesh" },
+ { "BE", "Belgium" },
+ { "BG", "Bulgaria" },
+ { "BH", "Bahrain" },
+ { "BN", "Brunei Darussalam" },
+ { "BO", "Bolivia" },
+ { "BR", "Brazil" },
+ { "BT", "Bhutan" },
+ { "BY", "Belarus" },
+ { "BZ", "Belize" },
+ { "CA", "Canada" },
+ { "CG", "Congo" },
+ { "CH", "Switzerland" },
+ { "CI", "Cote d'Ivoire" },
+ { "CL", "Chile" },
+ { "CM", "Cameroon" },
+ { "CN", "People's Republic of China" },
+ { "CO", "Colombia" },
+ { "CR", "Costa Rica" },
+ { "CS", "Serbia and Montenegro" },
+ { "CZ", "Czech Republic" },
+ { "DE", "Germany" },
+ { "DK", "Denmark" },
+ { "DO", "Dominican Republic" },
+ { "DZ", "Algeria" },
+ { "EC", "Ecuador" },
+ { "EE", "Estonia" },
+ { "EG", "Egypt" },
+ { "ER", "Eritrea" },
+ { "ES", "Spain" },
+ { "ET", "Ethiopia" },
+ { "FI", "Finland" },
+ { "FO", "Faroe Islands" },
+ { "FR", "France" },
+ { "GB", "United Kingdom" },
+ { "GD", "Caribbean" },
+ { "GE", "Georgia" },
+ { "GL", "Greenland" },
+ { "GR", "Greece" },
+ { "GT", "Guatemala" },
+ { "HK", "Hong Kong" },
+ { "HK", "Hong Kong S.A.R." },
+ { "HN", "Honduras" },
+ { "HR", "Croatia" },
+ { "HT", "Haiti" },
+ { "HU", "Hungary" },
+ { "ID", "Indonesia" },
+ { "IE", "Ireland" },
+ { "IL", "Israel" },
+ { "IN", "India" },
+ { "IQ", "Iraq" },
+ { "IR", "Iran" },
+ { "IS", "Iceland" },
+ { "IT", "Italy" },
+ { "JM", "Jamaica" },
+ { "JO", "Jordan" },
+ { "JP", "Japan" },
+ { "KE", "Kenya" },
+ { "KG", "Kyrgyzstan" },
+ { "KH", "Cambodia" },
+ { "KR", "South Korea" },
+ { "KW", "Kuwait" },
+ { "KZ", "Kazakhstan" },
+ { "LA", "Laos" },
+ { "LB", "Lebanon" },
+ { "LI", "Liechtenstein" },
+ { "LK", "Sri Lanka" },
+ { "LT", "Lithuania" },
+ { "LU", "Luxembourg" },
+ { "LV", "Latvia" },
+ { "LY", "Libya" },
+ { "MA", "Morocco" },
+ { "MC", "Principality of Monaco" },
+ { "MD", "Moldava" },
+ { "MD", "Moldova" },
+ { "ME", "Montenegro" },
+ { "MK", "Former Yugoslav Republic of Macedonia" },
+ { "ML", "Mali" },
+ { "MM", "Myanmar" },
+ { "MN", "Mongolia" },
+ { "MO", "Macau S.A.R." },
+ { "MT", "Malta" },
+ { "MV", "Maldives" },
+ { "MX", "Mexico" },
+ { "MY", "Malaysia" },
+ { "NG", "Nigeria" },
+ { "NI", "Nicaragua" },
+ { "NL", "Netherlands" },
+ { "NO", "Norway" },
+ { "NP", "Nepal" },
+ { "NZ", "New Zealand" },
+ { "OM", "Oman" },
+ { "PA", "Panama" },
+ { "PE", "Peru" },
+ { "PH", "Philippines" },
+ { "PK", "Islamic Republic of Pakistan" },
+ { "PL", "Poland" },
+ { "PR", "Puerto Rico" },
+ { "PT", "Portugal" },
+ { "PY", "Paraguay" },
+ { "QA", "Qatar" },
+ { "RE", "Reunion" },
+ { "RO", "Romania" },
+ { "RS", "Serbia" },
+ { "RU", "Russia" },
+ { "RW", "Rwanda" },
+ { "SA", "Saudi Arabia" },
+ { "SE", "Sweden" },
+ { "SG", "Singapore" },
+ { "SI", "Slovenia" },
+ { "SK", "Slovak" },
+ { "SN", "Senegal" },
+ { "SO", "Somalia" },
+ { "SR", "Suriname" },
+ { "SV", "El Salvador" },
+ { "SY", "Syria" },
+ { "TH", "Thailand" },
+ { "TJ", "Tajikistan" },
+ { "TM", "Turkmenistan" },
+ { "TN", "Tunisia" },
+ { "TR", "Turkey" },
+ { "TT", "Trinidad and Tobago" },
+ { "TW", "Taiwan" },
+ { "TZ", "Tanzania" },
+ { "UA", "Ukraine" },
+ { "US", "United States" },
+ { "UY", "Uruguay" },
+ { "VA", "Vatican" },
+ { "VE", "Venezuela" },
+ { "VN", "Viet Nam" },
+ { "YE", "Yemen" },
+ { "ZA", "South Africa" },
+ { "ZW", "Zimbabwe" }
+ };
+
+/* Given a string STRING, find the set of indices i such that TABLE[i].code is
+ the given STRING. It is a range [lo,hi-1]. */
+typedef struct { size_t lo; size_t hi; } range_t;
+static void
+search (const struct table_entry *table, size_t table_size, const char *string,
+ range_t *result)
+{
+ /* The table is sorted. Perform a binary search. */
+ size_t hi = table_size;
+ size_t lo = 0;
+ while (lo < hi)
+ {
+ /* Invariant:
+ for i < lo, strcmp (table[i].code, string) < 0,
+ for i >= hi, strcmp (table[i].code, string) > 0. */
+ size_t mid = (hi + lo) >> 1; /* >= lo, < hi */
+ int cmp = strcmp (table[mid].code, string);
+ if (cmp < 0)
+ lo = mid + 1;
+ else if (cmp > 0)
+ hi = mid;
+ else
+ {
+ /* Found an i with
+ strcmp (language_table[i].code, string) == 0.
+ Find the entire interval of such i. */
+ {
+ size_t i;
+
+ for (i = mid; i > lo; )
+ {
+ i--;
+ if (strcmp (table[i].code, string) < 0)
+ {
+ lo = i + 1;
+ break;
+ }
+ }
+ }
+ {
+ size_t i;
+
+ for (i = mid; i < hi; i++)
+ {
+ if (strcmp (table[i].code, string) > 0)
+ {
+ hi = i;
+ break;
+ }
+ }
+ }
+ /* The set of i with
+ strcmp (language_table[i].code, string) == 0
+ is the interval [lo, hi-1]. */
+ break;
+ }
+ }
+ result->lo = lo;
+ result->hi = hi;
+}
+
+/* Like setlocale, but accept also locale names in the form ll or ll_CC,
+ where ll is an ISO 639 language code and CC is an ISO 3166 country code. */
+static char *
+setlocale_unixlike (int category, const char *locale)
+{
+ char *result;
+ char llCC_buf[64];
+ char ll_buf[64];
+ char CC_buf[64];
+
+ /* First, try setlocale with the original argument unchanged. */
+ result = setlocale (category, locale);
+ if (result != NULL)
+ return result;
+
+ /* Otherwise, assume the argument is in the form
+ language[_territory][.codeset][@modifier]
+ and try to map it using the tables. */
+ if (strlen (locale) < sizeof (llCC_buf))
+ {
+ /* Second try: Remove the codeset part. */
+ {
+ const char *p = locale;
+ char *q = llCC_buf;
+
+ /* Copy the part before the dot. */
+ for (; *p != '\0' && *p != '.'; p++, q++)
+ *q = *p;
+ if (*p == '.')
+ /* Skip the part up to the '@', if any. */
+ for (; *p != '\0' && *p != '@'; p++)
+ ;
+ /* Copy the part starting with '@', if any. */
+ for (; *p != '\0'; p++, q++)
+ *q = *p;
+ *q = '\0';
+ }
+ /* llCC_buf now contains
+ language[_territory][@modifier]
+ */
+ if (strcmp (llCC_buf, locale) != 0)
+ {
+ result = setlocale (category, llCC_buf);
+ if (result != NULL)
+ return result;
+ }
+ /* Look it up in language_table. */
+ {
+ range_t range;
+ size_t i;
+
+ search (language_table,
+ sizeof (language_table) / sizeof (language_table[0]),
+ llCC_buf,
+ &range);
+
+ for (i = range.lo; i < range.hi; i++)
+ {
+ /* Try the replacement in language_table[i]. */
+ result = setlocale (category, language_table[i].english);
+ if (result != NULL)
+ return result;
+ }
+ }
+ /* Split language[_territory][@modifier]
+ into ll_buf = language[@modifier]
+ and CC_buf = territory
+ */
+ {
+ const char *underscore = strchr (llCC_buf, '_');
+ if (underscore != NULL)
+ {
+ const char *territory_start = underscore + 1;
+ const char *territory_end = strchr (territory_start, '@');
+ if (territory_end == NULL)
+ territory_end = territory_start + strlen (territory_start);
+
+ memcpy (ll_buf, llCC_buf, underscore - llCC_buf);
+ strcpy (ll_buf + (underscore - llCC_buf), territory_end);
+
+ memcpy (CC_buf, territory_start, territory_end - territory_start);
+ CC_buf[territory_end - territory_start] = '\0';
+
+ {
+ /* Look up ll_buf in language_table
+ and CC_buf in country_table. */
+ range_t language_range;
+
+ search (language_table,
+ sizeof (language_table) / sizeof (language_table[0]),
+ ll_buf,
+ &language_range);
+ if (language_range.lo < language_range.hi)
+ {
+ range_t country_range;
+
+ search (country_table,
+ sizeof (country_table) / sizeof (country_table[0]),
+ CC_buf,
+ &country_range);
+ if (country_range.lo < country_range.hi)
+ {
+ size_t i;
+ size_t j;
+
+ for (i = language_range.lo; i < language_range.hi; i++)
+ for (j = country_range.lo; j < country_range.hi; j++)
+ {
+ /* Concatenate the replacements. */
+ const char *part1 = language_table[i].english;
+ size_t part1_len = strlen (part1);
+ const char *part2 = country_table[j].english;
+ size_t part2_len = strlen (part2) + 1;
+ char buf[64+64];
+
+ if (!(part1_len + 1 + part2_len <= sizeof (buf)))
+ abort ();
+ memcpy (buf, part1, part1_len);
+ buf[part1_len] = '_';
+ memcpy (buf + part1_len + 1, part2, part2_len);
+
+ /* Try the concatenated replacements. */
+ result = setlocale (category, buf);
+ if (result != NULL)
+ return result;
+ }
+ }
+
+ /* Try omitting the country entirely. This may set a locale
+ corresponding to the wrong country, but is better than
+ failing entirely. */
+ {
+ size_t i;
+
+ for (i = language_range.lo; i < language_range.hi; i++)
+ {
+ /* Try only the language replacement. */
+ result =
+ setlocale (category, language_table[i].english);
+ if (result != NULL)
+ return result;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /* Failed. */
+ return NULL;
+}
+
+# else
+# define setlocale_unixlike setlocale
+# endif
+
+# if LC_MESSAGES == 1729
+
+/* The system does not store an LC_MESSAGES locale category. Do it here. */
+static char lc_messages_name[64] = "C";
+
+/* Like setlocale, but support also LC_MESSAGES. */
+static char *
+setlocale_single (int category, const char *locale)
+{
+ if (category == LC_MESSAGES)
+ {
+ if (locale != NULL)
+ {
+ lc_messages_name[sizeof (lc_messages_name) - 1] = '\0';
+ strncpy (lc_messages_name, locale, sizeof (lc_messages_name) - 1);
+ }
+ return lc_messages_name;
+ }
+ else
+ return setlocale_unixlike (category, locale);
+}
+
+# else
+# define setlocale_single setlocale_unixlike
+# endif
+
+char *
+rpl_setlocale (int category, const char *locale)
+{
+ if (locale != NULL && locale[0] == '\0')
+ {
+ /* A request to the set the current locale to the default locale. */
+ if (category == LC_ALL)
+ {
+ /* Set LC_CTYPE first. Then the other categories. */
+ static int const categories[] =
+ {
+ LC_NUMERIC,
+ LC_TIME,
+ LC_COLLATE,
+ LC_MONETARY,
+ LC_MESSAGES
+ };
+ char *saved_locale;
+ const char *base_name;
+ unsigned int i;
+
+ /* Back up the old locale, in case one of the steps fails. */
+ saved_locale = setlocale (LC_ALL, NULL);
+ if (saved_locale == NULL)
+ return NULL;
+ saved_locale = strdup (saved_locale);
+ if (saved_locale == NULL)
+ return NULL;
+
+ /* Set LC_CTYPE category. Set all other categories (except possibly
+ LC_MESSAGES) to the same value in the same call; this is likely to
+ save calls. */
+ base_name =
+ gl_locale_name_environ (LC_CTYPE, category_to_name (LC_CTYPE));
+ if (base_name == NULL)
+ base_name = gl_locale_name_default ();
+
+ if (setlocale_unixlike (LC_ALL, base_name) == NULL)
+ goto fail;
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+ /* On native Windows, setlocale(LC_ALL,...) may succeed but set the
+ LC_CTYPE category to an invalid value ("C") when it does not
+ support the specified encoding. Report a failure instead. */
+ if (strchr (base_name, '.') != NULL
+ && strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ goto fail;
+# endif
+
+ for (i = 0; i < sizeof (categories) / sizeof (categories[0]); i++)
+ {
+ int cat = categories[i];
+ const char *name;
+
+ name = gl_locale_name_environ (cat, category_to_name (cat));
+ if (name == NULL)
+ name = gl_locale_name_default ();
+
+ /* If name is the same as base_name, it has already been set
+ through the setlocale call before the loop. */
+ if (strcmp (name, base_name) != 0
+# if LC_MESSAGES == 1729
+ || cat == LC_MESSAGES
+# endif
+ )
+ if (setlocale_single (cat, name) == NULL)
+ goto fail;
+ }
+
+ /* All steps were successful. */
+ free (saved_locale);
+ return setlocale (LC_ALL, NULL);
+
+ fail:
+ if (saved_locale[0] != '\0') /* don't risk an endless recursion */
+ setlocale (LC_ALL, saved_locale);
+ free (saved_locale);
+ return NULL;
+ }
+ else
+ {
+ const char *name =
+ gl_locale_name_environ (category, category_to_name (category));
+ if (name == NULL)
+ name = gl_locale_name_default ();
+
+ return setlocale_single (category, name);
+ }
+ }
+ else
+ {
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+ if (category == LC_ALL && locale != NULL && strchr (locale, '.') != NULL)
+ {
+ char *saved_locale;
+
+ /* Back up the old locale. */
+ saved_locale = setlocale (LC_ALL, NULL);
+ if (saved_locale == NULL)
+ return NULL;
+ saved_locale = strdup (saved_locale);
+ if (saved_locale == NULL)
+ return NULL;
+
+ if (setlocale_unixlike (LC_ALL, locale) == NULL)
+ {
+ free (saved_locale);
+ return NULL;
+ }
+
+ /* On native Windows, setlocale(LC_ALL,...) may succeed but set the
+ LC_CTYPE category to an invalid value ("C") when it does not
+ support the specified encoding. Report a failure instead. */
+ if (strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ {
+ if (saved_locale[0] != '\0') /* don't risk an endless recursion */
+ setlocale (LC_ALL, saved_locale);
+ free (saved_locale);
+ return NULL;
+ }
+
+ /* It was really successful. */
+ free (saved_locale);
+ return setlocale (LC_ALL, NULL);
+ }
+ else
+# endif
+ return setlocale_single (category, locale);
+ }
+}
+
+#endif
--- /dev/null
+/* Macro for checking that a function declaration is compliant.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef SIGNATURE_CHECK
+
+/* Check that the function FN takes the specified arguments ARGS with
+ a return type of RET. This header is designed to be included after
+ <config.h> and the one system header that is supposed to contain
+ the function being checked, but prior to any other system headers
+ that are necessary for the unit test. Therefore, this file does
+ not include any system headers, nor reference anything outside of
+ the macro arguments. For an example, if foo.h should provide:
+
+ extern int foo (char, float);
+
+ then the unit test named test-foo.c would start out with:
+
+ #include <config.h>
+ #include <foo.h>
+ #include "signature.h"
+ SIGNATURE_CHECK (foo, int, (char, float));
+ #include <other.h>
+ ...
+*/
+# define SIGNATURE_CHECK(fn, ret, args) \
+ SIGNATURE_CHECK1 (fn, ret, args, __LINE__)
+
+/* Necessary to allow multiple SIGNATURE_CHECK lines in a unit test.
+ Note that the checks must not occupy the same line. */
+# define SIGNATURE_CHECK1(fn, ret, args, id) \
+ SIGNATURE_CHECK2 (fn, ret, args, id) /* macroexpand line */
+# define SIGNATURE_CHECK2(fn, ret, args, id) \
+ static ret (* _GL_UNUSED signature_check ## id) args = fn
+
+#endif /* SIGNATURE_CHECK */
--- /dev/null
+/* A GNU-like <stdlib.h>.
+
+ Copyright (C) 1995, 2001-2004, 2006-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined __need_malloc_and_calloc
+/* Special invocation convention inside glibc header files. */
+
+#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
+
+#else
+/* Normal invocation convention. */
+
+#ifndef _@GUARD_PREFIX@_STDLIB_H
+
+/* The include_next requires a split double-inclusion guard. */
+#@INCLUDE_NEXT@ @NEXT_STDLIB_H@
+
+#ifndef _@GUARD_PREFIX@_STDLIB_H
+#define _@GUARD_PREFIX@_STDLIB_H
+
+/* NetBSD 5.0 mis-defines NULL. */
+#include <stddef.h>
+
+/* MirBSD 10 defines WEXITSTATUS in <sys/wait.h>, not in <stdlib.h>. */
+#if @GNULIB_SYSTEM_POSIX@ && !defined WEXITSTATUS
+# include <sys/wait.h>
+#endif
+
+/* Solaris declares getloadavg() in <sys/loadavg.h>. */
+#if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
+# include <sys/loadavg.h>
+#endif
+
+#if @GNULIB_RANDOM_R@
+
+/* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
+ from <stdlib.h> if _REENTRANT is defined. Include it whenever we need
+ 'struct random_data'. */
+# if @HAVE_RANDOM_H@
+# include <random.h>
+# endif
+
+# if !@HAVE_STRUCT_RANDOM_DATA@ || !@HAVE_RANDOM_R@
+# include <stdint.h>
+# endif
+
+# if !@HAVE_STRUCT_RANDOM_DATA@
+/* Define 'struct random_data'.
+ But allow multiple gnulib generated <stdlib.h> replacements to coexist. */
+# if !GNULIB_defined_struct_random_data
+struct random_data
+{
+ int32_t *fptr; /* Front pointer. */
+ int32_t *rptr; /* Rear pointer. */
+ int32_t *state; /* Array of state values. */
+ int rand_type; /* Type of random number generator. */
+ int rand_deg; /* Degree of random number generator. */
+ int rand_sep; /* Distance between front and rear. */
+ int32_t *end_ptr; /* Pointer behind state table. */
+};
+# define GNULIB_defined_struct_random_data 1
+# endif
+# endif
+#endif
+
+#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+/* On MacOS X 10.3, only <unistd.h> declares mkstemp. */
+/* On MacOS X 10.5, only <unistd.h> declares mkstemps. */
+/* On Cygwin 1.7.1, only <unistd.h> declares getsubopt. */
+/* But avoid namespace pollution on glibc systems and native Windows. */
+# include <unistd.h>
+#endif
+
+/* The definition of _Noreturn is copied here. */
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+
+/* Some systems do not define EXIT_*, despite otherwise supporting C89. */
+#ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+#endif
+/* Tandem/NSK and other platforms that define EXIT_FAILURE as -1 interfere
+ with proper operation of xargs. */
+#ifndef EXIT_FAILURE
+# define EXIT_FAILURE 1
+#elif EXIT_FAILURE != 1
+# undef EXIT_FAILURE
+# define EXIT_FAILURE 1
+#endif
+
+
+#if @GNULIB__EXIT@
+/* Terminate the current process with the given return code, without running
+ the 'atexit' handlers. */
+# if !@HAVE__EXIT@
+_GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status));
+# endif
+_GL_CXXALIAS_SYS (_Exit, void, (int status));
+_GL_CXXALIASWARN (_Exit);
+#elif defined GNULIB_POSIXCHECK
+# undef _Exit
+# if HAVE_RAW_DECL__EXIT
+_GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
+ "use gnulib module _Exit for portability");
+# endif
+#endif
+
+
+#if @GNULIB_ATOLL@
+/* Parse a signed decimal integer.
+ Returns the value of the integer. Errors are not detected. */
+# if !@HAVE_ATOLL@
+_GL_FUNCDECL_SYS (atoll, long long, (const char *string) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (atoll, long long, (const char *string));
+_GL_CXXALIASWARN (atoll);
+#elif defined GNULIB_POSIXCHECK
+# undef atoll
+# if HAVE_RAW_DECL_ATOLL
+_GL_WARN_ON_USE (atoll, "atoll is unportable - "
+ "use gnulib module atoll for portability");
+# endif
+#endif
+
+#if @GNULIB_CALLOC_POSIX@
+# if @REPLACE_CALLOC@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef calloc
+# define calloc rpl_calloc
+# endif
+_GL_FUNCDECL_RPL (calloc, void *, (size_t nmemb, size_t size));
+_GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size));
+# else
+_GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size));
+# endif
+_GL_CXXALIASWARN (calloc);
+#elif defined GNULIB_POSIXCHECK
+# undef calloc
+/* Assume calloc is always declared. */
+_GL_WARN_ON_USE (calloc, "calloc is not POSIX compliant everywhere - "
+ "use gnulib module calloc-posix for portability");
+#endif
+
+#if @GNULIB_CANONICALIZE_FILE_NAME@
+# if @REPLACE_CANONICALIZE_FILE_NAME@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define canonicalize_file_name rpl_canonicalize_file_name
+# endif
+_GL_FUNCDECL_RPL (canonicalize_file_name, char *, (const char *name)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name));
+# else
+# if !@HAVE_CANONICALIZE_FILE_NAME@
+_GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name));
+# endif
+_GL_CXXALIASWARN (canonicalize_file_name);
+#elif defined GNULIB_POSIXCHECK
+# undef canonicalize_file_name
+# if HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
+_GL_WARN_ON_USE (canonicalize_file_name,
+ "canonicalize_file_name is unportable - "
+ "use gnulib module canonicalize-lgpl for portability");
+# endif
+#endif
+
+#if @GNULIB_GETLOADAVG@
+/* Store max(NELEM,3) load average numbers in LOADAVG[].
+ The three numbers are the load average of the last 1 minute, the last 5
+ minutes, and the last 15 minutes, respectively.
+ LOADAVG is an array of NELEM numbers. */
+# if !@HAVE_DECL_GETLOADAVG@
+_GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem));
+_GL_CXXALIASWARN (getloadavg);
+#elif defined GNULIB_POSIXCHECK
+# undef getloadavg
+# if HAVE_RAW_DECL_GETLOADAVG
+_GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
+ "use gnulib module getloadavg for portability");
+# endif
+#endif
+
+#if @GNULIB_GETSUBOPT@
+/* Assuming *OPTIONP is a comma separated list of elements of the form
+ "token" or "token=value", getsubopt parses the first of these elements.
+ If the first element refers to a "token" that is member of the given
+ NULL-terminated array of tokens:
+ - It replaces the comma with a NUL byte, updates *OPTIONP to point past
+ the first option and the comma, sets *VALUEP to the value of the
+ element (or NULL if it doesn't contain an "=" sign),
+ - It returns the index of the "token" in the given array of tokens.
+ Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined.
+ For more details see the POSIX:2001 specification.
+ http://www.opengroup.org/susv3xsh/getsubopt.html */
+# if !@HAVE_GETSUBOPT@
+_GL_FUNCDECL_SYS (getsubopt, int,
+ (char **optionp, char *const *tokens, char **valuep)
+ _GL_ARG_NONNULL ((1, 2, 3)));
+# endif
+_GL_CXXALIAS_SYS (getsubopt, int,
+ (char **optionp, char *const *tokens, char **valuep));
+_GL_CXXALIASWARN (getsubopt);
+#elif defined GNULIB_POSIXCHECK
+# undef getsubopt
+# if HAVE_RAW_DECL_GETSUBOPT
+_GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - "
+ "use gnulib module getsubopt for portability");
+# endif
+#endif
+
+#if @GNULIB_GRANTPT@
+/* Change the ownership and access permission of the slave side of the
+ pseudo-terminal whose master side is specified by FD. */
+# if !@HAVE_GRANTPT@
+_GL_FUNCDECL_SYS (grantpt, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (grantpt, int, (int fd));
+_GL_CXXALIASWARN (grantpt);
+#elif defined GNULIB_POSIXCHECK
+# undef grantpt
+# if HAVE_RAW_DECL_GRANTPT
+_GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
+ "use gnulib module grantpt for portability");
+# endif
+#endif
+
+/* If _GL_USE_STDLIB_ALLOC is nonzero, the including module does not
+ rely on GNU or POSIX semantics for malloc and realloc (for example,
+ by never specifying a zero size), so it does not need malloc or
+ realloc to be redefined. */
+#if @GNULIB_MALLOC_POSIX@
+# if @REPLACE_MALLOC@
+# if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
+ || _GL_USE_STDLIB_ALLOC)
+# undef malloc
+# define malloc rpl_malloc
+# endif
+_GL_FUNCDECL_RPL (malloc, void *, (size_t size));
+_GL_CXXALIAS_RPL (malloc, void *, (size_t size));
+# else
+_GL_CXXALIAS_SYS (malloc, void *, (size_t size));
+# endif
+_GL_CXXALIASWARN (malloc);
+#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
+# undef malloc
+/* Assume malloc is always declared. */
+_GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
+ "use gnulib module malloc-posix for portability");
+#endif
+
+/* Convert a multibyte character to a wide character. */
+#if @GNULIB_MBTOWC@
+# if @REPLACE_MBTOWC@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbtowc
+# define mbtowc rpl_mbtowc
+# endif
+_GL_FUNCDECL_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
+_GL_CXXALIAS_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
+# else
+_GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
+# endif
+_GL_CXXALIASWARN (mbtowc);
+#endif
+
+#if @GNULIB_MKDTEMP@
+/* Create a unique temporary directory from TEMPLATE.
+ The last six characters of TEMPLATE must be "XXXXXX";
+ they are replaced with a string that makes the directory name unique.
+ Returns TEMPLATE, or a null pointer if it cannot get a unique name.
+ The directory is created mode 700. */
+# if !@HAVE_MKDTEMP@
+_GL_FUNCDECL_SYS (mkdtemp, char *, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
+_GL_CXXALIASWARN (mkdtemp);
+#elif defined GNULIB_POSIXCHECK
+# undef mkdtemp
+# if HAVE_RAW_DECL_MKDTEMP
+_GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
+ "use gnulib module mkdtemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKOSTEMP@
+/* Create a unique temporary file from TEMPLATE.
+ The last six characters of TEMPLATE must be "XXXXXX";
+ they are replaced with a string that makes the file name unique.
+ The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
+ and O_TEXT, O_BINARY (defined in "binary-io.h").
+ The file is then created, with the specified flags, ensuring it didn't exist
+ before.
+ The file is created read-write (mask at least 0600 & ~umask), but it may be
+ world-readable and world-writable (mask 0666 & ~umask), depending on the
+ implementation.
+ Returns the open file descriptor if successful, otherwise -1 and errno
+ set. */
+# if !@HAVE_MKOSTEMP@
+_GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/));
+_GL_CXXALIASWARN (mkostemp);
+#elif defined GNULIB_POSIXCHECK
+# undef mkostemp
+# if HAVE_RAW_DECL_MKOSTEMP
+_GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
+ "use gnulib module mkostemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKOSTEMPS@
+/* Create a unique temporary file from TEMPLATE.
+ The last six characters of TEMPLATE before a suffix of length
+ SUFFIXLEN must be "XXXXXX";
+ they are replaced with a string that makes the file name unique.
+ The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
+ and O_TEXT, O_BINARY (defined in "binary-io.h").
+ The file is then created, with the specified flags, ensuring it didn't exist
+ before.
+ The file is created read-write (mask at least 0600 & ~umask), but it may be
+ world-readable and world-writable (mask 0666 & ~umask), depending on the
+ implementation.
+ Returns the open file descriptor if successful, otherwise -1 and errno
+ set. */
+# if !@HAVE_MKOSTEMPS@
+_GL_FUNCDECL_SYS (mkostemps, int,
+ (char * /*template*/, int /*suffixlen*/, int /*flags*/)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkostemps, int,
+ (char * /*template*/, int /*suffixlen*/, int /*flags*/));
+_GL_CXXALIASWARN (mkostemps);
+#elif defined GNULIB_POSIXCHECK
+# undef mkostemps
+# if HAVE_RAW_DECL_MKOSTEMPS
+_GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - "
+ "use gnulib module mkostemps for portability");
+# endif
+#endif
+
+#if @GNULIB_MKSTEMP@
+/* Create a unique temporary file from TEMPLATE.
+ The last six characters of TEMPLATE must be "XXXXXX";
+ they are replaced with a string that makes the file name unique.
+ The file is then created, ensuring it didn't exist before.
+ The file is created read-write (mask at least 0600 & ~umask), but it may be
+ world-readable and world-writable (mask 0666 & ~umask), depending on the
+ implementation.
+ Returns the open file descriptor if successful, otherwise -1 and errno
+ set. */
+# if @REPLACE_MKSTEMP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define mkstemp rpl_mkstemp
+# endif
+_GL_FUNCDECL_RPL (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (mkstemp, int, (char * /*template*/));
+# else
+# if ! @HAVE_MKSTEMP@
+_GL_FUNCDECL_SYS (mkstemp, int, (char * /*template*/) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkstemp, int, (char * /*template*/));
+# endif
+_GL_CXXALIASWARN (mkstemp);
+#elif defined GNULIB_POSIXCHECK
+# undef mkstemp
+# if HAVE_RAW_DECL_MKSTEMP
+_GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - "
+ "use gnulib module mkstemp for portability");
+# endif
+#endif
+
+#if @GNULIB_MKSTEMPS@
+/* Create a unique temporary file from TEMPLATE.
+ The last six characters of TEMPLATE prior to a suffix of length
+ SUFFIXLEN must be "XXXXXX";
+ they are replaced with a string that makes the file name unique.
+ The file is then created, ensuring it didn't exist before.
+ The file is created read-write (mask at least 0600 & ~umask), but it may be
+ world-readable and world-writable (mask 0666 & ~umask), depending on the
+ implementation.
+ Returns the open file descriptor if successful, otherwise -1 and errno
+ set. */
+# if !@HAVE_MKSTEMPS@
+_GL_FUNCDECL_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/));
+_GL_CXXALIASWARN (mkstemps);
+#elif defined GNULIB_POSIXCHECK
+# undef mkstemps
+# if HAVE_RAW_DECL_MKSTEMPS
+_GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
+ "use gnulib module mkstemps for portability");
+# endif
+#endif
+
+#if @GNULIB_POSIX_OPENPT@
+/* Return an FD open to the master side of a pseudo-terminal. Flags should
+ include O_RDWR, and may also include O_NOCTTY. */
+# if !@HAVE_POSIX_OPENPT@
+_GL_FUNCDECL_SYS (posix_openpt, int, (int flags));
+# endif
+_GL_CXXALIAS_SYS (posix_openpt, int, (int flags));
+_GL_CXXALIASWARN (posix_openpt);
+#elif defined GNULIB_POSIXCHECK
+# undef posix_openpt
+# if HAVE_RAW_DECL_POSIX_OPENPT
+_GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
+ "use gnulib module posix_openpt for portability");
+# endif
+#endif
+
+#if @GNULIB_PTSNAME@
+/* Return the pathname of the pseudo-terminal slave associated with
+ the master FD is open on, or NULL on errors. */
+# if !@HAVE_PTSNAME@
+_GL_FUNCDECL_SYS (ptsname, char *, (int fd));
+# endif
+_GL_CXXALIAS_SYS (ptsname, char *, (int fd));
+_GL_CXXALIASWARN (ptsname);
+#elif defined GNULIB_POSIXCHECK
+# undef ptsname
+# if HAVE_RAW_DECL_PTSNAME
+_GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
+ "use gnulib module ptsname for portability");
+# endif
+#endif
+
+#if @GNULIB_PTSNAME_R@
+/* Set the pathname of the pseudo-terminal slave associated with
+ the master FD is open on and return 0, or set errno and return
+ non-zero on errors. */
+# if @REPLACE_PTSNAME_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ptsname_r
+# define ptsname_r rpl_ptsname_r
+# endif
+_GL_FUNCDECL_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+_GL_CXXALIAS_RPL (ptsname_r, int, (int fd, char *buf, size_t len));
+# else
+# if !@HAVE_PTSNAME_R@
+_GL_FUNCDECL_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+# endif
+_GL_CXXALIAS_SYS (ptsname_r, int, (int fd, char *buf, size_t len));
+# endif
+_GL_CXXALIASWARN (ptsname_r);
+#elif defined GNULIB_POSIXCHECK
+# undef ptsname_r
+# if HAVE_RAW_DECL_PTSNAME_R
+_GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - "
+ "use gnulib module ptsname_r for portability");
+# endif
+#endif
+
+#if @GNULIB_PUTENV@
+# if @REPLACE_PUTENV@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef putenv
+# define putenv rpl_putenv
+# endif
+_GL_FUNCDECL_RPL (putenv, int, (char *string) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (putenv, int, (char *string));
+# else
+_GL_CXXALIAS_SYS (putenv, int, (char *string));
+# endif
+_GL_CXXALIASWARN (putenv);
+#endif
+
+
+#if @GNULIB_RANDOM_R@
+# if !@HAVE_RANDOM_R@
+# ifndef RAND_MAX
+# define RAND_MAX 2147483647
+# endif
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
+_GL_CXXALIASWARN (random_r);
+#elif defined GNULIB_POSIXCHECK
+# undef random_r
+# if HAVE_RAW_DECL_RANDOM_R
+_GL_WARN_ON_USE (random_r, "random_r is unportable - "
+ "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (srandom_r, int,
+ (unsigned int seed, struct random_data *rand_state)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (srandom_r, int,
+ (unsigned int seed, struct random_data *rand_state));
+_GL_CXXALIASWARN (srandom_r);
+#elif defined GNULIB_POSIXCHECK
+# undef srandom_r
+# if HAVE_RAW_DECL_SRANDOM_R
+_GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
+ "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (initstate_r, int,
+ (unsigned int seed, char *buf, size_t buf_size,
+ struct random_data *rand_state)
+ _GL_ARG_NONNULL ((2, 4)));
+# endif
+_GL_CXXALIAS_SYS (initstate_r, int,
+ (unsigned int seed, char *buf, size_t buf_size,
+ struct random_data *rand_state));
+_GL_CXXALIASWARN (initstate_r);
+#elif defined GNULIB_POSIXCHECK
+# undef initstate_r
+# if HAVE_RAW_DECL_INITSTATE_R
+_GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - "
+ "use gnulib module random_r for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM_R@
+# if !@HAVE_RANDOM_R@
+_GL_FUNCDECL_SYS (setstate_r, int,
+ (char *arg_state, struct random_data *rand_state)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (setstate_r, int,
+ (char *arg_state, struct random_data *rand_state));
+_GL_CXXALIASWARN (setstate_r);
+#elif defined GNULIB_POSIXCHECK
+# undef setstate_r
+# if HAVE_RAW_DECL_SETSTATE_R
+_GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
+ "use gnulib module random_r for portability");
+# endif
+#endif
+
+
+#if @GNULIB_REALLOC_POSIX@
+# if @REPLACE_REALLOC@
+# if !((defined __cplusplus && defined GNULIB_NAMESPACE) \
+ || _GL_USE_STDLIB_ALLOC)
+# undef realloc
+# define realloc rpl_realloc
+# endif
+_GL_FUNCDECL_RPL (realloc, void *, (void *ptr, size_t size));
+_GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size));
+# else
+_GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size));
+# endif
+_GL_CXXALIASWARN (realloc);
+#elif defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC
+# undef realloc
+/* Assume realloc is always declared. */
+_GL_WARN_ON_USE (realloc, "realloc is not POSIX compliant everywhere - "
+ "use gnulib module realloc-posix for portability");
+#endif
+
+#if @GNULIB_REALPATH@
+# if @REPLACE_REALPATH@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define realpath rpl_realpath
+# endif
+_GL_FUNCDECL_RPL (realpath, char *, (const char *name, char *resolved)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (realpath, char *, (const char *name, char *resolved));
+# else
+# if !@HAVE_REALPATH@
+_GL_FUNCDECL_SYS (realpath, char *, (const char *name, char *resolved)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (realpath, char *, (const char *name, char *resolved));
+# endif
+_GL_CXXALIASWARN (realpath);
+#elif defined GNULIB_POSIXCHECK
+# undef realpath
+# if HAVE_RAW_DECL_REALPATH
+_GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module "
+ "canonicalize or canonicalize-lgpl for portability");
+# endif
+#endif
+
+#if @GNULIB_RPMATCH@
+/* Test a user response to a question.
+ Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear. */
+# if !@HAVE_RPMATCH@
+_GL_FUNCDECL_SYS (rpmatch, int, (const char *response) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
+_GL_CXXALIASWARN (rpmatch);
+#elif defined GNULIB_POSIXCHECK
+# undef rpmatch
+# if HAVE_RAW_DECL_RPMATCH
+_GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
+ "use gnulib module rpmatch for portability");
+# endif
+#endif
+
+#if @GNULIB_SETENV@
+/* Set NAME to VALUE in the environment.
+ If REPLACE is nonzero, overwrite an existing value. */
+# if @REPLACE_SETENV@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef setenv
+# define setenv rpl_setenv
+# endif
+_GL_FUNCDECL_RPL (setenv, int,
+ (const char *name, const char *value, int replace)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (setenv, int,
+ (const char *name, const char *value, int replace));
+# else
+# if !@HAVE_DECL_SETENV@
+_GL_FUNCDECL_SYS (setenv, int,
+ (const char *name, const char *value, int replace)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (setenv, int,
+ (const char *name, const char *value, int replace));
+# endif
+# if !(@REPLACE_SETENV@ && !@HAVE_DECL_SETENV@)
+_GL_CXXALIASWARN (setenv);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef setenv
+# if HAVE_RAW_DECL_SETENV
+_GL_WARN_ON_USE (setenv, "setenv is unportable - "
+ "use gnulib module setenv for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOD@
+ /* Parse a double from STRING, updating ENDP if appropriate. */
+# if @REPLACE_STRTOD@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define strtod rpl_strtod
+# endif
+_GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp));
+# else
+# if !@HAVE_STRTOD@
+_GL_FUNCDECL_SYS (strtod, double, (const char *str, char **endp)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strtod, double, (const char *str, char **endp));
+# endif
+_GL_CXXALIASWARN (strtod);
+#elif defined GNULIB_POSIXCHECK
+# undef strtod
+# if HAVE_RAW_DECL_STRTOD
+_GL_WARN_ON_USE (strtod, "strtod is unportable - "
+ "use gnulib module strtod for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOLL@
+/* Parse a signed integer whose textual representation starts at STRING.
+ The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+ it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+ "0x").
+ If ENDPTR is not NULL, the address of the first byte after the integer is
+ stored in *ENDPTR.
+ Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set
+ to ERANGE. */
+# if !@HAVE_STRTOLL@
+_GL_FUNCDECL_SYS (strtoll, long long,
+ (const char *string, char **endptr, int base)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strtoll, long long,
+ (const char *string, char **endptr, int base));
+_GL_CXXALIASWARN (strtoll);
+#elif defined GNULIB_POSIXCHECK
+# undef strtoll
+# if HAVE_RAW_DECL_STRTOLL
+_GL_WARN_ON_USE (strtoll, "strtoll is unportable - "
+ "use gnulib module strtoll for portability");
+# endif
+#endif
+
+#if @GNULIB_STRTOULL@
+/* Parse an unsigned integer whose textual representation starts at STRING.
+ The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+ it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+ "0x").
+ If ENDPTR is not NULL, the address of the first byte after the integer is
+ stored in *ENDPTR.
+ Upon overflow, the return value is ULLONG_MAX, and errno is set to
+ ERANGE. */
+# if !@HAVE_STRTOULL@
+_GL_FUNCDECL_SYS (strtoull, unsigned long long,
+ (const char *string, char **endptr, int base)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (strtoull, unsigned long long,
+ (const char *string, char **endptr, int base));
+_GL_CXXALIASWARN (strtoull);
+#elif defined GNULIB_POSIXCHECK
+# undef strtoull
+# if HAVE_RAW_DECL_STRTOULL
+_GL_WARN_ON_USE (strtoull, "strtoull is unportable - "
+ "use gnulib module strtoull for portability");
+# endif
+#endif
+
+#if @GNULIB_UNLOCKPT@
+/* Unlock the slave side of the pseudo-terminal whose master side is specified
+ by FD, so that it can be opened. */
+# if !@HAVE_UNLOCKPT@
+_GL_FUNCDECL_SYS (unlockpt, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (unlockpt, int, (int fd));
+_GL_CXXALIASWARN (unlockpt);
+#elif defined GNULIB_POSIXCHECK
+# undef unlockpt
+# if HAVE_RAW_DECL_UNLOCKPT
+_GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - "
+ "use gnulib module unlockpt for portability");
+# endif
+#endif
+
+#if @GNULIB_UNSETENV@
+/* Remove the variable NAME from the environment. */
+# if @REPLACE_UNSETENV@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef unsetenv
+# define unsetenv rpl_unsetenv
+# endif
+_GL_FUNCDECL_RPL (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (unsetenv, int, (const char *name));
+# else
+# if !@HAVE_DECL_UNSETENV@
+_GL_FUNCDECL_SYS (unsetenv, int, (const char *name) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (unsetenv, int, (const char *name));
+# endif
+# if !(@REPLACE_UNSETENV@ && !@HAVE_DECL_UNSETENV@)
+_GL_CXXALIASWARN (unsetenv);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef unsetenv
+# if HAVE_RAW_DECL_UNSETENV
+_GL_WARN_ON_USE (unsetenv, "unsetenv is unportable - "
+ "use gnulib module unsetenv for portability");
+# endif
+#endif
+
+/* Convert a wide character to a multibyte character. */
+#if @GNULIB_WCTOMB@
+# if @REPLACE_WCTOMB@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wctomb
+# define wctomb rpl_wctomb
+# endif
+_GL_FUNCDECL_RPL (wctomb, int, (char *s, wchar_t wc));
+_GL_CXXALIAS_RPL (wctomb, int, (char *s, wchar_t wc));
+# else
+_GL_CXXALIAS_SYS (wctomb, int, (char *s, wchar_t wc));
+# endif
+_GL_CXXALIASWARN (wctomb);
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_STDLIB_H */
+#endif /* _@GUARD_PREFIX@_STDLIB_H */
+#endif
--- /dev/null
+/* Test of optional automatic memory allocation.
+ Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include <alloca.h>
+
+#if HAVE_ALLOCA
+
+static void
+do_allocation (int n)
+{
+ void *ptr = alloca (n);
+ (void) ptr;
+}
+
+void (*func) (int) = do_allocation;
+
+#endif
+
+int
+main ()
+{
+#if HAVE_ALLOCA
+ int i;
+
+ /* Repeat a lot of times, to make sure there's no memory leak. */
+ for (i = 0; i < 100000; i++)
+ {
+ /* Try various values.
+ n = 0 gave a crash on Alpha with gcc-2.5.8.
+ Some versions of MacOS X have a stack size limit of 512 KB. */
+ func (34);
+ func (134);
+ func (399);
+ func (510823);
+ func (129321);
+ func (0);
+ func (4070);
+ func (4095);
+ func (1);
+ func (16582);
+ }
+#endif
+
+ return 0;
+}
/* Test of character handling in C locale.
- Copyright (C) 2005, 2007-2008 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "c-ctype.h"
#include <locale.h>
-#include <stdio.h>
-#include <stdlib.h>
-#define ASSERT(expr) \
- do \
- { \
- if (!(expr)) \
- { \
- fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \
- fflush (stderr); \
- abort (); \
- } \
- } \
- while (0)
+#include "macros.h"
static void
test_all (void)
ASSERT (c_isascii (c) == (c >= 0 && c < 0x80));
switch (c)
- {
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- ASSERT (c_isalnum (c) == 1);
- break;
- default:
- ASSERT (c_isalnum (c) == 0);
- break;
- }
+ {
+ case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+ case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+ case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+ case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+ case 'Y': case 'Z':
+ case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+ case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+ case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+ case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+ case 'y': case 'z':
+ case '0': case '1': case '2': case '3': case '4': case '5':
+ case '6': case '7': case '8': case '9':
+ ASSERT (c_isalnum (c) == 1);
+ break;
+ default:
+ ASSERT (c_isalnum (c) == 0);
+ break;
+ }
switch (c)
- {
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- ASSERT (c_isalpha (c) == 1);
- break;
- default:
- ASSERT (c_isalpha (c) == 0);
- break;
- }
+ {
+ case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+ case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+ case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+ case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+ case 'Y': case 'Z':
+ case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+ case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+ case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+ case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+ case 'y': case 'z':
+ ASSERT (c_isalpha (c) == 1);
+ break;
+ default:
+ ASSERT (c_isalpha (c) == 0);
+ break;
+ }
switch (c)
- {
- case '\t': case ' ':
- ASSERT (c_isblank (c) == 1);
- break;
- default:
- ASSERT (c_isblank (c) == 0);
- break;
- }
+ {
+ case '\t': case ' ':
+ ASSERT (c_isblank (c) == 1);
+ break;
+ default:
+ ASSERT (c_isblank (c) == 0);
+ break;
+ }
ASSERT (c_iscntrl (c) == ((c >= 0 && c < 0x20) || c == 0x7f));
switch (c)
- {
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- ASSERT (c_isdigit (c) == 1);
- break;
- default:
- ASSERT (c_isdigit (c) == 0);
- break;
- }
+ {
+ case '0': case '1': case '2': case '3': case '4': case '5':
+ case '6': case '7': case '8': case '9':
+ ASSERT (c_isdigit (c) == 1);
+ break;
+ default:
+ ASSERT (c_isdigit (c) == 0);
+ break;
+ }
switch (c)
- {
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
- case 's': case 't': case 'u': case 'v': case 'w': case 'x':
- case 'y': case 'z':
- ASSERT (c_islower (c) == 1);
- break;
- default:
- ASSERT (c_islower (c) == 0);
- break;
- }
+ {
+ case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+ case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+ case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+ case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+ case 'y': case 'z':
+ ASSERT (c_islower (c) == 1);
+ break;
+ default:
+ ASSERT (c_islower (c) == 0);
+ break;
+ }
ASSERT (c_isgraph (c) == ((c >= 0x20 && c < 0x7f) && c != ' '));
ASSERT (c_ispunct (c) == (c_isgraph (c) && !c_isalnum (c)));
switch (c)
- {
- case ' ': case '\t': case '\n': case '\v': case '\f': case '\r':
- ASSERT (c_isspace (c) == 1);
- break;
- default:
- ASSERT (c_isspace (c) == 0);
- break;
- }
+ {
+ case ' ': case '\t': case '\n': case '\v': case '\f': case '\r':
+ ASSERT (c_isspace (c) == 1);
+ break;
+ default:
+ ASSERT (c_isspace (c) == 0);
+ break;
+ }
switch (c)
- {
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
- case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
- case 'Y': case 'Z':
- ASSERT (c_isupper (c) == 1);
- break;
- default:
- ASSERT (c_isupper (c) == 0);
- break;
- }
+ {
+ case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+ case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+ case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+ case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+ case 'Y': case 'Z':
+ ASSERT (c_isupper (c) == 1);
+ break;
+ default:
+ ASSERT (c_isupper (c) == 0);
+ break;
+ }
switch (c)
- {
- case '0': case '1': case '2': case '3': case '4': case '5':
- case '6': case '7': case '8': case '9':
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- ASSERT (c_isxdigit (c) == 1);
- break;
- default:
- ASSERT (c_isxdigit (c) == 0);
- break;
- }
+ {
+ case '0': case '1': case '2': case '3': case '4': case '5':
+ case '6': case '7': case '8': case '9':
+ case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+ case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+ ASSERT (c_isxdigit (c) == 1);
+ break;
+ default:
+ ASSERT (c_isxdigit (c) == 0);
+ break;
+ }
switch (c)
- {
- case 'A':
- ASSERT (c_tolower (c) == 'a');
- ASSERT (c_toupper (c) == c);
- break;
- case 'B':
- ASSERT (c_tolower (c) == 'b');
- ASSERT (c_toupper (c) == c);
- break;
- case 'C':
- ASSERT (c_tolower (c) == 'c');
- ASSERT (c_toupper (c) == c);
- break;
- case 'D':
- ASSERT (c_tolower (c) == 'd');
- ASSERT (c_toupper (c) == c);
- break;
- case 'E':
- ASSERT (c_tolower (c) == 'e');
- ASSERT (c_toupper (c) == c);
- break;
- case 'F':
- ASSERT (c_tolower (c) == 'f');
- ASSERT (c_toupper (c) == c);
- break;
- case 'G':
- ASSERT (c_tolower (c) == 'g');
- ASSERT (c_toupper (c) == c);
- break;
- case 'H':
- ASSERT (c_tolower (c) == 'h');
- ASSERT (c_toupper (c) == c);
- break;
- case 'I':
- ASSERT (c_tolower (c) == 'i');
- ASSERT (c_toupper (c) == c);
- break;
- case 'J':
- ASSERT (c_tolower (c) == 'j');
- ASSERT (c_toupper (c) == c);
- break;
- case 'K':
- ASSERT (c_tolower (c) == 'k');
- ASSERT (c_toupper (c) == c);
- break;
- case 'L':
- ASSERT (c_tolower (c) == 'l');
- ASSERT (c_toupper (c) == c);
- break;
- case 'M':
- ASSERT (c_tolower (c) == 'm');
- ASSERT (c_toupper (c) == c);
- break;
- case 'N':
- ASSERT (c_tolower (c) == 'n');
- ASSERT (c_toupper (c) == c);
- break;
- case 'O':
- ASSERT (c_tolower (c) == 'o');
- ASSERT (c_toupper (c) == c);
- break;
- case 'P':
- ASSERT (c_tolower (c) == 'p');
- ASSERT (c_toupper (c) == c);
- break;
- case 'Q':
- ASSERT (c_tolower (c) == 'q');
- ASSERT (c_toupper (c) == c);
- break;
- case 'R':
- ASSERT (c_tolower (c) == 'r');
- ASSERT (c_toupper (c) == c);
- break;
- case 'S':
- ASSERT (c_tolower (c) == 's');
- ASSERT (c_toupper (c) == c);
- break;
- case 'T':
- ASSERT (c_tolower (c) == 't');
- ASSERT (c_toupper (c) == c);
- break;
- case 'U':
- ASSERT (c_tolower (c) == 'u');
- ASSERT (c_toupper (c) == c);
- break;
- case 'V':
- ASSERT (c_tolower (c) == 'v');
- ASSERT (c_toupper (c) == c);
- break;
- case 'W':
- ASSERT (c_tolower (c) == 'w');
- ASSERT (c_toupper (c) == c);
- break;
- case 'X':
- ASSERT (c_tolower (c) == 'x');
- ASSERT (c_toupper (c) == c);
- break;
- case 'Y':
- ASSERT (c_tolower (c) == 'y');
- ASSERT (c_toupper (c) == c);
- break;
- case 'Z':
- ASSERT (c_tolower (c) == 'z');
- ASSERT (c_toupper (c) == c);
- break;
- case 'a':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'A');
- break;
- case 'b':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'B');
- break;
- case 'c':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'C');
- break;
- case 'd':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'D');
- break;
- case 'e':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'E');
- break;
- case 'f':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'F');
- break;
- case 'g':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'G');
- break;
- case 'h':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'H');
- break;
- case 'i':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'I');
- break;
- case 'j':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'J');
- break;
- case 'k':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'K');
- break;
- case 'l':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'L');
- break;
- case 'm':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'M');
- break;
- case 'n':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'N');
- break;
- case 'o':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'O');
- break;
- case 'p':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'P');
- break;
- case 'q':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'Q');
- break;
- case 'r':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'R');
- break;
- case 's':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'S');
- break;
- case 't':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'T');
- break;
- case 'u':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'U');
- break;
- case 'v':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'V');
- break;
- case 'w':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'W');
- break;
- case 'x':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'X');
- break;
- case 'y':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'Y');
- break;
- case 'z':
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == 'Z');
- break;
- default:
- ASSERT (c_tolower (c) == c);
- ASSERT (c_toupper (c) == c);
- break;
- }
+ {
+ case 'A':
+ ASSERT (c_tolower (c) == 'a');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'B':
+ ASSERT (c_tolower (c) == 'b');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'C':
+ ASSERT (c_tolower (c) == 'c');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'D':
+ ASSERT (c_tolower (c) == 'd');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'E':
+ ASSERT (c_tolower (c) == 'e');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'F':
+ ASSERT (c_tolower (c) == 'f');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'G':
+ ASSERT (c_tolower (c) == 'g');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'H':
+ ASSERT (c_tolower (c) == 'h');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'I':
+ ASSERT (c_tolower (c) == 'i');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'J':
+ ASSERT (c_tolower (c) == 'j');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'K':
+ ASSERT (c_tolower (c) == 'k');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'L':
+ ASSERT (c_tolower (c) == 'l');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'M':
+ ASSERT (c_tolower (c) == 'm');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'N':
+ ASSERT (c_tolower (c) == 'n');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'O':
+ ASSERT (c_tolower (c) == 'o');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'P':
+ ASSERT (c_tolower (c) == 'p');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'Q':
+ ASSERT (c_tolower (c) == 'q');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'R':
+ ASSERT (c_tolower (c) == 'r');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'S':
+ ASSERT (c_tolower (c) == 's');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'T':
+ ASSERT (c_tolower (c) == 't');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'U':
+ ASSERT (c_tolower (c) == 'u');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'V':
+ ASSERT (c_tolower (c) == 'v');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'W':
+ ASSERT (c_tolower (c) == 'w');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'X':
+ ASSERT (c_tolower (c) == 'x');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'Y':
+ ASSERT (c_tolower (c) == 'y');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'Z':
+ ASSERT (c_tolower (c) == 'z');
+ ASSERT (c_toupper (c) == c);
+ break;
+ case 'a':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'A');
+ break;
+ case 'b':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'B');
+ break;
+ case 'c':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'C');
+ break;
+ case 'd':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'D');
+ break;
+ case 'e':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'E');
+ break;
+ case 'f':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'F');
+ break;
+ case 'g':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'G');
+ break;
+ case 'h':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'H');
+ break;
+ case 'i':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'I');
+ break;
+ case 'j':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'J');
+ break;
+ case 'k':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'K');
+ break;
+ case 'l':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'L');
+ break;
+ case 'm':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'M');
+ break;
+ case 'n':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'N');
+ break;
+ case 'o':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'O');
+ break;
+ case 'p':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'P');
+ break;
+ case 'q':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'Q');
+ break;
+ case 'r':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'R');
+ break;
+ case 's':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'S');
+ break;
+ case 't':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'T');
+ break;
+ case 'u':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'U');
+ break;
+ case 'v':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'V');
+ break;
+ case 'w':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'W');
+ break;
+ case 'x':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'X');
+ break;
+ case 'y':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'Y');
+ break;
+ case 'z':
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == 'Z');
+ break;
+ default:
+ ASSERT (c_tolower (c) == c);
+ ASSERT (c_toupper (c) == c);
+ break;
+ }
}
}
/* Test of case-insensitive string comparison function.
- Copyright (C) 2007-2008 Free Software Foundation, Inc.
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "c-strcase.h"
#include <locale.h>
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
-#define ASSERT(expr) \
- do \
- { \
- if (!(expr)) \
- { \
- fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \
- fflush (stderr); \
- abort (); \
- } \
- } \
- while (0)
+#include "macros.h"
int
main (int argc, char *argv[])
{
/* configure should already have checked that the locale is supported. */
if (setlocale (LC_ALL, "") == NULL)
- return 1;
+ return 1;
}
ASSERT (c_strcasecmp ("paragraph", "Paragraph") == 0);
/* Test of case-insensitive string comparison function.
- Copyright (C) 2007-2008 Free Software Foundation, Inc.
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "c-strcase.h"
#include <locale.h>
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
-#define ASSERT(expr) \
- do \
- { \
- if (!(expr)) \
- { \
- fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \
- fflush (stderr); \
- abort (); \
- } \
- } \
- while (0)
+#include "macros.h"
int
main (int argc, char *argv[])
{
/* configure should already have checked that the locale is supported. */
if (setlocale (LC_ALL, "") == NULL)
- return 1;
+ return 1;
}
ASSERT (c_strncasecmp ("paragraph", "Paragraph", 1000000) == 0);
--- /dev/null
+/* Test of environ variable.
+ Copyright (C) 2008-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2008. */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include <string.h>
+
+int
+main ()
+{
+ /* The environment variables that are set even in the weirdest situations
+ are HOME and PATH.
+ POSIX says that HOME is initialized by the system, and that PATH may be
+ unset. But in practice it's more frequent to see HOME unset and PATH
+ set. So we test the presence of PATH. */
+ char **remaining_variables = environ;
+ char *string;
+
+ for (; (string = *remaining_variables) != NULL; remaining_variables++)
+ {
+ if (strncmp (string, "PATH=", 5) == 0)
+ /* Found the PATH environment variable. */
+ return 0;
+ }
+ /* Failed to find the PATH environment variable. */
+ return 1;
+}
/* Test of character set conversion.
- Copyright (C) 2007-2008 Free Software Foundation, Inc.
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#if HAVE_ICONV
# include <iconv.h>
+
+# ifndef ICONV_CONST
+# define ICONV_CONST /* empty */
+# endif
+
+#include "signature.h"
+SIGNATURE_CHECK (iconv, size_t, (iconv_t, ICONV_CONST char **, size_t *,
+ char **, size_t *));
+SIGNATURE_CHECK (iconv_close, int, (iconv_t x));
+SIGNATURE_CHECK (iconv_open, iconv_t, (char const *, char const *));
+
#endif
#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
-#define ASSERT(expr) \
- do \
- { \
- if (!(expr)) \
- { \
- fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \
- fflush (stderr); \
- abort (); \
- } \
- } \
- while (0)
+#include "macros.h"
int
main ()
char *outptr = buf;
size_t outbytesleft = sizeof (buf);
size_t res = iconv (cd_88591_to_utf8,
- (ICONV_CONST char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
+ (ICONV_CONST char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
ASSERT (res == 0 && inbytesleft == 0);
ASSERT (outptr == buf + strlen (expected));
ASSERT (memcmp (buf, expected, strlen (expected)) == 0);
char *outptr = buf;
size_t outbytesleft = 1;
size_t res = iconv (cd_88591_to_utf8,
- (ICONV_CONST char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
+ (ICONV_CONST char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
ASSERT (res == (size_t)(-1) && errno == E2BIG);
ASSERT (inbytesleft == 1);
ASSERT (outbytesleft == 1);
char *outptr = buf;
size_t outbytesleft = sizeof (buf);
size_t res = iconv (cd_utf8_to_88591,
- (ICONV_CONST char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
+ (ICONV_CONST char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
ASSERT (res == 0 && inbytesleft == 0);
ASSERT (outptr == buf + strlen (expected));
ASSERT (memcmp (buf, expected, strlen (expected)) == 0);
char *outptr = buf;
size_t outbytesleft = sizeof (buf);
size_t res = iconv (cd_utf8_to_88591,
- (ICONV_CONST char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
+ (ICONV_CONST char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
if (res == (size_t)(-1))
{
ASSERT (errno == EILSEQ);
- ASSERT (inbytesleft == strlen (input) && outptr == buf);
+ ASSERT (inbytesleft == strlen (input) && outptr == buf);
}
else
{
- ASSERT (res == 1);
- ASSERT (inbytesleft == 0);
+ ASSERT (res == 1);
+ ASSERT (inbytesleft == 0);
}
}
char *outptr = buf;
size_t outbytesleft = sizeof (buf);
size_t res = iconv (cd_utf8_to_88591,
- (ICONV_CONST char **) &inptr, &inbytesleft,
- &outptr, &outbytesleft);
+ (ICONV_CONST char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
ASSERT (res == (size_t)(-1) && errno == EINVAL);
ASSERT (inbytesleft == 1 && outptr == buf);
}
--- /dev/null
+/* Test intprops.h.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Paul Eggert. */
+
+/* Tell gcc not to warn about the many (X < 0) expressions that
+ the overflow macros expand to. */
+#if (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) || 4 < __GNUC__
+# pragma GCC diagnostic ignored "-Wtype-limits"
+#endif
+
+#include <config.h>
+
+#include "intprops.h"
+#include "verify.h"
+
+#include <stdbool.h>
+#include <inttypes.h>
+
+#include "macros.h"
+
+/* VERIFY (X) uses a static assertion for compilers that are known to work,
+ and falls back on a dynamic assertion for other compilers.
+ These tests should be checkable via 'verify' rather than 'ASSERT', but
+ using 'verify' would run into a bug with HP-UX 11.23 cc; see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>. */
+#if __GNUC__ || __SUNPRO_C
+# define VERIFY(x) do { verify (x); } while (0)
+#else
+# define VERIFY(x) ASSERT (x)
+#endif
+
+int
+main (void)
+{
+ /* Use VERIFY for tests that must be integer constant expressions,
+ ASSERT otherwise. */
+
+ /* TYPE_IS_INTEGER. */
+ ASSERT (TYPE_IS_INTEGER (bool));
+ ASSERT (TYPE_IS_INTEGER (char));
+ ASSERT (TYPE_IS_INTEGER (signed char));
+ ASSERT (TYPE_IS_INTEGER (unsigned char));
+ ASSERT (TYPE_IS_INTEGER (short int));
+ ASSERT (TYPE_IS_INTEGER (unsigned short int));
+ ASSERT (TYPE_IS_INTEGER (int));
+ ASSERT (TYPE_IS_INTEGER (unsigned int));
+ ASSERT (TYPE_IS_INTEGER (long int));
+ ASSERT (TYPE_IS_INTEGER (unsigned long int));
+ ASSERT (TYPE_IS_INTEGER (intmax_t));
+ ASSERT (TYPE_IS_INTEGER (uintmax_t));
+ ASSERT (! TYPE_IS_INTEGER (float));
+ ASSERT (! TYPE_IS_INTEGER (double));
+ ASSERT (! TYPE_IS_INTEGER (long double));
+
+ /* TYPE_SIGNED. */
+ /* VERIFY (! TYPE_SIGNED (bool)); // not guaranteed by gnulib substitute */
+ VERIFY (TYPE_SIGNED (signed char));
+ VERIFY (! TYPE_SIGNED (unsigned char));
+ VERIFY (TYPE_SIGNED (short int));
+ VERIFY (! TYPE_SIGNED (unsigned short int));
+ VERIFY (TYPE_SIGNED (int));
+ VERIFY (! TYPE_SIGNED (unsigned int));
+ VERIFY (TYPE_SIGNED (long int));
+ VERIFY (! TYPE_SIGNED (unsigned long int));
+ VERIFY (TYPE_SIGNED (intmax_t));
+ VERIFY (! TYPE_SIGNED (uintmax_t));
+ ASSERT (TYPE_SIGNED (float));
+ ASSERT (TYPE_SIGNED (double));
+ ASSERT (TYPE_SIGNED (long double));
+
+ /* Integer representation. */
+ VERIFY (INT_MIN + INT_MAX < 0
+ ? (TYPE_TWOS_COMPLEMENT (int)
+ && ! TYPE_ONES_COMPLEMENT (int) && ! TYPE_SIGNED_MAGNITUDE (int))
+ : (! TYPE_TWOS_COMPLEMENT (int)
+ && (TYPE_ONES_COMPLEMENT (int) || TYPE_SIGNED_MAGNITUDE (int))));
+
+ /* TYPE_MINIMUM, TYPE_MAXIMUM. */
+ VERIFY (TYPE_MINIMUM (char) == CHAR_MIN);
+ VERIFY (TYPE_MAXIMUM (char) == CHAR_MAX);
+ VERIFY (TYPE_MINIMUM (unsigned char) == 0);
+ VERIFY (TYPE_MAXIMUM (unsigned char) == UCHAR_MAX);
+ VERIFY (TYPE_MINIMUM (signed char) == SCHAR_MIN);
+ VERIFY (TYPE_MAXIMUM (signed char) == SCHAR_MAX);
+ VERIFY (TYPE_MINIMUM (short int) == SHRT_MIN);
+ VERIFY (TYPE_MAXIMUM (short int) == SHRT_MAX);
+ VERIFY (TYPE_MINIMUM (unsigned short int) == 0);
+ VERIFY (TYPE_MAXIMUM (unsigned short int) == USHRT_MAX);
+ VERIFY (TYPE_MINIMUM (int) == INT_MIN);
+ VERIFY (TYPE_MAXIMUM (int) == INT_MAX);
+ VERIFY (TYPE_MINIMUM (unsigned int) == 0);
+ VERIFY (TYPE_MAXIMUM (unsigned int) == UINT_MAX);
+ VERIFY (TYPE_MINIMUM (long int) == LONG_MIN);
+ VERIFY (TYPE_MAXIMUM (long int) == LONG_MAX);
+ VERIFY (TYPE_MINIMUM (unsigned long int) == 0);
+ VERIFY (TYPE_MAXIMUM (unsigned long int) == ULONG_MAX);
+ VERIFY (TYPE_MINIMUM (intmax_t) == INTMAX_MIN);
+ VERIFY (TYPE_MAXIMUM (intmax_t) == INTMAX_MAX);
+ VERIFY (TYPE_MINIMUM (uintmax_t) == 0);
+ VERIFY (TYPE_MAXIMUM (uintmax_t) == UINTMAX_MAX);
+
+ /* INT_BITS_STRLEN_BOUND. */
+ VERIFY (INT_BITS_STRLEN_BOUND (1) == 1);
+ VERIFY (INT_BITS_STRLEN_BOUND (2620) == 789);
+
+ /* INT_STRLEN_BOUND, INT_BUFSIZE_BOUND. */
+ #ifdef INT32_MAX /* POSIX guarantees int32_t; this ports to non-POSIX. */
+ VERIFY (INT_STRLEN_BOUND (int32_t) == sizeof ("-2147483648") - 1);
+ VERIFY (INT_BUFSIZE_BOUND (int32_t) == sizeof ("-2147483648"));
+ #endif
+ #ifdef INT64_MAX
+ VERIFY (INT_STRLEN_BOUND (int64_t) == sizeof ("-9223372036854775808") - 1);
+ VERIFY (INT_BUFSIZE_BOUND (int64_t) == sizeof ("-9223372036854775808"));
+ #endif
+
+ /* All the INT_<op>_RANGE_OVERFLOW tests are equally valid as
+ INT_<op>_OVERFLOW tests, so define a single macro to do both. */
+ #define CHECK_BINOP(op, a, b, min, max, overflow) \
+ (INT_##op##_RANGE_OVERFLOW (a, b, min, max) == (overflow) \
+ && INT_##op##_OVERFLOW (a, b) == (overflow))
+ #define CHECK_UNOP(op, a, min, max, overflow) \
+ (INT_##op##_RANGE_OVERFLOW (a, min, max) == (overflow) \
+ && INT_##op##_OVERFLOW (a) == (overflow))
+
+ /* INT_<op>_RANGE_OVERFLOW, INT_<op>_OVERFLOW. */
+ VERIFY (INT_ADD_RANGE_OVERFLOW (INT_MAX, 1, INT_MIN, INT_MAX));
+ VERIFY (INT_ADD_OVERFLOW (INT_MAX, 1));
+ VERIFY (CHECK_BINOP (ADD, INT_MAX, 1, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (ADD, INT_MAX, -1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (ADD, INT_MIN, 1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (ADD, INT_MIN, -1, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (ADD, UINT_MAX, 1u, 0u, UINT_MAX, true));
+ VERIFY (CHECK_BINOP (ADD, 0u, 1u, 0u, UINT_MAX, false));
+
+ VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, 1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (SUBTRACT, INT_MAX, -1, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, 1, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (SUBTRACT, INT_MIN, -1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (SUBTRACT, UINT_MAX, 1u, 0u, UINT_MAX, false));
+ VERIFY (CHECK_BINOP (SUBTRACT, 0u, 1u, 0u, UINT_MAX, true));
+
+ VERIFY (CHECK_UNOP (NEGATE, INT_MIN, INT_MIN, INT_MAX,
+ TYPE_TWOS_COMPLEMENT (int)));
+ VERIFY (CHECK_UNOP (NEGATE, 0, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_UNOP (NEGATE, INT_MAX, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_UNOP (NEGATE, 0u, 0u, UINT_MAX, false));
+ VERIFY (CHECK_UNOP (NEGATE, 1u, 0u, UINT_MAX, true));
+ VERIFY (CHECK_UNOP (NEGATE, UINT_MAX, 0u, UINT_MAX, true));
+
+ VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MAX, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (MULTIPLY, INT_MAX, INT_MIN, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MAX, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (MULTIPLY, INT_MIN, INT_MIN, INT_MIN, INT_MAX, true));
+ VERIFY (CHECK_BINOP (MULTIPLY, -1, INT_MIN, INT_MIN, INT_MAX,
+ INT_NEGATE_OVERFLOW (INT_MIN)));
+ VERIFY (CHECK_BINOP (MULTIPLY, LONG_MIN / INT_MAX, (long int) INT_MAX,
+ LONG_MIN, LONG_MIN, false));
+
+ VERIFY (CHECK_BINOP (DIVIDE, INT_MIN, -1, INT_MIN, INT_MAX,
+ INT_NEGATE_OVERFLOW (INT_MIN)));
+ VERIFY (CHECK_BINOP (DIVIDE, INT_MAX, 1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (DIVIDE, (unsigned int) INT_MIN,
+ -1u, 0u, UINT_MAX, false));
+
+ VERIFY (CHECK_BINOP (REMAINDER, INT_MIN, -1, INT_MIN, INT_MAX,
+ INT_NEGATE_OVERFLOW (INT_MIN)));
+ VERIFY (CHECK_BINOP (REMAINDER, INT_MAX, 1, INT_MIN, INT_MAX, false));
+ VERIFY (CHECK_BINOP (REMAINDER, (unsigned int) INT_MIN,
+ -1u, 0u, UINT_MAX, false));
+
+ VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX, 1, 0u, UINT_MAX, true));
+ VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2 + 1, 1, 0u, UINT_MAX, true));
+ VERIFY (CHECK_BINOP (LEFT_SHIFT, UINT_MAX / 2, 1, 0u, UINT_MAX, false));
+
+ /* INT_<op>_OVERFLOW with mixed types. */
+ #define CHECK_SUM(a, b, overflow) \
+ VERIFY (INT_ADD_OVERFLOW (a, b) == (overflow)); \
+ VERIFY (INT_ADD_OVERFLOW (b, a) == (overflow))
+ CHECK_SUM (-1, LONG_MIN, true);
+ CHECK_SUM (-1, UINT_MAX, false);
+ CHECK_SUM (-1L, INT_MIN, INT_MIN == LONG_MIN);
+ CHECK_SUM (0u, -1, true);
+ CHECK_SUM (0u, 0, false);
+ CHECK_SUM (0u, 1, false);
+ CHECK_SUM (1, LONG_MAX, true);
+ CHECK_SUM (1, UINT_MAX, true);
+ CHECK_SUM (1L, INT_MAX, INT_MAX == LONG_MAX);
+ CHECK_SUM (1u, INT_MAX, INT_MAX == UINT_MAX);
+ CHECK_SUM (1u, INT_MIN, true);
+
+ VERIFY (! INT_SUBTRACT_OVERFLOW (INT_MAX, 1u));
+ VERIFY (! INT_SUBTRACT_OVERFLOW (UINT_MAX, 1));
+ VERIFY (! INT_SUBTRACT_OVERFLOW (0u, -1));
+ VERIFY (INT_SUBTRACT_OVERFLOW (UINT_MAX, -1));
+ VERIFY (INT_SUBTRACT_OVERFLOW (INT_MIN, 1u));
+ VERIFY (INT_SUBTRACT_OVERFLOW (-1, 0u));
+
+ #define CHECK_PRODUCT(a, b, overflow) \
+ VERIFY (INT_MULTIPLY_OVERFLOW (a, b) == (overflow)); \
+ VERIFY (INT_MULTIPLY_OVERFLOW (b, a) == (overflow))
+
+ CHECK_PRODUCT (-1, 1u, true);
+ CHECK_PRODUCT (-1, INT_MIN, INT_NEGATE_OVERFLOW (INT_MIN));
+ CHECK_PRODUCT (-1, UINT_MAX, true);
+ CHECK_PRODUCT (-12345, LONG_MAX / -12345 - 1, true);
+ CHECK_PRODUCT (-12345, LONG_MAX / -12345, false);
+ CHECK_PRODUCT (0, -1, false);
+ CHECK_PRODUCT (0, 0, false);
+ CHECK_PRODUCT (0, 0u, false);
+ CHECK_PRODUCT (0, 1, false);
+ CHECK_PRODUCT (0, INT_MAX, false);
+ CHECK_PRODUCT (0, INT_MIN, false);
+ CHECK_PRODUCT (0, UINT_MAX, false);
+ CHECK_PRODUCT (0u, -1, false);
+ CHECK_PRODUCT (0u, 0, false);
+ CHECK_PRODUCT (0u, 0u, false);
+ CHECK_PRODUCT (0u, 1, false);
+ CHECK_PRODUCT (0u, INT_MAX, false);
+ CHECK_PRODUCT (0u, INT_MIN, false);
+ CHECK_PRODUCT (0u, UINT_MAX, false);
+ CHECK_PRODUCT (1, INT_MAX, false);
+ CHECK_PRODUCT (1, INT_MIN, false);
+ CHECK_PRODUCT (1, UINT_MAX, false);
+ CHECK_PRODUCT (1u, INT_MIN, true);
+ CHECK_PRODUCT (1u, INT_MAX, UINT_MAX < INT_MAX);
+ CHECK_PRODUCT (INT_MAX, UINT_MAX, true);
+ CHECK_PRODUCT (INT_MAX, ULONG_MAX, true);
+ CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN - 1, true);
+ CHECK_PRODUCT (INT_MIN, LONG_MAX / INT_MIN, false);
+ CHECK_PRODUCT (INT_MIN, UINT_MAX, true);
+ CHECK_PRODUCT (INT_MIN, ULONG_MAX, true);
+
+ VERIFY (INT_DIVIDE_OVERFLOW (INT_MIN, -1L)
+ == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
+ VERIFY (! INT_DIVIDE_OVERFLOW (INT_MIN, UINT_MAX));
+ VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINTMAX_MAX));
+ VERIFY (! INT_DIVIDE_OVERFLOW (INTMAX_MIN, UINT_MAX));
+ VERIFY (INT_DIVIDE_OVERFLOW (-11, 10u));
+ VERIFY (INT_DIVIDE_OVERFLOW (-10, 10u));
+ VERIFY (! INT_DIVIDE_OVERFLOW (-9, 10u));
+ VERIFY (INT_DIVIDE_OVERFLOW (11u, -10));
+ VERIFY (INT_DIVIDE_OVERFLOW (10u, -10));
+ VERIFY (! INT_DIVIDE_OVERFLOW (9u, -10));
+
+ VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, -1L)
+ == (TYPE_TWOS_COMPLEMENT (long int) && INT_MIN == LONG_MIN));
+ VERIFY (INT_REMAINDER_OVERFLOW (-1, UINT_MAX));
+ VERIFY (INT_REMAINDER_OVERFLOW ((intmax_t) -1, UINTMAX_MAX));
+ VERIFY (INT_REMAINDER_OVERFLOW (INTMAX_MIN, UINT_MAX)
+ == (INTMAX_MAX < UINT_MAX
+ && - (unsigned int) INTMAX_MIN % UINT_MAX != 0));
+ VERIFY (INT_REMAINDER_OVERFLOW (INT_MIN, ULONG_MAX)
+ == (INT_MIN % ULONG_MAX != 1));
+ VERIFY (! INT_REMAINDER_OVERFLOW (1u, -1));
+ VERIFY (! INT_REMAINDER_OVERFLOW (37*39u, -39));
+ VERIFY (INT_REMAINDER_OVERFLOW (37*39u + 1, -39));
+ VERIFY (INT_REMAINDER_OVERFLOW (37*39u - 1, -39));
+ VERIFY (! INT_REMAINDER_OVERFLOW (LONG_MAX, -INT_MAX));
+
+ return 0;
+}
--- /dev/null
+/* Test of <inttypes.h> substitute.
+ Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
+#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
+#define __STDC_FORMAT_MACROS 1 /* to make it work also in C++ mode */
+#include <inttypes.h>
+
+#include <stddef.h>
+
+/* Tests for macros supposed to be defined in inttypes.h. */
+
+const char *k = /* implicit string concatenation */
+#ifdef INT8_MAX
+ PRId8 PRIi8
+#endif
+#ifdef UINT8_MAX
+ PRIo8 PRIu8 PRIx8 PRIX8
+#endif
+#ifdef INT16_MAX
+ PRId16 PRIi16
+#endif
+#ifdef UINT16_MAX
+ PRIo16 PRIu16 PRIx16 PRIX16
+#endif
+#ifdef INT32_MAX
+ PRId32 PRIi32
+#endif
+#ifdef UINT32_MAX
+ PRIo32 PRIu32 PRIx32 PRIX32
+#endif
+#ifdef INT64_MAX
+ PRId64 PRIi64
+#endif
+#ifdef UINT64_MAX
+ PRIo64 PRIu64 PRIx64 PRIX64
+#endif
+ PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8
+ PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16
+ PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32
+ PRIdLEAST64 PRIiLEAST64
+ PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64
+ PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8
+ PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16
+ PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32
+ PRIdFAST64 PRIiFAST64
+ PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64
+ PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX
+#ifdef INTPTR_MAX
+ PRIdPTR PRIiPTR
+#endif
+#ifdef UINTPTR_MAX
+ PRIoPTR PRIuPTR PRIxPTR PRIXPTR
+#endif
+ ;
+const char *l = /* implicit string concatenation */
+#ifdef INT8_MAX
+ SCNd8 SCNi8
+#endif
+#ifdef UINT8_MAX
+ SCNo8 SCNu8 SCNx8
+#endif
+#ifdef INT16_MAX
+ SCNd16 SCNi16
+#endif
+#ifdef UINT16_MAX
+ SCNo16 SCNu16 SCNx16
+#endif
+#ifdef INT32_MAX
+ SCNd32 SCNi32
+#endif
+#ifdef UINT32_MAX
+ SCNo32 SCNu32 SCNx32
+#endif
+#ifdef INT64_MAX
+ SCNd64 SCNi64
+#endif
+#ifdef UINT64_MAX
+ SCNo64 SCNu64 SCNx64
+#endif
+ SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8
+ SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16
+ SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32
+ SCNdLEAST64 SCNiLEAST64
+ SCNoLEAST64 SCNuLEAST64 SCNxLEAST64
+ SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8
+ SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16
+ SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32
+ SCNdFAST64 SCNiFAST64
+ SCNoFAST64 SCNuFAST64 SCNxFAST64
+ SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX
+#ifdef INTPTR_MAX
+ SCNdPTR SCNiPTR
+#endif
+#ifdef UINTPTR_MAX
+ SCNoPTR SCNuPTR SCNxPTR
+#endif
+ ;
+
+int
+main (void)
+{
+ return 0;
+}
--- /dev/null
+/* Test of <locale.h> substitute.
+ Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include <locale.h>
+
+#include "verify.h"
+
+int a[] =
+ {
+ LC_ALL,
+ LC_COLLATE,
+ LC_CTYPE,
+ LC_MESSAGES,
+ LC_MONETARY,
+ LC_NUMERIC,
+ LC_TIME
+ };
+
+#if HAVE_NEWLOCALE
+/* Check that the locale_t type and the LC_GLOBAL_LOCALE macro are defined. */
+locale_t b = LC_GLOBAL_LOCALE;
+#endif
+
+/* Check that NULL can be passed through varargs as a pointer type,
+ per POSIX 2008. */
+verify (sizeof NULL == sizeof (void *));
+
+int
+main ()
+{
+ return 0;
+}
--- /dev/null
+/* Test of gl_locale_name function and its variants.
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include "localename.h"
+
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "macros.h"
+
+
+#if HAVE_NEWLOCALE
+
+static struct { int cat; int mask; const char *string; } const categories[] =
+ {
+ { LC_CTYPE, LC_CTYPE_MASK, "LC_CTYPE" },
+ { LC_NUMERIC, LC_NUMERIC_MASK, "LC_NUMERIC" },
+ { LC_TIME, LC_TIME_MASK, "LC_TIME" },
+ { LC_COLLATE, LC_COLLATE_MASK, "LC_COLLATE" },
+ { LC_MONETARY, LC_MONETARY_MASK, "LC_MONETARY" },
+ { LC_MESSAGES, LC_MESSAGES_MASK, "LC_MESSAGES" }
+# ifdef LC_PAPER
+ , { LC_PAPER, LC_PAPER_MASK, "LC_PAPER" }
+# endif
+# ifdef LC_NAME
+ , { LC_NAME, LC_NAME_MASK, "LC_NAME" }
+# endif
+# ifdef LC_ADDRESS
+ , { LC_ADDRESS, LC_ADDRESS_MASK, "LC_ADDRESS" }
+# endif
+# ifdef LC_TELEPHONE
+ , { LC_TELEPHONE, LC_TELEPHONE_MASK, "LC_TELEPHONE" }
+# endif
+# ifdef LC_MEASUREMENT
+ , { LC_MEASUREMENT, LC_MEASUREMENT_MASK, "LC_MEASUREMENT" }
+# endif
+# ifdef LC_IDENTIFICATION
+ , { LC_IDENTIFICATION, LC_IDENTIFICATION_MASK, "LC_IDENTIFICATION" }
+# endif
+ };
+
+#endif
+
+/* Test the gl_locale_name() function. */
+static void
+test_locale_name (void)
+{
+ const char *name;
+
+ /* Check that gl_locale_name returns non-NULL. */
+ ASSERT (gl_locale_name (LC_MESSAGES, "LC_MESSAGES") != NULL);
+
+ /* Get into a defined state, */
+ setlocale (LC_ALL, "en_US.UTF-8");
+#if HAVE_NEWLOCALE
+ uselocale (LC_GLOBAL_LOCALE);
+#endif
+
+ /* Check that when all environment variables are unset,
+ gl_locale_name returns the default locale. */
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ unsetenv ("LC_NUMERIC");
+ unsetenv ("LANG");
+ setlocale (LC_ALL, "");
+ ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
+ gl_locale_name_default ()) == 0);
+ ASSERT (strcmp (gl_locale_name (LC_NUMERIC, "LC_NUMERIC"),
+ gl_locale_name_default ()) == 0);
+
+ /* Check that an empty environment variable is treated like an unset
+ environment variable. */
+
+ setenv ("LC_ALL", "", 1);
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ unsetenv ("LANG");
+ setlocale (LC_ALL, "");
+ ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
+ gl_locale_name_default ()) == 0);
+
+ unsetenv ("LC_ALL");
+ setenv ("LC_CTYPE", "", 1);
+ unsetenv ("LC_MESSAGES");
+ unsetenv ("LANG");
+ setlocale (LC_ALL, "");
+ ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
+ gl_locale_name_default ()) == 0);
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ setenv ("LC_MESSAGES", "", 1);
+ unsetenv ("LANG");
+ setlocale (LC_ALL, "");
+ ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
+ gl_locale_name_default ()) == 0);
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ setenv ("LANG", "", 1);
+ setlocale (LC_ALL, "");
+ ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"),
+ gl_locale_name_default ()) == 0);
+
+ /* Check that LC_ALL overrides the others, and LANG is overridden by the
+ others. */
+
+ setenv ("LC_ALL", "C", 1);
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ unsetenv ("LANG");
+ setlocale (LC_ALL, "");
+ ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0);
+
+ unsetenv ("LC_ALL");
+ setenv ("LC_CTYPE", "C", 1);
+ setenv ("LC_MESSAGES", "C", 1);
+ unsetenv ("LANG");
+ setlocale (LC_ALL, "");
+ ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0);
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ setenv ("LANG", "C", 1);
+ setlocale (LC_ALL, "");
+ ASSERT (strcmp (gl_locale_name (LC_MESSAGES, "LC_MESSAGES"), "C") == 0);
+
+ /* Check mixed situations. */
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1);
+ setenv ("LANG", "de_DE.UTF-8", 1);
+ if (setlocale (LC_ALL, "") != NULL)
+ {
+ name = gl_locale_name (LC_CTYPE, "LC_CTYPE");
+ ASSERT (strcmp (name, "de_DE.UTF-8") == 0);
+ name = gl_locale_name (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
+ }
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1);
+ unsetenv ("LANG");
+ if (setlocale (LC_ALL, "") != NULL)
+ {
+ name = gl_locale_name (LC_CTYPE, "LC_CTYPE");
+ ASSERT (strcmp (name, gl_locale_name_default ()) == 0);
+ name = gl_locale_name (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
+ }
+
+#if HAVE_NEWLOCALE
+ /* Check that gl_locale_name considers the thread locale. */
+ {
+ locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL);
+ if (locale != NULL)
+ {
+ uselocale (locale);
+ name = gl_locale_name (LC_CTYPE, "LC_CTYPE");
+ ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
+ name = gl_locale_name (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
+ }
+ }
+
+ /* Check that gl_locale_name distinguishes different categories of the
+ thread locale, and that the name is the right one for each. */
+ {
+ unsigned int i;
+
+ for (i = 0; i < SIZEOF (categories); i++)
+ {
+ int category_mask = categories[i].mask;
+ locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL);
+ if (locale != NULL)
+ {
+ locale = newlocale (category_mask, "de_DE.UTF-8", locale);
+ if (locale != NULL)
+ {
+ unsigned int j;
+
+ uselocale (locale);
+ for (j = 0; j < SIZEOF (categories); j++)
+ {
+ const char *name_j =
+ gl_locale_name (categories[j].cat, categories[j].string);
+ if (j == i)
+ ASSERT (strcmp (name_j, "de_DE.UTF-8") == 0);
+ else
+ ASSERT (strcmp (name_j, "fr_FR.UTF-8") == 0);
+ }
+ }
+ }
+ }
+ }
+#endif
+}
+
+/* Test the gl_locale_name_thread() function. */
+static void
+test_locale_name_thread (void)
+{
+ /* Get into a defined state, */
+ setlocale (LC_ALL, "en_US.UTF-8");
+
+#if HAVE_NEWLOCALE
+ /* Check that gl_locale_name_thread returns NULL when no thread locale is
+ set. */
+ uselocale (LC_GLOBAL_LOCALE);
+ ASSERT (gl_locale_name_thread (LC_CTYPE, "LC_CTYPE") == NULL);
+ ASSERT (gl_locale_name_thread (LC_MESSAGES, "LC_MESSAGES") == NULL);
+
+ /* Check that gl_locale_name_thread considers the thread locale. */
+ {
+ locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL);
+ if (locale != NULL)
+ {
+ const char *name;
+
+ uselocale (locale);
+ name = gl_locale_name_thread (LC_CTYPE, "LC_CTYPE");
+ ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
+ name = gl_locale_name_thread (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
+ }
+ }
+
+ /* Check that gl_locale_name_thread distinguishes different categories of the
+ thread locale, and that the name is the right one for each. */
+ {
+ unsigned int i;
+
+ for (i = 0; i < SIZEOF (categories); i++)
+ {
+ int category_mask = categories[i].mask;
+ locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL);
+ if (locale != NULL)
+ {
+ locale = newlocale (category_mask, "de_DE.UTF-8", locale);
+ if (locale != NULL)
+ {
+ unsigned int j;
+
+ uselocale (locale);
+ for (j = 0; j < SIZEOF (categories); j++)
+ {
+ const char *name_j =
+ gl_locale_name_thread (categories[j].cat,
+ categories[j].string);
+ if (j == i)
+ ASSERT (strcmp (name_j, "de_DE.UTF-8") == 0);
+ else
+ ASSERT (strcmp (name_j, "fr_FR.UTF-8") == 0);
+ }
+ }
+ }
+ }
+ }
+
+ /* Check that gl_locale_name_thread returns a string that is allocated with
+ indefinite extent. */
+ {
+ /* Try many locale names in turn, in order to defeat possible caches. */
+ static const char * const choices[] =
+ {
+ "C",
+ "POSIX",
+ "af_ZA",
+ "af_ZA.UTF-8",
+ "am_ET",
+ "am_ET.UTF-8",
+ "be_BY",
+ "be_BY.UTF-8",
+ "bg_BG",
+ "bg_BG.UTF-8",
+ "ca_ES",
+ "ca_ES.UTF-8",
+ "cs_CZ",
+ "cs_CZ.UTF-8",
+ "da_DK",
+ "da_DK.UTF-8",
+ "de_AT",
+ "de_AT.UTF-8",
+ "de_CH",
+ "de_CH.UTF-8",
+ "de_DE",
+ "de_DE.UTF-8",
+ "el_GR",
+ "el_GR.UTF-8",
+ "en_AU",
+ "en_AU.UTF-8",
+ "en_CA",
+ "en_CA.UTF-8",
+ "en_GB",
+ "en_GB.UTF-8",
+ "en_IE",
+ "en_IE.UTF-8",
+ "en_NZ",
+ "en_NZ.UTF-8",
+ "en_US",
+ "en_US.UTF-8",
+ "es_ES",
+ "es_ES.UTF-8",
+ "et_EE",
+ "et_EE.UTF-8",
+ "eu_ES",
+ "eu_ES.UTF-8",
+ "fi_FI",
+ "fi_FI.UTF-8",
+ "fr_BE",
+ "fr_BE.UTF-8",
+ "fr_CA",
+ "fr_CA.UTF-8",
+ "fr_CH",
+ "fr_CH.UTF-8",
+ "fr_FR",
+ "fr_FR.UTF-8",
+ "he_IL",
+ "he_IL.UTF-8",
+ "hr_HR",
+ "hr_HR.UTF-8",
+ "hu_HU",
+ "hu_HU.UTF-8",
+ "hy_AM",
+ "is_IS",
+ "is_IS.UTF-8",
+ "it_CH",
+ "it_CH.UTF-8",
+ "it_IT",
+ "it_IT.UTF-8",
+ "ja_JP.UTF-8",
+ "kk_KZ",
+ "kk_KZ.UTF-8",
+ "ko_KR.UTF-8",
+ "lt_LT",
+ "lt_LT.UTF-8",
+ "nl_BE",
+ "nl_BE.UTF-8",
+ "nl_NL",
+ "nl_NL.UTF-8",
+ "no_NO",
+ "no_NO.UTF-8",
+ "pl_PL",
+ "pl_PL.UTF-8",
+ "pt_BR",
+ "pt_BR.UTF-8",
+ "pt_PT",
+ "pt_PT.UTF-8",
+ "ro_RO",
+ "ro_RO.UTF-8",
+ "ru_RU",
+ "ru_RU.UTF-8",
+ "sk_SK",
+ "sk_SK.UTF-8",
+ "sl_SI",
+ "sl_SI.UTF-8",
+ "sv_SE",
+ "sv_SE.UTF-8",
+ "tr_TR",
+ "tr_TR.UTF-8",
+ "uk_UA",
+ "uk_UA.UTF-8",
+ "zh_CN",
+ "zh_CN.UTF-8",
+ "zh_HK",
+ "zh_HK.UTF-8",
+ "zh_TW",
+ "zh_TW.UTF-8"
+ };
+ /* Remember which locales are available. */
+ unsigned char /* bool */ available[SIZEOF (choices)];
+ /* Array of remembered results of gl_locale_name_thread. */
+ const char *unsaved_names[SIZEOF (choices)][SIZEOF (categories)];
+ /* Array of remembered results of gl_locale_name_thread, stored in safe
+ memory. */
+ char *saved_names[SIZEOF (choices)][SIZEOF (categories)];
+ unsigned int j;
+
+ for (j = 0; j < SIZEOF (choices); j++)
+ {
+ locale_t locale = newlocale (LC_ALL_MASK, choices[j], NULL);
+ available[j] = (locale != NULL);
+ if (locale != NULL)
+ {
+ unsigned int i;
+
+ uselocale (locale);
+ for (i = 0; i < SIZEOF (categories); i++)
+ {
+ unsaved_names[j][i] = gl_locale_name_thread (categories[i].cat, categories[i].string);
+ saved_names[j][i] = strdup (unsaved_names[j][i]);
+ }
+ uselocale (LC_GLOBAL_LOCALE);
+ freelocale (locale);
+ }
+ }
+ /* Verify the unsaved_names are still valid. */
+ for (j = 0; j < SIZEOF (choices); j++)
+ if (available[j])
+ {
+ unsigned int i;
+
+ for (i = 0; i < SIZEOF (categories); i++)
+ ASSERT (strcmp (unsaved_names[j][i], saved_names[j][i]) == 0);
+ }
+ /* Allocate many locales, without freeing them. This is an attempt at
+ overwriting as much of the previously allocated memory as possible. */
+ for (j = SIZEOF (choices); j > 0; )
+ {
+ j--;
+ if (available[j])
+ {
+ locale_t locale = newlocale (LC_ALL_MASK, choices[j], NULL);
+ unsigned int i;
+
+ ASSERT (locale != NULL);
+ uselocale (locale);
+ for (i = 0; i < SIZEOF (categories); i++)
+ {
+ const char *name = gl_locale_name_thread (categories[i].cat, categories[i].string);
+ ASSERT (strcmp (unsaved_names[j][i], name) == 0);
+ }
+ uselocale (LC_GLOBAL_LOCALE);
+ }
+ }
+ /* Verify the unsaved_names are still valid. */
+ for (j = 0; j < SIZEOF (choices); j++)
+ if (available[j])
+ {
+ unsigned int i;
+
+ for (i = 0; i < SIZEOF (categories); i++)
+ ASSERT (strcmp (unsaved_names[j][i], saved_names[j][i]) == 0);
+ }
+ }
+#else
+ /* Check that gl_locale_name_thread always returns NULL. */
+ ASSERT (gl_locale_name_thread (LC_CTYPE, "LC_CTYPE") == NULL);
+ ASSERT (gl_locale_name_thread (LC_MESSAGES, "LC_MESSAGES") == NULL);
+#endif
+}
+
+/* Test the gl_locale_name_posix() function. */
+static void
+test_locale_name_posix (void)
+{
+ const char *name;
+
+ /* Get into a defined state, */
+ setlocale (LC_ALL, "en_US.UTF-8");
+#if HAVE_NEWLOCALE
+ uselocale (LC_GLOBAL_LOCALE);
+#endif
+
+ /* Check that when all environment variables are unset,
+ gl_locale_name_posix returns either NULL or the default locale. */
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ unsetenv ("LC_NUMERIC");
+ unsetenv ("LANG");
+ setlocale (LC_ALL, "");
+ name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
+ name = gl_locale_name_posix (LC_NUMERIC, "LC_NUMERIC");
+ ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
+
+ /* Check that an empty environment variable is treated like an unset
+ environment variable. */
+
+ setenv ("LC_ALL", "", 1);
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ unsetenv ("LANG");
+ setlocale (LC_ALL, "");
+ name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
+
+ unsetenv ("LC_ALL");
+ setenv ("LC_CTYPE", "", 1);
+ unsetenv ("LC_MESSAGES");
+ unsetenv ("LANG");
+ setlocale (LC_ALL, "");
+ name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ setenv ("LC_MESSAGES", "", 1);
+ unsetenv ("LANG");
+ setlocale (LC_ALL, "");
+ name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ setenv ("LANG", "", 1);
+ setlocale (LC_ALL, "");
+ name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
+
+ /* Check that LC_ALL overrides the others, and LANG is overridden by the
+ others. */
+
+ setenv ("LC_ALL", "C", 1);
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ unsetenv ("LANG");
+ setlocale (LC_ALL, "");
+ name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "C") == 0);
+
+ unsetenv ("LC_ALL");
+ setenv ("LC_CTYPE", "C", 1);
+ setenv ("LC_MESSAGES", "C", 1);
+ unsetenv ("LANG");
+ setlocale (LC_ALL, "");
+ name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "C") == 0);
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ setenv ("LANG", "C", 1);
+ setlocale (LC_ALL, "");
+ name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "C") == 0);
+
+ /* Check mixed situations. */
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1);
+ setenv ("LANG", "de_DE.UTF-8", 1);
+ if (setlocale (LC_ALL, "") != NULL)
+ {
+ name = gl_locale_name_posix (LC_CTYPE, "LC_CTYPE");
+ ASSERT (strcmp (name, "de_DE.UTF-8") == 0);
+ name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
+ }
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1);
+ unsetenv ("LANG");
+ if (setlocale (LC_ALL, "") != NULL)
+ {
+ name = gl_locale_name_posix (LC_CTYPE, "LC_CTYPE");
+ ASSERT (name == NULL || strcmp (name, gl_locale_name_default ()) == 0);
+ name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
+ }
+
+#if HAVE_NEWLOCALE
+ /* Check that gl_locale_name_posix ignores the thread locale. */
+ {
+ locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL);
+ if (locale != NULL)
+ {
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ setenv ("LANG", "C", 1);
+ setlocale (LC_ALL, "");
+ uselocale (locale);
+ name = gl_locale_name_posix (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "C") == 0);
+ }
+ }
+#endif
+}
+
+/* Test the gl_locale_name_environ() function. */
+static void
+test_locale_name_environ (void)
+{
+ const char *name;
+
+ /* Get into a defined state, */
+ setlocale (LC_ALL, "en_US.UTF-8");
+#if HAVE_NEWLOCALE
+ uselocale (LC_GLOBAL_LOCALE);
+#endif
+
+ /* Check that when all environment variables are unset,
+ gl_locale_name_environ returns NULL. */
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ unsetenv ("LC_NUMERIC");
+ unsetenv ("LANG");
+ ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL);
+ ASSERT (gl_locale_name_environ (LC_NUMERIC, "LC_NUMERIC") == NULL);
+
+ /* Check that an empty environment variable is treated like an unset
+ environment variable. */
+
+ setenv ("LC_ALL", "", 1);
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ unsetenv ("LANG");
+ ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL);
+
+ unsetenv ("LC_ALL");
+ setenv ("LC_CTYPE", "", 1);
+ unsetenv ("LC_MESSAGES");
+ unsetenv ("LANG");
+ ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL);
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ setenv ("LC_MESSAGES", "", 1);
+ unsetenv ("LANG");
+ ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL);
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ setenv ("LANG", "", 1);
+ ASSERT (gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES") == NULL);
+
+ /* Check that LC_ALL overrides the others, and LANG is overridden by the
+ others. */
+
+ setenv ("LC_ALL", "C", 1);
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ unsetenv ("LANG");
+ name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "C") == 0);
+
+ unsetenv ("LC_ALL");
+ setenv ("LC_CTYPE", "C", 1);
+ setenv ("LC_MESSAGES", "C", 1);
+ unsetenv ("LANG");
+ name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "C") == 0);
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ setenv ("LANG", "C", 1);
+ name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "C") == 0);
+
+ /* Check mixed situations. */
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1);
+ setenv ("LANG", "de_DE.UTF-8", 1);
+ name = gl_locale_name_environ (LC_CTYPE, "LC_CTYPE");
+ ASSERT (strcmp (name, "de_DE.UTF-8") == 0);
+ name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
+
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ setenv ("LC_MESSAGES", "fr_FR.UTF-8", 1);
+ unsetenv ("LANG");
+ name = gl_locale_name_environ (LC_CTYPE, "LC_CTYPE");
+ ASSERT (name == NULL);
+ name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "fr_FR.UTF-8") == 0);
+
+#if HAVE_NEWLOCALE
+ /* Check that gl_locale_name_environ ignores the thread locale. */
+ {
+ locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL);
+ if (locale != NULL)
+ {
+ unsetenv ("LC_ALL");
+ unsetenv ("LC_CTYPE");
+ unsetenv ("LC_MESSAGES");
+ setenv ("LANG", "C", 1);
+ setlocale (LC_ALL, "");
+ uselocale (locale);
+ name = gl_locale_name_environ (LC_MESSAGES, "LC_MESSAGES");
+ ASSERT (strcmp (name, "C") == 0);
+ }
+ }
+#endif
+}
+
+/* Test the gl_locale_name_default() function. */
+static void
+test_locale_name_default (void)
+{
+ const char *name = gl_locale_name_default ();
+
+ ASSERT (name != NULL);
+
+ /* Only MacOS X and Windows have a facility for the user to set the default
+ locale. */
+#if !((defined __APPLE__ && defined __MACH__) || (defined _WIN32 || defined __WIN32__ || defined __CYGWIN__))
+ ASSERT (strcmp (name, "C") == 0);
+#endif
+
+#if HAVE_NEWLOCALE
+ /* Check that gl_locale_name_default ignores the thread locale. */
+ {
+ locale_t locale = newlocale (LC_ALL_MASK, "fr_FR.UTF-8", NULL);
+ if (locale != NULL)
+ {
+ uselocale (locale);
+ ASSERT (strcmp (gl_locale_name_default (), name) == 0);
+ }
+ }
+#endif
+}
+
+int
+main ()
+{
+ test_locale_name ();
+ test_locale_name_thread ();
+ test_locale_name_posix ();
+ test_locale_name_environ ();
+ test_locale_name_default ();
+
+ return 0;
+}
--- /dev/null
+/* Test of locking in multithreaded situations.
+ Copyright (C) 2005, 2008-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2005. */
+
+#include <config.h>
+
+#if USE_POSIX_THREADS || USE_SOLARIS_THREADS || USE_PTH_THREADS || USE_WIN32_THREADS
+
+#if USE_POSIX_THREADS
+# define TEST_POSIX_THREADS 1
+#endif
+#if USE_SOLARIS_THREADS
+# define TEST_SOLARIS_THREADS 1
+#endif
+#if USE_PTH_THREADS
+# define TEST_PTH_THREADS 1
+#endif
+#if USE_WIN32_THREADS
+# define TEST_WIN32_THREADS 1
+#endif
+
+/* Whether to enable locking.
+ Uncomment this to get a test program without locking, to verify that
+ it crashes. */
+#define ENABLE_LOCKING 1
+
+/* Which tests to perform.
+ Uncomment some of these, to verify that all tests crash if no locking
+ is enabled. */
+#define DO_TEST_LOCK 1
+#define DO_TEST_RWLOCK 1
+#define DO_TEST_RECURSIVE_LOCK 1
+#define DO_TEST_ONCE 1
+
+/* Whether to help the scheduler through explicit yield().
+ Uncomment this to see if the operating system has a fair scheduler. */
+#define EXPLICIT_YIELD 1
+
+/* Whether to print debugging messages. */
+#define ENABLE_DEBUGGING 0
+
+/* Number of simultaneous threads. */
+#define THREAD_COUNT 10
+
+/* Number of operations performed in each thread.
+ This is quite high, because with a smaller count, say 5000, we often get
+ an "OK" result even without ENABLE_LOCKING (on Linux/x86). */
+#define REPEAT_COUNT 50000
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#if !ENABLE_LOCKING
+# undef USE_POSIX_THREADS
+# undef USE_SOLARIS_THREADS
+# undef USE_PTH_THREADS
+# undef USE_WIN32_THREADS
+#endif
+#include "glthread/lock.h"
+
+#if !ENABLE_LOCKING
+# if TEST_POSIX_THREADS
+# define USE_POSIX_THREADS 1
+# endif
+# if TEST_SOLARIS_THREADS
+# define USE_SOLARIS_THREADS 1
+# endif
+# if TEST_PTH_THREADS
+# define USE_PTH_THREADS 1
+# endif
+# if TEST_WIN32_THREADS
+# define USE_WIN32_THREADS 1
+# endif
+#endif
+
+#include "glthread/thread.h"
+#include "glthread/yield.h"
+
+#if ENABLE_DEBUGGING
+# define dbgprintf printf
+#else
+# define dbgprintf if (0) printf
+#endif
+
+#if EXPLICIT_YIELD
+# define yield() gl_thread_yield ()
+#else
+# define yield()
+#endif
+
+#define ACCOUNT_COUNT 4
+
+static int account[ACCOUNT_COUNT];
+
+static int
+random_account (void)
+{
+ return ((unsigned int) rand () >> 3) % ACCOUNT_COUNT;
+}
+
+static void
+check_accounts (void)
+{
+ int i, sum;
+
+ sum = 0;
+ for (i = 0; i < ACCOUNT_COUNT; i++)
+ sum += account[i];
+ if (sum != ACCOUNT_COUNT * 1000)
+ abort ();
+}
+
+
+/* ------------------- Test normal (non-recursive) locks ------------------- */
+
+/* Test normal locks by having several bank accounts and several threads
+ which shuffle around money between the accounts and another thread
+ checking that all the money is still there. */
+
+gl_lock_define_initialized(static, my_lock)
+
+static void *
+lock_mutator_thread (void *arg)
+{
+ int repeat;
+
+ for (repeat = REPEAT_COUNT; repeat > 0; repeat--)
+ {
+ int i1, i2, value;
+
+ dbgprintf ("Mutator %p before lock\n", gl_thread_self_pointer ());
+ gl_lock_lock (my_lock);
+ dbgprintf ("Mutator %p after lock\n", gl_thread_self_pointer ());
+
+ i1 = random_account ();
+ i2 = random_account ();
+ value = ((unsigned int) rand () >> 3) % 10;
+ account[i1] += value;
+ account[i2] -= value;
+
+ dbgprintf ("Mutator %p before unlock\n", gl_thread_self_pointer ());
+ gl_lock_unlock (my_lock);
+ dbgprintf ("Mutator %p after unlock\n", gl_thread_self_pointer ());
+
+ dbgprintf ("Mutator %p before check lock\n", gl_thread_self_pointer ());
+ gl_lock_lock (my_lock);
+ check_accounts ();
+ gl_lock_unlock (my_lock);
+ dbgprintf ("Mutator %p after check unlock\n", gl_thread_self_pointer ());
+
+ yield ();
+ }
+
+ dbgprintf ("Mutator %p dying.\n", gl_thread_self_pointer ());
+ return NULL;
+}
+
+static volatile int lock_checker_done;
+
+static void *
+lock_checker_thread (void *arg)
+{
+ while (!lock_checker_done)
+ {
+ dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ());
+ gl_lock_lock (my_lock);
+ check_accounts ();
+ gl_lock_unlock (my_lock);
+ dbgprintf ("Checker %p after check unlock\n", gl_thread_self_pointer ());
+
+ yield ();
+ }
+
+ dbgprintf ("Checker %p dying.\n", gl_thread_self_pointer ());
+ return NULL;
+}
+
+static void
+test_lock (void)
+{
+ int i;
+ gl_thread_t checkerthread;
+ gl_thread_t threads[THREAD_COUNT];
+
+ /* Initialization. */
+ for (i = 0; i < ACCOUNT_COUNT; i++)
+ account[i] = 1000;
+ lock_checker_done = 0;
+
+ /* Spawn the threads. */
+ checkerthread = gl_thread_create (lock_checker_thread, NULL);
+ for (i = 0; i < THREAD_COUNT; i++)
+ threads[i] = gl_thread_create (lock_mutator_thread, NULL);
+
+ /* Wait for the threads to terminate. */
+ for (i = 0; i < THREAD_COUNT; i++)
+ gl_thread_join (threads[i], NULL);
+ lock_checker_done = 1;
+ gl_thread_join (checkerthread, NULL);
+ check_accounts ();
+}
+
+
+/* ----------------- Test read-write (non-recursive) locks ----------------- */
+
+/* Test read-write locks by having several bank accounts and several threads
+ which shuffle around money between the accounts and several other threads
+ that check that all the money is still there. */
+
+gl_rwlock_define_initialized(static, my_rwlock)
+
+static void *
+rwlock_mutator_thread (void *arg)
+{
+ int repeat;
+
+ for (repeat = REPEAT_COUNT; repeat > 0; repeat--)
+ {
+ int i1, i2, value;
+
+ dbgprintf ("Mutator %p before wrlock\n", gl_thread_self_pointer ());
+ gl_rwlock_wrlock (my_rwlock);
+ dbgprintf ("Mutator %p after wrlock\n", gl_thread_self_pointer ());
+
+ i1 = random_account ();
+ i2 = random_account ();
+ value = ((unsigned int) rand () >> 3) % 10;
+ account[i1] += value;
+ account[i2] -= value;
+
+ dbgprintf ("Mutator %p before unlock\n", gl_thread_self_pointer ());
+ gl_rwlock_unlock (my_rwlock);
+ dbgprintf ("Mutator %p after unlock\n", gl_thread_self_pointer ());
+
+ yield ();
+ }
+
+ dbgprintf ("Mutator %p dying.\n", gl_thread_self_pointer ());
+ return NULL;
+}
+
+static volatile int rwlock_checker_done;
+
+static void *
+rwlock_checker_thread (void *arg)
+{
+ while (!rwlock_checker_done)
+ {
+ dbgprintf ("Checker %p before check rdlock\n", gl_thread_self_pointer ());
+ gl_rwlock_rdlock (my_rwlock);
+ check_accounts ();
+ gl_rwlock_unlock (my_rwlock);
+ dbgprintf ("Checker %p after check unlock\n", gl_thread_self_pointer ());
+
+ yield ();
+ }
+
+ dbgprintf ("Checker %p dying.\n", gl_thread_self_pointer ());
+ return NULL;
+}
+
+static void
+test_rwlock (void)
+{
+ int i;
+ gl_thread_t checkerthreads[THREAD_COUNT];
+ gl_thread_t threads[THREAD_COUNT];
+
+ /* Initialization. */
+ for (i = 0; i < ACCOUNT_COUNT; i++)
+ account[i] = 1000;
+ rwlock_checker_done = 0;
+
+ /* Spawn the threads. */
+ for (i = 0; i < THREAD_COUNT; i++)
+ checkerthreads[i] = gl_thread_create (rwlock_checker_thread, NULL);
+ for (i = 0; i < THREAD_COUNT; i++)
+ threads[i] = gl_thread_create (rwlock_mutator_thread, NULL);
+
+ /* Wait for the threads to terminate. */
+ for (i = 0; i < THREAD_COUNT; i++)
+ gl_thread_join (threads[i], NULL);
+ rwlock_checker_done = 1;
+ for (i = 0; i < THREAD_COUNT; i++)
+ gl_thread_join (checkerthreads[i], NULL);
+ check_accounts ();
+}
+
+
+/* -------------------------- Test recursive locks -------------------------- */
+
+/* Test recursive locks by having several bank accounts and several threads
+ which shuffle around money between the accounts (recursively) and another
+ thread checking that all the money is still there. */
+
+gl_recursive_lock_define_initialized(static, my_reclock)
+
+static void
+recshuffle (void)
+{
+ int i1, i2, value;
+
+ dbgprintf ("Mutator %p before lock\n", gl_thread_self_pointer ());
+ gl_recursive_lock_lock (my_reclock);
+ dbgprintf ("Mutator %p after lock\n", gl_thread_self_pointer ());
+
+ i1 = random_account ();
+ i2 = random_account ();
+ value = ((unsigned int) rand () >> 3) % 10;
+ account[i1] += value;
+ account[i2] -= value;
+
+ /* Recursive with probability 0.5. */
+ if (((unsigned int) rand () >> 3) % 2)
+ recshuffle ();
+
+ dbgprintf ("Mutator %p before unlock\n", gl_thread_self_pointer ());
+ gl_recursive_lock_unlock (my_reclock);
+ dbgprintf ("Mutator %p after unlock\n", gl_thread_self_pointer ());
+}
+
+static void *
+reclock_mutator_thread (void *arg)
+{
+ int repeat;
+
+ for (repeat = REPEAT_COUNT; repeat > 0; repeat--)
+ {
+ recshuffle ();
+
+ dbgprintf ("Mutator %p before check lock\n", gl_thread_self_pointer ());
+ gl_recursive_lock_lock (my_reclock);
+ check_accounts ();
+ gl_recursive_lock_unlock (my_reclock);
+ dbgprintf ("Mutator %p after check unlock\n", gl_thread_self_pointer ());
+
+ yield ();
+ }
+
+ dbgprintf ("Mutator %p dying.\n", gl_thread_self_pointer ());
+ return NULL;
+}
+
+static volatile int reclock_checker_done;
+
+static void *
+reclock_checker_thread (void *arg)
+{
+ while (!reclock_checker_done)
+ {
+ dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ());
+ gl_recursive_lock_lock (my_reclock);
+ check_accounts ();
+ gl_recursive_lock_unlock (my_reclock);
+ dbgprintf ("Checker %p after check unlock\n", gl_thread_self_pointer ());
+
+ yield ();
+ }
+
+ dbgprintf ("Checker %p dying.\n", gl_thread_self_pointer ());
+ return NULL;
+}
+
+static void
+test_recursive_lock (void)
+{
+ int i;
+ gl_thread_t checkerthread;
+ gl_thread_t threads[THREAD_COUNT];
+
+ /* Initialization. */
+ for (i = 0; i < ACCOUNT_COUNT; i++)
+ account[i] = 1000;
+ reclock_checker_done = 0;
+
+ /* Spawn the threads. */
+ checkerthread = gl_thread_create (reclock_checker_thread, NULL);
+ for (i = 0; i < THREAD_COUNT; i++)
+ threads[i] = gl_thread_create (reclock_mutator_thread, NULL);
+
+ /* Wait for the threads to terminate. */
+ for (i = 0; i < THREAD_COUNT; i++)
+ gl_thread_join (threads[i], NULL);
+ reclock_checker_done = 1;
+ gl_thread_join (checkerthread, NULL);
+ check_accounts ();
+}
+
+
+/* ------------------------ Test once-only execution ------------------------ */
+
+/* Test once-only execution by having several threads attempt to grab a
+ once-only task simultaneously (triggered by releasing a read-write lock). */
+
+gl_once_define(static, fresh_once)
+static int ready[THREAD_COUNT];
+static gl_lock_t ready_lock[THREAD_COUNT];
+#if ENABLE_LOCKING
+static gl_rwlock_t fire_signal[REPEAT_COUNT];
+#else
+static volatile int fire_signal_state;
+#endif
+static gl_once_t once_control;
+static int performed;
+gl_lock_define_initialized(static, performed_lock)
+
+static void
+once_execute (void)
+{
+ gl_lock_lock (performed_lock);
+ performed++;
+ gl_lock_unlock (performed_lock);
+}
+
+static void *
+once_contender_thread (void *arg)
+{
+ int id = (int) (long) arg;
+ int repeat;
+
+ for (repeat = 0; repeat <= REPEAT_COUNT; repeat++)
+ {
+ /* Tell the main thread that we're ready. */
+ gl_lock_lock (ready_lock[id]);
+ ready[id] = 1;
+ gl_lock_unlock (ready_lock[id]);
+
+ if (repeat == REPEAT_COUNT)
+ break;
+
+ dbgprintf ("Contender %p waiting for signal for round %d\n",
+ gl_thread_self_pointer (), repeat);
+#if ENABLE_LOCKING
+ /* Wait for the signal to go. */
+ gl_rwlock_rdlock (fire_signal[repeat]);
+ /* And don't hinder the others (if the scheduler is unfair). */
+ gl_rwlock_unlock (fire_signal[repeat]);
+#else
+ /* Wait for the signal to go. */
+ while (fire_signal_state <= repeat)
+ yield ();
+#endif
+ dbgprintf ("Contender %p got the signal for round %d\n",
+ gl_thread_self_pointer (), repeat);
+
+ /* Contend for execution. */
+ gl_once (once_control, once_execute);
+ }
+
+ return NULL;
+}
+
+static void
+test_once (void)
+{
+ int i, repeat;
+ gl_thread_t threads[THREAD_COUNT];
+
+ /* Initialize all variables. */
+ for (i = 0; i < THREAD_COUNT; i++)
+ {
+ ready[i] = 0;
+ gl_lock_init (ready_lock[i]);
+ }
+#if ENABLE_LOCKING
+ for (i = 0; i < REPEAT_COUNT; i++)
+ gl_rwlock_init (fire_signal[i]);
+#else
+ fire_signal_state = 0;
+#endif
+
+ /* Block all fire_signals. */
+ for (i = REPEAT_COUNT-1; i >= 0; i--)
+ gl_rwlock_wrlock (fire_signal[i]);
+
+ /* Spawn the threads. */
+ for (i = 0; i < THREAD_COUNT; i++)
+ threads[i] = gl_thread_create (once_contender_thread, (void *) (long) i);
+
+ for (repeat = 0; repeat <= REPEAT_COUNT; repeat++)
+ {
+ /* Wait until every thread is ready. */
+ dbgprintf ("Main thread before synchonizing for round %d\n", repeat);
+ for (;;)
+ {
+ int ready_count = 0;
+ for (i = 0; i < THREAD_COUNT; i++)
+ {
+ gl_lock_lock (ready_lock[i]);
+ ready_count += ready[i];
+ gl_lock_unlock (ready_lock[i]);
+ }
+ if (ready_count == THREAD_COUNT)
+ break;
+ yield ();
+ }
+ dbgprintf ("Main thread after synchonizing for round %d\n", repeat);
+
+ if (repeat > 0)
+ {
+ /* Check that exactly one thread executed the once_execute()
+ function. */
+ if (performed != 1)
+ abort ();
+ }
+
+ if (repeat == REPEAT_COUNT)
+ break;
+
+ /* Preparation for the next round: Initialize once_control. */
+ memcpy (&once_control, &fresh_once, sizeof (gl_once_t));
+
+ /* Preparation for the next round: Reset the performed counter. */
+ performed = 0;
+
+ /* Preparation for the next round: Reset the ready flags. */
+ for (i = 0; i < THREAD_COUNT; i++)
+ {
+ gl_lock_lock (ready_lock[i]);
+ ready[i] = 0;
+ gl_lock_unlock (ready_lock[i]);
+ }
+
+ /* Signal all threads simultaneously. */
+ dbgprintf ("Main thread giving signal for round %d\n", repeat);
+#if ENABLE_LOCKING
+ gl_rwlock_unlock (fire_signal[repeat]);
+#else
+ fire_signal_state = repeat + 1;
+#endif
+ }
+
+ /* Wait for the threads to terminate. */
+ for (i = 0; i < THREAD_COUNT; i++)
+ gl_thread_join (threads[i], NULL);
+}
+
+
+/* -------------------------------------------------------------------------- */
+
+int
+main ()
+{
+#if TEST_PTH_THREADS
+ if (!pth_init ())
+ abort ();
+#endif
+
+#if DO_TEST_LOCK
+ printf ("Starting test_lock ..."); fflush (stdout);
+ test_lock ();
+ printf (" OK\n"); fflush (stdout);
+#endif
+#if DO_TEST_RWLOCK
+ printf ("Starting test_rwlock ..."); fflush (stdout);
+ test_rwlock ();
+ printf (" OK\n"); fflush (stdout);
+#endif
+#if DO_TEST_RECURSIVE_LOCK
+ printf ("Starting test_recursive_lock ..."); fflush (stdout);
+ test_recursive_lock ();
+ printf (" OK\n"); fflush (stdout);
+#endif
+#if DO_TEST_ONCE
+ printf ("Starting test_once ..."); fflush (stdout);
+ test_once ();
+ printf (" OK\n"); fflush (stdout);
+#endif
+
+ return 0;
+}
+
+#else
+
+/* No multithreading available. */
+
+#include <stdio.h>
+
+int
+main ()
+{
+ fputs ("Skipping test: multithreading not enabled\n", stderr);
+ return 77;
+}
+
+#endif
--- /dev/null
+/* Test of safe automatic memory allocation.
+ Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2005. */
+
+#include <config.h>
+
+#include "malloca.h"
+
+#include <stdlib.h>
+
+static void
+do_allocation (int n)
+{
+ void *ptr = malloca (n);
+ freea (ptr);
+ safe_alloca (n);
+}
+
+void (*func) (int) = do_allocation;
+
+int
+main ()
+{
+ int i;
+
+ /* This slows down malloc a lot. */
+ unsetenv ("MALLOC_PERTURB_");
+
+ /* Repeat a lot of times, to make sure there's no memory leak. */
+ for (i = 0; i < 50000; i++)
+ {
+ /* Try various values.
+ n = 0 gave a crash on Alpha with gcc-2.5.8.
+ Some versions of MacOS X have a stack size limit of 512 KB. */
+ func (34);
+ func (134);
+ func (399);
+ func (510823);
+ func (129321);
+ func (0);
+ func (4070);
+ func (4095);
+ func (1);
+ func (16582);
+ }
+
+ return 0;
+}
--- /dev/null
+/* Tests of setenv.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009. */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (setenv, int, (char const *, char const *, int));
+
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+int
+main (void)
+{
+ /* Test overwriting. */
+ ASSERT (setenv ("a", "==", -1) == 0);
+ ASSERT (setenv ("a", "2", 0) == 0);
+ ASSERT (strcmp (getenv ("a"), "==") == 0);
+
+ /* Required to fail with EINVAL. */
+ errno = 0;
+ ASSERT (setenv ("", "", 1) == -1);
+ ASSERT (errno == EINVAL);
+ errno = 0;
+ ASSERT (setenv ("a=b", "", 0) == -1);
+ ASSERT (errno == EINVAL);
+#if 0
+ /* glibc and gnulib's implementation guarantee this, but POSIX no
+ longer requires it: http://austingroupbugs.net/view.php?id=185 */
+ errno = 0;
+ ASSERT (setenv (NULL, "", 0) == -1);
+ ASSERT (errno == EINVAL);
+#endif
+
+ return 0;
+}
--- /dev/null
+/* Test of setting the current locale.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <locale.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (setlocale, char *, (int, const char *));
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "macros.h"
+
+int
+main (int argc, char *argv[])
+{
+ char *name1;
+ char *name2;
+
+ /* Try to set the locale by implicitly looking at the LC_ALL environment
+ variable.
+ configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, "") == NULL)
+ return 1;
+
+ name1 = strdup (setlocale (LC_ALL, NULL));
+
+ /* Reset the locale. */
+ if (setlocale (LC_ALL, "C") == NULL)
+ return 1;
+
+ /* Try to set the locale by explicitly looking at the LC_ALL environment
+ variable.
+ configure should already have checked that the locale is supported. */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL)
+ return 1;
+
+ name2 = strdup (setlocale (LC_ALL, NULL));
+
+ /* Test that the two results are the same. */
+ ASSERT (strcmp (name1, name2) == 0);
+
+ return 0;
+}
--- /dev/null
+#!/bin/sh
+
+: ${LOCALE_FR=fr_FR}
+: ${LOCALE_FR_UTF8=fr_FR.UTF-8}
+: ${LOCALE_JA=ja_JP}
+: ${LOCALE_ZH_CN=zh_CN.GB18030}
+
+if test $LOCALE_FR = none && test $LOCALE_FR_UTF8 = none \
+ && test $LOCALE_JA = none && test $LOCALE_ZH_CN = none; then
+ if test -f /usr/bin/localedef; then
+ echo "Skipping test: no locale for testing is installed"
+ else
+ echo "Skipping test: no locale for testing is supported"
+ fi
+ exit 77
+fi
+
+if test $LOCALE_FR != none; then
+ LC_ALL=$LOCALE_FR ./test-setlocale1${EXEEXT} || exit 1
+fi
+
+if test $LOCALE_FR_UTF8 != none; then
+ LC_ALL=$LOCALE_FR_UTF8 ./test-setlocale1${EXEEXT} || exit 1
+fi
+
+if test $LOCALE_JA != none; then
+ LC_ALL=$LOCALE_JA ./test-setlocale1${EXEEXT} || exit 1
+fi
+
+if test $LOCALE_ZH_CN != none; then
+ LC_ALL=$LOCALE_ZH_CN ./test-setlocale1${EXEEXT} || exit 1
+fi
+
+exit 0
--- /dev/null
+/* Test of setting the current locale.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+#include <locale.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+int
+main ()
+{
+ /* Try to set the locale by implicitly looking at the LC_ALL environment
+ variable. */
+ if (setlocale (LC_ALL, "") != NULL)
+ /* It was successful. Check whether LC_CTYPE is non-trivial. */
+ if (strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ {
+ fprintf (stderr, "setlocale did not fail for implicit %s\n",
+ getenv ("LC_ALL"));
+ return 1;
+ }
+
+ /* Reset the locale. */
+ if (setlocale (LC_ALL, "C") == NULL)
+ return 1;
+
+ /* Try to set the locale by explicitly looking at the LC_ALL environment
+ variable. */
+ if (setlocale (LC_ALL, getenv ("LC_ALL")) != NULL)
+ /* It was successful. Check whether LC_CTYPE is non-trivial. */
+ if (strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
+ {
+ fprintf (stderr, "setlocale did not fail for explicit %s\n",
+ getenv ("LC_ALL"));
+ return 1;
+ }
+
+ return 0;
+}
--- /dev/null
+#!/bin/sh
+
+# Test locale names with likely unsupported encoding in Unix syntax.
+for name in ar_SA.ISO-8859-1 fr_FR.CP1251 zh_TW.GB18030 zh_CN.BIG5; do
+ LC_ALL=$name ./test-setlocale2${EXEEXT} 1 || exit 1
+done
+
+# Test locale names with likely unsupported encoding in native Windows syntax.
+for name in "Arabic_Saudi Arabia.1252" "Arabic_Saudi Arabia.65001" \
+ French_France.65001 Japanese_Japan.65001 Turkish_Turkey.65001 \
+ Chinese_Taiwan.65001 Chinese_China.54936 Chinese_China.65001; do
+ LC_ALL=$name ./test-setlocale2${EXEEXT} 1 || exit 1
+done
+
+exit 0
/* Test of <stdbool.h> substitute.
- Copyright (C) 2002-2007 Free Software Foundation, Inc.
+ Copyright (C) 2002-2007, 2009-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+/* We want this test to succeed even when using gcc's -Werror; but to
+ do that requires a pragma that didn't exist before 4.3.0. */
+#ifndef __GNUC__
+# define ADDRESS_CHECK_OKAY
+#elif __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3)
+/* No way to silence -Waddress. */
+#else
+# pragma GCC diagnostic ignored "-Waddress"
+# define ADDRESS_CHECK_OKAY
+#endif
+
#include <config.h>
#include <stdbool.h>
"error: __bool_true_false_are_defined is not defined"
#endif
-#if 0 /* Cannot be guaranteed with gnulib's <stdbool.h>. */
+/* Several tests cannot be guaranteed with gnulib's <stdbool.h>, at
+ least, not for all compilers and compiler options. */
+#if HAVE_STDBOOL_H || 3 <= __GNUC__
struct s { _Bool s: 1; _Bool t; } s;
#endif
char a[true == 1 ? 1 : -1];
char b[false == 0 ? 1 : -1];
char c[__bool_true_false_are_defined == 1 ? 1 : -1];
-#if 0 /* Cannot be guaranteed with gnulib's <stdbool.h>. */
+#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above. */
char d[(bool) 0.5 == true ? 1 : -1];
+# ifdef ADDRESS_CHECK_OKAY /* Avoid gcc warning. */
+/* C99 may plausibly be interpreted as not requiring support for a cast from
+ a variable's address to bool in a static initializer. So treat it like a
+ GCC extension. */
+# ifdef __GNUC__
bool e = &s;
-#endif
+# endif
+# endif
char f[(_Bool) 0.0 == false ? 1 : -1];
+#endif
char g[true];
char h[sizeof (_Bool)];
-#if 0 /* See above. */
+#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above. */
char i[sizeof s.t];
#endif
enum { j = false, k = true, l = false * true, m = true * 256 };
_Bool n[m];
char o[sizeof n == m * sizeof n[0] ? 1 : -1];
char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
-#if 0 /* Cannot be guaranteed with gnulib's <stdbool.h>. */
-#if defined __xlc__ || defined __GNUC__
- /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
- reported by James Lemley on 2005-10-05; see
- http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
- This test is not quite right, since xlc is allowed to
- reject this program, as the initializer for xlcbug is
- not one of the forms that C requires support for.
- However, doing the test right would require a run-time
- test, and that would make cross-compilation harder.
- Let us hope that IBM fixes the xlc bug, and also adds
- support for this kind of constant expression. In the
- meantime, this test will reject xlc, which is OK, since
- our stdbool.h substitute should suffice. We also test
- this with GCC, where it should work, to detect more
- quickly whether someone messes up the test in the
- future. */
- char digs[] = "0123456789";
- int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1);
-#endif
-#endif
/* Catch a bug in an HP-UX C compiler. See
http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
int
main ()
{
- return 0;
+ int error = 0;
+
+#if HAVE_STDBOOL_H || 3 <= __GNUC__ /* See above. */
+# ifdef ADDRESS_CHECK_OKAY /* Avoid gcc warning. */
+ /* A cast from a variable's address to bool is valid in expressions. */
+ {
+ bool e1 = &s;
+ if (!e1)
+ error = 1;
+ }
+# endif
+#endif
+
+ /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0
+ reported by James Lemley on 2005-10-05; see
+ http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
+ This is a runtime test, since a corresponding compile-time
+ test would rely on initializer extensions. */
+ {
+ char digs[] = "0123456789";
+ if (&(digs + 5)[-2 + (bool) 1] != &digs[4])
+ error = 1;
+ }
+
+ return error;
}
--- /dev/null
+/* Test of <stddef.h> substitute.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009. */
+
+#include <config.h>
+
+#include <stddef.h>
+
+#include "verify.h"
+
+/* Check that appropriate types are defined. */
+wchar_t a = 'c';
+ptrdiff_t b = 1;
+size_t c = 2;
+
+/* Check that NULL can be passed through varargs as a pointer type,
+ per POSIX 2008. */
+verify (sizeof NULL == sizeof (void *));
+
+/* Check that offsetof produces integer constants with correct type. */
+struct d
+{
+ char e;
+ char f;
+};
+/* Solaris 10 has a bug where offsetof is under-parenthesized, and
+ cannot be used as an arbitrary expression. However, since it is
+ unlikely to bite real code, we ignore that short-coming. */
+/* verify (sizeof offsetof (struct d, e) == sizeof (size_t)); */
+verify (sizeof (offsetof (struct d, e)) == sizeof (size_t));
+verify (offsetof (struct d, e) < -1); /* Must be unsigned. */
+verify (offsetof (struct d, f) == 1);
+
+int
+main (void)
+{
+ return 0;
+}
/* Test of <stdint.h> substitute.
- Copyright (C) 2006-2008 Free Software Foundation, Inc.
+ Copyright (C) 2006-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#define DO_PEDANTIC 0
#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
+#define __STDC_CONSTANT_MACROS 1 /* likewise */
#include <stdint.h>
#include "verify.h"
int
-main ()
+main (void)
{
return 0;
}
--- /dev/null
+/* Test of <stdlib.h> substitute.
+ Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include "verify.h"
+
+/* Check that EXIT_SUCCESS is 0, per POSIX. */
+static int exitcode = EXIT_SUCCESS;
+#if EXIT_SUCCESS
+"oops"
+#endif
+
+/* Check for GNU value (not guaranteed by POSIX, but is guaranteed by
+ gnulib). */
+#if EXIT_FAILURE != 1
+"oops"
+#endif
+
+/* Check that NULL can be passed through varargs as a pointer type,
+ per POSIX 2008. */
+verify (sizeof NULL == sizeof (void *));
+
+#if GNULIB_TEST_SYSTEM_POSIX
+# include "test-sys_wait.h"
+#else
+# define test_sys_wait_macros() 0
+#endif
+
+int
+main (void)
+{
+ if (test_sys_wait_macros ())
+ return 1;
+
+ return exitcode;
+}
/* Test of character set conversion.
- Copyright (C) 2007-2008 Free Software Foundation, Inc.
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#endif
#include <errno.h>
-#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#define ASSERT(expr) \
- do \
- { \
- if (!(expr)) \
- { \
- fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \
- fflush (stderr); \
- abort (); \
- } \
- } \
- while (0)
+#include "macros.h"
int
main ()
char *result = NULL;
size_t length = 0;
int retval = mem_cd_iconv (input, strlen (input), cd_88591_to_utf8,
- &result, &length);
+ &result, &length);
ASSERT (retval == 0);
ASSERT (length == strlen (expected));
ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0);
char *result = NULL;
size_t length = 0;
int retval = mem_cd_iconv (input, strlen (input), cd_utf8_to_88591,
- &result, &length);
+ &result, &length);
ASSERT (retval == 0);
ASSERT (length == strlen (expected));
ASSERT (result != NULL && memcmp (result, expected, strlen (expected)) == 0);
char *result = NULL;
size_t length = 0;
int retval = mem_cd_iconv (input, strlen (input), cd_utf8_to_88591,
- &result, &length);
+ &result, &length);
ASSERT (retval == -1 && errno == EILSEQ);
ASSERT (result == NULL);
}
char *result = NULL;
size_t length = 0;
int retval = mem_cd_iconv (input, strlen (input), cd_utf8_to_88591,
- &result, &length);
+ &result, &length);
ASSERT (retval == 0);
ASSERT (length == 0);
free (result);
+++ /dev/null
-/* Test of <string.h> substitute.
- Copyright (C) 2007 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
-
-#include <config.h>
-
-#include <string.h>
-
-int
-main ()
-{
- return 0;
-}
/* Test of strverscmp() function.
- Copyright (C) 2008 Free Software Foundation, Inc.
+ Copyright (C) 2008-2011 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#define ASSERT(expr) \
- do \
- { \
- if (!(expr)) \
- { \
- fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \
- fflush (stderr); \
- abort (); \
- } \
- } \
- while (0)
+#include "signature.h"
+SIGNATURE_CHECK (strverscmp, int, (const char *, const char *));
+
+#include "macros.h"
int
-main (int argc, char **argv)
+main (void)
{
ASSERT (strverscmp ("", "") == 0);
ASSERT (strverscmp ("a", "a") == 0);
--- /dev/null
+/* Test of macros shared between <sys/wait.h> and <stdlib.h>.
+ Copyright (C) 2010-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2010. */
+
+static int
+test_sys_wait_macros (void)
+{
+ /* Check subset of <sys/wait.h> macros that must be visible here.
+ Note that some of these macros are only portable when operating
+ on an lvalue. */
+ int i;
+ for (i = 0; i < 0x8000; i = (i ? i << 1 : 1))
+ {
+ /* POSIX requires that for all valid process statuses, that
+ exactly one of these three macros is true. But not all
+ possible 16-bit values map to valid process status.
+ Traditionally, 8 of the bits are for WIFEXITED, 7 of the bits
+ to tell between WIFSIGNALED and WIFSTOPPED, and either 0x80
+ or 0x8000 to flag that core was also dumped. Since we don't
+ know which byte is WIFEXITED, we skip the both possible bits
+ that can signal core dump. */
+ if (i == 0x80)
+ continue;
+ if (!!WIFSIGNALED (i) + !!WIFEXITED (i) + !!WIFSTOPPED (i) != 1)
+ return 1;
+ }
+ i = WEXITSTATUS (i) + WSTOPSIG (i) + WTERMSIG (i);
+
+ switch (i)
+ {
+#if 0
+ /* Gnulib doesn't guarantee these, yet. */
+ case WNOHANG:
+ case WUNTRACED:
+#endif
+ break;
+ }
+ return 0;
+}
--- /dev/null
+/* Test of gl_thread_create () macro.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011. */
+
+#include <config.h>
+
+#include "glthread/thread.h"
+
+#include <stdio.h>
+#include <string.h>
+
+#include "macros.h"
+
+static gl_thread_t main_thread_before;
+static gl_thread_t main_thread_after;
+static gl_thread_t worker_thread;
+
+static int dummy;
+static volatile int work_done;
+
+static void *
+worker_thread_func (void *arg)
+{
+ work_done = 1;
+ return &dummy;
+}
+
+int
+main ()
+{
+ main_thread_before = gl_thread_self ();
+
+ if (glthread_create (&worker_thread, worker_thread_func, NULL) == 0)
+ {
+ void *ret;
+
+ /* Check that gl_thread_self () has the same value before than after the
+ first call to gl_thread_create (). */
+ main_thread_after = gl_thread_self ();
+ ASSERT (memcmp (&main_thread_before, &main_thread_after,
+ sizeof (gl_thread_t))
+ == 0);
+
+ gl_thread_join (worker_thread, &ret);
+
+ /* Check the return value of the thread. */
+ ASSERT (ret == &dummy);
+
+ /* Check that worker_thread_func () has finished executing. */
+ ASSERT (work_done);
+
+ return 0;
+ }
+ else
+ {
+#if USE_POSIX_THREADS || USE_SOLARIS_THREADS || USE_PTH_THREADS || USE_WIN32_THREADS
+ fputs ("glthread_create failed\n", stderr);
+ return 1;
+#else
+ fputs ("Skipping test: multithreading not enabled\n", stderr);
+ return 77;
+#endif
+ }
+}
--- /dev/null
+/* Test of gl_thread_self () macro.
+ Copyright (C) 2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2011. */
+
+#include <config.h>
+
+#include "glthread/thread.h"
+
+gl_thread_t main_thread;
+
+int
+main ()
+{
+ /* Check that gl_thread_self () can be used with just $(LIBTHREAD), not
+ $(LIBMULTITHREAD), i.e. in libraries that are multithread-safe but don't
+ create threads themselves. */
+ main_thread = gl_thread_self ();
+
+ return 0;
+}
--- /dev/null
+/* Test of <unistd.h> substitute.
+ Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
+
+#include <config.h>
+
+#include <unistd.h>
+
+#include "verify.h"
+
+/* Check that NULL can be passed through varargs as a pointer type,
+ per POSIX 2008. */
+verify (sizeof NULL == sizeof (void *));
+
+/* Check that the various SEEK_* macros are defined. */
+int sk[] = { SEEK_CUR, SEEK_END, SEEK_SET };
+
+/* Check that the various *_FILENO macros are defined. */
+#if ! (defined STDIN_FILENO \
+ && (STDIN_FILENO + STDOUT_FILENO + STDERR_FILENO == 3))
+missing or broken *_FILENO macros
+#endif
+
+/* Check that the types are all defined. */
+size_t t1;
+ssize_t t2;
+#ifdef TODO /* Not implemented in gnulib yet */
+uid_t t3;
+gid_t t4;
+#endif
+off_t t5;
+pid_t t6;
+#ifdef TODO
+useconds_t t7;
+intptr_t t8;
+#endif
+
+int
+main (void)
+{
+ return 0;
+}
--- /dev/null
+/* Tests of unsetenv.
+ Copyright (C) 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Eric Blake <ebb9@byu.net>, 2009. */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include "signature.h"
+SIGNATURE_CHECK (unsetenv, int, (char const *));
+
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "macros.h"
+
+int
+main (void)
+{
+ char entry[] = "b=2";
+
+ /* Test removal when multiple entries present. */
+ ASSERT (putenv ((char *) "a=1") == 0);
+ ASSERT (putenv (entry) == 0);
+ entry[0] = 'a'; /* Unspecified what getenv("a") would be at this point. */
+ ASSERT (unsetenv ("a") == 0); /* Both entries will be removed. */
+ ASSERT (getenv ("a") == NULL);
+ ASSERT (unsetenv ("a") == 0);
+
+ /* Required to fail with EINVAL. */
+ errno = 0;
+ ASSERT (unsetenv ("") == -1);
+ ASSERT (errno == EINVAL);
+ errno = 0;
+ ASSERT (unsetenv ("a=b") == -1);
+ ASSERT (errno == EINVAL);
+#if 0
+ /* glibc and gnulib's implementation guarantee this, but POSIX no
+ longer requires it: http://austingroupbugs.net/view.php?id=185 */
+ errno = 0;
+ ASSERT (unsetenv (NULL) == -1);
+ ASSERT (errno == EINVAL);
+#endif
+
+ return 0;
+}
--- /dev/null
+/* Test the "verify" module.
+
+ Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible. */
+
+#include <config.h>
+
+#include "verify.h"
+
+#ifndef EXP_FAIL
+# define EXP_FAIL 0
+#endif
+
+int x;
+enum { a, b, c };
+
+#if EXP_FAIL == 1
+verify (x >= 0); /* should give ERROR: non-constant expression */
+#endif
+verify (c == 2); /* should be ok */
+#if EXP_FAIL == 2
+verify (1 + 1 == 3); /* should give ERROR */
+#endif
+verify (1 == 1); verify (1 == 1); /* should be ok */
+
+enum
+{
+ item = verify_true (1 == 1) * 0 + 17 /* should be ok */
+};
+
+static int
+function (int n)
+{
+#if EXP_FAIL == 3
+ verify (n >= 0); /* should give ERROR: non-constant expression */
+#endif
+ verify (c == 2); /* should be ok */
+#if EXP_FAIL == 4
+ verify (1 + 1 == 3); /* should give ERROR */
+#endif
+ verify (1 == 1); verify (1 == 1); /* should be ok */
+
+ if (n)
+ return ((void) verify_expr (1 == 1, 1), verify_expr (1 == 1, 8)); /* should be ok */
+#if EXP_FAIL == 5
+ return verify_expr (1 == 2, 5); /* should give ERROR */
+#endif
+ return 0;
+}
+
+int
+main (void)
+{
+ return !(function (0) == 0 && function (1) == 8);
+}
--- /dev/null
+#!/bin/sh
+. "${srcdir=.}/init.sh"
+
+# We are not interested in triggering bugs in the compilers and tools
+# (such as gcc 4.3.1 on openSUSE 11.0).
+unset MALLOC_PERTURB_
+
+# Rather than figure out how to invoke the compiler with the right
+# include path ourselves, we let make do it:
+(cd "$initial_cwd_" && rm -f test-verify.o \
+ && $MAKE test-verify.o >/dev/null 2>&1) \
+ || skip_ "cannot compile error-free"
+
+# Now, prove that we encounter all expected compilation failures:
+: >out
+: >err
+for i in 1 2 3 4 5; do
+ (cd "$initial_cwd_"
+ rm -f test-verify.o
+ $MAKE CFLAGS=-DEXP_FAIL=$i test-verify.o) >>out 2>>err \
+ && { warn_ "compiler didn't detect verification failure $i"; fail=1; }
+done
+
+Exit $fail
+++ /dev/null
-/* Test of <wchar.h> substitute.
- Copyright (C) 2007-2008 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
-
-#include <config.h>
-
-#include <wchar.h>
-
-/* Check that the types wchar_t and wint_t are defined. */
-wchar_t a = 'c';
-wint_t b = 'x';
-
-int
-main ()
-{
- return 0;
-}
--- /dev/null
+/* Substitute for and wrapper around <unistd.h>.
+ Copyright (C) 2003-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+/* Special invocation convention:
+ - On mingw, several headers, including <winsock2.h>, include <unistd.h>,
+ but we need to ensure that both the system <unistd.h> and <winsock2.h>
+ are completely included before we replace gethostname. */
+#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \
+ && !defined _GL_WINSOCK2_H_WITNESS && defined _WINSOCK2_H
+/* <unistd.h> is being indirectly included for the first time from
+ <winsock2.h>; avoid declaring any overrides. */
+# if @HAVE_UNISTD_H@
+# @INCLUDE_NEXT@ @NEXT_UNISTD_H@
+# else
+# error unexpected; report this to bug-gnulib@gnu.org
+# endif
+# define _GL_WINSOCK2_H_WITNESS
+
+/* Normal invocation. */
+#elif !defined _@GUARD_PREFIX@_UNISTD_H
+
+/* The include_next requires a split double-inclusion guard. */
+#if @HAVE_UNISTD_H@
+# @INCLUDE_NEXT@ @NEXT_UNISTD_H@
+#endif
+
+/* Get all possible declarations of gethostname(). */
+#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \
+ && !defined _GL_INCLUDING_WINSOCK2_H
+# define _GL_INCLUDING_WINSOCK2_H
+# include <winsock2.h>
+# undef _GL_INCLUDING_WINSOCK2_H
+#endif
+
+#if !defined _@GUARD_PREFIX@_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H
+#define _@GUARD_PREFIX@_UNISTD_H
+
+/* NetBSD 5.0 mis-defines NULL. Also get size_t. */
+#include <stddef.h>
+
+/* mingw doesn't define the SEEK_* or *_FILENO macros in <unistd.h>. */
+/* Cygwin 1.7.1 declares symlinkat in <stdio.h>, not in <unistd.h>. */
+/* But avoid namespace pollution on glibc systems. */
+#if (!(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) \
+ || ((@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK) \
+ && defined __CYGWIN__)) \
+ && ! defined __GLIBC__
+# include <stdio.h>
+#endif
+
+/* Cygwin 1.7.1 declares unlinkat in <fcntl.h>, not in <unistd.h>. */
+/* But avoid namespace pollution on glibc systems. */
+#if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) && defined __CYGWIN__ \
+ && ! defined __GLIBC__
+# include <fcntl.h>
+#endif
+
+/* mingw fails to declare _exit in <unistd.h>. */
+/* mingw, MSVC, BeOS, Haiku declare environ in <stdlib.h>, not in
+ <unistd.h>. */
+/* Solaris declares getcwd not only in <unistd.h> but also in <stdlib.h>. */
+/* But avoid namespace pollution on glibc systems. */
+#ifndef __GLIBC__
+# include <stdlib.h>
+#endif
+
+/* Native Windows platforms declare chdir, getcwd, rmdir in
+ <io.h> and/or <direct.h>, not in <unistd.h>. */
+#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \
+ || defined GNULIB_POSIXCHECK) \
+ && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+# include <io.h> /* mingw32, mingw64 */
+# include <direct.h> /* mingw64, MSVC 9 */
+#endif
+
+/* AIX and OSF/1 5.1 declare getdomainname in <netdb.h>, not in <unistd.h>.
+ NonStop Kernel declares gethostname in <netdb.h>, not in <unistd.h>. */
+/* But avoid namespace pollution on glibc systems. */
+#if ((@GNULIB_GETDOMAINNAME@ && (defined _AIX || defined __osf__)) \
+ || (@GNULIB_GETHOSTNAME@ && defined __TANDEM)) \
+ && !defined __GLIBC__
+# include <netdb.h>
+#endif
+
+/* MSVC defines off_t in <sys/types.h>. */
+#if !@HAVE_UNISTD_H@
+/* Get off_t. */
+# include <sys/types.h>
+#endif
+
+#if (@GNULIB_READ@ || @GNULIB_WRITE@ \
+ || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \
+ || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK)
+/* Get ssize_t. */
+# include <sys/types.h>
+#endif
+
+/* Get getopt(), optarg, optind, opterr, optopt.
+ But avoid namespace pollution on glibc systems. */
+#if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT
+# include <getopt.h>
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+
+/* Hide some function declarations from <winsock2.h>. */
+
+#if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@
+# if !defined _@GUARD_PREFIX@_SYS_SOCKET_H
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef socket
+# define socket socket_used_without_including_sys_socket_h
+# undef connect
+# define connect connect_used_without_including_sys_socket_h
+# undef accept
+# define accept accept_used_without_including_sys_socket_h
+# undef bind
+# define bind bind_used_without_including_sys_socket_h
+# undef getpeername
+# define getpeername getpeername_used_without_including_sys_socket_h
+# undef getsockname
+# define getsockname getsockname_used_without_including_sys_socket_h
+# undef getsockopt
+# define getsockopt getsockopt_used_without_including_sys_socket_h
+# undef listen
+# define listen listen_used_without_including_sys_socket_h
+# undef recv
+# define recv recv_used_without_including_sys_socket_h
+# undef send
+# define send send_used_without_including_sys_socket_h
+# undef recvfrom
+# define recvfrom recvfrom_used_without_including_sys_socket_h
+# undef sendto
+# define sendto sendto_used_without_including_sys_socket_h
+# undef setsockopt
+# define setsockopt setsockopt_used_without_including_sys_socket_h
+# undef shutdown
+# define shutdown shutdown_used_without_including_sys_socket_h
+# else
+ _GL_WARN_ON_USE (socket,
+ "socket() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (connect,
+ "connect() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (accept,
+ "accept() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (bind,
+ "bind() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (getpeername,
+ "getpeername() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (getsockname,
+ "getsockname() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (getsockopt,
+ "getsockopt() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (listen,
+ "listen() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (recv,
+ "recv() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (send,
+ "send() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (recvfrom,
+ "recvfrom() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (sendto,
+ "sendto() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (setsockopt,
+ "setsockopt() used without including <sys/socket.h>");
+ _GL_WARN_ON_USE (shutdown,
+ "shutdown() used without including <sys/socket.h>");
+# endif
+# endif
+# if !defined _@GUARD_PREFIX@_SYS_SELECT_H
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef select
+# define select select_used_without_including_sys_select_h
+# else
+ _GL_WARN_ON_USE (select,
+ "select() used without including <sys/select.h>");
+# endif
+# endif
+#endif
+
+
+/* OS/2 EMX lacks these macros. */
+#ifndef STDIN_FILENO
+# define STDIN_FILENO 0
+#endif
+#ifndef STDOUT_FILENO
+# define STDOUT_FILENO 1
+#endif
+#ifndef STDERR_FILENO
+# define STDERR_FILENO 2
+#endif
+
+/* Ensure *_OK macros exist. */
+#ifndef F_OK
+# define F_OK 0
+# define X_OK 1
+# define W_OK 2
+# define R_OK 4
+#endif
+
+
+/* Declare overridden functions. */
+
+
+#if defined GNULIB_POSIXCHECK
+/* The access() function is a security risk. */
+_GL_WARN_ON_USE (access, "the access function is a security risk - "
+ "use the gnulib module faccessat instead");
+#endif
+
+
+#if @GNULIB_CHDIR@
+_GL_CXXALIAS_SYS (chdir, int, (const char *file) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIASWARN (chdir);
+#elif defined GNULIB_POSIXCHECK
+# undef chdir
+# if HAVE_RAW_DECL_CHDIR
+_GL_WARN_ON_USE (chown, "chdir is not always in <unistd.h> - "
+ "use gnulib module chdir for portability");
+# endif
+#endif
+
+
+#if @GNULIB_CHOWN@
+/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
+ to GID (if GID is not -1). Follow symbolic links.
+ Return 0 if successful, otherwise -1 and errno set.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html. */
+# if @REPLACE_CHOWN@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef chown
+# define chown rpl_chown
+# endif
+_GL_FUNCDECL_RPL (chown, int, (const char *file, uid_t uid, gid_t gid)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (chown, int, (const char *file, uid_t uid, gid_t gid));
+# else
+# if !@HAVE_CHOWN@
+_GL_FUNCDECL_SYS (chown, int, (const char *file, uid_t uid, gid_t gid)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (chown, int, (const char *file, uid_t uid, gid_t gid));
+# endif
+_GL_CXXALIASWARN (chown);
+#elif defined GNULIB_POSIXCHECK
+# undef chown
+# if HAVE_RAW_DECL_CHOWN
+_GL_WARN_ON_USE (chown, "chown fails to follow symlinks on some systems and "
+ "doesn't treat a uid or gid of -1 on some systems - "
+ "use gnulib module chown for portability");
+# endif
+#endif
+
+
+#if @GNULIB_CLOSE@
+# if @REPLACE_CLOSE@
+/* Automatically included by modules that need a replacement for close. */
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef close
+# define close rpl_close
+# endif
+_GL_FUNCDECL_RPL (close, int, (int fd));
+_GL_CXXALIAS_RPL (close, int, (int fd));
+# else
+_GL_CXXALIAS_SYS (close, int, (int fd));
+# endif
+_GL_CXXALIASWARN (close);
+#elif @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
+# undef close
+# define close close_used_without_requesting_gnulib_module_close
+#elif defined GNULIB_POSIXCHECK
+# undef close
+/* Assume close is always declared. */
+_GL_WARN_ON_USE (close, "close does not portably work on sockets - "
+ "use gnulib module close for portability");
+#endif
+
+
+#if @GNULIB_DUP@
+# if @REPLACE_DUP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define dup rpl_dup
+# endif
+_GL_FUNCDECL_RPL (dup, int, (int oldfd));
+_GL_CXXALIAS_RPL (dup, int, (int oldfd));
+# else
+_GL_CXXALIAS_SYS (dup, int, (int oldfd));
+# endif
+_GL_CXXALIASWARN (dup);
+#elif defined GNULIB_POSIXCHECK
+# undef dup
+# if HAVE_RAW_DECL_DUP
+_GL_WARN_ON_USE (dup, "dup is unportable - "
+ "use gnulib module dup for portability");
+# endif
+#endif
+
+
+#if @GNULIB_DUP2@
+/* Copy the file descriptor OLDFD into file descriptor NEWFD. Do nothing if
+ NEWFD = OLDFD, otherwise close NEWFD first if it is open.
+ Return newfd if successful, otherwise -1 and errno set.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/dup2.html>. */
+# if @REPLACE_DUP2@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define dup2 rpl_dup2
+# endif
+_GL_FUNCDECL_RPL (dup2, int, (int oldfd, int newfd));
+_GL_CXXALIAS_RPL (dup2, int, (int oldfd, int newfd));
+# else
+# if !@HAVE_DUP2@
+_GL_FUNCDECL_SYS (dup2, int, (int oldfd, int newfd));
+# endif
+_GL_CXXALIAS_SYS (dup2, int, (int oldfd, int newfd));
+# endif
+_GL_CXXALIASWARN (dup2);
+#elif defined GNULIB_POSIXCHECK
+# undef dup2
+# if HAVE_RAW_DECL_DUP2
+_GL_WARN_ON_USE (dup2, "dup2 is unportable - "
+ "use gnulib module dup2 for portability");
+# endif
+#endif
+
+
+#if @GNULIB_DUP3@
+/* Copy the file descriptor OLDFD into file descriptor NEWFD, with the
+ specified flags.
+ The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
+ and O_TEXT, O_BINARY (defined in "binary-io.h").
+ Close NEWFD first if it is open.
+ Return newfd if successful, otherwise -1 and errno set.
+ See the Linux man page at
+ <http://www.kernel.org/doc/man-pages/online/pages/man2/dup3.2.html>. */
+# if @HAVE_DUP3@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define dup3 rpl_dup3
+# endif
+_GL_FUNCDECL_RPL (dup3, int, (int oldfd, int newfd, int flags));
+_GL_CXXALIAS_RPL (dup3, int, (int oldfd, int newfd, int flags));
+# else
+_GL_FUNCDECL_SYS (dup3, int, (int oldfd, int newfd, int flags));
+_GL_CXXALIAS_SYS (dup3, int, (int oldfd, int newfd, int flags));
+# endif
+_GL_CXXALIASWARN (dup3);
+#elif defined GNULIB_POSIXCHECK
+# undef dup3
+# if HAVE_RAW_DECL_DUP3
+_GL_WARN_ON_USE (dup3, "dup3 is unportable - "
+ "use gnulib module dup3 for portability");
+# endif
+#endif
+
+
+#if @GNULIB_ENVIRON@
+# if !@HAVE_DECL_ENVIRON@
+/* Set of environment variables and values. An array of strings of the form
+ "VARIABLE=VALUE", terminated with a NULL. */
+# if defined __APPLE__ && defined __MACH__
+# include <crt_externs.h>
+# define environ (*_NSGetEnviron ())
+# else
+# ifdef __cplusplus
+extern "C" {
+# endif
+extern char **environ;
+# ifdef __cplusplus
+}
+# endif
+# endif
+# endif
+#elif defined GNULIB_POSIXCHECK
+# if HAVE_RAW_DECL_ENVIRON
+static inline char ***
+rpl_environ (void)
+{
+ return &environ;
+}
+_GL_WARN_ON_USE (rpl_environ, "environ is unportable - "
+ "use gnulib module environ for portability");
+# undef environ
+# define environ (*rpl_environ ())
+# endif
+#endif
+
+
+#if @GNULIB_EUIDACCESS@
+/* Like access(), except that it uses the effective user id and group id of
+ the current process. */
+# if !@HAVE_EUIDACCESS@
+_GL_FUNCDECL_SYS (euidaccess, int, (const char *filename, int mode)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (euidaccess, int, (const char *filename, int mode));
+_GL_CXXALIASWARN (euidaccess);
+# if defined GNULIB_POSIXCHECK
+/* Like access(), this function is a security risk. */
+_GL_WARN_ON_USE (euidaccess, "the euidaccess function is a security risk - "
+ "use the gnulib module faccessat instead");
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef euidaccess
+# if HAVE_RAW_DECL_EUIDACCESS
+_GL_WARN_ON_USE (euidaccess, "euidaccess is unportable - "
+ "use gnulib module euidaccess for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FACCESSAT@
+# if !@HAVE_FACCESSAT@
+_GL_FUNCDECL_SYS (faccessat, int,
+ (int fd, char const *file, int mode, int flag)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (faccessat, int,
+ (int fd, char const *file, int mode, int flag));
+_GL_CXXALIASWARN (faccessat);
+#elif defined GNULIB_POSIXCHECK
+# undef faccessat
+# if HAVE_RAW_DECL_FACCESSAT
+_GL_WARN_ON_USE (faccessat, "faccessat is not portable - "
+ "use gnulib module faccessat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FCHDIR@
+/* Change the process' current working directory to the directory on which
+ the given file descriptor is open.
+ Return 0 if successful, otherwise -1 and errno set.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fchdir.html>. */
+# if ! @HAVE_FCHDIR@
+_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
+
+/* Gnulib internal hooks needed to maintain the fchdir metadata. */
+_GL_EXTERN_C int _gl_register_fd (int fd, const char *filename)
+ _GL_ARG_NONNULL ((2));
+_GL_EXTERN_C void _gl_unregister_fd (int fd);
+_GL_EXTERN_C int _gl_register_dup (int oldfd, int newfd);
+_GL_EXTERN_C const char *_gl_directory_name (int fd);
+
+# else
+# if !@HAVE_DECL_FCHDIR@
+_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
+# endif
+# endif
+_GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/));
+_GL_CXXALIASWARN (fchdir);
+#elif defined GNULIB_POSIXCHECK
+# undef fchdir
+# if HAVE_RAW_DECL_FCHDIR
+_GL_WARN_ON_USE (fchdir, "fchdir is unportable - "
+ "use gnulib module fchdir for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FCHOWNAT@
+# if @REPLACE_FCHOWNAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef fchownat
+# define fchownat rpl_fchownat
+# endif
+_GL_FUNCDECL_RPL (fchownat, int, (int fd, char const *file,
+ uid_t owner, gid_t group, int flag)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (fchownat, int, (int fd, char const *file,
+ uid_t owner, gid_t group, int flag));
+# else
+# if !@HAVE_FCHOWNAT@
+_GL_FUNCDECL_SYS (fchownat, int, (int fd, char const *file,
+ uid_t owner, gid_t group, int flag)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (fchownat, int, (int fd, char const *file,
+ uid_t owner, gid_t group, int flag));
+# endif
+_GL_CXXALIASWARN (fchownat);
+#elif defined GNULIB_POSIXCHECK
+# undef fchownat
+# if HAVE_RAW_DECL_FCHOWNAT
+_GL_WARN_ON_USE (fchownat, "fchownat is not portable - "
+ "use gnulib module openat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FDATASYNC@
+/* Synchronize changes to a file.
+ Return 0 if successful, otherwise -1 and errno set.
+ See POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html>. */
+# if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@
+_GL_FUNCDECL_SYS (fdatasync, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (fdatasync, int, (int fd));
+_GL_CXXALIASWARN (fdatasync);
+#elif defined GNULIB_POSIXCHECK
+# undef fdatasync
+# if HAVE_RAW_DECL_FDATASYNC
+_GL_WARN_ON_USE (fdatasync, "fdatasync is unportable - "
+ "use gnulib module fdatasync for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FSYNC@
+/* Synchronize changes, including metadata, to a file.
+ Return 0 if successful, otherwise -1 and errno set.
+ See POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fsync.html>. */
+# if !@HAVE_FSYNC@
+_GL_FUNCDECL_SYS (fsync, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (fsync, int, (int fd));
+_GL_CXXALIASWARN (fsync);
+#elif defined GNULIB_POSIXCHECK
+# undef fsync
+# if HAVE_RAW_DECL_FSYNC
+_GL_WARN_ON_USE (fsync, "fsync is unportable - "
+ "use gnulib module fsync for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FTRUNCATE@
+/* Change the size of the file to which FD is opened to become equal to LENGTH.
+ Return 0 if successful, otherwise -1 and errno set.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html>. */
+# if !@HAVE_FTRUNCATE@
+_GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length));
+# endif
+_GL_CXXALIAS_SYS (ftruncate, int, (int fd, off_t length));
+_GL_CXXALIASWARN (ftruncate);
+#elif defined GNULIB_POSIXCHECK
+# undef ftruncate
+# if HAVE_RAW_DECL_FTRUNCATE
+_GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - "
+ "use gnulib module ftruncate for portability");
+# endif
+#endif
+
+
+#if @GNULIB_GETCWD@
+/* Get the name of the current working directory, and put it in SIZE bytes
+ of BUF.
+ Return BUF if successful, or NULL if the directory couldn't be determined
+ or SIZE was too small.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html>.
+ Additionally, the gnulib module 'getcwd' guarantees the following GNU
+ extension: If BUF is NULL, an array is allocated with 'malloc'; the array
+ is SIZE bytes long, unless SIZE == 0, in which case it is as big as
+ necessary. */
+# if @REPLACE_GETCWD@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define getcwd rpl_getcwd
+# endif
+_GL_FUNCDECL_RPL (getcwd, char *, (char *buf, size_t size));
+_GL_CXXALIAS_RPL (getcwd, char *, (char *buf, size_t size));
+# else
+/* Need to cast, because on mingw, the second parameter is
+ int size. */
+_GL_CXXALIAS_SYS_CAST (getcwd, char *, (char *buf, size_t size));
+# endif
+_GL_CXXALIASWARN (getcwd);
+#elif defined GNULIB_POSIXCHECK
+# undef getcwd
+# if HAVE_RAW_DECL_GETCWD
+_GL_WARN_ON_USE (getcwd, "getcwd is unportable - "
+ "use gnulib module getcwd for portability");
+# endif
+#endif
+
+
+#if @GNULIB_GETDOMAINNAME@
+/* Return the NIS domain name of the machine.
+ WARNING! The NIS domain name is unrelated to the fully qualified host name
+ of the machine. It is also unrelated to email addresses.
+ WARNING! The NIS domain name is usually the empty string or "(none)" when
+ not using NIS.
+
+ Put up to LEN bytes of the NIS domain name into NAME.
+ Null terminate it if the name is shorter than LEN.
+ If the NIS domain name is longer than LEN, set errno = EINVAL and return -1.
+ Return 0 if successful, otherwise set errno and return -1. */
+# if @REPLACE_GETDOMAINNAME@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef getdomainname
+# define getdomainname rpl_getdomainname
+# endif
+_GL_FUNCDECL_RPL (getdomainname, int, (char *name, size_t len)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (getdomainname, int, (char *name, size_t len));
+# else
+# if !@HAVE_DECL_GETDOMAINNAME@
+_GL_FUNCDECL_SYS (getdomainname, int, (char *name, size_t len)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (getdomainname, int, (char *name, size_t len));
+# endif
+_GL_CXXALIASWARN (getdomainname);
+#elif defined GNULIB_POSIXCHECK
+# undef getdomainname
+# if HAVE_RAW_DECL_GETDOMAINNAME
+_GL_WARN_ON_USE (getdomainname, "getdomainname is unportable - "
+ "use gnulib module getdomainname for portability");
+# endif
+#endif
+
+
+#if @GNULIB_GETDTABLESIZE@
+/* Return the maximum number of file descriptors in the current process.
+ In POSIX, this is same as sysconf (_SC_OPEN_MAX). */
+# if !@HAVE_GETDTABLESIZE@
+_GL_FUNCDECL_SYS (getdtablesize, int, (void));
+# endif
+_GL_CXXALIAS_SYS (getdtablesize, int, (void));
+_GL_CXXALIASWARN (getdtablesize);
+#elif defined GNULIB_POSIXCHECK
+# undef getdtablesize
+# if HAVE_RAW_DECL_GETDTABLESIZE
+_GL_WARN_ON_USE (getdtablesize, "getdtablesize is unportable - "
+ "use gnulib module getdtablesize for portability");
+# endif
+#endif
+
+
+#if @GNULIB_GETGROUPS@
+/* Return the supplemental groups that the current process belongs to.
+ It is unspecified whether the effective group id is in the list.
+ If N is 0, return the group count; otherwise, N describes how many
+ entries are available in GROUPS. Return -1 and set errno if N is
+ not 0 and not large enough. Fails with ENOSYS on some systems. */
+# if @REPLACE_GETGROUPS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef getgroups
+# define getgroups rpl_getgroups
+# endif
+_GL_FUNCDECL_RPL (getgroups, int, (int n, gid_t *groups));
+_GL_CXXALIAS_RPL (getgroups, int, (int n, gid_t *groups));
+# else
+# if !@HAVE_GETGROUPS@
+_GL_FUNCDECL_SYS (getgroups, int, (int n, gid_t *groups));
+# endif
+_GL_CXXALIAS_SYS (getgroups, int, (int n, gid_t *groups));
+# endif
+_GL_CXXALIASWARN (getgroups);
+#elif defined GNULIB_POSIXCHECK
+# undef getgroups
+# if HAVE_RAW_DECL_GETGROUPS
+_GL_WARN_ON_USE (getgroups, "getgroups is unportable - "
+ "use gnulib module getgroups for portability");
+# endif
+#endif
+
+
+#if @GNULIB_GETHOSTNAME@
+/* Return the standard host name of the machine.
+ WARNING! The host name may or may not be fully qualified.
+
+ Put up to LEN bytes of the host name into NAME.
+ Null terminate it if the name is shorter than LEN.
+ If the host name is longer than LEN, set errno = EINVAL and return -1.
+ Return 0 if successful, otherwise set errno and return -1. */
+# if @UNISTD_H_HAVE_WINSOCK2_H@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef gethostname
+# define gethostname rpl_gethostname
+# endif
+_GL_FUNCDECL_RPL (gethostname, int, (char *name, size_t len)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (gethostname, int, (char *name, size_t len));
+# else
+# if !@HAVE_GETHOSTNAME@
+_GL_FUNCDECL_SYS (gethostname, int, (char *name, size_t len)
+ _GL_ARG_NONNULL ((1)));
+# endif
+/* Need to cast, because on Solaris 10 and OSF/1 5.1 systems, the second
+ parameter is
+ int len. */
+_GL_CXXALIAS_SYS_CAST (gethostname, int, (char *name, size_t len));
+# endif
+_GL_CXXALIASWARN (gethostname);
+#elif @UNISTD_H_HAVE_WINSOCK2_H@
+# undef gethostname
+# define gethostname gethostname_used_without_requesting_gnulib_module_gethostname
+#elif defined GNULIB_POSIXCHECK
+# undef gethostname
+# if HAVE_RAW_DECL_GETHOSTNAME
+_GL_WARN_ON_USE (gethostname, "gethostname is unportable - "
+ "use gnulib module gethostname for portability");
+# endif
+#endif
+
+
+#if @GNULIB_GETLOGIN@
+/* Returns the user's login name, or NULL if it cannot be found. Upon error,
+ returns NULL with errno set.
+
+ See <http://www.opengroup.org/susv3xsh/getlogin.html>.
+
+ Most programs don't need to use this function, because the information is
+ available through environment variables:
+ ${LOGNAME-$USER} on Unix platforms,
+ $USERNAME on native Windows platforms.
+ */
+# if !@HAVE_GETLOGIN@
+_GL_FUNCDECL_SYS (getlogin, char *, (void));
+# endif
+_GL_CXXALIAS_SYS (getlogin, char *, (void));
+_GL_CXXALIASWARN (getlogin);
+#elif defined GNULIB_POSIXCHECK
+# undef getlogin
+# if HAVE_RAW_DECL_GETLOGIN
+_GL_WARN_ON_USE (getlogin, "getlogin is unportable - "
+ "use gnulib module getlogin for portability");
+# endif
+#endif
+
+
+#if @GNULIB_GETLOGIN_R@
+/* Copies the user's login name to NAME.
+ The array pointed to by NAME has room for SIZE bytes.
+
+ Returns 0 if successful. Upon error, an error number is returned, or -1 in
+ the case that the login name cannot be found but no specific error is
+ provided (this case is hopefully rare but is left open by the POSIX spec).
+
+ See <http://www.opengroup.org/susv3xsh/getlogin.html>.
+
+ Most programs don't need to use this function, because the information is
+ available through environment variables:
+ ${LOGNAME-$USER} on Unix platforms,
+ $USERNAME on native Windows platforms.
+ */
+# if @REPLACE_GETLOGIN_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define getlogin_r rpl_getlogin_r
+# endif
+_GL_FUNCDECL_RPL (getlogin_r, int, (char *name, size_t size)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (getlogin_r, int, (char *name, size_t size));
+# else
+# if !@HAVE_DECL_GETLOGIN_R@
+_GL_FUNCDECL_SYS (getlogin_r, int, (char *name, size_t size)
+ _GL_ARG_NONNULL ((1)));
+# endif
+/* Need to cast, because on Solaris 10 systems, the second argument is
+ int size. */
+_GL_CXXALIAS_SYS_CAST (getlogin_r, int, (char *name, size_t size));
+# endif
+_GL_CXXALIASWARN (getlogin_r);
+#elif defined GNULIB_POSIXCHECK
+# undef getlogin_r
+# if HAVE_RAW_DECL_GETLOGIN_R
+_GL_WARN_ON_USE (getlogin_r, "getlogin_r is unportable - "
+ "use gnulib module getlogin_r for portability");
+# endif
+#endif
+
+
+#if @GNULIB_GETPAGESIZE@
+# if @REPLACE_GETPAGESIZE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define getpagesize rpl_getpagesize
+# endif
+_GL_FUNCDECL_RPL (getpagesize, int, (void));
+_GL_CXXALIAS_RPL (getpagesize, int, (void));
+# else
+# if !@HAVE_GETPAGESIZE@
+# if !defined getpagesize
+/* This is for POSIX systems. */
+# if !defined _gl_getpagesize && defined _SC_PAGESIZE
+# if ! (defined __VMS && __VMS_VER < 70000000)
+# define _gl_getpagesize() sysconf (_SC_PAGESIZE)
+# endif
+# endif
+/* This is for older VMS. */
+# if !defined _gl_getpagesize && defined __VMS
+# ifdef __ALPHA
+# define _gl_getpagesize() 8192
+# else
+# define _gl_getpagesize() 512
+# endif
+# endif
+/* This is for BeOS. */
+# if !defined _gl_getpagesize && @HAVE_OS_H@
+# include <OS.h>
+# if defined B_PAGE_SIZE
+# define _gl_getpagesize() B_PAGE_SIZE
+# endif
+# endif
+/* This is for AmigaOS4.0. */
+# if !defined _gl_getpagesize && defined __amigaos4__
+# define _gl_getpagesize() 2048
+# endif
+/* This is for older Unix systems. */
+# if !defined _gl_getpagesize && @HAVE_SYS_PARAM_H@
+# include <sys/param.h>
+# ifdef EXEC_PAGESIZE
+# define _gl_getpagesize() EXEC_PAGESIZE
+# else
+# ifdef NBPG
+# ifndef CLSIZE
+# define CLSIZE 1
+# endif
+# define _gl_getpagesize() (NBPG * CLSIZE)
+# else
+# ifdef NBPC
+# define _gl_getpagesize() NBPC
+# endif
+# endif
+# endif
+# endif
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define getpagesize() _gl_getpagesize ()
+# else
+# if !GNULIB_defined_getpagesize_function
+static inline int
+getpagesize ()
+{
+ return _gl_getpagesize ();
+}
+# define GNULIB_defined_getpagesize_function 1
+# endif
+# endif
+# endif
+# endif
+/* Need to cast, because on Cygwin 1.5.x systems, the return type is size_t. */
+_GL_CXXALIAS_SYS_CAST (getpagesize, int, (void));
+# endif
+# if @HAVE_DECL_GETPAGESIZE@
+_GL_CXXALIASWARN (getpagesize);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getpagesize
+# if HAVE_RAW_DECL_GETPAGESIZE
+_GL_WARN_ON_USE (getpagesize, "getpagesize is unportable - "
+ "use gnulib module getpagesize for portability");
+# endif
+#endif
+
+
+#if @GNULIB_GETUSERSHELL@
+/* Return the next valid login shell on the system, or NULL when the end of
+ the list has been reached. */
+# if !@HAVE_DECL_GETUSERSHELL@
+_GL_FUNCDECL_SYS (getusershell, char *, (void));
+# endif
+_GL_CXXALIAS_SYS (getusershell, char *, (void));
+_GL_CXXALIASWARN (getusershell);
+#elif defined GNULIB_POSIXCHECK
+# undef getusershell
+# if HAVE_RAW_DECL_GETUSERSHELL
+_GL_WARN_ON_USE (getusershell, "getusershell is unportable - "
+ "use gnulib module getusershell for portability");
+# endif
+#endif
+
+#if @GNULIB_GETUSERSHELL@
+/* Rewind to pointer that is advanced at each getusershell() call. */
+# if !@HAVE_DECL_GETUSERSHELL@
+_GL_FUNCDECL_SYS (setusershell, void, (void));
+# endif
+_GL_CXXALIAS_SYS (setusershell, void, (void));
+_GL_CXXALIASWARN (setusershell);
+#elif defined GNULIB_POSIXCHECK
+# undef setusershell
+# if HAVE_RAW_DECL_SETUSERSHELL
+_GL_WARN_ON_USE (setusershell, "setusershell is unportable - "
+ "use gnulib module getusershell for portability");
+# endif
+#endif
+
+#if @GNULIB_GETUSERSHELL@
+/* Free the pointer that is advanced at each getusershell() call and
+ associated resources. */
+# if !@HAVE_DECL_GETUSERSHELL@
+_GL_FUNCDECL_SYS (endusershell, void, (void));
+# endif
+_GL_CXXALIAS_SYS (endusershell, void, (void));
+_GL_CXXALIASWARN (endusershell);
+#elif defined GNULIB_POSIXCHECK
+# undef endusershell
+# if HAVE_RAW_DECL_ENDUSERSHELL
+_GL_WARN_ON_USE (endusershell, "endusershell is unportable - "
+ "use gnulib module getusershell for portability");
+# endif
+#endif
+
+
+#if @GNULIB_GROUP_MEMBER@
+/* Determine whether group id is in calling user's group list. */
+# if !@HAVE_GROUP_MEMBER@
+_GL_FUNCDECL_SYS (group_member, int, (gid_t gid));
+# endif
+_GL_CXXALIAS_SYS (group_member, int, (gid_t gid));
+_GL_CXXALIASWARN (group_member);
+#elif defined GNULIB_POSIXCHECK
+# undef group_member
+# if HAVE_RAW_DECL_GROUP_MEMBER
+_GL_WARN_ON_USE (group_member, "group_member is unportable - "
+ "use gnulib module group-member for portability");
+# endif
+#endif
+
+
+#if @GNULIB_LCHOWN@
+/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
+ to GID (if GID is not -1). Do not follow symbolic links.
+ Return 0 if successful, otherwise -1 and errno set.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lchown.html>. */
+# if @REPLACE_LCHOWN@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef lchown
+# define lchown rpl_lchown
+# endif
+_GL_FUNCDECL_RPL (lchown, int, (char const *file, uid_t owner, gid_t group)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (lchown, int, (char const *file, uid_t owner, gid_t group));
+# else
+# if !@HAVE_LCHOWN@
+_GL_FUNCDECL_SYS (lchown, int, (char const *file, uid_t owner, gid_t group)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (lchown, int, (char const *file, uid_t owner, gid_t group));
+# endif
+_GL_CXXALIASWARN (lchown);
+#elif defined GNULIB_POSIXCHECK
+# undef lchown
+# if HAVE_RAW_DECL_LCHOWN
+_GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - "
+ "use gnulib module lchown for portability");
+# endif
+#endif
+
+
+#if @GNULIB_LINK@
+/* Create a new hard link for an existing file.
+ Return 0 if successful, otherwise -1 and errno set.
+ See POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html>. */
+# if @REPLACE_LINK@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define link rpl_link
+# endif
+_GL_FUNCDECL_RPL (link, int, (const char *path1, const char *path2)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (link, int, (const char *path1, const char *path2));
+# else
+# if !@HAVE_LINK@
+_GL_FUNCDECL_SYS (link, int, (const char *path1, const char *path2)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (link, int, (const char *path1, const char *path2));
+# endif
+_GL_CXXALIASWARN (link);
+#elif defined GNULIB_POSIXCHECK
+# undef link
+# if HAVE_RAW_DECL_LINK
+_GL_WARN_ON_USE (link, "link is unportable - "
+ "use gnulib module link for portability");
+# endif
+#endif
+
+
+#if @GNULIB_LINKAT@
+/* Create a new hard link for an existing file, relative to two
+ directories. FLAG controls whether symlinks are followed.
+ Return 0 if successful, otherwise -1 and errno set. */
+# if @REPLACE_LINKAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef linkat
+# define linkat rpl_linkat
+# endif
+_GL_FUNCDECL_RPL (linkat, int,
+ (int fd1, const char *path1, int fd2, const char *path2,
+ int flag)
+ _GL_ARG_NONNULL ((2, 4)));
+_GL_CXXALIAS_RPL (linkat, int,
+ (int fd1, const char *path1, int fd2, const char *path2,
+ int flag));
+# else
+# if !@HAVE_LINKAT@
+_GL_FUNCDECL_SYS (linkat, int,
+ (int fd1, const char *path1, int fd2, const char *path2,
+ int flag)
+ _GL_ARG_NONNULL ((2, 4)));
+# endif
+_GL_CXXALIAS_SYS (linkat, int,
+ (int fd1, const char *path1, int fd2, const char *path2,
+ int flag));
+# endif
+_GL_CXXALIASWARN (linkat);
+#elif defined GNULIB_POSIXCHECK
+# undef linkat
+# if HAVE_RAW_DECL_LINKAT
+_GL_WARN_ON_USE (linkat, "linkat is unportable - "
+ "use gnulib module linkat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_LSEEK@
+/* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END.
+ Return the new offset if successful, otherwise -1 and errno set.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html>. */
+# if @REPLACE_LSEEK@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define lseek rpl_lseek
+# endif
+_GL_FUNCDECL_RPL (lseek, off_t, (int fd, off_t offset, int whence));
+_GL_CXXALIAS_RPL (lseek, off_t, (int fd, off_t offset, int whence));
+# else
+_GL_CXXALIAS_SYS (lseek, off_t, (int fd, off_t offset, int whence));
+# endif
+_GL_CXXALIASWARN (lseek);
+#elif defined GNULIB_POSIXCHECK
+# undef lseek
+# if HAVE_RAW_DECL_LSEEK
+_GL_WARN_ON_USE (lseek, "lseek does not fail with ESPIPE on pipes on some "
+ "systems - use gnulib module lseek for portability");
+# endif
+#endif
+
+
+#if @GNULIB_PIPE@
+/* Create a pipe, defaulting to O_BINARY mode.
+ Store the read-end as fd[0] and the write-end as fd[1].
+ Return 0 upon success, or -1 with errno set upon failure. */
+# if !@HAVE_PIPE@
+_GL_FUNCDECL_SYS (pipe, int, (int fd[2]) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (pipe, int, (int fd[2]));
+_GL_CXXALIASWARN (pipe);
+#elif defined GNULIB_POSIXCHECK
+# undef pipe
+# if HAVE_RAW_DECL_PIPE
+_GL_WARN_ON_USE (pipe, "pipe is unportable - "
+ "use gnulib module pipe-posix for portability");
+# endif
+#endif
+
+
+#if @GNULIB_PIPE2@
+/* Create a pipe, applying the given flags when opening the read-end of the
+ pipe and the write-end of the pipe.
+ The flags are a bitmask, possibly including O_CLOEXEC (defined in <fcntl.h>)
+ and O_TEXT, O_BINARY (defined in "binary-io.h").
+ Store the read-end as fd[0] and the write-end as fd[1].
+ Return 0 upon success, or -1 with errno set upon failure.
+ See also the Linux man page at
+ <http://www.kernel.org/doc/man-pages/online/pages/man2/pipe2.2.html>. */
+# if @HAVE_PIPE2@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define pipe2 rpl_pipe2
+# endif
+_GL_FUNCDECL_RPL (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (pipe2, int, (int fd[2], int flags));
+# else
+_GL_FUNCDECL_SYS (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_SYS (pipe2, int, (int fd[2], int flags));
+# endif
+_GL_CXXALIASWARN (pipe2);
+#elif defined GNULIB_POSIXCHECK
+# undef pipe2
+# if HAVE_RAW_DECL_PIPE2
+_GL_WARN_ON_USE (pipe2, "pipe2 is unportable - "
+ "use gnulib module pipe2 for portability");
+# endif
+#endif
+
+
+#if @GNULIB_PREAD@
+/* Read at most BUFSIZE bytes from FD into BUF, starting at OFFSET.
+ Return the number of bytes placed into BUF if successful, otherwise
+ set errno and return -1. 0 indicates EOF.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pread.html>. */
+# if @REPLACE_PREAD@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef pread
+# define pread rpl_pread
+# endif
+_GL_FUNCDECL_RPL (pread, ssize_t,
+ (int fd, void *buf, size_t bufsize, off_t offset)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (pread, ssize_t,
+ (int fd, void *buf, size_t bufsize, off_t offset));
+# else
+# if !@HAVE_PREAD@
+_GL_FUNCDECL_SYS (pread, ssize_t,
+ (int fd, void *buf, size_t bufsize, off_t offset)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (pread, ssize_t,
+ (int fd, void *buf, size_t bufsize, off_t offset));
+# endif
+_GL_CXXALIASWARN (pread);
+#elif defined GNULIB_POSIXCHECK
+# undef pread
+# if HAVE_RAW_DECL_PREAD
+_GL_WARN_ON_USE (pread, "pread is unportable - "
+ "use gnulib module pread for portability");
+# endif
+#endif
+
+
+#if @GNULIB_PWRITE@
+/* Write at most BUFSIZE bytes from BUF into FD, starting at OFFSET.
+ Return the number of bytes written if successful, otherwise
+ set errno and return -1. 0 indicates nothing written. See the
+ POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pwrite.html>. */
+# if @REPLACE_PWRITE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef pwrite
+# define pwrite rpl_pwrite
+# endif
+_GL_FUNCDECL_RPL (pwrite, ssize_t,
+ (int fd, const void *buf, size_t bufsize, off_t offset)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (pwrite, ssize_t,
+ (int fd, const void *buf, size_t bufsize, off_t offset));
+# else
+# if !@HAVE_PWRITE@
+_GL_FUNCDECL_SYS (pwrite, ssize_t,
+ (int fd, const void *buf, size_t bufsize, off_t offset)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (pwrite, ssize_t,
+ (int fd, const void *buf, size_t bufsize, off_t offset));
+# endif
+_GL_CXXALIASWARN (pwrite);
+#elif defined GNULIB_POSIXCHECK
+# undef pwrite
+# if HAVE_RAW_DECL_PWRITE
+_GL_WARN_ON_USE (pwrite, "pwrite is unportable - "
+ "use gnulib module pwrite for portability");
+# endif
+#endif
+
+
+#if @GNULIB_READ@
+/* Read up to COUNT bytes from file descriptor FD into the buffer starting
+ at BUF. See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html>. */
+# if @REPLACE_READ@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef read
+# define read rpl_read
+# endif
+_GL_FUNCDECL_RPL (read, ssize_t, (int fd, void *buf, size_t count)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (read, ssize_t, (int fd, void *buf, size_t count));
+# else
+/* Need to cast, because on mingw, the third parameter is
+ unsigned int count
+ and the return type is 'int'. */
+_GL_CXXALIAS_SYS_CAST (read, ssize_t, (int fd, void *buf, size_t count));
+# endif
+_GL_CXXALIASWARN (read);
+#endif
+
+
+#if @GNULIB_READLINK@
+/* Read the contents of the symbolic link FILE and place the first BUFSIZE
+ bytes of it into BUF. Return the number of bytes placed into BUF if
+ successful, otherwise -1 and errno set.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>. */
+# if @REPLACE_READLINK@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define readlink rpl_readlink
+# endif
+_GL_FUNCDECL_RPL (readlink, ssize_t,
+ (const char *file, char *buf, size_t bufsize)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (readlink, ssize_t,
+ (const char *file, char *buf, size_t bufsize));
+# else
+# if !@HAVE_READLINK@
+_GL_FUNCDECL_SYS (readlink, ssize_t,
+ (const char *file, char *buf, size_t bufsize)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (readlink, ssize_t,
+ (const char *file, char *buf, size_t bufsize));
+# endif
+_GL_CXXALIASWARN (readlink);
+#elif defined GNULIB_POSIXCHECK
+# undef readlink
+# if HAVE_RAW_DECL_READLINK
+_GL_WARN_ON_USE (readlink, "readlink is unportable - "
+ "use gnulib module readlink for portability");
+# endif
+#endif
+
+
+#if @GNULIB_READLINKAT@
+# if !@HAVE_READLINKAT@
+_GL_FUNCDECL_SYS (readlinkat, ssize_t,
+ (int fd, char const *file, char *buf, size_t len)
+ _GL_ARG_NONNULL ((2, 3)));
+# endif
+_GL_CXXALIAS_SYS (readlinkat, ssize_t,
+ (int fd, char const *file, char *buf, size_t len));
+_GL_CXXALIASWARN (readlinkat);
+#elif defined GNULIB_POSIXCHECK
+# undef readlinkat
+# if HAVE_RAW_DECL_READLINKAT
+_GL_WARN_ON_USE (readlinkat, "readlinkat is not portable - "
+ "use gnulib module readlinkat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_RMDIR@
+/* Remove the directory DIR. */
+# if @REPLACE_RMDIR@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# define rmdir rpl_rmdir
+# endif
+_GL_FUNCDECL_RPL (rmdir, int, (char const *name) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (rmdir, int, (char const *name));
+# else
+_GL_CXXALIAS_SYS (rmdir, int, (char const *name));
+# endif
+_GL_CXXALIASWARN (rmdir);
+#elif defined GNULIB_POSIXCHECK
+# undef rmdir
+# if HAVE_RAW_DECL_RMDIR
+_GL_WARN_ON_USE (rmdir, "rmdir is unportable - "
+ "use gnulib module rmdir for portability");
+# endif
+#endif
+
+
+#if @GNULIB_SLEEP@
+/* Pause the execution of the current thread for N seconds.
+ Returns the number of seconds left to sleep.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/sleep.html>. */
+# if @REPLACE_SLEEP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef sleep
+# define sleep rpl_sleep
+# endif
+_GL_FUNCDECL_RPL (sleep, unsigned int, (unsigned int n));
+_GL_CXXALIAS_RPL (sleep, unsigned int, (unsigned int n));
+# else
+# if !@HAVE_SLEEP@
+_GL_FUNCDECL_SYS (sleep, unsigned int, (unsigned int n));
+# endif
+_GL_CXXALIAS_SYS (sleep, unsigned int, (unsigned int n));
+# endif
+_GL_CXXALIASWARN (sleep);
+#elif defined GNULIB_POSIXCHECK
+# undef sleep
+# if HAVE_RAW_DECL_SLEEP
+_GL_WARN_ON_USE (sleep, "sleep is unportable - "
+ "use gnulib module sleep for portability");
+# endif
+#endif
+
+
+#if @GNULIB_SYMLINK@
+# if @REPLACE_SYMLINK@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef symlink
+# define symlink rpl_symlink
+# endif
+_GL_FUNCDECL_RPL (symlink, int, (char const *contents, char const *file)
+ _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (symlink, int, (char const *contents, char const *file));
+# else
+# if !@HAVE_SYMLINK@
+_GL_FUNCDECL_SYS (symlink, int, (char const *contents, char const *file)
+ _GL_ARG_NONNULL ((1, 2)));
+# endif
+_GL_CXXALIAS_SYS (symlink, int, (char const *contents, char const *file));
+# endif
+_GL_CXXALIASWARN (symlink);
+#elif defined GNULIB_POSIXCHECK
+# undef symlink
+# if HAVE_RAW_DECL_SYMLINK
+_GL_WARN_ON_USE (symlink, "symlink is not portable - "
+ "use gnulib module symlink for portability");
+# endif
+#endif
+
+
+#if @GNULIB_SYMLINKAT@
+# if !@HAVE_SYMLINKAT@
+_GL_FUNCDECL_SYS (symlinkat, int,
+ (char const *contents, int fd, char const *file)
+ _GL_ARG_NONNULL ((1, 3)));
+# endif
+_GL_CXXALIAS_SYS (symlinkat, int,
+ (char const *contents, int fd, char const *file));
+_GL_CXXALIASWARN (symlinkat);
+#elif defined GNULIB_POSIXCHECK
+# undef symlinkat
+# if HAVE_RAW_DECL_SYMLINKAT
+_GL_WARN_ON_USE (symlinkat, "symlinkat is not portable - "
+ "use gnulib module symlinkat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_TTYNAME_R@
+/* Store at most BUFLEN characters of the pathname of the terminal FD is
+ open on in BUF. Return 0 on success, otherwise an error number. */
+# if @REPLACE_TTYNAME_R@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef ttyname_r
+# define ttyname_r rpl_ttyname_r
+# endif
+_GL_FUNCDECL_RPL (ttyname_r, int,
+ (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (ttyname_r, int,
+ (int fd, char *buf, size_t buflen));
+# else
+# if !@HAVE_DECL_TTYNAME_R@
+_GL_FUNCDECL_SYS (ttyname_r, int,
+ (int fd, char *buf, size_t buflen) _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (ttyname_r, int,
+ (int fd, char *buf, size_t buflen));
+# endif
+_GL_CXXALIASWARN (ttyname_r);
+#elif defined GNULIB_POSIXCHECK
+# undef ttyname_r
+# if HAVE_RAW_DECL_TTYNAME_R
+_GL_WARN_ON_USE (ttyname_r, "ttyname_r is not portable - "
+ "use gnulib module ttyname_r for portability");
+# endif
+#endif
+
+
+#if @GNULIB_UNLINK@
+# if @REPLACE_UNLINK@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef unlink
+# define unlink rpl_unlink
+# endif
+_GL_FUNCDECL_RPL (unlink, int, (char const *file) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (unlink, int, (char const *file));
+# else
+_GL_CXXALIAS_SYS (unlink, int, (char const *file));
+# endif
+_GL_CXXALIASWARN (unlink);
+#elif defined GNULIB_POSIXCHECK
+# undef unlink
+# if HAVE_RAW_DECL_UNLINK
+_GL_WARN_ON_USE (unlink, "unlink is not portable - "
+ "use gnulib module unlink for portability");
+# endif
+#endif
+
+
+#if @GNULIB_UNLINKAT@
+# if @REPLACE_UNLINKAT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef unlinkat
+# define unlinkat rpl_unlinkat
+# endif
+_GL_FUNCDECL_RPL (unlinkat, int, (int fd, char const *file, int flag)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (unlinkat, int, (int fd, char const *file, int flag));
+# else
+# if !@HAVE_UNLINKAT@
+_GL_FUNCDECL_SYS (unlinkat, int, (int fd, char const *file, int flag)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (unlinkat, int, (int fd, char const *file, int flag));
+# endif
+_GL_CXXALIASWARN (unlinkat);
+#elif defined GNULIB_POSIXCHECK
+# undef unlinkat
+# if HAVE_RAW_DECL_UNLINKAT
+_GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - "
+ "use gnulib module openat for portability");
+# endif
+#endif
+
+
+#if @GNULIB_USLEEP@
+/* Pause the execution of the current thread for N microseconds.
+ Returns 0 on completion, or -1 on range error.
+ See the POSIX:2001 specification
+ <http://www.opengroup.org/susv3xsh/usleep.html>. */
+# if @REPLACE_USLEEP@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef usleep
+# define usleep rpl_usleep
+# endif
+_GL_FUNCDECL_RPL (usleep, int, (useconds_t n));
+_GL_CXXALIAS_RPL (usleep, int, (useconds_t n));
+# else
+# if !@HAVE_USLEEP@
+_GL_FUNCDECL_SYS (usleep, int, (useconds_t n));
+# endif
+_GL_CXXALIAS_SYS (usleep, int, (useconds_t n));
+# endif
+_GL_CXXALIASWARN (usleep);
+#elif defined GNULIB_POSIXCHECK
+# undef usleep
+# if HAVE_RAW_DECL_USLEEP
+_GL_WARN_ON_USE (usleep, "usleep is unportable - "
+ "use gnulib module usleep for portability");
+# endif
+#endif
+
+
+#if @GNULIB_WRITE@
+/* Write up to COUNT bytes starting at BUF to file descriptor FD.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html>. */
+# if @REPLACE_WRITE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef write
+# define write rpl_write
+# endif
+_GL_FUNCDECL_RPL (write, ssize_t, (int fd, const void *buf, size_t count)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (write, ssize_t, (int fd, const void *buf, size_t count));
+# else
+/* Need to cast, because on mingw, the third parameter is
+ unsigned int count
+ and the return type is 'int'. */
+_GL_CXXALIAS_SYS_CAST (write, ssize_t, (int fd, const void *buf, size_t count));
+# endif
+_GL_CXXALIASWARN (write);
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_UNISTD_H */
+#endif /* _@GUARD_PREFIX@_UNISTD_H */
--- /dev/null
+/* Test of u8_mbtoucr() function.
+ Copyright (C) 2010-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010. */
+
+#include <config.h>
+
+#include "unistr.h"
+
+#include "macros.h"
+
+int
+main ()
+{
+ ucs4_t uc;
+ int ret;
+
+ /* Test NUL unit input. */
+ {
+ static const uint8_t input[] = "";
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 1);
+ ASSERT (ret == 1);
+ ASSERT (uc == 0);
+ }
+
+ /* Test ISO 646 unit input. */
+ {
+ ucs4_t c;
+ uint8_t buf[1];
+
+ for (c = 0; c < 0x80; c++)
+ {
+ buf[0] = c;
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, buf, 1);
+ ASSERT (ret == 1);
+ ASSERT (uc == c);
+ }
+ }
+
+ /* Test 2-byte character input. */
+ {
+ static const uint8_t input[] = { 0xC3, 0x97 };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 2);
+ ASSERT (ret == 2);
+ ASSERT (uc == 0x00D7);
+ }
+
+ /* Test 3-byte character input. */
+ {
+ static const uint8_t input[] = { 0xE2, 0x82, 0xAC };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 3);
+ ASSERT (ret == 3);
+ ASSERT (uc == 0x20AC);
+ }
+
+ /* Test 4-byte character input. */
+ {
+ static const uint8_t input[] = { 0xF4, 0x8F, 0xBF, 0xBD };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 4);
+ ASSERT (ret == 4);
+ ASSERT (uc == 0x10FFFD);
+ }
+
+ /* Test incomplete/invalid 1-byte input. */
+ {
+ static const uint8_t input[] = { 0xC1 };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 1);
+ ASSERT (ret == -1);
+ ASSERT (uc == 0xFFFD);
+ }
+ {
+ static const uint8_t input[] = { 0xC3 };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 1);
+ ASSERT (ret == -2);
+ ASSERT (uc == 0xFFFD);
+ }
+ {
+ static const uint8_t input[] = { 0xE2 };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 1);
+ ASSERT (ret == -2);
+ ASSERT (uc == 0xFFFD);
+ }
+ {
+ static const uint8_t input[] = { 0xF4 };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 1);
+ ASSERT (ret == -2);
+ ASSERT (uc == 0xFFFD);
+ }
+ {
+ static const uint8_t input[] = { 0xFE };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 1);
+ ASSERT (ret == -1);
+ ASSERT (uc == 0xFFFD);
+ }
+
+ /* Test incomplete/invalid 2-byte input. */
+ {
+ static const uint8_t input[] = { 0xE0, 0x9F };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 2);
+ ASSERT (ret == -1);
+ ASSERT (uc == 0xFFFD);
+ }
+ {
+ static const uint8_t input[] = { 0xE2, 0x82 };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 2);
+ ASSERT (ret == -2);
+ ASSERT (uc == 0xFFFD);
+ }
+ {
+ static const uint8_t input[] = { 0xE2, 0xD0 };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 2);
+ ASSERT (ret == -1);
+ ASSERT (uc == 0xFFFD);
+ }
+ {
+ static const uint8_t input[] = { 0xF0, 0x8F };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 2);
+ ASSERT (ret == -1);
+ ASSERT (uc == 0xFFFD);
+ }
+ {
+ static const uint8_t input[] = { 0xF3, 0x8F };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 2);
+ ASSERT (ret == -2);
+ ASSERT (uc == 0xFFFD);
+ }
+ {
+ static const uint8_t input[] = { 0xF3, 0xD0 };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 2);
+ ASSERT (ret == -1);
+ ASSERT (uc == 0xFFFD);
+ }
+
+ /* Test incomplete/invalid 3-byte input. */
+ {
+ static const uint8_t input[] = { 0xF3, 0x8F, 0xBF };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 3);
+ ASSERT (ret == -2);
+ ASSERT (uc == 0xFFFD);
+ }
+ {
+ static const uint8_t input[] = { 0xF3, 0xD0, 0xBF };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 3);
+ ASSERT (ret == -1);
+ ASSERT (uc == 0xFFFD);
+ }
+ {
+ static const uint8_t input[] = { 0xF3, 0x8F, 0xD0 };
+ uc = 0xBADFACE;
+ ret = u8_mbtoucr (&uc, input, 3);
+ ASSERT (ret == -1);
+ ASSERT (uc == 0xFFFD);
+ }
+
+ return 0;
+}
--- /dev/null
+/* Test of u8_uctomb() function.
+ Copyright (C) 2010-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2010. */
+
+#include <config.h>
+
+#include "unistr.h"
+
+#include "macros.h"
+
+#define MAGIC 0xBA
+
+int
+main ()
+{
+ /* Test ISO 646 character, in particular the NUL character. */
+ {
+ ucs4_t uc;
+
+ for (uc = 0; uc < 0x80; uc++)
+ {
+ uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC };
+ int ret;
+
+ ret = u8_uctomb (buf, uc, 0);
+ ASSERT (ret == -2);
+ ASSERT (buf[0] == MAGIC);
+
+ ret = u8_uctomb (buf, uc, 1);
+ ASSERT (ret == 1);
+ ASSERT (buf[0] == uc);
+ ASSERT (buf[1] == MAGIC);
+ }
+ }
+
+ /* Test 2-byte character. */
+ {
+ ucs4_t uc = 0x00D7;
+ uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC };
+ int ret;
+
+ ret = u8_uctomb (buf, uc, 0);
+ ASSERT (ret == -2);
+ ASSERT (buf[0] == MAGIC);
+
+ ret = u8_uctomb (buf, uc, 1);
+ ASSERT (ret == -2);
+ ASSERT (buf[0] == MAGIC);
+
+ ret = u8_uctomb (buf, uc, 2);
+ ASSERT (ret == 2);
+ ASSERT (buf[0] == 0xC3);
+ ASSERT (buf[1] == 0x97);
+ ASSERT (buf[2] == MAGIC);
+ }
+
+ /* Test 3-byte character. */
+ {
+ ucs4_t uc = 0x20AC;
+ uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC };
+ int ret;
+
+ ret = u8_uctomb (buf, uc, 0);
+ ASSERT (ret == -2);
+ ASSERT (buf[0] == MAGIC);
+
+ ret = u8_uctomb (buf, uc, 1);
+ ASSERT (ret == -2);
+ ASSERT (buf[0] == MAGIC);
+
+ ret = u8_uctomb (buf, uc, 2);
+ ASSERT (ret == -2);
+ ASSERT (buf[0] == MAGIC);
+ ASSERT (buf[1] == MAGIC);
+
+ ret = u8_uctomb (buf, uc, 3);
+ ASSERT (ret == 3);
+ ASSERT (buf[0] == 0xE2);
+ ASSERT (buf[1] == 0x82);
+ ASSERT (buf[2] == 0xAC);
+ ASSERT (buf[3] == MAGIC);
+ }
+
+ /* Test 4-byte character. */
+ {
+ ucs4_t uc = 0x10FFFD;
+ uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC };
+ int ret;
+
+ ret = u8_uctomb (buf, uc, 0);
+ ASSERT (ret == -2);
+ ASSERT (buf[0] == MAGIC);
+
+ ret = u8_uctomb (buf, uc, 1);
+ ASSERT (ret == -2);
+ ASSERT (buf[0] == MAGIC);
+
+ ret = u8_uctomb (buf, uc, 2);
+ ASSERT (ret == -2);
+ ASSERT (buf[0] == MAGIC);
+ ASSERT (buf[1] == MAGIC);
+
+ ret = u8_uctomb (buf, uc, 3);
+ ASSERT (ret == -2);
+ ASSERT (buf[0] == MAGIC);
+ ASSERT (buf[1] == MAGIC);
+ ASSERT (buf[2] == MAGIC);
+
+ ret = u8_uctomb (buf, uc, 4);
+ ASSERT (ret == 4);
+ ASSERT (buf[0] == 0xF4);
+ ASSERT (buf[1] == 0x8F);
+ ASSERT (buf[2] == 0xBF);
+ ASSERT (buf[3] == 0xBD);
+ ASSERT (buf[4] == MAGIC);
+ }
+
+ /* Test invalid characters. */
+ {
+ ucs4_t invalid[] = { 0x110000, 0xD800, 0xDBFF, 0xDC00, 0xDFFF };
+ uint8_t buf[5] = { MAGIC, MAGIC, MAGIC, MAGIC, MAGIC };
+ size_t i;
+
+ for (i = 0; i < SIZEOF (invalid); i++)
+ {
+ ucs4_t uc = invalid[i];
+ int n;
+
+ for (n = 0; n <= 4; n++)
+ {
+ int ret = u8_uctomb (buf, uc, n);
+ ASSERT (ret == -1);
+ ASSERT (buf[0] == MAGIC);
+ ASSERT (buf[1] == MAGIC);
+ ASSERT (buf[2] == MAGIC);
+ ASSERT (buf[3] == MAGIC);
+ ASSERT (buf[4] == MAGIC);
+ }
+ }
+ }
+
+ return 0;
+}
--- /dev/null
+/* Copyright (C) 1992, 1995-2002, 2005-2011 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc
+ optimizes away the name == NULL test below. */
+#define _GL_ARG_NONNULL(params)
+
+/* Specification. */
+#include <stdlib.h>
+
+#include <errno.h>
+#if !_LIBC
+# define __set_errno(ev) ((errno) = (ev))
+#endif
+
+#include <string.h>
+#include <unistd.h>
+
+#if !_LIBC
+# define __environ environ
+#endif
+
+#if _LIBC
+/* This lock protects against simultaneous modifications of `environ'. */
+# include <bits/libc-lock.h>
+__libc_lock_define_initialized (static, envlock)
+# define LOCK __libc_lock_lock (envlock)
+# define UNLOCK __libc_lock_unlock (envlock)
+#else
+# define LOCK
+# define UNLOCK
+#endif
+
+/* In the GNU C library we must keep the namespace clean. */
+#ifdef _LIBC
+# define unsetenv __unsetenv
+#endif
+
+#if _LIBC || !HAVE_UNSETENV
+
+int
+unsetenv (const char *name)
+{
+ size_t len;
+ char **ep;
+
+ if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
+ {
+ __set_errno (EINVAL);
+ return -1;
+ }
+
+ len = strlen (name);
+
+ LOCK;
+
+ ep = __environ;
+ while (*ep != NULL)
+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
+ {
+ /* Found it. Remove this pointer by moving later ones back. */
+ char **dp = ep;
+
+ do
+ dp[0] = dp[1];
+ while (*dp++);
+ /* Continue the loop in case NAME appears again. */
+ }
+ else
+ ++ep;
+
+ UNLOCK;
+
+ return 0;
+}
+
+#ifdef _LIBC
+# undef unsetenv
+weak_alias (__unsetenv, unsetenv)
+#endif
+
+#else /* HAVE_UNSETENV */
+
+# undef unsetenv
+# if !HAVE_DECL_UNSETENV
+# if VOID_UNSETENV
+extern void unsetenv (const char *);
+# else
+extern int unsetenv (const char *);
+# endif
+# endif
+
+/* Call the underlying unsetenv, in case there is hidden bookkeeping
+ that needs updating beyond just modifying environ. */
+int
+rpl_unsetenv (const char *name)
+{
+ int result = 0;
+ if (!name || !*name || strchr (name, '='))
+ {
+ errno = EINVAL;
+ return -1;
+ }
+ while (getenv (name))
+# if !VOID_UNSETENV
+ result =
+# endif
+ unsetenv (name);
+ return result;
+}
+
+#endif /* HAVE_UNSETENV */
/* Compile-time assert-like macros.
- Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */
-#ifndef VERIFY_H
-# define VERIFY_H 1
+#ifndef _GL_VERIFY_H
+# define _GL_VERIFY_H
+
+
+/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per the
+ C1X draft N1548 section 6.7.10. This is supported by GCC 4.6.0 and
+ later, in C mode, and its use here generates easier-to-read diagnostics
+ when verify (R) fails.
+
+ Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per the
+ C++0X draft N3242 section 7.(4).
+ This will likely be supported by future GCC versions, in C++ mode.
+
+ Use this only with GCC. If we were willing to slow 'configure'
+ down we could also use it with other compilers, but since this
+ affects only the quality of diagnostics, why bother? */
+# if (4 < __GNUC__ || (__GNUC__ == 4 && 6 <= __GNUC_MINOR__)) && !defined __cplusplus
+# define _GL_HAVE__STATIC_ASSERT 1
+# endif
+/* The condition (99 < __GNUC__) is temporary, until we know about the
+ first G++ release that supports static_assert. */
+# if (99 < __GNUC__) && defined __cplusplus
+# define _GL_HAVE_STATIC_ASSERT 1
+# endif
/* Each of these macros verifies that its argument R is nonzero. To
be portable, R should be an integer constant expression. Unlike
assert (R), there is no run-time overhead.
- There are two macros, since no single macro can be used in all
- contexts in C. verify_true (R) is for scalar contexts, including
- integer constant expression contexts. verify (R) is for declaration
- contexts, e.g., the top level.
-
- Symbols ending in "__" are private to this header.
+ If _Static_assert works, verify (R) uses it directly. Similarly,
+ _GL_VERIFY_TRUE works by packaging a _Static_assert inside a struct
+ that is an operand of sizeof.
- The code below uses several ideas.
+ The code below uses several ideas for C++ compilers, and for C
+ compilers that do not support _Static_assert:
* The first step is ((R) ? 1 : -1). Given an expression R, of
integral or boolean or floating-point type, this yields an
constant and nonnegative.
* Next this expression W is wrapped in a type
- struct verify_type__ { unsigned int verify_error_if_negative_size__: W; }.
+ struct _gl_verify_type {
+ unsigned int _gl_verify_error_if_negative: W;
+ }.
If W is negative, this yields a compile-time error. No compiler can
deal with a bit-field of negative size.
void function (int n) { verify (n < 0); }
- * For the verify macro, the struct verify_type__ will need to
+ * For the verify macro, the struct _gl_verify_type will need to
somehow be embedded into a declaration. To be portable, this
declaration must declare an object, a constant, a function, or a
typedef name. If the declared entity uses the type directly,
if the entity names are not disambiguated. A workaround is to
attach the current line number to the entity name:
- #define GL_CONCAT0(x, y) x##y
- #define GL_CONCAT(x, y) GL_CONCAT0 (x, y)
- extern struct {...} * GL_CONCAT(dummy,__LINE__);
+ #define _GL_CONCAT0(x, y) x##y
+ #define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
+ extern struct {...} * _GL_CONCAT (dummy, __LINE__);
But this has the problem that two invocations of verify from
within the same macro would collide, since the __LINE__ value
- would be the same for both invocations.
+ would be the same for both invocations. (The GCC __COUNTER__
+ macro solves this problem, but is not portable.)
A solution is to use the sizeof operator. It yields a number,
getting rid of the identity of the type. Declarations like
Which of the following alternatives can be used?
extern int dummy [sizeof (struct {...})];
- extern int dummy [sizeof (struct verify_type__ {...})];
+ extern int dummy [sizeof (struct _gl_verify_type {...})];
extern void dummy (int [sizeof (struct {...})]);
- extern void dummy (int [sizeof (struct verify_type__ {...})]);
+ extern void dummy (int [sizeof (struct _gl_verify_type {...})]);
extern int (*dummy (void)) [sizeof (struct {...})];
- extern int (*dummy (void)) [sizeof (struct verify_type__ {...})];
+ extern int (*dummy (void)) [sizeof (struct _gl_verify_type {...})];
In the second and sixth case, the struct type is exported to the
outer scope; two such declarations therefore collide. GCC warns
extern int (*dummy (void)) [sizeof (struct {...})];
- * This implementation exploits the fact that GCC does not warn about
- the last declaration mentioned above. If a future version of GCC
- introduces a warning for this, the problem could be worked around
- by using code specialized to GCC, e.g.,:
+ * GCC warns about duplicate declarations of the dummy function if
+ -Wredundant_decls is used. GCC 4.3 and later have a builtin
+ __COUNTER__ macro that can let us generate unique identifiers for
+ each dummy function, to suppress this warning.
- #if 4 <= __GNUC__
- # define verify(R) \
- extern int (* verify_function__ (void)) \
- [__builtin_constant_p (R) && (R) ? 1 : -1]
- #endif
+ * This implementation exploits the fact that older versions of GCC,
+ which do not support _Static_assert, also do not warn about the
+ last declaration mentioned above.
* In C++, any struct definition inside sizeof is invalid.
Use a template type to work around the problem. */
+/* Concatenate two preprocessor tokens. */
+# define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y)
+# define _GL_CONCAT0(x, y) x##y
-/* Verify requirement R at compile-time, as an integer constant expression.
- Return 1. */
+/* _GL_COUNTER is an integer, preferably one that changes each time we
+ use it. Use __COUNTER__ if it works, falling back on __LINE__
+ otherwise. __LINE__ isn't perfect, but it's better than a
+ constant. */
+# if defined __COUNTER__ && __COUNTER__ != __COUNTER__
+# define _GL_COUNTER __COUNTER__
+# else
+# define _GL_COUNTER __LINE__
+# endif
+
+/* Generate a symbol with the given prefix, making it unique if
+ possible. */
+# define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER)
+
+/* Verify requirement R at compile-time, as an integer constant expression
+ that returns 1. If R is false, fail at compile-time, preferably
+ with a diagnostic that includes the string-literal DIAGNOSTIC. */
+
+# define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \
+ (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC)))
# ifdef __cplusplus
+# if !GNULIB_defined_struct__gl_verify_type
template <int w>
- struct verify_type__ { unsigned int verify_error_if_negative_size__: w; };
-# define verify_true(R) \
- (!!sizeof (verify_type__<(R) ? 1 : -1>))
+ struct _gl_verify_type {
+ unsigned int _gl_verify_error_if_negative: w;
+ };
+# define GNULIB_defined_struct__gl_verify_type 1
+# endif
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+ _gl_verify_type<(R) ? 1 : -1>
+# elif defined _GL_HAVE__STATIC_ASSERT
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+ struct { \
+ _Static_assert (R, DIAGNOSTIC); \
+ int _gl_dummy; \
+ }
+# else
+# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \
+ struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; }
+# endif
+
+/* Verify requirement R at compile-time, as a declaration without a
+ trailing ';'. If R is false, fail at compile-time, preferably
+ with a diagnostic that includes the string-literal DIAGNOSTIC.
+
+ Unfortunately, unlike C1X, this implementation must appear as an
+ ordinary declaration, and cannot appear inside struct { ... }. */
+
+# ifdef _GL_HAVE__STATIC_ASSERT
+# define _GL_VERIFY _Static_assert
# else
-# define verify_true(R) \
- (!!sizeof \
- (struct { unsigned int verify_error_if_negative_size__: (R) ? 1 : -1; }))
+# define _GL_VERIFY(R, DIAGNOSTIC) \
+ extern int (*_GL_GENSYM (_gl_verify_function) (void)) \
+ [_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
# endif
+/* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */
+# ifdef _GL_STATIC_ASSERT_H
+# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert
+# define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
+# endif
+# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
+# define static_assert _Static_assert /* Draft C1X requires this #define. */
+# endif
+# endif
+
+/* @assert.h omit start@ */
+
+/* Each of these macros verifies that its argument R is nonzero. To
+ be portable, R should be an integer constant expression. Unlike
+ assert (R), there is no run-time overhead.
+
+ There are two macros, since no single macro can be used in all
+ contexts in C. verify_true (R) is for scalar contexts, including
+ integer constant expression contexts. verify (R) is for declaration
+ contexts, e.g., the top level. */
+
+/* Verify requirement R at compile-time, as an integer constant expression.
+ Return 1. This is equivalent to verify_expr (R, 1).
+
+ verify_true is obsolescent; please use verify_expr instead. */
+
+# define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")")
+
+/* Verify requirement R at compile-time. Return the value of the
+ expression E. */
+
+# define verify_expr(R, E) \
+ (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
+
/* Verify requirement R at compile-time, as a declaration without a
trailing ';'. */
-# define verify(R) extern int (* verify_function__ (void)) [verify_true (R)]
+# define verify(R) _GL_VERIFY (R, "verify (" #R ")")
+
+/* @assert.h omit end@ */
#endif
--- /dev/null
+/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
+
+ Copyright (C) 2007-2011 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+/* Written by Eric Blake. */
+
+/*
+ * ISO C 99 <wchar.h> for platforms that have issues.
+ * <http://www.opengroup.org/susv3xbd/wchar.h.html>
+ *
+ * For now, this just ensures proper prerequisite inclusion order and
+ * the declaration of wcwidth().
+ */
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+@PRAGMA_COLUMNS@
+
+#if defined __need_mbstate_t || defined __need_wint_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H
+/* Special invocation convention:
+ - Inside glibc and uClibc header files.
+ - On HP-UX 11.00 we have a sequence of nested includes
+ <wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
+ once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
+ and once directly. In both situations 'wint_t' is not yet defined,
+ therefore we cannot provide the function overrides; instead include only
+ the system's <wchar.h>.
+ - On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and
+ the latter includes <wchar.h>. But here, we have no way to detect whether
+ <wctype.h> is completely included or is still being included. */
+
+#@INCLUDE_NEXT@ @NEXT_WCHAR_H@
+
+#else
+/* Normal invocation convention. */
+
+#ifndef _@GUARD_PREFIX@_WCHAR_H
+
+#define _GL_ALREADY_INCLUDING_WCHAR_H
+
+#if @HAVE_FEATURES_H@
+# include <features.h> /* for __GLIBC__ */
+#endif
+
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+ <wchar.h>.
+ BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+ included before <wchar.h>.
+ In some builds of uClibc, <wchar.h> is nonexistent and wchar_t is defined
+ by <stddef.h>.
+ But avoid namespace pollution on glibc systems. */
+#if !(defined __GLIBC__ && !defined __UCLIBC__)
+# include <stddef.h>
+#endif
+#ifndef __GLIBC__
+# include <stdio.h>
+# include <time.h>
+#endif
+
+/* Include the original <wchar.h> if it exists.
+ Some builds of uClibc lack it. */
+/* The include_next requires a split double-inclusion guard. */
+#if @HAVE_WCHAR_H@
+# @INCLUDE_NEXT@ @NEXT_WCHAR_H@
+#endif
+
+#undef _GL_ALREADY_INCLUDING_WCHAR_H
+
+#ifndef _@GUARD_PREFIX@_WCHAR_H
+#define _@GUARD_PREFIX@_WCHAR_H
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
+
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
+/* The definition of _GL_WARN_ON_USE is copied here. */
+
+
+/* Define wint_t and WEOF. (Also done in wctype.in.h.) */
+#if !@HAVE_WINT_T@ && !defined wint_t
+# define wint_t int
+# ifndef WEOF
+# define WEOF -1
+# endif
+#else
+/* MSVC defines wint_t as 'unsigned short' in <crtdefs.h>.
+ This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be
+ "unchanged by default argument promotions". Override it. */
+# if defined _MSC_VER
+# if !GNULIB_defined_wint_t
+# include <crtdefs.h>
+typedef unsigned int rpl_wint_t;
+# undef wint_t
+# define wint_t rpl_wint_t
+# define GNULIB_defined_wint_t 1
+# endif
+# endif
+# ifndef WEOF
+# define WEOF ((wint_t) -1)
+# endif
+#endif
+
+
+/* Override mbstate_t if it is too small.
+ On IRIX 6.5, sizeof (mbstate_t) == 1, which is not sufficient for
+ implementing mbrtowc for encodings like UTF-8. */
+#if !(@HAVE_MBSINIT@ && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@
+# if !GNULIB_defined_mbstate_t
+typedef int rpl_mbstate_t;
+# undef mbstate_t
+# define mbstate_t rpl_mbstate_t
+# define GNULIB_defined_mbstate_t 1
+# endif
+#endif
+
+
+/* Convert a single-byte character to a wide character. */
+#if @GNULIB_BTOWC@
+# if @REPLACE_BTOWC@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef btowc
+# define btowc rpl_btowc
+# endif
+_GL_FUNCDECL_RPL (btowc, wint_t, (int c));
+_GL_CXXALIAS_RPL (btowc, wint_t, (int c));
+# else
+# if !@HAVE_BTOWC@
+_GL_FUNCDECL_SYS (btowc, wint_t, (int c));
+# endif
+_GL_CXXALIAS_SYS (btowc, wint_t, (int c));
+# endif
+_GL_CXXALIASWARN (btowc);
+#elif defined GNULIB_POSIXCHECK
+# undef btowc
+# if HAVE_RAW_DECL_BTOWC
+_GL_WARN_ON_USE (btowc, "btowc is unportable - "
+ "use gnulib module btowc for portability");
+# endif
+#endif
+
+
+/* Convert a wide character to a single-byte character. */
+#if @GNULIB_WCTOB@
+# if @REPLACE_WCTOB@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wctob
+# define wctob rpl_wctob
+# endif
+_GL_FUNCDECL_RPL (wctob, int, (wint_t wc));
+_GL_CXXALIAS_RPL (wctob, int, (wint_t wc));
+# else
+# if !defined wctob && !@HAVE_DECL_WCTOB@
+/* wctob is provided by gnulib, or wctob exists but is not declared. */
+_GL_FUNCDECL_SYS (wctob, int, (wint_t wc));
+# endif
+_GL_CXXALIAS_SYS (wctob, int, (wint_t wc));
+# endif
+_GL_CXXALIASWARN (wctob);
+#elif defined GNULIB_POSIXCHECK
+# undef wctob
+# if HAVE_RAW_DECL_WCTOB
+_GL_WARN_ON_USE (wctob, "wctob is unportable - "
+ "use gnulib module wctob for portability");
+# endif
+#endif
+
+
+/* Test whether *PS is in the initial state. */
+#if @GNULIB_MBSINIT@
+# if @REPLACE_MBSINIT@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbsinit
+# define mbsinit rpl_mbsinit
+# endif
+_GL_FUNCDECL_RPL (mbsinit, int, (const mbstate_t *ps));
+_GL_CXXALIAS_RPL (mbsinit, int, (const mbstate_t *ps));
+# else
+# if !@HAVE_MBSINIT@
+_GL_FUNCDECL_SYS (mbsinit, int, (const mbstate_t *ps));
+# endif
+_GL_CXXALIAS_SYS (mbsinit, int, (const mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (mbsinit);
+#elif defined GNULIB_POSIXCHECK
+# undef mbsinit
+# if HAVE_RAW_DECL_MBSINIT
+_GL_WARN_ON_USE (mbsinit, "mbsinit is unportable - "
+ "use gnulib module mbsinit for portability");
+# endif
+#endif
+
+
+/* Convert a multibyte character to a wide character. */
+#if @GNULIB_MBRTOWC@
+# if @REPLACE_MBRTOWC@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbrtowc
+# define mbrtowc rpl_mbrtowc
+# endif
+_GL_FUNCDECL_RPL (mbrtowc, size_t,
+ (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
+_GL_CXXALIAS_RPL (mbrtowc, size_t,
+ (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
+# else
+# if !@HAVE_MBRTOWC@
+_GL_FUNCDECL_SYS (mbrtowc, size_t,
+ (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
+# endif
+_GL_CXXALIAS_SYS (mbrtowc, size_t,
+ (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (mbrtowc);
+#elif defined GNULIB_POSIXCHECK
+# undef mbrtowc
+# if HAVE_RAW_DECL_MBRTOWC
+_GL_WARN_ON_USE (mbrtowc, "mbrtowc is unportable - "
+ "use gnulib module mbrtowc for portability");
+# endif
+#endif
+
+
+/* Recognize a multibyte character. */
+#if @GNULIB_MBRLEN@
+# if @REPLACE_MBRLEN@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbrlen
+# define mbrlen rpl_mbrlen
+# endif
+_GL_FUNCDECL_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
+_GL_CXXALIAS_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
+# else
+# if !@HAVE_MBRLEN@
+_GL_FUNCDECL_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
+# endif
+_GL_CXXALIAS_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (mbrlen);
+#elif defined GNULIB_POSIXCHECK
+# undef mbrlen
+# if HAVE_RAW_DECL_MBRLEN
+_GL_WARN_ON_USE (mbrlen, "mbrlen is unportable - "
+ "use gnulib module mbrlen for portability");
+# endif
+#endif
+
+
+/* Convert a string to a wide string. */
+#if @GNULIB_MBSRTOWCS@
+# if @REPLACE_MBSRTOWCS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbsrtowcs
+# define mbsrtowcs rpl_mbsrtowcs
+# endif
+_GL_FUNCDECL_RPL (mbsrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (mbsrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t len,
+ mbstate_t *ps));
+# else
+# if !@HAVE_MBSRTOWCS@
+_GL_FUNCDECL_SYS (mbsrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (mbsrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t len,
+ mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (mbsrtowcs);
+#elif defined GNULIB_POSIXCHECK
+# undef mbsrtowcs
+# if HAVE_RAW_DECL_MBSRTOWCS
+_GL_WARN_ON_USE (mbsrtowcs, "mbsrtowcs is unportable - "
+ "use gnulib module mbsrtowcs for portability");
+# endif
+#endif
+
+
+/* Convert a string to a wide string. */
+#if @GNULIB_MBSNRTOWCS@
+# if @REPLACE_MBSNRTOWCS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef mbsnrtowcs
+# define mbsnrtowcs rpl_mbsnrtowcs
+# endif
+_GL_FUNCDECL_RPL (mbsnrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
+ mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (mbsnrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
+ mbstate_t *ps));
+# else
+# if !@HAVE_MBSNRTOWCS@
+_GL_FUNCDECL_SYS (mbsnrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
+ mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (mbsnrtowcs, size_t,
+ (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
+ mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (mbsnrtowcs);
+#elif defined GNULIB_POSIXCHECK
+# undef mbsnrtowcs
+# if HAVE_RAW_DECL_MBSNRTOWCS
+_GL_WARN_ON_USE (mbsnrtowcs, "mbsnrtowcs is unportable - "
+ "use gnulib module mbsnrtowcs for portability");
+# endif
+#endif
+
+
+/* Convert a wide character to a multibyte character. */
+#if @GNULIB_WCRTOMB@
+# if @REPLACE_WCRTOMB@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcrtomb
+# define wcrtomb rpl_wcrtomb
+# endif
+_GL_FUNCDECL_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
+_GL_CXXALIAS_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
+# else
+# if !@HAVE_WCRTOMB@
+_GL_FUNCDECL_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
+# endif
+_GL_CXXALIAS_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (wcrtomb);
+#elif defined GNULIB_POSIXCHECK
+# undef wcrtomb
+# if HAVE_RAW_DECL_WCRTOMB
+_GL_WARN_ON_USE (wcrtomb, "wcrtomb is unportable - "
+ "use gnulib module wcrtomb for portability");
+# endif
+#endif
+
+
+/* Convert a wide string to a string. */
+#if @GNULIB_WCSRTOMBS@
+# if @REPLACE_WCSRTOMBS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcsrtombs
+# define wcsrtombs rpl_wcsrtombs
+# endif
+_GL_FUNCDECL_RPL (wcsrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (wcsrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t len,
+ mbstate_t *ps));
+# else
+# if !@HAVE_WCSRTOMBS@
+_GL_FUNCDECL_SYS (wcsrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (wcsrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t len,
+ mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (wcsrtombs);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsrtombs
+# if HAVE_RAW_DECL_WCSRTOMBS
+_GL_WARN_ON_USE (wcsrtombs, "wcsrtombs is unportable - "
+ "use gnulib module wcsrtombs for portability");
+# endif
+#endif
+
+
+/* Convert a wide string to a string. */
+#if @GNULIB_WCSNRTOMBS@
+# if @REPLACE_WCSNRTOMBS@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcsnrtombs
+# define wcsnrtombs rpl_wcsnrtombs
+# endif
+_GL_FUNCDECL_RPL (wcsnrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
+ mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (wcsnrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
+ mbstate_t *ps));
+# else
+# if !@HAVE_WCSNRTOMBS@
+_GL_FUNCDECL_SYS (wcsnrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
+ mbstate_t *ps)
+ _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (wcsnrtombs, size_t,
+ (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
+ mbstate_t *ps));
+# endif
+_GL_CXXALIASWARN (wcsnrtombs);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsnrtombs
+# if HAVE_RAW_DECL_WCSNRTOMBS
+_GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - "
+ "use gnulib module wcsnrtombs for portability");
+# endif
+#endif
+
+
+/* Return the number of screen columns needed for WC. */
+#if @GNULIB_WCWIDTH@
+# if @REPLACE_WCWIDTH@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcwidth
+# define wcwidth rpl_wcwidth
+# endif
+_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t));
+_GL_CXXALIAS_RPL (wcwidth, int, (wchar_t));
+# else
+# if !@HAVE_DECL_WCWIDTH@
+/* wcwidth exists but is not declared. */
+_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t));
+# endif
+_GL_CXXALIAS_SYS (wcwidth, int, (wchar_t));
+# endif
+_GL_CXXALIASWARN (wcwidth);
+#elif defined GNULIB_POSIXCHECK
+# undef wcwidth
+# if HAVE_RAW_DECL_WCWIDTH
+_GL_WARN_ON_USE (wcwidth, "wcwidth is unportable - "
+ "use gnulib module wcwidth for portability");
+# endif
+#endif
+
+
+/* Search N wide characters of S for C. */
+#if @GNULIB_WMEMCHR@
+# if !@HAVE_WMEMCHR@
+_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" {
+ const wchar_t * std::wmemchr (const wchar_t *, wchar_t, size_t);
+ wchar_t * std::wmemchr (wchar_t *, wchar_t, size_t);
+ } */
+_GL_CXXALIAS_SYS_CAST2 (wmemchr,
+ wchar_t *, (const wchar_t *, wchar_t, size_t),
+ const wchar_t *, (const wchar_t *, wchar_t, size_t));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wmemchr, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
+_GL_CXXALIASWARN1 (wmemchr, const wchar_t *,
+ (const wchar_t *s, wchar_t c, size_t n));
+# else
+_GL_CXXALIASWARN (wmemchr);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wmemchr
+# if HAVE_RAW_DECL_WMEMCHR
+_GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - "
+ "use gnulib module wmemchr for portability");
+# endif
+#endif
+
+
+/* Compare N wide characters of S1 and S2. */
+#if @GNULIB_WMEMCMP@
+# if !@HAVE_WMEMCMP@
+_GL_FUNCDECL_SYS (wmemcmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wmemcmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n));
+_GL_CXXALIASWARN (wmemcmp);
+#elif defined GNULIB_POSIXCHECK
+# undef wmemcmp
+# if HAVE_RAW_DECL_WMEMCMP
+_GL_WARN_ON_USE (wmemcmp, "wmemcmp is unportable - "
+ "use gnulib module wmemcmp for portability");
+# endif
+#endif
+
+
+/* Copy N wide characters of SRC to DEST. */
+#if @GNULIB_WMEMCPY@
+# if !@HAVE_WMEMCPY@
+_GL_FUNCDECL_SYS (wmemcpy, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wmemcpy, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+_GL_CXXALIASWARN (wmemcpy);
+#elif defined GNULIB_POSIXCHECK
+# undef wmemcpy
+# if HAVE_RAW_DECL_WMEMCPY
+_GL_WARN_ON_USE (wmemcpy, "wmemcpy is unportable - "
+ "use gnulib module wmemcpy for portability");
+# endif
+#endif
+
+
+/* Copy N wide characters of SRC to DEST, guaranteeing correct behavior for
+ overlapping memory areas. */
+#if @GNULIB_WMEMMOVE@
+# if !@HAVE_WMEMMOVE@
+_GL_FUNCDECL_SYS (wmemmove, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wmemmove, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+_GL_CXXALIASWARN (wmemmove);
+#elif defined GNULIB_POSIXCHECK
+# undef wmemmove
+# if HAVE_RAW_DECL_WMEMMOVE
+_GL_WARN_ON_USE (wmemmove, "wmemmove is unportable - "
+ "use gnulib module wmemmove for portability");
+# endif
+#endif
+
+
+/* Set N wide characters of S to C. */
+#if @GNULIB_WMEMSET@
+# if !@HAVE_WMEMSET@
+_GL_FUNCDECL_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
+_GL_CXXALIASWARN (wmemset);
+#elif defined GNULIB_POSIXCHECK
+# undef wmemset
+# if HAVE_RAW_DECL_WMEMSET
+_GL_WARN_ON_USE (wmemset, "wmemset is unportable - "
+ "use gnulib module wmemset for portability");
+# endif
+#endif
+
+
+/* Return the number of wide characters in S. */
+#if @GNULIB_WCSLEN@
+# if !@HAVE_WCSLEN@
+_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s));
+# endif
+_GL_CXXALIAS_SYS (wcslen, size_t, (const wchar_t *s));
+_GL_CXXALIASWARN (wcslen);
+#elif defined GNULIB_POSIXCHECK
+# undef wcslen
+# if HAVE_RAW_DECL_WCSLEN
+_GL_WARN_ON_USE (wcslen, "wcslen is unportable - "
+ "use gnulib module wcslen for portability");
+# endif
+#endif
+
+
+/* Return the number of wide characters in S, but at most MAXLEN. */
+#if @GNULIB_WCSNLEN@
+# if !@HAVE_WCSNLEN@
+_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
+# endif
+_GL_CXXALIAS_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
+_GL_CXXALIASWARN (wcsnlen);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsnlen
+# if HAVE_RAW_DECL_WCSNLEN
+_GL_WARN_ON_USE (wcsnlen, "wcsnlen is unportable - "
+ "use gnulib module wcsnlen for portability");
+# endif
+#endif
+
+
+/* Copy SRC to DEST. */
+#if @GNULIB_WCSCPY@
+# if !@HAVE_WCSCPY@
+_GL_FUNCDECL_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
+# endif
+_GL_CXXALIAS_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
+_GL_CXXALIASWARN (wcscpy);
+#elif defined GNULIB_POSIXCHECK
+# undef wcscpy
+# if HAVE_RAW_DECL_WCSCPY
+_GL_WARN_ON_USE (wcscpy, "wcscpy is unportable - "
+ "use gnulib module wcscpy for portability");
+# endif
+#endif
+
+
+/* Copy SRC to DEST, returning the address of the terminating L'\0' in DEST. */
+#if @GNULIB_WCPCPY@
+# if !@HAVE_WCPCPY@
+_GL_FUNCDECL_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
+# endif
+_GL_CXXALIAS_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
+_GL_CXXALIASWARN (wcpcpy);
+#elif defined GNULIB_POSIXCHECK
+# undef wcpcpy
+# if HAVE_RAW_DECL_WCPCPY
+_GL_WARN_ON_USE (wcpcpy, "wcpcpy is unportable - "
+ "use gnulib module wcpcpy for portability");
+# endif
+#endif
+
+
+/* Copy no more than N wide characters of SRC to DEST. */
+#if @GNULIB_WCSNCPY@
+# if !@HAVE_WCSNCPY@
+_GL_FUNCDECL_SYS (wcsncpy, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcsncpy, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+_GL_CXXALIASWARN (wcsncpy);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsncpy
+# if HAVE_RAW_DECL_WCSNCPY
+_GL_WARN_ON_USE (wcsncpy, "wcsncpy is unportable - "
+ "use gnulib module wcsncpy for portability");
+# endif
+#endif
+
+
+/* Copy no more than N characters of SRC to DEST, returning the address of
+ the last character written into DEST. */
+#if @GNULIB_WCPNCPY@
+# if !@HAVE_WCPNCPY@
+_GL_FUNCDECL_SYS (wcpncpy, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcpncpy, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+_GL_CXXALIASWARN (wcpncpy);
+#elif defined GNULIB_POSIXCHECK
+# undef wcpncpy
+# if HAVE_RAW_DECL_WCPNCPY
+_GL_WARN_ON_USE (wcpncpy, "wcpncpy is unportable - "
+ "use gnulib module wcpncpy for portability");
+# endif
+#endif
+
+
+/* Append SRC onto DEST. */
+#if @GNULIB_WCSCAT@
+# if !@HAVE_WCSCAT@
+_GL_FUNCDECL_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src));
+# endif
+_GL_CXXALIAS_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src));
+_GL_CXXALIASWARN (wcscat);
+#elif defined GNULIB_POSIXCHECK
+# undef wcscat
+# if HAVE_RAW_DECL_WCSCAT
+_GL_WARN_ON_USE (wcscat, "wcscat is unportable - "
+ "use gnulib module wcscat for portability");
+# endif
+#endif
+
+
+/* Append no more than N wide characters of SRC onto DEST. */
+#if @GNULIB_WCSNCAT@
+# if !@HAVE_WCSNCAT@
+_GL_FUNCDECL_SYS (wcsncat, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcsncat, wchar_t *,
+ (wchar_t *dest, const wchar_t *src, size_t n));
+_GL_CXXALIASWARN (wcsncat);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsncat
+# if HAVE_RAW_DECL_WCSNCAT
+_GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - "
+ "use gnulib module wcsncat for portability");
+# endif
+#endif
+
+
+/* Compare S1 and S2. */
+#if @GNULIB_WCSCMP@
+# if !@HAVE_WCSCMP@
+_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
+# endif
+_GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
+_GL_CXXALIASWARN (wcscmp);
+#elif defined GNULIB_POSIXCHECK
+# undef wcscmp
+# if HAVE_RAW_DECL_WCSCMP
+_GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - "
+ "use gnulib module wcscmp for portability");
+# endif
+#endif
+
+
+/* Compare no more than N wide characters of S1 and S2. */
+#if @GNULIB_WCSNCMP@
+# if !@HAVE_WCSNCMP@
+_GL_FUNCDECL_SYS (wcsncmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcsncmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n));
+_GL_CXXALIASWARN (wcsncmp);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsncmp
+# if HAVE_RAW_DECL_WCSNCMP
+_GL_WARN_ON_USE (wcsncmp, "wcsncmp is unportable - "
+ "use gnulib module wcsncmp for portability");
+# endif
+#endif
+
+
+/* Compare S1 and S2, ignoring case. */
+#if @GNULIB_WCSCASECMP@
+# if !@HAVE_WCSCASECMP@
+_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
+# endif
+_GL_CXXALIAS_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
+_GL_CXXALIASWARN (wcscasecmp);
+#elif defined GNULIB_POSIXCHECK
+# undef wcscasecmp
+# if HAVE_RAW_DECL_WCSCASECMP
+_GL_WARN_ON_USE (wcscasecmp, "wcscasecmp is unportable - "
+ "use gnulib module wcscasecmp for portability");
+# endif
+#endif
+
+
+/* Compare no more than N chars of S1 and S2, ignoring case. */
+#if @GNULIB_WCSNCASECMP@
+# if !@HAVE_WCSNCASECMP@
+_GL_FUNCDECL_SYS (wcsncasecmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcsncasecmp, int,
+ (const wchar_t *s1, const wchar_t *s2, size_t n));
+_GL_CXXALIASWARN (wcsncasecmp);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsncasecmp
+# if HAVE_RAW_DECL_WCSNCASECMP
+_GL_WARN_ON_USE (wcsncasecmp, "wcsncasecmp is unportable - "
+ "use gnulib module wcsncasecmp for portability");
+# endif
+#endif
+
+
+/* Compare S1 and S2, both interpreted as appropriate to the LC_COLLATE
+ category of the current locale. */
+#if @GNULIB_WCSCOLL@
+# if !@HAVE_WCSCOLL@
+_GL_FUNCDECL_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
+# endif
+_GL_CXXALIAS_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
+_GL_CXXALIASWARN (wcscoll);
+#elif defined GNULIB_POSIXCHECK
+# undef wcscoll
+# if HAVE_RAW_DECL_WCSCOLL
+_GL_WARN_ON_USE (wcscoll, "wcscoll is unportable - "
+ "use gnulib module wcscoll for portability");
+# endif
+#endif
+
+
+/* Transform S2 into array pointed to by S1 such that if wcscmp is applied
+ to two transformed strings the result is the as applying 'wcscoll' to the
+ original strings. */
+#if @GNULIB_WCSXFRM@
+# if !@HAVE_WCSXFRM@
+_GL_FUNCDECL_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n));
+_GL_CXXALIASWARN (wcsxfrm);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsxfrm
+# if HAVE_RAW_DECL_WCSXFRM
+_GL_WARN_ON_USE (wcsxfrm, "wcsxfrm is unportable - "
+ "use gnulib module wcsxfrm for portability");
+# endif
+#endif
+
+
+/* Duplicate S, returning an identical malloc'd string. */
+#if @GNULIB_WCSDUP@
+# if !@HAVE_WCSDUP@
+_GL_FUNCDECL_SYS (wcsdup, wchar_t *, (const wchar_t *s));
+# endif
+_GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s));
+_GL_CXXALIASWARN (wcsdup);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsdup
+# if HAVE_RAW_DECL_WCSDUP
+_GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - "
+ "use gnulib module wcsdup for portability");
+# endif
+#endif
+
+
+/* Find the first occurrence of WC in WCS. */
+#if @GNULIB_WCSCHR@
+# if !@HAVE_WCSCHR@
+_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" {
+ const wchar_t * std::wcschr (const wchar_t *, wchar_t);
+ wchar_t * std::wcschr (wchar_t *, wchar_t);
+ } */
+_GL_CXXALIAS_SYS_CAST2 (wcschr,
+ wchar_t *, (const wchar_t *, wchar_t),
+ const wchar_t *, (const wchar_t *, wchar_t));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wcschr, wchar_t *, (wchar_t *wcs, wchar_t wc));
+_GL_CXXALIASWARN1 (wcschr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
+# else
+_GL_CXXALIASWARN (wcschr);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcschr
+# if HAVE_RAW_DECL_WCSCHR
+_GL_WARN_ON_USE (wcschr, "wcschr is unportable - "
+ "use gnulib module wcschr for portability");
+# endif
+#endif
+
+
+/* Find the last occurrence of WC in WCS. */
+#if @GNULIB_WCSRCHR@
+# if !@HAVE_WCSRCHR@
+_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" {
+ const wchar_t * std::wcsrchr (const wchar_t *, wchar_t);
+ wchar_t * std::wcsrchr (wchar_t *, wchar_t);
+ } */
+_GL_CXXALIAS_SYS_CAST2 (wcsrchr,
+ wchar_t *, (const wchar_t *, wchar_t),
+ const wchar_t *, (const wchar_t *, wchar_t));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wcsrchr, wchar_t *, (wchar_t *wcs, wchar_t wc));
+_GL_CXXALIASWARN1 (wcsrchr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
+# else
+_GL_CXXALIASWARN (wcsrchr);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcsrchr
+# if HAVE_RAW_DECL_WCSRCHR
+_GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - "
+ "use gnulib module wcsrchr for portability");
+# endif
+#endif
+
+
+/* Return the length of the initial segmet of WCS which consists entirely
+ of wide characters not in REJECT. */
+#if @GNULIB_WCSCSPN@
+# if !@HAVE_WCSCSPN@
+_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
+# endif
+_GL_CXXALIAS_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
+_GL_CXXALIASWARN (wcscspn);
+#elif defined GNULIB_POSIXCHECK
+# undef wcscspn
+# if HAVE_RAW_DECL_WCSCSPN
+_GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - "
+ "use gnulib module wcscspn for portability");
+# endif
+#endif
+
+
+/* Return the length of the initial segmet of WCS which consists entirely
+ of wide characters in ACCEPT. */
+#if @GNULIB_WCSSPN@
+# if !@HAVE_WCSSPN@
+_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
+# endif
+_GL_CXXALIAS_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
+_GL_CXXALIASWARN (wcsspn);
+#elif defined GNULIB_POSIXCHECK
+# undef wcsspn
+# if HAVE_RAW_DECL_WCSSPN
+_GL_WARN_ON_USE (wcsspn, "wcsspn is unportable - "
+ "use gnulib module wcsspn for portability");
+# endif
+#endif
+
+
+/* Find the first occurrence in WCS of any character in ACCEPT. */
+#if @GNULIB_WCSPBRK@
+# if !@HAVE_WCSPBRK@
+_GL_FUNCDECL_SYS (wcspbrk, wchar_t *,
+ (const wchar_t *wcs, const wchar_t *accept));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" {
+ const wchar_t * std::wcspbrk (const wchar_t *, const wchar_t *);
+ wchar_t * std::wcspbrk (wchar_t *, const wchar_t *);
+ } */
+_GL_CXXALIAS_SYS_CAST2 (wcspbrk,
+ wchar_t *, (const wchar_t *, const wchar_t *),
+ const wchar_t *, (const wchar_t *, const wchar_t *));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wcspbrk, wchar_t *,
+ (wchar_t *wcs, const wchar_t *accept));
+_GL_CXXALIASWARN1 (wcspbrk, const wchar_t *,
+ (const wchar_t *wcs, const wchar_t *accept));
+# else
+_GL_CXXALIASWARN (wcspbrk);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcspbrk
+# if HAVE_RAW_DECL_WCSPBRK
+_GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - "
+ "use gnulib module wcspbrk for portability");
+# endif
+#endif
+
+
+/* Find the first occurrence of NEEDLE in HAYSTACK. */
+#if @GNULIB_WCSSTR@
+# if !@HAVE_WCSSTR@
+_GL_FUNCDECL_SYS (wcsstr, wchar_t *,
+ (const wchar_t *haystack, const wchar_t *needle));
+# endif
+ /* On some systems, this function is defined as an overloaded function:
+ extern "C++" {
+ const wchar_t * std::wcsstr (const wchar_t *, const wchar_t *);
+ wchar_t * std::wcsstr (wchar_t *, const wchar_t *);
+ } */
+_GL_CXXALIAS_SYS_CAST2 (wcsstr,
+ wchar_t *, (const wchar_t *, const wchar_t *),
+ const wchar_t *, (const wchar_t *, const wchar_t *));
+# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
+ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+_GL_CXXALIASWARN1 (wcsstr, wchar_t *,
+ (wchar_t *haystack, const wchar_t *needle));
+_GL_CXXALIASWARN1 (wcsstr, const wchar_t *,
+ (const wchar_t *haystack, const wchar_t *needle));
+# else
+_GL_CXXALIASWARN (wcsstr);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef wcsstr
+# if HAVE_RAW_DECL_WCSSTR
+_GL_WARN_ON_USE (wcsstr, "wcsstr is unportable - "
+ "use gnulib module wcsstr for portability");
+# endif
+#endif
+
+
+/* Divide WCS into tokens separated by characters in DELIM. */
+#if @GNULIB_WCSTOK@
+# if !@HAVE_WCSTOK@
+_GL_FUNCDECL_SYS (wcstok, wchar_t *,
+ (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr));
+# endif
+_GL_CXXALIAS_SYS (wcstok, wchar_t *,
+ (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr));
+_GL_CXXALIASWARN (wcstok);
+#elif defined GNULIB_POSIXCHECK
+# undef wcstok
+# if HAVE_RAW_DECL_WCSTOK
+_GL_WARN_ON_USE (wcstok, "wcstok is unportable - "
+ "use gnulib module wcstok for portability");
+# endif
+#endif
+
+
+/* Determine number of column positions required for first N wide
+ characters (or fewer if S ends before this) in S. */
+#if @GNULIB_WCSWIDTH@
+# if @REPLACE_WCSWIDTH@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef wcswidth
+# define wcswidth rpl_wcswidth
+# endif
+_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n));
+_GL_CXXALIAS_RPL (wcswidth, int, (const wchar_t *s, size_t n));
+# else
+# if !@HAVE_WCSWIDTH@
+_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n));
+# endif
+_GL_CXXALIAS_SYS (wcswidth, int, (const wchar_t *s, size_t n));
+# endif
+_GL_CXXALIASWARN (wcswidth);
+#elif defined GNULIB_POSIXCHECK
+# undef wcswidth
+# if HAVE_RAW_DECL_WCSWIDTH
+_GL_WARN_ON_USE (wcswidth, "wcswidth is unportable - "
+ "use gnulib module wcswidth for portability");
+# endif
+#endif
+
+
+#endif /* _@GUARD_PREFIX@_WCHAR_H */
+#endif /* _@GUARD_PREFIX@_WCHAR_H */
+#endif
/* This file is automatically generated. DO NOT EDIT!
- Instead, edit gen-unicode-tables.pl and re-run. */
+ Instead, edit gen-unicode-tables.pl and re-run.
+ Note that gen-unicode-tables.pl doesn't work with Perl 5.10 or later.. */
#ifndef BREAKTABLES_H
#define BREAKTABLES_H
/* This file is automatically generated. DO NOT EDIT!
- Instead, edit gen-unicode-tables.pl and re-run. */
+ Instead, edit gen-unicode-tables.pl and re-run.
+ Note that gen-unicode-tables.pl doesn't work with Perl 5.10 or later.. */
#define COMPOSE_FIRST_START 1
#define COMPOSE_FIRST_SINGLE_START 147
/* This file is automatically generated. DO NOT EDIT!
- Instead, edit gen-unicode-tables.pl and re-run. */
+ Instead, edit gen-unicode-tables.pl and re-run.
+ Note that gen-unicode-tables.pl doesn't work with Perl 5.10 or later.. */
#ifndef DECOMP_H
#define DECOMP_H
/* idn-free.c --- Invoke the `free' function releasing memory
* allocated by libidn functions.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson
*
* This file is part of GNU Libidn.
*
/* idn-free.h --- Invoke the `free' function releasing memory
* allocated by libidn functions.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson
*
* This file is part of GNU Libidn.
*
# endif
# endif
+# ifdef __cplusplus
+extern "C"
+{
+# endif
+
/* I don't recommend using this interface in general. Use `free'.
*
* I'm told Microsoft Windows may use one set of `malloc' and `free'
extern void IDNAPI idn_free (void *ptr);
+# ifdef __cplusplus
+}
+# endif
+
#endif /* IDN_FREE_H */
/* idna.c --- Convert to or from IDN strings.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ * Simon Josefsson
*
* This file is part of GNU Libidn.
*
/* Core functions */
/**
- * idna_to_ascii_4i - convert Unicode domain name label to text
+ * idna_to_ascii_4i:
* @in: input array with unicode code points.
* @inlen: length of input array with unicode code points.
* @out: output zero terminated string that must have room for at
/* 3. Verify that the sequence begins with the ACE prefix, and save a
* copy of the sequence.
+ * ... The ToASCII and ToUnicode operations MUST recognize the ACE
+ prefix in a case-insensitive manner.
*/
step3:
- if (memcmp (IDNA_ACE_PREFIX, utf8in, strlen (IDNA_ACE_PREFIX)) != 0)
+ if (c_strncasecmp (utf8in, IDNA_ACE_PREFIX, strlen (IDNA_ACE_PREFIX)) != 0)
{
free (utf8in);
return IDNA_NO_ACE_PREFIX;
}
/**
- * idna_to_unicode_44i - convert domain name label to Unicode
+ * idna_to_unicode_44i:
* @in: input array with unicode code points.
* @inlen: length of input array with unicode code points.
* @out: output array with unicode code points.
/* Wrappers that handle several labels */
/**
- * idna_to_ascii_4z - convert Unicode domain name to text
+ * idna_to_ascii_4z:
* @input: zero terminated input Unicode string.
* @output: pointer to newly allocated output string.
* @flags: an #Idna_flags value, e.g., %IDNA_ALLOW_UNASSIGNED or
idna_to_ascii_4z (const uint32_t * input, char **output, int flags)
{
const uint32_t *start = input;
- const uint32_t *end = input;
+ const uint32_t *end;
char buf[64];
char *out = NULL;
int rc;
{
rc = idna_to_ascii_4i (start, (size_t) (end - start), buf, flags);
if (rc != IDNA_SUCCESS)
- return rc;
+ {
+ free (out);
+ return rc;
+ }
}
if (out)
}
/**
- * idna_to_ascii_8z - convert Unicode domain name to text
+ * idna_to_ascii_8z:
* @input: zero terminated input UTF-8 string.
* @output: pointer to newly allocated output string.
* @flags: an #Idna_flags value, e.g., %IDNA_ALLOW_UNASSIGNED or
}
/**
- * idna_to_ascii_lz - convert Unicode domain name to text
+ * idna_to_ascii_lz:
* @input: zero terminated input string encoded in the current locale's
* character set.
* @output: pointer to newly allocated output string.
}
/**
- * idna_to_unicode_4z4z - convert domain name to Unicode
+ * idna_to_unicode_4z4z:
* @input: zero-terminated Unicode string.
* @output: pointer to newly allocated output Unicode string.
* @flags: an #Idna_flags value, e.g., %IDNA_ALLOW_UNASSIGNED or
idna_to_unicode_4z4z (const uint32_t * input, uint32_t ** output, int flags)
{
const uint32_t *start = input;
- const uint32_t *end = input;
+ const uint32_t *end;
uint32_t *buf;
size_t buflen;
uint32_t *out = NULL;
size_t outlen = 0;
- int rc;
*output = NULL;
if (!buf)
return IDNA_MALLOC_ERROR;
- rc = idna_to_unicode_44i (start, (size_t) (end - start),
- buf, &buflen, flags);
- /* don't check rc as per specification! */
+ /* don't check return code as per specification! */
+ idna_to_unicode_44i (start, (size_t) (end - start),
+ buf, &buflen, flags);
if (out)
{
}
/**
- * idna_to_unicode_8z4z - convert domain name to Unicode
+ * idna_to_unicode_8z4z:
* @input: zero-terminated UTF-8 string.
* @output: pointer to newly allocated output Unicode string.
* @flags: an #Idna_flags value, e.g., %IDNA_ALLOW_UNASSIGNED or
}
/**
- * idna_to_unicode_8z8z - convert domain name to Unicode
+ * idna_to_unicode_8z8z:
* @input: zero-terminated UTF-8 string.
* @output: pointer to newly allocated output UTF-8 string.
* @flags: an #Idna_flags value, e.g., %IDNA_ALLOW_UNASSIGNED or
}
/**
- * idna_to_unicode_8zlz - convert domain name to Unicode
+ * idna_to_unicode_8zlz:
* @input: zero-terminated UTF-8 string.
* @output: pointer to newly allocated output string encoded in the
* current locale's character set.
}
/**
- * idna_to_unicode_lzlz - convert domain name to Unicode
+ * idna_to_unicode_lzlz:
* @input: zero-terminated string encoded in the current locale's
* character set.
* @output: pointer to newly allocated output string encoded in the
* @IDNA_PUNYCODE_ERROR: Error during punycode operation.
* @IDNA_CONTAINS_NON_LDH: For IDNA_USE_STD3_ASCII_RULES, indicate that
* the string contains non-LDH ASCII characters.
+ * @IDNA_CONTAINS_LDH: Same as @IDNA_CONTAINS_NON_LDH, for compatibility
+ * with typo in earlier versions.
* @IDNA_CONTAINS_MINUS: For IDNA_USE_STD3_ASCII_RULES, indicate that
* the string contains a leading or trailing hyphen-minus (U+002D).
* @IDNA_INVALID_LENGTH: The final output string is not within the
/* idna.h --- Declarations for Internationalized Domain Name in Applications.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
-# Copyright (C) 2009 Simon Josefsson.
+# Copyright (C) 2009, 2010, 2011 Simon Josefsson.
#
# This file is part of GNU Libidn.
#
# License along with GNU Libidn; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
-LIBIDN_1.0 {
+LIBIDN_1.0
+{
global:
idn_free;
idna_strerror;
stringprep_check_version;
stringprep_convert;
stringprep_iscsi;
- stringprep_iscsi_prohibit;
stringprep_kerberos5;
stringprep_locale_charset;
stringprep_locale_to_utf8;
stringprep_plain;
stringprep_profile;
stringprep_profiles;
- stringprep_rfc3454_A_1;
- stringprep_rfc3454_B_1;
- stringprep_rfc3454_B_2;
- stringprep_rfc3454_B_3;
- stringprep_rfc3454_C_1_1;
- stringprep_rfc3454_C_1_2;
- stringprep_rfc3454_C_2_1;
- stringprep_rfc3454_C_2_2;
- stringprep_rfc3454_C_3;
- stringprep_rfc3454_C_4;
- stringprep_rfc3454_C_5;
- stringprep_rfc3454_C_6;
- stringprep_rfc3454_C_7;
- stringprep_rfc3454_C_8;
- stringprep_rfc3454_C_9;
- stringprep_rfc3454_D_1;
- stringprep_rfc3454_D_2;
stringprep_saslprep;
- stringprep_saslprep_space_map;
stringprep_strerror;
stringprep_trace;
stringprep_ucs4_nfkc_normalize;
tld_get_z;
tld_strerror;
+ # These symbols were intended to be exported from the beginning, but
+ # by accident they never were. Version 1.17 exported them properly.
+ stringprep_iscsi_prohibit;
+ stringprep_rfc3454_A_1;
+ stringprep_rfc3454_B_1;
+ stringprep_rfc3454_B_2;
+ stringprep_rfc3454_B_3;
+ stringprep_rfc3454_C_1_1;
+ stringprep_rfc3454_C_1_2;
+ stringprep_rfc3454_C_2_1;
+ stringprep_rfc3454_C_2_2;
+ stringprep_rfc3454_C_3;
+ stringprep_rfc3454_C_4;
+ stringprep_rfc3454_C_5;
+ stringprep_rfc3454_C_6;
+ stringprep_rfc3454_C_7;
+ stringprep_rfc3454_C_8;
+ stringprep_rfc3454_C_9;
+ stringprep_rfc3454_D_1;
+ stringprep_rfc3454_D_2;
+ stringprep_saslprep_space_map;
+
local:
*;
};
/* nfkc.c --- Unicode normalization utilities.
- * Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011
+ * Simon Josefsson
*
* This file is part of GNU Libidn.
*
}
if (n_wc > 0)
- {
- g_unicode_canonical_ordering (wc_buffer + last_start,
- n_wc - last_start);
- last_start = n_wc;
- }
+ g_unicode_canonical_ordering (wc_buffer + last_start,
+ n_wc - last_start);
wc_buffer[n_wc] = 0;
/* Public Libidn API starts here. */
/**
- * stringprep_utf8_to_unichar - convert UTF-8 to Unicode code point
+ * stringprep_utf8_to_unichar:
* @p: a pointer to Unicode character encoded as UTF-8
*
* Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
}
/**
- * stringprep_unichar_to_utf8 - convert Unicode code point to UTF-8
+ * stringprep_unichar_to_utf8:
* @c: a ISO10646 character code
* @outbuf: output buffer, must have at least 6 bytes of space.
* If %NULL, the length will be computed and returned
}
/**
- * stringprep_utf8_to_ucs4 - convert UTF-8 string to UCS-4
+ * stringprep_utf8_to_ucs4:
* @str: a UTF-8 encoded string
* @len: the maximum length of @str to use. If @len < 0, then
* the string is nul-terminated.
}
/**
- * stringprep_ucs4_to_utf8 - convert UCS-4 string to UTF-8
+ * stringprep_ucs4_to_utf8:
* @str: a UCS-4 encoded string
* @len: the maximum length of @str to use. If @len < 0, then
* the string is terminated with a 0 character.
*
* Return value: a pointer to a newly allocated UTF-8 string.
* This value must be deallocated by the caller.
- * If an error occurs, %NULL will be returned and @error
- * set.
+ * If an error occurs, %NULL will be returned.
**/
char *
stringprep_ucs4_to_utf8 (const uint32_t * str, ssize_t len,
}
/**
- * stringprep_utf8_nfkc_normalize - normalize Unicode string
+ * stringprep_utf8_nfkc_normalize:
* @str: a UTF-8 encoded string.
* @len: length of @str, in bytes, or -1 if @str is nul-terminated.
*
}
/**
- * stringprep_ucs4_nfkc_normalize - normalize Unicode string
+ * stringprep_ucs4_nfkc_normalize:
* @str: a Unicode string.
* @len: length of @str array, or -1 if @str is nul-terminated.
*
/* pr29.h --- Detect strings that are non-idempotent under NFKC in Unicode 3.2.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson.
*
* This file is part of GNU Libidn.
*
}
/**
- * pr29_4 - check if input trigger Unicode normalization bugs
+ * pr29_4:
* @in: input array with unicode code points.
* @len: length of input array with unicode code points.
*
}
/**
- * pr29_4z - check if input trigger Unicode normalization bugs
+ * pr29_4z:
* @in: zero terminated array of Unicode code points.
*
* Check the input to see if it may be normalized into different
}
/**
- * pr29_8z - check if input trigger Unicode normalization bugs
+ * pr29_8z:
* @in: zero terminated input UTF-8 string.
*
* Check the input to see if it may be normalized into different
* non-zero values, for logical comparison purposes.
* @PR29_PROBLEM: A problem sequence was encountered.
* @PR29_STRINGPREP_ERROR: The character set conversion failed (only
- * for pr29_8() and pr29_8z()).
+ * for pr29_8z()).
*
* Enumerated return codes for pr29_4(), pr29_4z(), pr29_8z(). The
* value 0 is guaranteed to always correspond to success.
/* pr29.h --- Detect strings which are non-idempotent under NFKC.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson.
*
* This file is part of GNU Libidn.
*
/* profiles.c --- Definitions of stringprep profiles.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
/* punycode.c --- Implementation of punycode used to ASCII encode IDN's.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
/*** Main encode function ***/
/**
- * punycode_encode - encode Unicode to Punycode
+ * punycode_encode:
* @input_length: The number of code points in the @input array and
* the number of flags in the @case_flags array.
* @input: An array of code points. They are presumed to be Unicode
/*** Main decode function ***/
/**
- * punycode_decode - decode Punycode to Unicode
+ * punycode_decode:
* @input_length: The number of ASCII code points in the @input array.
* @input: An array of ASCII code points (0..7F).
* @output_length: The caller passes in the maximum number of code
/* punycode.h --- Declarations for punycode functions.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
/* This file is automatically generated. DO NOT EDIT!
Instead, edit gen-stringprep-tables.pl and re-run. */
+#include <config.h>
#include "stringprep.h"
/*
/* strerror-idna.c --- Convert IDNA errors into text.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson
*
* This file is part of GNU Libidn.
*
#define _(String) dgettext (PACKAGE, String)
/**
- * idna_strerror - return string describing idna error code
+ * idna_strerror:
* @rc: an #Idna_rc return code.
*
* Convert a return code integer to a text string. This string can be
/* strerror-pr29.c --- Convert PR29 errors into text.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson
*
* This file is part of GNU Libidn.
*
#define _(String) dgettext (PACKAGE, String)
/**
- * pr29_strerror - return string describing pr29 error code
+ * pr29_strerror:
* @rc: an #Pr29_rc return code.
*
* Convert a return code integer to a text string. This string can be
* non-zero values, for logical comparison purposes.
* PR29_PROBLEM: A problem sequence was encountered.
* PR29_STRINGPREP_ERROR: The character set conversion failed (only
- * for pr29_8() and pr29_8z()).
+ * for pr29_8z()).
*
* Return value: Returns a pointer to a statically allocated string
* containing a description of the error with the return code @rc.
/* strerror-punycode.c --- Convert punycode errors into text.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson
*
* This file is part of GNU Libidn.
*
#define _(String) dgettext (PACKAGE, String)
/**
- * punycode_strerror - return string describing punycode error code
+ * punycode_strerror:
* @rc: an #Punycode_status return code.
*
* Convert a return code integer to a text string. This string can be
/* strerror-stringprep.c --- Convert stringprep errors into text.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson
*
* This file is part of GNU Libidn.
*
#define _(String) dgettext (PACKAGE, String)
/**
- * stringprep_strerror - return string describing stringprep error code
+ * stringprep_strerror:
* @rc: a #Stringprep_rc return code.
*
* Convert a return code integer to a text string. This string can be
/* strerror-tld.c --- Convert TLD errors into text.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson
*
* This file is part of GNU Libidn.
*
#define _(String) dgettext (PACKAGE, String)
/**
- * tld_strerror - return string describing tld error code
+ * tld_strerror:
* @rc: tld return code
*
* Convert a return code integer to a text string. This string can be
/* stringprep.c --- Core stringprep implementation.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
( INVERTED(profileflags) && (profileflags & flags)))
/**
- * stringprep_4i - prepare internationalized string
+ * stringprep_4i:
* @ucs4: input/output array with string to prepare.
* @len: on input, length of input array with Unicode code points,
* on exit, length of output array with Unicode code points.
}
/**
- * stringprep_4zi - prepare internationalized string
+ * stringprep_4zi:
* @ucs4: input/output array with zero terminated string to prepare.
* @maxucs4len: maximum length of input/output array.
* @flags: a #Stringprep_profile_flags value, or 0.
}
/**
- * stringprep - prepare internationalized string
+ * stringprep:
* @in: input/ouput array with string to prepare.
* @maxlen: maximum length of input/output array.
* @flags: a #Stringprep_profile_flags value, or 0.
}
/**
- * stringprep_profile - prepare internationalized string
+ * stringprep_profile:
* @in: input array with UTF-8 string to prepare.
* @out: output variable with pointer to newly allocate string.
* @profile: name of stringprep profile to use.
/**
* Stringprep_profile_steps:
+ * @STRINGPREP_NFKC: The NFKC step.
+ * @STRINGPREP_BIDI: The BIDI step.
+ * @STRINGPREP_MAP_TABLE: The MAP step.
+ * @STRINGPREP_UNASSIGNED_TABLE: The Unassigned step.
+ * @STRINGPREP_PROHIBIT_TABLE: The Prohibited step.
+ * @STRINGPREP_BIDI_PROHIBIT_TABLE: The BIDI-Prohibited step.
+ * @STRINGPREP_BIDI_RAL_TABLE: The BIDI-RAL step.
+ * @STRINGPREP_BIDI_L_TABLE: The BIDI-L step.
*
* Various steps in the stringprep algorithm. You really want to
* study the source code to understand this one. Only useful if you
/* stringprep.h --- Header file for stringprep functions.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
# endif
# include <stddef.h> /* size_t */
-# include <unistd.h> /* ssize_t */
+# include <sys/types.h> /* ssize_t */
# include <idn-int.h> /* uint32_t */
# ifdef __cplusplus
{
# endif
-# define STRINGPREP_VERSION "1.15"
+# define STRINGPREP_VERSION "1.23"
/* Error codes. */
typedef enum
/* SASL */
extern IDNAPI const Stringprep_profile stringprep_saslprep[];
+ extern IDNAPI const Stringprep_table_element stringprep_saslprep_space_map[];
extern IDNAPI const Stringprep_profile stringprep_plain[];
extern IDNAPI const Stringprep_profile stringprep_trace[];
/* iSCSI */
extern IDNAPI const Stringprep_profile stringprep_iscsi[];
+ extern IDNAPI const Stringprep_table_element stringprep_iscsi_prohibit[];
# define stringprep_iscsi(in, maxlen) \
stringprep(in, maxlen, 0, stringprep_iscsi)
/* tld.c --- Handle TLD restriction checking.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
- * Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson.
+ * Copyright (C) 2003, 2004, 2010, 2011 Free Software Foundation, Inc.
*
* Author: Thomas Jacob, Internet24.de
*
extern const Tld_table *_tld_tables[];
/**
- * tld_get_table - get table for a TLD name in table
+ * tld_get_table:
* @tld: TLD name (e.g. "com") as zero terminated ASCII byte string.
* @tables: Zero terminated array of #Tld_table info-structures for
* TLDs.
}
/**
- * tld_default_table - get table for a TLD name
+ * tld_default_table:
* @tld: TLD name (e.g. "com") as zero terminated ASCII byte string.
* @overrides: Additional zero terminated array of #Tld_table
* info-structures for TLDs, or %NULL to only use library deault
(c) == 0xFF0E || (c) == 0xFF61)
/**
- * tld_get_4 - extract top level domain part in input Unicode string
+ * tld_get_4:
* @in: Array of unicode code points to process. Does not need to be
* zero terminated.
* @inlen: Number of unicode code points.
}
/**
- * tld_get_4z - extract top level domain part in input Unicode string
+ * tld_get_4z:
* @in: Zero terminated array of unicode code points to process.
* @out: Zero terminated ascii result string pointer.
*
}
/**
- * tld_get_z - extract top level domain part in input string
+ * tld_get_z:
* @in: Zero terminated character array to process.
* @out: Zero terminated ascii result string pointer.
*
}
/**
- * tld_check_4t - verify that characters are permitted
+ * tld_check_4t:
* @in: Array of unicode code points to process. Does not need to be
* zero terminated.
* @inlen: Number of unicode code points.
}
/**
- * tld_check_4tz - verify that characters are permitted
+ * tld_check_4tz:
* @in: Zero terminated array of unicode code points to process.
* @errpos: Position of offending character is returned here.
* @tld: A #Tld_table data structure representing the restrictions for
}
/**
- * tld_check_4 - verify that characters are permitted
+ * tld_check_4:
* @in: Array of unicode code points to process. Does not need to be
* zero terminated.
* @inlen: Number of unicode code points.
}
/**
- * tld_check_4z - verify that characters are permitted
+ * tld_check_4z:
* @in: Zero-terminated array of unicode code points to process.
* @errpos: Position of offending character is returned here.
* @overrides: A #Tld_table array of additional domain restriction
}
/**
- * tld_check_8z - verify that characters are permitted
+ * tld_check_8z:
* @in: Zero-terminated UTF8 string to process.
* @errpos: Position of offending character is returned here.
* @overrides: A #Tld_table array of additional domain restriction
}
/**
- * tld_check_lz - verify that characters are permitted
+ * tld_check_lz:
* @in: Zero-terminated string in the current locales encoding to process.
* @errpos: Position of offending character is returned here.
* @overrides: A #Tld_table array of additional domain restriction
* @TLD_MALLOC_ERROR: Error during memory allocation.
* @TLD_ICONV_ERROR: Error during iconv string conversion.
* @TLD_NO_TLD: No top-level domain found in domain string.
+ * @TLD_NOTLD: Same as @TLD_NO_TLD, for compatibility
+ * with typo in earlier versions.
*
* Enumerated return codes of the TLD checking functions.
* The value 0 is guaranteed to always correspond to success.
/* tld.h --- Declarations for TLD restriction checking.
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
- * Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson.
+ * Copyright (C) 2003, 2004, 2010, 2011 Free Software Foundation, Inc.
*
* Author: Thomas Jacob, Internet24.de
*
/* toutf8.c --- Convert strings from system locale into UTF-8.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
# define stringprep_locale_charset() nl_langinfo (CODESET)
#else
/**
- * stringprep_locale_charset - return charset used in current locale
+ * stringprep_locale_charset:
*
* Find out current locale charset. The function respect the CHARSET
* environment variable, but typically uses nl_langinfo(CODESET) when
#endif
/**
- * stringprep_convert - encode string using new character set
+ * stringprep_convert:
* @str: input zero-terminated string.
* @to_codeset: name of destination character set.
* @from_codeset: name of origin character set, as used by @str.
}
/**
- * stringprep_locale_to_utf8 - convert locale encoded string to UTF-8
+ * stringprep_locale_to_utf8:
* @str: input zero terminated string.
*
* Convert string encoded in the locale's character set into UTF-8 by
}
/**
- * stringprep_utf8_to_locale - encode UTF-8 string to locale encoding
+ * stringprep_utf8_to_locale:
* @str: input zero terminated string.
*
* Convert string encoded in UTF-8 into the locale's character set by
/* version.c --- Version handling.
- * Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011
+ * Simon Josefsson
*
* This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
#include <string.h> /* for strverscmp */
/**
- * stringprep_check_version - check for library version
+ * stringprep_check_version:
* @req_version: Required version number, or NULL.
*
* Check that the version of the library is at minimum the requested one
Libidn libc/README -- Instructions for building as a GNU Libc add-on.
-Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+Josefsson
See the end for copying conditions.
GNU Libidn is now part of GNU Libc, so the stand-alone patch and
/* example.c --- Example code showing how to use IDN enabled getaddrinfo().
- * Copyright (C) 2003, 2004 Simon Josefsson
+ * Copyright (C) 2003, 2004, 2010, 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
Libidn getaddrinfo-idn.txt -- Proposal for IDN support in POSIX getaddrinfo.
-Copyright (C) 2003, 2004 Simon Josefsson
+Copyright (C) 2003, 2004, 2010, 2011 Simon Josefsson
See the end for copying conditions.
Background
# Process this file with autoconf to produce a pkg-config metadata file.
-# Copyright 2002, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
-#
+# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+# Simon Josefsson
+#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
-#
+#
# This file is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
URL: http://www.gnu.org/software/libidn/
Version: @VERSION@
Libs: -L${libdir} -lidn
+Libs.private: @LTLIBICONV@
Cflags: -I${includedir}
-# codeset.m4 serial 2 (gettext-0.16)
-dnl Copyright (C) 2000-2002, 2006 Free Software Foundation, Inc.
+# codeset.m4 serial 4 (gettext-0.18)
+dnl Copyright (C) 2000-2002, 2006, 2008-2010 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.
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>],
[char* cs = nl_langinfo(CODESET); return !cs;],
- am_cv_langinfo_codeset=yes,
- am_cv_langinfo_codeset=no)
+ [am_cv_langinfo_codeset=yes],
+ [am_cv_langinfo_codeset=no])
])
if test $am_cv_langinfo_codeset = yes; then
- AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
+ AC_DEFINE([HAVE_LANGINFO_CODESET], [1],
[Define if you have <langinfo.h> and nl_langinfo(CODESET).])
fi
])
--- /dev/null
+# fcntl-o.m4 serial 1
+dnl Copyright (C) 2006, 2009-2010 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 Written by Paul Eggert.
+
+# Test whether the flags O_NOATIME and O_NOFOLLOW actually work.
+# Define HAVE_WORKING_O_NOATIME to 1 if O_NOATIME works, or to 0 otherwise.
+# Define HAVE_WORKING_O_NOFOLLOW to 1 if O_NOFOLLOW works, or to 0 otherwise.
+AC_DEFUN([gl_FCNTL_O_FLAGS],
+[
+ dnl Persuade glibc <fcntl.h> to define O_NOATIME and O_NOFOLLOW.
+ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+ AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #ifndef O_NOATIME
+ #define O_NOATIME 0
+ #endif
+ #ifndef O_NOFOLLOW
+ #define O_NOFOLLOW 0
+ #endif
+ static int const constants[] =
+ {
+ O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC, O_APPEND,
+ O_NONBLOCK, O_SYNC, O_ACCMODE, O_RDONLY, O_RDWR, O_WRONLY
+ };
+ ]],
+ [[
+ int status = !constants;
+ {
+ static char const sym[] = "conftest.sym";
+ if (symlink (".", sym) != 0
+ || close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0)
+ status |= 32;
+ unlink (sym);
+ }
+ {
+ static char const file[] = "confdefs.h";
+ int fd = open (file, O_RDONLY | O_NOATIME);
+ char c;
+ struct stat st0, st1;
+ if (fd < 0
+ || fstat (fd, &st0) != 0
+ || sleep (1) != 0
+ || read (fd, &c, 1) != 1
+ || close (fd) != 0
+ || stat (file, &st1) != 0
+ || st0.st_atime != st1.st_atime)
+ status |= 64;
+ }
+ return status;]])],
+ [gl_cv_header_working_fcntl_h=yes],
+ [case $? in #(
+ 32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #(
+ 64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #(
+ 96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #(
+ *) gl_cv_header_working_fcntl_h='no';;
+ esac],
+ [gl_cv_header_working_fcntl_h=cross-compiling])])
+
+ case $gl_cv_header_working_fcntl_h in #(
+ *O_NOATIME* | no | cross-compiling) ac_val=0;; #(
+ *) ac_val=1;;
+ esac
+ AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOATIME], [$ac_val],
+ [Define to 1 if O_NOATIME works.])
+
+ case $gl_cv_header_working_fcntl_h in #(
+ *O_NOFOLLOW* | no | cross-compiling) ac_val=0;; #(
+ *) ac_val=1;;
+ esac
+ AC_DEFINE_UNQUOTED([HAVE_WORKING_O_NOFOLLOW], [$ac_val],
+ [Define to 1 if O_NOFOLLOW works.])
+])
-# gettext.m4 serial 60 (gettext-0.17)
-dnl Copyright (C) 1995-2007 Free Software Foundation, Inc.
+# gettext.m4 serial 63 (gettext-0.18)
+dnl Copyright (C) 1995-2010 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 Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
dnl Macro to add for using GNU gettext.
ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
[errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
])])])])])
+ ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
+ [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
[errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
])])])])
gt_use_preinstalled_gnugettext=no
ifelse(gt_included_intl, yes, [
AC_MSG_CHECKING([whether included gettext is requested])
- AC_ARG_WITH(included-gettext,
+ AC_ARG_WITH([included-gettext],
[ --with-included-gettext use the GNU gettext library included here],
nls_cv_force_use_gnu_gettext=$withval,
nls_cv_force_use_gnu_gettext=no)
- AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+ AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
if test "$gt_use_preinstalled_gnugettext" = "yes" \
|| test "$nls_cv_use_gnu_gettext" = "yes"; then
- AC_DEFINE(ENABLE_NLS, 1,
+ AC_DEFINE([ENABLE_NLS], [1],
[Define to 1 if translation of program messages to the user's native language
is requested.])
else
fi
dnl For backward compatibility. Some packages may be using this.
- AC_DEFINE(HAVE_GETTEXT, 1,
+ AC_DEFINE([HAVE_GETTEXT], [1],
[Define if the GNU gettext() function is already present or preinstalled.])
- AC_DEFINE(HAVE_DCGETTEXT, 1,
+ AC_DEFINE([HAVE_DCGETTEXT], [1],
[Define if the GNU dcgettext() function is already present or preinstalled.])
fi
fi
dnl Make all variables we use known to autoconf.
- AC_SUBST(BUILD_INCLUDED_LIBINTL)
- AC_SUBST(USE_INCLUDED_LIBINTL)
- AC_SUBST(CATOBJEXT)
+ AC_SUBST([BUILD_INCLUDED_LIBINTL])
+ AC_SUBST([USE_INCLUDED_LIBINTL])
+ AC_SUBST([CATOBJEXT])
dnl For backward compatibility. Some configure.ins may be using this.
nls_cv_header_intl=
dnl For backward compatibility. Some Makefiles may be using this.
DATADIRNAME=share
- AC_SUBST(DATADIRNAME)
+ AC_SUBST([DATADIRNAME])
dnl For backward compatibility. Some Makefiles may be using this.
INSTOBJEXT=.mo
- AC_SUBST(INSTOBJEXT)
+ AC_SUBST([INSTOBJEXT])
dnl For backward compatibility. Some Makefiles may be using this.
GENCAT=gencat
- AC_SUBST(GENCAT)
+ AC_SUBST([GENCAT])
dnl For backward compatibility. Some Makefiles may be using this.
INTLOBJS=
if test "$USE_INCLUDED_LIBINTL" = yes; then
INTLOBJS="\$(GETTOBJS)"
fi
- AC_SUBST(INTLOBJS)
+ AC_SUBST([INTLOBJS])
dnl Enable libtool support if the surrounding package wishes it.
INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
- AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
+ AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
])
dnl For backward compatibility. Some Makefiles may be using this.
INTLLIBS="$LIBINTL"
- AC_SUBST(INTLLIBS)
+ AC_SUBST([INTLLIBS])
dnl Make all documented variables known to autoconf.
- AC_SUBST(LIBINTL)
- AC_SUBST(LTLIBINTL)
- AC_SUBST(POSUB)
+ AC_SUBST([LIBINTL])
+ AC_SUBST([LTLIBINTL])
+ AC_SUBST([POSUB])
])
dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
AC_DEFUN([GTK_DOC_CHECK],
[
+ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
[build documentation in pdf format [[default=no]]]),,
[enable_gtk_doc_pdf=no])
- if test -n "$GTKDOC_MKPDF"; then
+ if test -z "$GTKDOC_MKPDF"; then
enable_gtk_doc_pdf=no
fi
-# iconv.m4 serial AM6 (gettext-0.17)
-dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc.
+# iconv.m4 serial 11 (gettext-0.18.1)
+dnl Copyright (C) 2000-2002, 2007-2010 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.
am_save_CPPFLAGS="$CPPFLAGS"
AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
- AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [
+ AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
AC_TRY_LINK([#include <stdlib.h>
[iconv_t cd = iconv_open("","");
iconv(cd,NULL,NULL,NULL,NULL);
iconv_close(cd);],
- am_cv_func_iconv=yes)
+ [am_cv_func_iconv=yes])
if test "$am_cv_func_iconv" != yes; then
am_save_LIBS="$LIBS"
LIBS="$LIBS $LIBICONV"
[iconv_t cd = iconv_open("","");
iconv(cd,NULL,NULL,NULL,NULL);
iconv_close(cd);],
- am_cv_lib_iconv=yes
- am_cv_func_iconv=yes)
+ [am_cv_lib_iconv=yes]
+ [am_cv_func_iconv=yes])
LIBS="$am_save_LIBS"
fi
])
if test "$am_cv_func_iconv" = yes; then
- AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [
- dnl This tests against bugs in AIX 5.1 and HP-UX 11.11.
+ AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+ dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10.
am_save_LIBS="$LIBS"
if test $am_cv_lib_iconv = yes; then
LIBS="$LIBS $LIBICONV"
return 1;
}
}
+ /* Test against Solaris 10 bug: Failures are not distinguishable from
+ successful returns. */
+ {
+ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+ if (cd_ascii_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\263";
+ char buf[10];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_ascii_to_88591,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ return 1;
+ }
+ }
#if 0 /* This bug could be worked around by the caller. */
/* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
{
am_func_iconv=no am_cv_lib_iconv=no
fi
if test "$am_func_iconv" = yes; then
- AC_DEFINE(HAVE_ICONV, 1,
+ AC_DEFINE([HAVE_ICONV], [1],
[Define if you have the iconv() function and it works.])
fi
if test "$am_cv_lib_iconv" = yes; then
LIBICONV=
LTLIBICONV=
fi
- AC_SUBST(LIBICONV)
- AC_SUBST(LTLIBICONV)
+ AC_SUBST([LIBICONV])
+ AC_SUBST([LTLIBICONV])
])
-AC_DEFUN([AM_ICONV],
+dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
+dnl avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+dnl This is tricky because of the way 'aclocal' is implemented:
+dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
+dnl Otherwise aclocal's initial scan pass would miss the macro definition.
+dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
+dnl Otherwise aclocal would emit many "Use of uninitialized value $1"
+dnl warnings.
+m4_define([gl_iconv_AC_DEFUN],
+ m4_version_prereq([2.64],
+ [[AC_DEFUN_ONCE(
+ [$1], [$2])]],
+ [[AC_DEFUN(
+ [$1], [$2])]]))
+gl_iconv_AC_DEFUN([AM_ICONV],
[
AM_ICONV_LINK
if test "$am_cv_func_iconv" = yes; then
AC_MSG_CHECKING([for iconv declaration])
- AC_CACHE_VAL(am_cv_proto_iconv, [
+ AC_CACHE_VAL([am_cv_proto_iconv], [
AC_TRY_COMPILE([
#include <stdlib.h>
#include <iconv.h>
#else
size_t iconv();
#endif
-], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"])
am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
- AC_MSG_RESULT([$]{ac_t:-
- }[$]am_cv_proto_iconv)
- AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+ AC_MSG_RESULT([
+ $am_cv_proto_iconv])
+ AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
[Define as const if the declaration of iconv() needs const.])
fi
])
-# intlmacosx.m4 serial 1 (gettext-0.17)
-dnl Copyright (C) 2004-2007 Free Software Foundation, Inc.
+# intlmacosx.m4 serial 3 (gettext-0.18)
+dnl Copyright (C) 2004-2010 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 Check for API introduced in MacOS X 10.2.
AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
- gt_cv_func_CFPreferencesCopyAppValue,
+ [gt_cv_func_CFPreferencesCopyAppValue],
[gt_save_LIBS="$LIBS"
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
[gt_cv_func_CFPreferencesCopyAppValue=no])
LIBS="$gt_save_LIBS"])
if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
- AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
+ AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
[Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
fi
dnl Check for API introduced in MacOS X 10.3.
- AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
+ AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
[gt_save_LIBS="$LIBS"
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
[gt_cv_func_CFLocaleCopyCurrent=no])
LIBS="$gt_save_LIBS"])
if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
- AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
+ AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
[Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
fi
INTL_MACOSX_LIBS=
--- /dev/null
+# inttypes-pri.m4 serial 6 (gettext-0.18)
+dnl Copyright (C) 1997-2002, 2006, 2008-2010 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 From Bruno Haible.
+
+AC_PREREQ([2.52])
+
+# 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.
+
+AC_DEFUN([gt_INTTYPES_PRI],
+[
+ AC_CHECK_HEADERS([inttypes.h])
+ if test $ac_cv_header_inttypes_h = yes; then
+ AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
+ [gt_cv_inttypes_pri_broken],
+ [
+ AC_TRY_COMPILE([#include <inttypes.h>
+#ifdef PRId32
+char *p = PRId32;
+#endif
+], [], [gt_cv_inttypes_pri_broken=no], [gt_cv_inttypes_pri_broken=yes])
+ ])
+ fi
+ if test "$gt_cv_inttypes_pri_broken" = yes; then
+ AC_DEFINE_UNQUOTED([PRI_MACROS_BROKEN], [1],
+ [Define if <inttypes.h> exists and defines unusable PRI* macros.])
+ PRI_MACROS_BROKEN=1
+ else
+ PRI_MACROS_BROKEN=0
+ fi
+ AC_SUBST([PRI_MACROS_BROKEN])
+])
--- /dev/null
+# lcmessage.m4 serial 6 (gettext-0.18)
+dnl Copyright (C) 1995-2002, 2004-2005, 2008-2010 Free Software Foundation,
+dnl Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+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.
+
+# Check whether LC_MESSAGES is available in <locale.h>.
+
+AC_DEFUN([gt_LC_MESSAGES],
+[
+ AC_CACHE_CHECK([for LC_MESSAGES], [gt_cv_val_LC_MESSAGES],
+ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+ [gt_cv_val_LC_MESSAGES=yes], [gt_cv_val_LC_MESSAGES=no])])
+ if test $gt_cv_val_LC_MESSAGES = yes; then
+ AC_DEFINE([HAVE_LC_MESSAGES], [1],
+ [Define if your <locale.h> file defines LC_MESSAGES.])
+ fi
+])
-# lib-ld.m4 serial 3 (gettext-0.13)
-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
+# lib-ld.m4 serial 4 (gettext-0.18)
+dnl Copyright (C) 1996-2003, 2009-2010 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 From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
dnl From libtool-1.4. Sets the variable LD.
AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH(gnu-ld,
+[AC_ARG_WITH([gnu-ld],
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
AC_REQUIRE([AC_PROG_CC])dnl
# Canonicalize the path of ld
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
else
AC_MSG_CHECKING([for non-GNU ld])
fi
-AC_CACHE_VAL(acl_cv_path_LD,
+AC_CACHE_VAL([acl_cv_path_LD],
[if test -z "$LD"; then
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
for ac_dir in $PATH; do
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
*GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break ;;
+ test "$with_gnu_ld" != no && break ;;
*)
- test "$with_gnu_ld" != yes && break ;;
+ test "$with_gnu_ld" != yes && break ;;
esac
fi
done
fi])
LD="$acl_cv_path_LD"
if test -n "$LD"; then
- AC_MSG_RESULT($LD)
+ AC_MSG_RESULT([$LD])
else
- AC_MSG_RESULT(no)
+ AC_MSG_RESULT([no])
fi
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
AC_LIB_PROG_LD_GNU
-# lib-link.m4 serial 13 (gettext-0.17)
-dnl Copyright (C) 2001-2007 Free Software Foundation, Inc.
+# lib-link.m4 serial 21 (gettext-0.18)
+dnl Copyright (C) 2001-2010 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 From Bruno Haible.
-AC_PREREQ(2.54)
+AC_PREREQ([2.54])
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
dnl the libraries corresponding to explicit and implicit dependencies.
[
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
- define([Name],[translit([$1],[./-], [___])])
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([Name],[translit([$1],[./-], [___])])
+ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
AC_LIB_LINKFLAGS_BODY([$1], [$2])
ac_cv_lib[]Name[]_libs="$LIB[]NAME"
dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
dnl results of this search when this library appears as a dependency.
HAVE_LIB[]NAME=yes
- undefine([Name])
- undefine([NAME])
+ popdef([NAME])
+ popdef([Name])
])
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
dnl searches for libname and the libraries corresponding to explicit and
dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. If found, it
-dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
-dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
[
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
- define([Name],[translit([$1],[./-], [___])])
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([Name],[translit([$1],[./-], [___])])
+ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
dnl accordingly.
AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIB[]NAME"
- AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
+ dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
+ dnl because these -l options might require -L options that are present in
+ dnl LIBS. -l options benefit only from the -L options listed before it.
+ dnl Otherwise, add it to the front of LIBS, because it may be a static
+ dnl library that depends on another static library that is present in LIBS.
+ dnl Static libraries benefit only from the static libraries listed after
+ dnl it.
+ case " $LIB[]NAME" in
+ *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
+ *) LIBS="$LIB[]NAME $LIBS" ;;
+ esac
+ AC_TRY_LINK([$3], [$4],
+ [ac_cv_lib[]Name=yes],
+ [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
LIBS="$ac_save_LIBS"
])
if test "$ac_cv_lib[]Name" = yes; then
HAVE_LIB[]NAME=yes
- AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
AC_MSG_CHECKING([how to link with lib[]$1])
AC_MSG_RESULT([$LIB[]NAME])
else
AC_SUBST([LIB]NAME)
AC_SUBST([LTLIB]NAME)
AC_SUBST([LIB]NAME[_PREFIX])
- undefine([Name])
- undefine([NAME])
+ popdef([NAME])
+ popdef([Name])
])
dnl Determine the platform dependent parameters needed to use rpath:
AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
- AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
+ AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
. ./conftest.sh
acl_hardcode_direct="$acl_cv_hardcode_direct"
acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
dnl Determine whether the user wants rpath handling at all.
- AC_ARG_ENABLE(rpath,
+ AC_ARG_ENABLE([rpath],
[ --disable-rpath do not hardcode runtime library paths],
:, enable_rpath=yes)
])
+dnl AC_LIB_FROMPACKAGE(name, package)
+dnl declares that libname comes from the given package. The configure file
+dnl will then not have a --with-libname-prefix option but a
+dnl --with-package-prefix option. Several libraries can come from the same
+dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
+dnl macro call that searches for libname.
+AC_DEFUN([AC_LIB_FROMPACKAGE],
+[
+ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ define([acl_frompackage_]NAME, [$2])
+ popdef([NAME])
+ pushdef([PACK],[$2])
+ pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ define([acl_libsinpackage_]PACKUP,
+ m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
+ popdef([PACKUP])
+ popdef([PACK])
+])
+
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
dnl the libraries corresponding to explicit and implicit dependencies.
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
[
AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
- define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
+ pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
dnl Autoconf >= 2.61 supports dots in --with options.
- define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])])
+ pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
dnl By default, look in $includedir and $libdir.
use_additional=yes
AC_LIB_WITH_FINAL_PREFIX([
eval additional_includedir=\"$includedir\"
eval additional_libdir=\"$libdir\"
])
- AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix],
-[ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
- --without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir],
+ AC_ARG_WITH(P_A_C_K[-prefix],
+[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib
+ --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]],
[
if test "X$withval" = "Xno"; then
use_additional=no
else
additional_includedir="$withval/include"
additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
fi
fi
])
LTLIB[]NAME=
INC[]NAME=
LIB[]NAME[]_PREFIX=
+ dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
+ dnl computed. So it has to be reset here.
+ HAVE_LIB[]NAME=
rpathdirs=
ltrpathdirs=
names_already_handled=
dnl Linking with a shared library. We attempt to hardcode its
dnl directory into the executable's runpath, unless it's the
dnl standard /usr/lib.
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
dnl No hardcoding is needed.
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
else
case "$found_dir" in
*/$acl_libdirstem | */$acl_libdirstem/)
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
- LIB[]NAME[]_PREFIX="$basedir"
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
additional_includedir="$basedir/include"
;;
esac
dnl 3. if it's already present in $LDFLAGS or the already
dnl constructed $LIBNAME,
dnl 4. if it doesn't exist as a directory.
- if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
haveit=
- if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
if test -n "$GCC"; then
case $host_os in
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
done
fi
+ popdef([P_A_C_K])
+ popdef([PACKLIBS])
+ popdef([PACKUP])
+ popdef([PACK])
+ popdef([NAME])
])
dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
if test -n "$next"; then
dir="$next"
dnl No need to hardcode the standard /usr/lib.
- if test "X$dir" != "X/usr/$acl_libdirstem"; then
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
rpathdirs="$rpathdirs $dir"
fi
next=
-L) next=yes ;;
-L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
dnl No need to hardcode the standard /usr/lib.
- if test "X$dir" != "X/usr/$acl_libdirstem"; then
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
rpathdirs="$rpathdirs $dir"
fi
next= ;;
-# lib-prefix.m4 serial 5 (gettext-0.15)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+# lib-prefix.m4 serial 7 (gettext-0.18)
+dnl Copyright (C) 2001-2005, 2008-2010 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.
prefix="$acl_save_prefix"
])
-dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing
-dnl the basename of the libdir, either "lib" or "lib64".
+dnl AC_LIB_PREPARE_MULTILIB creates
+dnl - a variable acl_libdirstem, containing the basename of the libdir, either
+dnl "lib" or "lib64" or "lib/64",
+dnl - a variable acl_libdirstem2, as a secondary possible value for
+dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
+dnl "lib/amd64".
AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
[
- dnl There is no formal standard regarding lib and lib64. The current
- dnl practice is that on a system supporting 32-bit and 64-bit instruction
- dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit
- dnl libraries go under $prefix/lib. We determine the compiler's default
- dnl mode by looking at the compiler's library search path. If at least
- dnl of its elements ends in /lib64 or points to a directory whose absolute
- dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the
- dnl default, namely "lib".
+ dnl There is no formal standard regarding lib and lib64.
+ dnl On glibc systems, the current practice is that on a system supporting
+ dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+ dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
+ dnl the compiler's default mode by looking at the compiler's library search
+ dnl path. If at least one of its elements ends in /lib64 or points to a
+ dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
+ dnl Otherwise we use the default, namely "lib".
+ dnl On Solaris systems, the current practice is that on a system supporting
+ dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+ dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
+ dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
+ AC_REQUIRE([AC_CANONICAL_HOST])
acl_libdirstem=lib
- searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
- if test -n "$searchpath"; then
- acl_save_IFS="${IFS= }"; IFS=":"
- for searchdir in $searchpath; do
- if test -d "$searchdir"; then
- case "$searchdir" in
- */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
- *) searchdir=`cd "$searchdir" && pwd`
- case "$searchdir" in
- */lib64 ) acl_libdirstem=lib64 ;;
- esac ;;
+ acl_libdirstem2=
+ case "$host_os" in
+ solaris*)
+ dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+ dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
+ dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+ dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+ dnl symlink is missing, so we set acl_libdirstem2 too.
+ AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+ [AC_EGREP_CPP([sixtyfour bits], [
+#ifdef _LP64
+sixtyfour bits
+#endif
+ ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
+ ])
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
esac
fi
- done
- IFS="$acl_save_IFS"
- fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
])
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+# Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is free software; the Free Software Foundation gives
m4_define([_LT_COPYING], [dnl
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008 Free Software Foundation, Inc.
+# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
+# Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
])
-# serial 56 LT_INIT
+# serial 57 LT_INIT
# LT_PREREQ(VERSION)
# ------------------
AC_DEFUN([LT_INIT],
[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
AC_BEFORE([$0], [LT_LANG])dnl
AC_BEFORE([$0], [LT_OUTPUT])dnl
AC_BEFORE([$0], [LTDL_INIT])dnl
AC_REQUIRE([LTOBSOLETE_VERSION])dnl
m4_require([_LT_PROG_LTMAIN])dnl
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
dnl Parse OPTIONS
_LT_SET_OPTIONS([$0], [$1])
*) break;;
esac
done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
])
m4_defun([_LT_SETUP],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
_LT_DECL([], [host_alias], [0], [The host system])dnl
_LT_DECL([], [host], [0])dnl
_LT_DECL([], [host_os], [0])dnl
_LT_CHECK_OBJDIR
m4_require([_LT_TAG_COMPILER])dnl
-_LT_PROG_ECHO_BACKSLASH
case $host_os in
aix3*)
;;
esac
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
# Global variables:
ofile=libtool
can_build_shared=yes
])# _LT_SETUP
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
# _LT_PROG_LTMAIN
# ---------------
# Note that this code is called both from `configure', and `config.status'
# declaration there will have the same value as in `configure'. VARNAME
# must have a single quote delimited value for this to work.
m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
# _LT_CONFIG_STATUS_DECLARATIONS
# embedded single quotes properly. In configure, this macro expands
# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
#
-# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
[m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
LTCFLAGS='$LTCFLAGS'
compiler='$compiler_DEFAULT'
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
# Quote evaled strings.
for var in lt_decl_all_varnames([[ \
]], lt_decl_quote_varnames); do
- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
# Double-quote double-evaled strings.
for var in lt_decl_all_varnames([[ \
]], lt_decl_dquote_varnames); do
- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
esac
done
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_ECHO in
-*'\\\[$]0 --fallback-echo"')dnl "
- lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
- ;;
-esac
-
_LT_OUTPUT_LIBTOOL_INIT
])
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable. If COMMENT is supplied, it is inserted after the
+# `#!' sequence but before initialization text begins. After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script. The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test $lt_write_fail = 0 && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
# LT_OUTPUT
# ---------
AC_DEFUN([LT_OUTPUT],
[: ${CONFIG_LT=./config.lt}
AC_MSG_NOTICE([creating $CONFIG_LT])
-cat >"$CONFIG_LT" <<_LTEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate a libtool stub with the current configuration.
-
-lt_cl_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_LTEOF
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
cat >>"$CONFIG_LT" <<\_LTEOF
-AS_SHELL_SANITIZE
-_AS_PREPARE
-
-exec AS_MESSAGE_FD>&1
+lt_cl_silent=false
exec AS_MESSAGE_LOG_FD>>config.log
{
echo
m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
configured by $[0], generated by m4_PACKAGE_STRING.
-Copyright (C) 2008 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
This config.lt script is free software; the Free Software Foundation
gives unlimited permision to copy, distribute and modify it."
# appending to config.log, which fails on DOS, as config.log is still kept
# open by configure. Here we exec the FD to /dev/null, effectively closing
# config.log, so it can be properly (re)opened and appended to by config.lt.
-if test "$no_create" != yes; then
- lt_cl_success=:
- test "$silent" = yes &&
- lt_config_lt_args="$lt_config_lt_args --quiet"
- exec AS_MESSAGE_LOG_FD>/dev/null
- $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
- exec AS_MESSAGE_LOG_FD>>config.log
- $lt_cl_success || AS_EXIT(1)
-fi
+lt_cl_success=:
+test "$silent" = yes &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
])# LT_OUTPUT
AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
dnl AC_DEFUN([AC_LIBTOOL_F77], [])
dnl AC_DEFUN([AC_LIBTOOL_FC], [])
dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
# _LT_TAG_COMPILER
[lt_cv_ld_exported_symbols_list=no])
LDFLAGS="$save_LDFLAGS"
])
+ AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+ [lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+ echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+ ])
case $host_os in
rhapsody* | darwin1.[[012]])
_lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
else
_lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
fi
- if test "$DSYMUTIL" != ":"; then
+ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
_lt_dsymutil='~$DSYMUTIL $lib || :'
else
_lt_dsymutil=
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
case $cc_basename in
*) _lt_dar_can_shared=$GCC ;;
esac
if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=echo
+ output_verbose_link_cmd=func_echo_all
_LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
_LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
_LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
# _LT_SHELL_INIT(ARG)
# -------------------
m4_define([_LT_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
- [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
- [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_SHELL_INIT
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
# _LT_PROG_ECHO_BACKSLASH
# -----------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script which will find a shell with a builtin
+# printf (which we can use as an echo command).
m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[_LT_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$lt_ECHO in
-X*--fallback-echo)
- # Remove one level of quotation (which was required for Make).
- ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
- ;;
-esac
-
-ECHO=${lt_ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X[$]1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
- # Yippee, $ECHO works!
- :
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`print -r -- -n 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
else
- # Restart under the correct shell.
- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<_LT_EOF
-[$]*
-_LT_EOF
- exit 0
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
fi
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$lt_ECHO"; then
- if test "X${echo_test_string+set}" != Xset; then
- # find a string as large as possible, as long as the shell can cope with it
- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
- if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
- { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
- then
- break
- fi
- done
- fi
-
- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- :
- else
- # The Solaris, AIX, and Digital Unix default echo programs unquote
- # backslashes. This makes it impossible to quote backslashes using
- # echo "$something" | sed 's/\\/\\\\/g'
- #
- # So, first we look for a working echo in the user's PATH.
-
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for dir in $PATH /usr/ucb; do
- IFS="$lt_save_ifs"
- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- ECHO="$dir/echo"
- break
- fi
- done
- IFS="$lt_save_ifs"
-
- if test "X$ECHO" = Xecho; then
- # We didn't find a better echo, so look for alternatives.
- if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # This shell has a builtin print -r that does the trick.
- ECHO='print -r'
- elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
- test "X$CONFIG_SHELL" != X/bin/ksh; then
- # If we have ksh, try running configure again with it.
- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- export ORIGINAL_CONFIG_SHELL
- CONFIG_SHELL=/bin/ksh
- export CONFIG_SHELL
- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
- else
- # Try using printf.
- ECHO='printf %s\n'
- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- # Cool, printf works
- :
- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
- export CONFIG_SHELL
- SHELL="$CONFIG_SHELL"
- export SHELL
- ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
- test "X$echo_testing_string" = 'X\t' &&
- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
- test "X$echo_testing_string" = "X$echo_test_string"; then
- ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
- else
- # maybe with a smaller string...
- prev=:
-
- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
- if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
- then
- break
- fi
- prev="$cmd"
- done
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
- if test "$prev" != 'sed 50q "[$]0"'; then
- echo_test_string=`eval $prev`
- export echo_test_string
- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
- else
- # Oops. We lost completely, so just stick with echo.
- ECHO=echo
- fi
- fi
- fi
- fi
- fi
-fi
+case "$ECHO" in
+ printf*) AC_MSG_RESULT([printf]) ;;
+ print*) AC_MSG_RESULT([print -r]) ;;
+ *) AC_MSG_RESULT([cat]) ;;
+esac
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-lt_ECHO=$ECHO
-if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
- lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test "X`printf %s $ECHO`" = "X$ECHO" \
+ || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
-AC_SUBST(lt_ECHO)
-])
_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1],
- [An echo program that does not interpret backslashes])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
])# _LT_PROG_ECHO_BACKSLASH
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
if test "$lt_cv_prog_gnu_ld" = yes; then
case `/usr/bin/file conftest.$ac_objext` in
esac
old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
fi
+
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
_LT_DECL([], [old_postinstall_cmds], [2])
_LT_DECL([], [old_postuninstall_cmds], [2])
_LT_TAGDECL([], [old_archive_cmds], [2],
[Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+ [Whether to use a lock for old archive extraction])
])# _LT_CMD_OLD_ARCHIVE
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
$2=yes
if test -s conftest.err; then
# Append any errors to the config.log.
cat conftest.err 1>&AS_MESSAGE_LOG_FD
- $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
$SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
if diff conftest.exp conftest.er2 >/dev/null; then
$2=yes
lt_cv_sys_max_cmd_len=8192;
;;
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
amigaos*)
# On AmigaOS with pdksh, this test takes hours, literally.
# So we just punt and use a minimum line length of 8192.
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
- while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
- = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+ while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
test $i != 17 # 1/2 MB should be enough
do
i=`expr $i + 1`
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-[#line __oline__ "configure"
+[#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
# endif
#endif
-void fnord() { int i=42;}
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+void fnord () __attribute__((visibility("default")));
+#endif
+
+void fnord () { int i=42; }
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
if (self)
{
if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
/* dlclose (self); */
}
else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
$SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_OBJDUMP])dnl
m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
AC_MSG_CHECKING([dynamic linker characteristics])
m4_if([$1],
[], [
darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
*) lt_awk_arg="/^libraries:/" ;;
esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
+ *) lt_sed_strip_eq="s,=/,/,g" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
# if the path contains ";" then we assume it to be the separator
# otherwise default to the standard path separator (i.e. ":") - it is
# assumed that no part of a normal pathname contains ";" but that should
# okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
- else
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
# Ok, now we have the path, separated by spaces, we can step through it
# and add multilib dir if necessary.
lt_tmp_lt_search_path_spec=
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
- lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
BEGIN {RS=" "; FS="/|\n";} {
lt_foo="";
lt_count=0;
if (lt_foo != "") { lt_freq[[lt_foo]]++; }
if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
}'`
- sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
else
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
fi])
m68k)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
;;
esac
;;
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
;;
mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
- if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
- # It is most probably a Windows format PATH printed by
- # mingw gcc, but we are running on Cygwin. Gcc prints its search
- # path with ; separators, and with drive letters. We can handle the
- # drive letters (cygwin fileutils understands them), so leave them,
- # especially as we might pass files found there to a mingw objdump,
- # which wouldn't understand a cygwinified path. Ahh.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
hardcode_into_libs=yes
;;
+haiku*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
hpux9* | hpux10* | hpux11*)
# Give a soname corresponding to the major version so that dld.sl refuses to
# link against other versions.
soname_spec='${libname}${release}${shared_ext}$major'
;;
esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
;;
interix[[3-9]]*)
;;
# This must be Linux ELF.
-linux* | k*bsd*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
version_type=linux
need_lib_prefix=no
need_version=no
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
+
# Some binutils ld are patched to set DT_RUNPATH
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
- LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
- [shlibpath_overrides_runpath=yes])])
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
+ AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+ [lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [lt_cv_shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+ ])
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
# This implies no fast_install, which is unacceptable.
# Some rework will be needed to allow for fast_install
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
The last name is the one that the linker finds with -lNAME]])
_LT_DECL([], [soname_spec], [1],
[[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+ [Permission mode override for installation of shared libraries])
_LT_DECL([], [postinstall_cmds], [2],
[Command to use after installation of a shared archive])
_LT_DECL([], [postuninstall_cmds], [2],
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
m4_require([_LT_DECL_SED])dnl
m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
AC_ARG_WITH([gnu-ld],
[AS_HELP_STRING([--with-gnu-ld],
fi
;;
esac
-_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_DECL([], [reload_cmds], [2])dnl
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
])# _LT_CMD_RELOAD
# Base MSYS/MinGW do not provide the 'file' command needed by
# func_win32_libid shell function, so use a weaker test based on 'objdump',
# unless we find 'file', for example because we are cross-compiling.
- if ( file / ) >/dev/null 2>&1; then
+ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+ if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-cegcc)
+cegcc*)
# use the weaker test based on 'objdump'. See mingw*.
lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
lt_cv_file_magic_cmd='$OBJDUMP -f'
lt_cv_deplibs_check_method=pass_all
;;
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
hpux10.20* | hpux11*)
lt_cv_file_magic_cmd=/usr/bin/file
case $host_cpu in
lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
;;
hppa*64*)
- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
;;
*)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
lt_cv_file_magic_test_file=/usr/lib/libc.sl
;;
esac
;;
# This must be Linux ELF.
-linux* | k*bsd*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
lt_cv_deplibs_check_method=pass_all
;;
NM="$lt_cv_path_NM"
else
# Didn't find any BSD compatible name lister, look for dumpbin.
- AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
AC_SUBST([DUMPBIN])
if test "$DUMPBIN" != ":"; then
NM="$DUMPBIN"
AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
[lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&AS_MESSAGE_LOG_FD
- (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&AS_MESSAGE_LOG_FD
- (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+ (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
cat conftest.out >&AS_MESSAGE_LOG_FD
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
# These system don't have libm, or don't need it
;;
*-ncr-sysv4.3*)
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
if test "$GCC" = yes; then
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ case $cc_basename in
+ nvcc*)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+ esac
_LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
lt_cv_prog_compiler_rtti_exceptions,
m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([LT_PATH_NM])dnl
AC_REQUIRE([LT_PATH_LD])dnl
m4_require([_LT_DECL_SED])dnl
if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols.
nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
mv -f "$nlist"T "$nlist"
# DJGPP does not support shared libraries at all
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
interix[[3-9]]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
esac
;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
case $cc_basename in
KCC*)
# KAI C++ Compiler
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
- xlc* | xlC*)
- # IBM XL 8.0 on PPC
+ xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
;;
solaris*)
case $cc_basename in
- CC*)
+ CC* | sunCC*)
# Sun C++ 4.2, 5.x and Centerline C++
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+
hpux*)
# PIC is the default for 64-bit PA HP-UX, but not for 32-bit
# PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
+ ;;
+ esac
else
# PORTME Check for flag to pass linker flags through the system compiler.
case $host_os in
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
case $cc_basename in
# old Intel for x86_64 which still supported -KPIC.
ecc*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
;;
- pgcc* | pgf77* | pgf90* | pgf95*)
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# All Alpha code is PIC.
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
- xl*)
- # IBM XL C 8.0/Fortran 10.1 on PPC
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
;;
*)
case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C 5.9
+ *Sun\ F* | *Sun*Fortran*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
;;
- *Sun\ F*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ *Sun\ C*)
+ # Sun C 5.9
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
;;
esac
;;
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
case $cc_basename in
- f77* | f90* | f95*)
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
aix[[4-9]]*)
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global defined
+ # symbols, whereas GNU nm marks them as "W".
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
esac
_LT_TAGVAR(ld_shlibs, $1)=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+ *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test "$lt_use_gnu_ld_interface" = yes; then
# If archive_cmds runs LD, not CC, wlarc should be empty
wlarc='${wl}'
fi
supports_anon_versioning=no
case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
*\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
_LT_TAGVAR(ld_shlibs, $1)=no
cat <<_LT_EOF 1>&2
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** Warning: the GNU linker, at least up to release 2.19, is reported
*** to be unable to reliably create shared libraries on AIX.
*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
_LT_EOF
fi
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
fi
;;
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
interix[[3-9]]*)
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
- gnu* | linux* | tpf* | k*bsd*-gnu)
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
tmp_diet=no
if test "$host_os" = linux-dietlibc; then
case $cc_basename in
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
lf95*) # Lahey Fortran 8.1
_LT_TAGVAR(whole_archive_flag_spec, $1)=
tmp_sharedflag='--shared' ;;
- xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
tmp_sharedflag='-qmkshrobj'
tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ ;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
fi
case $cc_basename in
- xlf*)
+ xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
_LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
- _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test "x$supports_anon_versioning" = xyes; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
;;
esac
else
# If we're using GNU nm, then we don't want the "-C" option.
# -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
fi
# empty executable.
_LT_SYS_MODULE_PATH_AIX
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
# -berok will link without error, but may produce a broken library.
_LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
# This is similar to how AIX traditionally builds its shared libraries.
_LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
# Tell ltmain to make .dll files, not .so files.
shrext_cmds=".dll"
# FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
# The linker will automatically build a .lib file if we build a DLL.
_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
# FIXME: Should let the user specify the lib program.
;;
hpux10*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
;;
hpux11*)
- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
case $host_cpu in
hppa*64*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ m4_if($1, [], [
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ _LT_LINKER_OPTION([if $CC understands -b],
+ _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+ [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
;;
esac
fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
# Try to use the -exported_symbol ld option, if it does not
# work, assume that -exports_file does not work either and
# implicitly export all symbols.
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
AC_LINK_IFELSE(int foo(void) {},
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
)
LDFLAGS="$save_LDFLAGS"
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)='no'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
;;
osf3*)
if test "$GCC" = yes; then
_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
else
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)='no'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
else
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
# Test whether the compiler implicitly links with -lc since on some
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
- AC_MSG_CHECKING([whether -lc should be explicitly linked in])
- $RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
- pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
- _LT_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
- then
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- else
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- fi
- _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
- AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
+ AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+ [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+ [$RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+ then
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ ])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
;;
esac
fi
])# _LT_LANG_C_CONFIG
-# _LT_PROG_CXX
-# ------------
-# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
-# compiler, we have our own version here.
-m4_defun([_LT_PROG_CXX],
-[
-pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
-AC_PROG_CXX
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_PROG_CXXCPP
-else
- _lt_caught_CXX_error=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_CXX
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_CXX], [])
-
-
# _LT_LANG_CXX_CONFIG([TAG])
# --------------------------
# Ensure that the configuration variables for a C++ compiler are suitably
# defined. These variables are subsequently used by _LT_CONFIG to write
# the compiler configuration to `libtool'.
m4_defun([_LT_LANG_CXX_CONFIG],
-[AC_REQUIRE([_LT_PROG_CXX])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_EGREP])dnl
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_PROG_CXXCPP
+else
+ _lt_caught_CXX_error=yes
+fi
AC_LANG_PUSH(C++)
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(module_expsym_cmds, $1)=
_LT_TAGVAR(link_all_deplibs, $1)=unknown
_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
_LT_TAGVAR(no_undefined_flag, $1)=
_LT_TAGVAR(whole_archive_flag_spec, $1)=
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
GXX=no
_LT_SYS_MODULE_PATH_AIX
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
# -berok will link without error, but may produce a broken library.
_LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- # Exported symbols can be pulled into shared objects from archives
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
# This is similar to how AIX traditionally builds its shared
# libraries.
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
gnu*)
;;
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
hpux9*)
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test "$GXX" = yes; then
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test "$GXX" = yes; then
case $cc_basename in
CC*)
# SGI C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
# Archives containing C++ object files must be created using
# "CC -ar", where "CC" is the IRIX C++ compiler. This is
*)
if test "$GXX" = yes; then
if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
fi
fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
_LT_TAGVAR(inherit_rpath, $1)=yes
;;
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
case $cc_basename in
KCC*)
# Kuck and Associates, Inc. (KAI) C++ Compiler
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
pgCC* | pgcpp*)
# Portland Group C++ compiler
case `$CC -V` in
- *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+ *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
_LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
- compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
_LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
$RANLIB $oldlib'
_LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
;;
- *) # Version 6 will use weak symbols
+ *) # Version 6 and above use weak symbols
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
;;
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
;;
cxx*)
# Compaq C++
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
;;
- xl*)
+ xl* | mpixl* | bgxl*)
# IBM XL 8.0 on PPC, with GNU ld
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
_LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
# Not sure whether something based on
# $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
# would be better.
- output_verbose_link_cmd='echo'
+ output_verbose_link_cmd='func_echo_all'
# Archives containing C++ object files must be created using
# "CC -xar", where "CC" is the Sun C++ compiler. This is
_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
_LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
fi
- output_verbose_link_cmd=echo
+ output_verbose_link_cmd=func_echo_all
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
case $host in
osf3*)
_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
;;
*)
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
$RM $lib.exp'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
;;
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
case $host in
osf3*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
;;
esac
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
# FIXME: insert proper C++ library support
solaris*)
case $cc_basename in
- CC*)
+ CC* | sunCC*)
# Sun C++ 4.2, 5.x and Centerline C++
_LT_TAGVAR(archive_cmds_need_lc,$1)=yes
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
esac
_LT_TAGVAR(link_all_deplibs, $1)=yes
- output_verbose_link_cmd='echo'
+ output_verbose_link_cmd='func_echo_all'
# Archives containing C++ object files must be created using
# "CC -xar", where "CC" is the Sun C++ compiler. This is
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
# g++ 2.7 appears to require `-G' NOT `-shared' on this
# platform.
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
fi
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
CC*)
_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+ '"$_LT_TAGVAR(old_archive_cmds, $1)"
+ _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+ '"$_LT_TAGVAR(reload_cmds, $1)"
;;
*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
solaris*)
case $cc_basename in
- CC*)
+ CC* | sunCC*)
# The more standards-conforming stlport4 library is
# incompatible with the Cstd library. Avoid specifying
# it if it's in CXXFLAGS. Ignore libCrun as
])# _LT_SYS_HIDDEN_LIBDEPS
-# _LT_PROG_F77
-# ------------
-# Since AC_PROG_F77 is broken, in that it returns the empty string
-# if there is no fortran compiler, we have our own version here.
-m4_defun([_LT_PROG_F77],
-[
-pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
-AC_PROG_F77
-if test -z "$F77" || test "X$F77" = "Xno"; then
- _lt_disable_F77=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_F77
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_F77], [])
-
-
# _LT_LANG_F77_CONFIG([TAG])
# --------------------------
# Ensure that the configuration variables for a Fortran 77 compiler are
# suitably defined. These variables are subsequently used by _LT_CONFIG
# to write the compiler configuration to `libtool'.
m4_defun([_LT_LANG_F77_CONFIG],
-[AC_REQUIRE([_LT_PROG_F77])dnl
-AC_LANG_PUSH(Fortran 77)
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test "X$F77" = "Xno"; then
+ _lt_disable_F77=yes
+fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(allow_undefined_flag, $1)=
_LT_TAGVAR(module_expsym_cmds, $1)=
_LT_TAGVAR(link_all_deplibs, $1)=unknown
_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
_LT_TAGVAR(no_undefined_flag, $1)=
_LT_TAGVAR(whole_archive_flag_spec, $1)=
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
])# _LT_LANG_F77_CONFIG
-# _LT_PROG_FC
-# -----------
-# Since AC_PROG_FC is broken, in that it returns the empty string
-# if there is no fortran compiler, we have our own version here.
-m4_defun([_LT_PROG_FC],
-[
-pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
-AC_PROG_FC
-if test -z "$FC" || test "X$FC" = "Xno"; then
- _lt_disable_FC=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_FC
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_FC], [])
-
-
# _LT_LANG_FC_CONFIG([TAG])
# -------------------------
# Ensure that the configuration variables for a Fortran compiler are
# suitably defined. These variables are subsequently used by _LT_CONFIG
# to write the compiler configuration to `libtool'.
m4_defun([_LT_LANG_FC_CONFIG],
-[AC_REQUIRE([_LT_PROG_FC])dnl
-AC_LANG_PUSH(Fortran)
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test "X$FC" = "Xno"; then
+ _lt_disable_FC=yes
+fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(allow_undefined_flag, $1)=
_LT_TAGVAR(module_expsym_cmds, $1)=
_LT_TAGVAR(link_all_deplibs, $1)=unknown
_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
_LT_TAGVAR(no_undefined_flag, $1)=
_LT_TAGVAR(whole_archive_flag_spec, $1)=
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
func_dirname ()
{
# Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+ func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
if test "X$func_dirname_result" = "X${1}"; then
func_dirname_result="${3}"
else
# func_basename file
func_basename ()
{
- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+ func_basename_result=`$ECHO "${1}" | $SED "$basename"`
}
dnl func_dirname_and_basename
func_stripname ()
{
case ${2} in
- .*) func_stripname_result=`$ECHO "X${3}" \
- | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "X${3}" \
- | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
esac
}
# func_opt_split
func_opt_split ()
{
- func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
- func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+ func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+ func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
}
# func_lo2o object
func_lo2o ()
{
- func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+ func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
}
# func_xform libobj-or-source
func_xform ()
{
- func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+ func_xform_result=`$ECHO "${1}" | $SED 's/\.[[^.]]*$/.lo/'`
}
# func_arith arithmetic-term...
--- /dev/null
+# lock.m4 serial 10 (gettext-0.18)
+dnl Copyright (C) 2005-2010 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 From Bruno Haible.
+
+AC_DEFUN([gl_LOCK],
+[
+ AC_REQUIRE([gl_THREADLIB])
+ if test "$gl_threads_api" = posix; then
+ # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the
+ # pthread_rwlock_* functions.
+ AC_CHECK_TYPE([pthread_rwlock_t],
+ [AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1],
+ [Define if the POSIX multithreading library has read/write locks.])],
+ [],
+ [#include <pthread.h>])
+ # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro.
+ AC_TRY_COMPILE([#include <pthread.h>],
+ [#if __FreeBSD__ == 4
+error "No, in FreeBSD 4.0 recursive mutexes actually don't work."
+#else
+int x = (int)PTHREAD_MUTEX_RECURSIVE;
+return !x;
+#endif],
+ [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], [1],
+ [Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE.])])
+ fi
+ gl_PREREQ_LOCK
+])
+
+# Prerequisites of lib/lock.c.
+AC_DEFUN([gl_PREREQ_LOCK], [
+ AC_REQUIRE([AC_C_INLINE])
+])
-# longlong.m4 serial 13
-dnl Copyright (C) 1999-2007 Free Software Foundation, Inc.
+# longlong.m4 serial 14
+dnl Copyright (C) 1999-2007, 2009-2010 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.
[AC_LINK_IFELSE(
[_AC_TYPE_LONG_LONG_SNIPPET],
[dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
- dnl If cross compiling, assume the bug isn't important, since
- dnl nobody cross compiles for this platform as far as we know.
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[@%:@include <limits.h>
- @%:@ifndef LLONG_MAX
- @%:@ define HALF \
- (1LL << (sizeof (long long int) * CHAR_BIT - 2))
- @%:@ define LLONG_MAX (HALF - 1 + HALF)
- @%:@endif]],
- [[long long int n = 1;
- int i;
- for (i = 0; ; i++)
- {
- long long int m = n << i;
- if (m >> i != n)
- return 1;
- if (LLONG_MAX / 2 < m)
- break;
- }
- return 0;]])],
- [ac_cv_type_long_long_int=yes],
- [ac_cv_type_long_long_int=no],
- [ac_cv_type_long_long_int=yes])],
+ dnl If cross compiling, assume the bug isn't important, since
+ dnl nobody cross compiles for this platform as far as we know.
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[@%:@include <limits.h>
+ @%:@ifndef LLONG_MAX
+ @%:@ define HALF \
+ (1LL << (sizeof (long long int) * CHAR_BIT - 2))
+ @%:@ define LLONG_MAX (HALF - 1 + HALF)
+ @%:@endif]],
+ [[long long int n = 1;
+ int i;
+ for (i = 0; ; i++)
+ {
+ long long int m = n << i;
+ if (m >> i != n)
+ return 1;
+ if (LLONG_MAX / 2 < m)
+ break;
+ }
+ return 0;]])],
+ [ac_cv_type_long_long_int=yes],
+ [ac_cv_type_long_long_int=no],
+ [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,
+ AC_DEFINE([HAVE_LONG_LONG_INT], [1],
[Define to 1 if the system has the type `long long int'.])
fi
])
[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,
+ AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1],
[Define to 1 if the system has the type `unsigned long long int'.])
fi
])
AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET],
[
AC_LANG_PROGRAM(
- [[/* Test preprocessor. */
- #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
- error in preprocessor;
- #endif
- #if ! (18446744073709551615ULL <= -1ull)
- error in preprocessor;
- #endif
+ [[/* For now, do not test the preprocessor; as of 2007 there are too many
+ implementations with broken preprocessors. Perhaps this can
+ be revisited in 2012. In the meantime, code should not expect
+ #if to work with literals wider than 32 bits. */
/* Test literals. */
long long int ll = 9223372036854775807ll;
long long int nll = -9223372036854775807LL;
unsigned long long int ull = 18446744073709551615ULL;
/* Test constant expressions. */
typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
- ? 1 : -1)];
+ ? 1 : -1)];
typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
- ? 1 : -1)];
+ ? 1 : -1)];
int i = 63;]],
[[/* Test availability of runtime routines for shift and division. */
long long int llmax = 9223372036854775807ll;
unsigned long long int ullmax = 18446744073709551615ull;
return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
- | (llmax / ll) | (llmax % ll)
- | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
- | (ullmax / ull) | (ullmax % ull));]])
+ | (llmax / ll) | (llmax % ll)
+ | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
+ | (ullmax / ull) | (ullmax % ull));]])
])
# Helper functions for option handling. -*- Autoconf -*-
#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
-# serial 6 ltoptions.m4
+# serial 7 ltoptions.m4
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
[enable_win32_dll=yes
case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false)
esac
test -z "$AS" && AS=as
-_LT_DECL([], [AS], [0], [Assembler program])dnl
+_LT_DECL([], [AS], [1], [Assembler program])dnl
test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
])# win32-dll
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
# Generated from ltversion.in.
-# serial 3012 ltversion.m4
+# serial 3175 ltversion.m4
# This file is part of GNU Libtool
-m4_define([LT_PACKAGE_VERSION], [2.2.6])
-m4_define([LT_PACKAGE_REVISION], [1.3012])
+m4_define([LT_PACKAGE_VERSION], [2.2.10])
+m4_define([LT_PACKAGE_REVISION], [1.3175])
AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.2.6'
-macro_revision='1.3012'
+[macro_version='2.2.10'
+macro_revision='1.3175'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
#
-# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
# Written by Scott James Remnant, 2004.
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
-# serial 4 lt~obsolete.m4
+# serial 5 lt~obsolete.m4
# These exist entirely to fool aclocal when bootstrapping libtool.
#
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
-# nls.m4 serial 3 (gettext-0.15)
-dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
+# nls.m4 serial 5 (gettext-0.18)
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation,
+dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-AC_PREREQ(2.50)
+AC_PREREQ([2.50])
AC_DEFUN([AM_NLS],
[
AC_MSG_CHECKING([whether NLS is requested])
dnl Default is enabled NLS
- AC_ARG_ENABLE(nls,
+ AC_ARG_ENABLE([nls],
[ --disable-nls do not use Native Language Support],
USE_NLS=$enableval, USE_NLS=yes)
- AC_MSG_RESULT($USE_NLS)
- AC_SUBST(USE_NLS)
+ AC_MSG_RESULT([$USE_NLS])
+ AC_SUBST([USE_NLS])
])
-# po.m4 serial 15 (gettext-0.17)
-dnl Copyright (C) 1995-2007 Free Software Foundation, Inc.
+# po.m4 serial 17 (gettext-0.18)
+dnl Copyright (C) 1995-2010 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 Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-AC_PREREQ(2.50)
+AC_PREREQ([2.50])
dnl Checks for all prerequisites of the po subdirectory.
AC_DEFUN([AM_PO_SUBDIRS],
dnl Release version of the gettext macros. This is used to ensure that
dnl the gettext macros and po/Makefile.in.in are in sync.
- AC_SUBST([GETTEXT_MACRO_VERSION], [0.17])
+ AC_SUBST([GETTEXT_MACRO_VERSION], [0.18])
dnl Perform the following tests also if --disable-nls has been given,
dnl because they are needed for "make dist" to work.
[$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
(if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
:)
- AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+ AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
dnl Test whether it is GNU msgfmt >= 0.15.
changequote(,)dnl
-# progtest.m4 serial 4 (gettext-0.14.2)
-dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
+# progtest.m4 serial 6 (gettext-0.18)
+dnl Copyright (C) 1996-2003, 2005, 2008-2010 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 Authors:
dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
-AC_PREREQ(2.50)
+AC_PREREQ([2.50])
# Search path for a program which passes the given test.
# Extract the first word of "$2", so it can be a program name with args.
set dummy $2; ac_word=[$]2
AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
+AC_CACHE_VAL([ac_cv_path_$1],
[case "[$]$1" in
[[\\/]]* | ?:[[\\/]]*)
ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
esac])dnl
$1="$ac_cv_path_$1"
if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
- AC_MSG_RESULT([$]$1)
+ AC_MSG_RESULT([$][$1])
else
- AC_MSG_RESULT(no)
+ AC_MSG_RESULT([no])
fi
-AC_SUBST($1)dnl
+AC_SUBST([$1])dnl
])
--- /dev/null
+# threadlib.m4 serial 5 (gettext-0.18)
+dnl Copyright (C) 2005-2010 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 From Bruno Haible.
+
+dnl gl_THREADLIB
+dnl ------------
+dnl Tests for a multithreading library to be used.
+dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS,
+dnl USE_PTH_THREADS, USE_WIN32_THREADS
+dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use
+dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with
+dnl libtool).
+dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for
+dnl programs that really need multithread functionality. The difference
+dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak
+dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread".
+dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for
+dnl multithread-safe programs.
+
+AC_DEFUN([gl_THREADLIB_EARLY],
+[
+ AC_REQUIRE([gl_THREADLIB_EARLY_BODY])
+])
+
+dnl The guts of gl_THREADLIB_EARLY. Needs to be expanded only once.
+
+AC_DEFUN([gl_THREADLIB_EARLY_BODY],
+[
+ dnl Ordering constraints: This macro modifies CPPFLAGS in a way that
+ dnl influences the result of the autoconf tests that test for *_unlocked
+ dnl declarations, on AIX 5 at least. Therefore it must come early.
+ AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl
+ AC_BEFORE([$0], [gl_ARGP])dnl
+
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ dnl _GNU_SOURCE is needed for pthread_rwlock_t on glibc systems.
+ dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes
+ dnl AC_GNU_SOURCE.
+ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
+ [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
+ [AC_REQUIRE([AC_GNU_SOURCE])])
+ dnl Check for multithreading.
+ m4_divert_text([DEFAULTS], [gl_use_threads_default=])
+ AC_ARG_ENABLE([threads],
+AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API])
+AC_HELP_STRING([--disable-threads], [build without multithread safety]),
+ [gl_use_threads=$enableval],
+ [if test -n "$gl_use_threads_default"; then
+ gl_use_threads="$gl_use_threads_default"
+ else
+changequote(,)dnl
+ 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
+ dnl child process gets an endless segmentation fault inside execvp().
+ dnl Disable multithreading by default on Cygwin 1.5.x, because it has
+ dnl bugs that lead to endless loops or crashes. See
+ dnl <http://cygwin.com/ml/cygwin/2009-08/msg00283.html>.
+ osf*) gl_use_threads=no ;;
+ cygwin*)
+ case `uname -r` in
+ 1.[0-5].*) gl_use_threads=no ;;
+ *) gl_use_threads=yes ;;
+ esac
+ ;;
+ *) gl_use_threads=yes ;;
+ esac
+changequote([,])dnl
+ fi
+ ])
+ 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_THREADLIB. Needs to be expanded only once.
+
+AC_DEFUN([gl_THREADLIB_BODY],
+[
+ AC_REQUIRE([gl_THREADLIB_EARLY_BODY])
+ gl_threads_api=none
+ LIBTHREAD=
+ LTLIBTHREAD=
+ LIBMULTITHREAD=
+ LTLIBMULTITHREAD=
+ if test "$gl_use_threads" != no; then
+ dnl Check whether the compiler and linker support weak declarations.
+ AC_CACHE_CHECK([whether imported symbols can be declared weak],
+ [gl_cv_have_weak],
+ [gl_cv_have_weak=no
+ dnl First, test whether the compiler accepts it syntactically.
+ AC_TRY_LINK([extern void xyzzy ();
+#pragma weak xyzzy], [xyzzy();], [gl_cv_have_weak=maybe])
+ if test $gl_cv_have_weak = maybe; then
+ dnl Second, test whether it actually works. On Cygwin 1.7.2, with
+ dnl gcc 4.3, symbols declared weak always evaluate to the address 0.
+ AC_TRY_RUN([
+#include <stdio.h>
+#pragma weak fputs
+int main ()
+{
+ return (fputs == NULL);
+}], [gl_cv_have_weak=yes], [gl_cv_have_weak=no],
+ [dnl When cross-compiling, assume that only ELF platforms support
+ dnl weak symbols.
+ AC_EGREP_CPP([Extensible Linking Format],
+ [#ifdef __ELF__
+ Extensible Linking Format
+ #endif
+ ],
+ [gl_cv_have_weak="guessing yes"],
+ [gl_cv_have_weak="guessing no"])
+ ])
+ fi
+ ])
+ 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
+ # it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY.
+ AC_CHECK_HEADER([pthread.h],
+ [gl_have_pthread_h=yes], [gl_have_pthread_h=no])
+ if test "$gl_have_pthread_h" = yes; then
+ # Other possible tests:
+ # -lpthreads (FSU threads, PCthreads)
+ # -lgthreads
+ gl_have_pthread=
+ # 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
+ # the second one only in libpthread, and lock.c needs it.
+ AC_TRY_LINK([#include <pthread.h>],
+ [pthread_mutex_lock((pthread_mutex_t*)0);
+ pthread_mutexattr_init((pthread_mutexattr_t*)0);],
+ [gl_have_pthread=yes])
+ # Test for libpthread by looking for pthread_kill. (Not pthread_self,
+ # since it is defined as a macro on OSF/1.)
+ if test -n "$gl_have_pthread"; then
+ # The program links fine without libpthread. But it may actually
+ # need to link with libpthread in order to create multiple threads.
+ AC_CHECK_LIB([pthread], [pthread_kill],
+ [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread
+ # On Solaris and HP-UX, most pthread functions exist also in libc.
+ # Therefore pthread_in_use() needs to actually try to create a
+ # thread: pthread_create from libc will fail, whereas
+ # pthread_create will actually create a thread.
+ case "$host_os" in
+ solaris* | hpux*)
+ AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1],
+ [Define if the pthread_in_use() detection is hard.])
+ esac
+ ])
+ else
+ # Some library is needed. Try libpthread and libc_r.
+ AC_CHECK_LIB([pthread], [pthread_kill],
+ [gl_have_pthread=yes
+ LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread
+ LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread])
+ if test -z "$gl_have_pthread"; then
+ # For FreeBSD 4.
+ AC_CHECK_LIB([c_r], [pthread_kill],
+ [gl_have_pthread=yes
+ LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r
+ LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r])
+ fi
+ fi
+ if test -n "$gl_have_pthread"; then
+ gl_threads_api=posix
+ AC_DEFINE([USE_POSIX_THREADS], [1],
+ [Define if the POSIX multithreading library can be used.])
+ if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
+ if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
+ AC_DEFINE([USE_POSIX_THREADS_WEAK], [1],
+ [Define if references to the POSIX multithreading library should be made weak.])
+ LIBTHREAD=
+ LTLIBTHREAD=
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -z "$gl_have_pthread"; then
+ if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then
+ gl_have_solaristhread=
+ gl_save_LIBS="$LIBS"
+ LIBS="$LIBS -lthread"
+ AC_TRY_LINK([#include <thread.h>
+#include <synch.h>],
+ [thr_self();],
+ [gl_have_solaristhread=yes])
+ LIBS="$gl_save_LIBS"
+ if test -n "$gl_have_solaristhread"; then
+ gl_threads_api=solaris
+ LIBTHREAD=-lthread
+ LTLIBTHREAD=-lthread
+ LIBMULTITHREAD="$LIBTHREAD"
+ LTLIBMULTITHREAD="$LTLIBTHREAD"
+ AC_DEFINE([USE_SOLARIS_THREADS], [1],
+ [Define if the old Solaris multithreading library can be used.])
+ if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
+ AC_DEFINE([USE_SOLARIS_THREADS_WEAK], [1],
+ [Define if references to the old Solaris multithreading library should be made weak.])
+ LIBTHREAD=
+ LTLIBTHREAD=
+ fi
+ fi
+ fi
+ fi
+ if test "$gl_use_threads" = pth; then
+ gl_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_LINKFLAGS([pth])
+ gl_have_pth=
+ gl_save_LIBS="$LIBS"
+ LIBS="$LIBS -lpth"
+ AC_TRY_LINK([#include <pth.h>], [pth_self();], [gl_have_pth=yes])
+ LIBS="$gl_save_LIBS"
+ if test -n "$gl_have_pth"; then
+ gl_threads_api=pth
+ LIBTHREAD="$LIBPTH"
+ LTLIBTHREAD="$LTLIBPTH"
+ LIBMULTITHREAD="$LIBTHREAD"
+ LTLIBMULTITHREAD="$LTLIBTHREAD"
+ AC_DEFINE([USE_PTH_THREADS], [1],
+ [Define if the GNU Pth multithreading library can be used.])
+ if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
+ if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
+ AC_DEFINE([USE_PTH_THREADS_WEAK], [1],
+ [Define if references to the GNU Pth multithreading library should be made weak.])
+ LIBTHREAD=
+ LTLIBTHREAD=
+ fi
+ fi
+ else
+ CPPFLAGS="$gl_save_CPPFLAGS"
+ fi
+ fi
+ if test -z "$gl_have_pthread"; then
+ if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then
+ if { case "$host_os" in
+ mingw*) true;;
+ *) false;;
+ esac
+ }; then
+ gl_threads_api=win32
+ AC_DEFINE([USE_WIN32_THREADS], [1],
+ [Define if the Win32 multithreading API can be used.])
+ fi
+ fi
+ fi
+ fi
+ AC_MSG_CHECKING([for multithread API to use])
+ AC_MSG_RESULT([$gl_threads_api])
+ AC_SUBST([LIBTHREAD])
+ AC_SUBST([LTLIBTHREAD])
+ AC_SUBST([LIBMULTITHREAD])
+ AC_SUBST([LTLIBMULTITHREAD])
+])
+
+AC_DEFUN([gl_THREADLIB],
+[
+ AC_REQUIRE([gl_THREADLIB_EARLY])
+ AC_REQUIRE([gl_THREADLIB_BODY])
+])
+
+
+dnl gl_DISABLE_THREADS
+dnl ------------------
+dnl Sets the gl_THREADLIB default so that threads are not used by default.
+dnl The user can still override it at installation time, by using the
+dnl configure option '--enable-threads'.
+
+AC_DEFUN([gl_DISABLE_THREADS], [
+ m4_divert_text([INIT_PREPARE], [gl_use_threads_default=no])
+])
+
+
+dnl Survey of platforms:
+dnl
+dnl Platform Available Compiler Supports test-lock
+dnl flavours option weak result
+dnl --------------- --------- --------- -------- ---------
+dnl Linux 2.4/glibc posix -lpthread Y OK
+dnl
+dnl GNU Hurd/glibc posix
+dnl
+dnl FreeBSD 5.3 posix -lc_r Y
+dnl posix -lkse ? Y
+dnl posix -lpthread ? Y
+dnl posix -lthr Y
+dnl
+dnl FreeBSD 5.2 posix -lc_r Y
+dnl posix -lkse Y
+dnl posix -lthr Y
+dnl
+dnl FreeBSD 4.0,4.10 posix -lc_r Y OK
+dnl
+dnl NetBSD 1.6 --
+dnl
+dnl OpenBSD 3.4 posix -lpthread Y OK
+dnl
+dnl MacOS X 10.[123] posix -lpthread Y OK
+dnl
+dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK
+dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK
+dnl
+dnl HP-UX 11 posix -lpthread N (cc) OK
+dnl Y (gcc)
+dnl
+dnl IRIX 6.5 posix -lpthread Y 0.5
+dnl
+dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK
+dnl
+dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK
+dnl -lpthread (gcc) Y
+dnl
+dnl Cygwin posix -lpthread Y OK
+dnl
+dnl Any of the above pth -lpth 0.0
+dnl
+dnl Mingw win32 N OK
+dnl
+dnl BeOS 5 --
+dnl
+dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is
+dnl turned off:
+dnl OK if all three tests terminate OK,
+dnl 0.5 if the first test terminates OK but the second one loops endlessly,
+dnl 0.0 if the first test already loops endlessly.
# update-header-version.m4 serial 1
-dnl Copyright (C) 2008 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2010, 2011 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.
+++ /dev/null
-# valgrind.m4 serial 1
-dnl Copyright (C) 2008, 2009 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 From Simon Josefsson
-
-# sj_VALGRIND()
-# -------------
-# Check if valgrind is available, and set VALGRIND to it if available.
-AC_DEFUN([sj_VALGRIND],
-[
- # Run self-tests under valgrind?
- if test "$cross_compiling" = no; then
- AC_CHECK_PROGS(VALGRIND, valgrind)
- fi
- if test -n "$VALGRIND" && $VALGRIND true > /dev/null 2>&1; then
- opt_valgrind_tests=yes
- else
- opt_valgrind_tests=no
- VALGRIND=
- fi
- AC_MSG_CHECKING([whether self tests are run under valgrind])
- AC_ARG_ENABLE(valgrind-tests,
- AS_HELP_STRING([--enable-valgrind-tests],
- [run self tests under valgrind]),
- opt_valgrind_tests=$enableval)
- AC_MSG_RESULT($opt_valgrind_tests)
-])
-# visibility.m4 serial 1 (gettext-0.15)
-dnl Copyright (C) 2005 Free Software Foundation, Inc.
+# visibility.m4 serial 3 (gettext-0.18)
+dnl Copyright (C) 2005, 2008-2010 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.
CFLAG_VISIBILITY=
HAVE_VISIBILITY=0
if test -n "$GCC"; then
+ dnl First, check whether -Werror can be added to the command line, or
+ dnl whether it leads to an error because of some other option that the
+ dnl user has put into $CC $CFLAGS $CPPFLAGS.
+ AC_MSG_CHECKING([whether the -Werror option is usable])
+ AC_CACHE_VAL([gl_cv_cc_vis_werror], [
+ gl_save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -Werror"
+ AC_TRY_COMPILE([], [],
+ [gl_cv_cc_vis_werror=yes],
+ [gl_cv_cc_vis_werror=no])
+ CFLAGS="$gl_save_CFLAGS"])
+ AC_MSG_RESULT([$gl_cv_cc_vis_werror])
+ dnl Now check whether visibility declarations are supported.
AC_MSG_CHECKING([for simple visibility declarations])
- AC_CACHE_VAL(gl_cv_cc_visibility, [
+ AC_CACHE_VAL([gl_cv_cc_visibility], [
gl_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fvisibility=hidden"
+ dnl We use the option -Werror and a function dummyfunc, because on some
+ dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning
+ dnl "visibility attribute not supported in this configuration; ignored"
+ dnl at the first function definition in every compilation unit, and we
+ dnl don't want to use the option in this case.
+ if test $gl_cv_cc_vis_werror = yes; then
+ CFLAGS="$CFLAGS -Werror"
+ fi
AC_TRY_COMPILE(
[extern __attribute__((__visibility__("hidden"))) int hiddenvar;
extern __attribute__((__visibility__("default"))) int exportedvar;
extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
- extern __attribute__((__visibility__("default"))) int exportedfunc (void);],
+ extern __attribute__((__visibility__("default"))) int exportedfunc (void);
+ void dummyfunc (void) {}],
[],
- gl_cv_cc_visibility=yes,
- gl_cv_cc_visibility=no)
+ [gl_cv_cc_visibility=yes],
+ [gl_cv_cc_visibility=no])
CFLAGS="$gl_save_CFLAGS"])
AC_MSG_RESULT([$gl_cv_cc_visibility])
if test $gl_cv_cc_visibility = yes; then
-# wchar_t.m4 serial 1 (gettext-0.12)
-dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
+# wchar_t.m4 serial 3 (gettext-0.18)
+dnl Copyright (C) 2002-2003, 2008-2010 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.
AC_DEFUN([gt_TYPE_WCHAR_T],
[
- AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,
+ AC_CACHE_CHECK([for wchar_t], [gt_cv_c_wchar_t],
[AC_TRY_COMPILE([#include <stddef.h>
wchar_t foo = (wchar_t)'\0';], ,
- gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])
+ [gt_cv_c_wchar_t=yes], [gt_cv_c_wchar_t=no])])
if test $gt_cv_c_wchar_t = yes; then
- AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])
+ AC_DEFINE([HAVE_WCHAR_T], [1], [Define if you have the 'wchar_t' type.])
fi
])
-# wint_t.m4 serial 2 (gettext-0.17)
-dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+# wint_t.m4 serial 4 (gettext-0.18)
+dnl Copyright (C) 2003, 2007-2010 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.
AC_DEFUN([gt_TYPE_WINT_T],
[
- AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,
+ AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t],
[AC_TRY_COMPILE([
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
<wchar.h>.
#include <time.h>
#include <wchar.h>
wint_t foo = (wchar_t)'\0';], ,
- gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)])
+ [gt_cv_c_wint_t=yes], [gt_cv_c_wint_t=no])])
if test $gt_cv_c_wint_t = yes; then
- AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.])
+ AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.])
fi
])
# This Makefile fragment tries to be general-purpose enough to be
# used by many projects via the gnulib maintainer-makefile module.
-## Copyright (C) 2001-2009 Free Software Foundation, Inc.
+## Copyright (C) 2001-2011 Free Software Foundation, Inc.
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
# ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
ME := maint.mk
-# Override this in cfg.mk if you use a non-standard build-aux directory.
-build_aux ?= $(srcdir)/build-aux
+# Diagnostic for continued use of deprecated variable.
+# Remove in 2013
+ifneq ($(build_aux),)
+ $(error "$(ME): \
+set $$(_build-aux) relative to $$(srcdir) instead of $$(build_aux)")
+endif
# Do not save the original name or timestamp in the .tar.gz file.
# Use --rsyncable if available.
gzip_rsyncable := \
- $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null && echo --rsyncable)
+ $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null \
+ && printf %s --rsyncable)
GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
-# cfg.mk must define the gpg_key_ID used by this package.
GIT = git
VC = $(GIT)
-VC-tag = git tag -s -m '$(VERSION)' -u '$(gpg_key_ID)'
-VC_LIST = $(build_aux)/vc-list-files -C $(srcdir)
+VC_LIST = $(srcdir)/$(_build-aux)/vc-list-files -C $(srcdir)
+
+# You can override this variable in cfg.mk to set your own regexp
+# matching files to ignore.
+VC_LIST_ALWAYS_EXCLUDE_REGEX ?= ^$$
+
+# This is to preprocess robustly the output of $(VC_LIST), so that even
+# when $(srcdir) is a pathological name like "....", the leading sed command
+# removes only the intended prefix.
+_dot_escaped_srcdir = $(subst .,\.,$(srcdir))
+
+# Post-process $(VC_LIST) output, prepending $(srcdir)/, but only
+# when $(srcdir) is not ".".
+ifeq ($(srcdir),.)
+_prepend_srcdir_prefix =
+else
+_prepend_srcdir_prefix = | sed 's|^|$(srcdir)/|'
+endif
+# In order to be able to consistently filter "."-relative names,
+# (i.e., with no $(srcdir) prefix), this definition is careful to
+# remove any $(srcdir) prefix, and to restore what it removes.
+_sc_excl = \
+ $(if $(exclude_file_name_regexp--$@),$(exclude_file_name_regexp--$@),^$$)
VC_LIST_EXCEPT = \
- $(VC_LIST) | if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; else grep -v ChangeLog; fi
+ $(VC_LIST) | sed 's|^$(_dot_escaped_srcdir)/||' \
+ | if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; \
+ else grep -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \
+ | grep -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \
+ $(_prepend_srcdir_prefix)
ifeq ($(origin prev_version_file), undefined)
prev_version_file = $(srcdir)/.prev-version
endif
-PREV_VERSION := $(shell cat $(prev_version_file))
+PREV_VERSION := $(shell cat $(prev_version_file) 2>/dev/null)
VERSION_REGEXP = $(subst .,\.,$(VERSION))
PREV_VERSION_REGEXP = $(subst .,\.,$(PREV_VERSION))
# Old releases are stored here.
release_archive_dir ?= ../release
+# Override gnu_rel_host and url_dir_list in cfg.mk if these are not right.
+# Use alpha.gnu.org for alpha and beta releases.
+# Use ftp.gnu.org for stable releases.
+gnu_ftp_host-alpha = alpha.gnu.org
+gnu_ftp_host-beta = alpha.gnu.org
+gnu_ftp_host-stable = ftp.gnu.org
+gnu_rel_host ?= $(gnu_ftp_host-$(RELEASE_TYPE))
+
+ifeq ($(gnu_rel_host),ftp.gnu.org)
+url_dir_list ?= http://ftpmirror.gnu.org/$(PACKAGE)
+else
+url_dir_list ?= ftp://$(gnu_rel_host)/gnu/$(PACKAGE)
+endif
+
+# Override this in cfg.mk if you are using a different format in your
+# NEWS file.
+today = $(shell date +%Y-%m-%d)
+
+# Select which lines of NEWS are searched for $(news-check-regexp).
+# This is a sed line number spec. The default says that we search
+# lines 1..10 of NEWS for $(news-check-regexp).
+# If you want to search only line 3 or only lines 20-22, use "3" or "20,22".
+news-check-lines-spec ?= 1,10
+news-check-regexp ?= '^\*.* $(VERSION_REGEXP) \($(today)\)'
+
# Prevent programs like 'sort' from considering distinct strings to be equal.
# Doing it here saves us from having to set LC_ALL elsewhere in this file.
export LC_ALL = C
## Sanity checks. ##
## --------------- ##
+_cfg_mk := $(shell test -f $(srcdir)/cfg.mk && echo '$(srcdir)/cfg.mk')
+
# Collect the names of rules starting with `sc_'.
-syntax-check-rules := $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' \
- $(srcdir)/$(ME) $(srcdir)/cfg.mk)
+syntax-check-rules := $(sort $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' \
+ $(srcdir)/$(ME) $(_cfg_mk)))
.PHONY: $(syntax-check-rules)
-local-checks-available = \
- $(syntax-check-rules)
+ifeq ($(shell $(VC_LIST) >/dev/null 2>&1; echo $$?),0)
+local-checks-available += $(syntax-check-rules)
+else
+local-checks-available += no-vc-detected
+no-vc-detected:
+ @echo "No version control files detected; skipping syntax check"
+endif
.PHONY: $(local-checks-available)
# Arrange to print the name of each syntax-checking rule just before running it.
$(syntax-check-rules): %: %.m
-$(patsubst %, %.m, $(syntax-check-rules)):
+sc_m_rules_ = $(patsubst %, %.m, $(syntax-check-rules))
+.PHONY: $(sc_m_rules_)
+$(sc_m_rules_):
@echo $(patsubst sc_%.m, %, $@)
-
-local-check := $(filter-out $(local-checks-to-skip), $(local-checks-available))
+ @date +%s.%N > .sc-start-$(basename $@)
+
+# Compute and print the elapsed time for each syntax-check rule.
+sc_z_rules_ = $(patsubst %, %.z, $(syntax-check-rules))
+.PHONY: $(sc_z_rules_)
+$(sc_z_rules_): %.z: %
+ @end=$$(date +%s.%N); \
+ start=$$(cat .sc-start-$*); \
+ rm -f .sc-start-$*; \
+ awk -v s=$$start -v e=$$end \
+ 'END {printf "%.2f $(patsubst sc_%,%,$*)\n", e - s}' < /dev/null
+
+# The patsubst here is to replace each sc_% rule with its sc_%.z wrapper
+# that computes and prints elapsed time.
+local-check := \
+ $(patsubst sc_%, sc_%.z, \
+ $(filter-out $(local-checks-to-skip), $(local-checks-available)))
syntax-check: $(local-check)
-# @grep -nE '# *include <(limits|std(def|arg|bool))\.h>' \
-# $$(find -type f -name '*.[chly]') && \
-# { echo '$(ME): found conditional include' 1>&2; \
-# exit 1; } || :
-
-# grep -nE '^# *include <(string|stdlib)\.h>' \
-# $(srcdir)/{lib,src}/*.[chy] && \
-# { echo '$(ME): FIXME' 1>&2; \
-# exit 1; } || :
-# FIXME: don't allow `#include .strings\.h' anywhere
-
-# By default, _prohibit_regexp does not ignore case.
+
+# _sc_search_regexp
+#
+# This macro searches for a given construct in the selected files and
+# then takes some action.
+#
+# Parameters (shell variables):
+#
+# prohibit | require
+#
+# Regular expression (ERE) denoting either a forbidden construct
+# or a required construct. Those arguments are exclusive.
+#
+# in_vc_files | in_files
+#
+# grep-E-style regexp denoting the files to check. If no files
+# are specified the default are all the files that are under
+# version control.
+#
+# containing | non_containing
+#
+# Select the files (non) containing strings matching this regexp.
+# If both arguments are specified then CONTAINING takes
+# precedence.
+#
+# with_grep_options
+#
+# Extra options for grep.
+#
+# ignore_case
+#
+# Ignore case.
+#
+# halt
+#
+# Message to display before to halting execution.
+#
+# Finally, you may exempt files based on an ERE matching file names.
+# For example, to exempt from the sc_space_tab check all files with the
+# .diff suffix, set this Make variable:
+#
+# exclude_file_name_regexp--sc_space_tab = \.diff$
+#
+# Note that while this functionality is mostly inherited via VC_LIST_EXCEPT,
+# when filtering by name via in_files, we explicitly filter out matching
+# names here as well.
+
+# By default, _sc_search_regexp does not ignore case.
export ignore_case =
-_ignore_case = $$(test -n "$$ignore_case" && echo -i || :)
+_ignore_case = $$(test -n "$$ignore_case" && printf %s -i || :)
-# There are many rules below that prohibit constructs in this package.
-# If the offending construct can be matched with a grep-E-style regexp,
-# use this macro. The shell variables "re" and "msg" must be defined.
-define _prohibit_regexp
- dummy=; : so we do not need a semicolon before each use; \
- test "x$$re" != x || { echo '$(ME): re not defined' 1>&2; exit 1; }; \
- test "x$$msg" != x || { echo '$(ME): msg not defined' 1>&2; exit 1; };\
- grep $(_ignore_case) -nE "$$re" $$($(VC_LIST_EXCEPT)) && \
- { echo '$(ME): '"$$msg" 1>&2; exit 1; } || :
+define _sc_say_and_exit
+ dummy=; : so we do not need a semicolon before each use; \
+ { printf '%s\n' "$(ME): $$msg" 1>&2; exit 1; };
+endef
+
+# _sc_search_regexp used to be named _prohibit_regexp. However,
+# upgrading to the new definition and leaving the old name undefined
+# would usually convert each custom rule using $(_prohibit_regexp)
+# (usually defined in cfg.mk) into a no-op. This definition ensures
+# that people know right away if they're still using the old name.
+# FIXME: remove in 2012.
+_prohibit_regexp = \
+ $(error '*** you need to s/_prohibit_regexp/_sc_search_regexp/, and adapt')
+
+define _sc_search_regexp
+ dummy=; : so we do not need a semicolon before each use; \
+ \
+ : Check arguments; \
+ test -n "$$prohibit" && test -n "$$require" \
+ && { msg='Cannot specify both prohibit and require' \
+ $(_sc_say_and_exit) } || :; \
+ test -z "$$prohibit" && test -z "$$require" \
+ && { msg='Should specify either prohibit or require' \
+ $(_sc_say_and_exit) } || :; \
+ test -n "$$in_vc_files" && test -n "$$in_files" \
+ && { msg='Cannot specify both in_vc_files and in_files' \
+ $(_sc_say_and_exit) } || :; \
+ test "x$$halt" != x \
+ || { msg='halt not defined' $(_sc_say_and_exit) }; \
+ \
+ : Filter by file name; \
+ if test -n "$$in_files"; then \
+ files=$$(find $(srcdir) | grep -E "$$in_files" \
+ | grep -Ev '$(exclude_file_name_regexp--$@)'); \
+ else \
+ files=$$($(VC_LIST_EXCEPT)); \
+ if test -n "$$in_vc_files"; then \
+ files=$$(echo "$$files" | grep -E "$$in_vc_files"); \
+ fi; \
+ fi; \
+ \
+ : Filter by content; \
+ test -n "$$files" && test -n "$$containing" \
+ && { files=$$(grep -l "$$containing" $$files); } || :; \
+ test -n "$$files" && test -n "$$non_containing" \
+ && { files=$$(grep -vl "$$non_containing" $$files); } || :; \
+ \
+ : Check for the construct; \
+ if test -n "$$files"; then \
+ if test -n "$$prohibit"; then \
+ grep $$with_grep_options $(_ignore_case) -nE "$$prohibit" $$files \
+ && { msg="$$halt" $(_sc_say_and_exit) } || :; \
+ else \
+ grep $$with_grep_options $(_ignore_case) -LE "$$require" $$files \
+ | grep . \
+ && { msg="$$halt" $(_sc_say_and_exit) } || :; \
+ fi \
+ else :; \
+ fi || :;
endef
sc_avoid_if_before_free:
- @$(build_aux)/useless-if-before-free \
+ @$(srcdir)/$(_build-aux)/useless-if-before-free \
$(useless_free_options) \
$$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) && \
{ echo '$(ME): found useless "if" before "free" above' 1>&2; \
exit 1; } || :
sc_cast_of_argument_to_free:
- @re='\<free *\( *\(' msg='don'\''t cast free argument' \
- $(_prohibit_regexp)
+ @prohibit='\<free *\( *\(' halt='don'\''t cast free argument' \
+ $(_sc_search_regexp)
sc_cast_of_x_alloc_return_value:
- @re='\*\) *x(m|c|re)alloc\>' \
- msg='don'\''t cast x*alloc return value' \
- $(_prohibit_regexp)
+ @prohibit='\*\) *x(m|c|re)alloc\>' \
+ halt='don'\''t cast x*alloc return value' \
+ $(_sc_search_regexp)
sc_cast_of_alloca_return_value:
- @re='\*\) *alloca\>' msg='don'\''t cast alloca return value' \
- $(_prohibit_regexp)
+ @prohibit='\*\) *alloca\>' \
+ halt='don'\''t cast alloca return value' \
+ $(_sc_search_regexp)
sc_space_tab:
- @re='[ ] ' msg='found SPACE-TAB sequence; remove the SPACE' \
- $(_prohibit_regexp)
+ @prohibit='[ ] ' \
+ halt='found SPACE-TAB sequence; remove the SPACE' \
+ $(_sc_search_regexp)
# Don't use *scanf or the old ato* functions in `real' code.
# They provide no error checking mechanism.
# Instead, use strto* functions.
sc_prohibit_atoi_atof:
- @re='\<([fs]?scanf|ato([filq]|ll)) *\(' \
- msg='do not use *scan''f, ato''f, ato''i, ato''l, ato''ll or ato''q' \
- $(_prohibit_regexp)
+ @prohibit='\<([fs]?scanf|ato([filq]|ll)) *\(' \
+ halt='do not use *scan''f, ato''f, ato''i, ato''l, ato''ll or ato''q' \
+ $(_sc_search_regexp)
# Use STREQ rather than comparing strcmp == 0, or != 0.
sc_prohibit_strcmp:
- @grep -nE '! *str''cmp *\(|\<str''cmp *\([^)]+\) *==' \
+ @grep -nE '! *str''cmp *\(|\<str''cmp *\(.+\) *[!=]=' \
$$($(VC_LIST_EXCEPT)) \
- | grep -vE ':# *define STREQ\(' && \
- { echo '$(ME): use STREQ in place of the above uses of str''cmp' \
+ | grep -vE ':# *define STRN?EQ\(' && \
+ { echo '$(ME): replace str''cmp calls above with STREQ/STRNEQ' \
1>&2; exit 1; } || :
+# Pass EXIT_*, not number, to usage, exit, and error (when exiting)
+# Convert all uses automatically, via these two commands:
+# git grep -l '\<exit *(1)' \
+# | grep -vEf .x-sc_prohibit_magic_number_exit \
+# | xargs --no-run-if-empty \
+# perl -pi -e 's/(^|[^.])\b(exit ?)\(1\)/$1$2(EXIT_FAILURE)/'
+# git grep -l '\<exit *(0)' \
+# | grep -vEf .x-sc_prohibit_magic_number_exit \
+# | xargs --no-run-if-empty \
+# perl -pi -e 's/(^|[^.])\b(exit ?)\(0\)/$1$2(EXIT_SUCCESS)/'
+sc_prohibit_magic_number_exit:
+ @prohibit='(^|[^.])\<(usage|exit) ?\([0-9]|\<error ?\([1-9][0-9]*,' \
+ halt='use EXIT_* values rather than magic number' \
+ $(_sc_search_regexp)
+
# Using EXIT_SUCCESS as the first argument to error is misleading,
# since when that parameter is 0, error does not exit. Use `0' instead.
sc_error_exit_success:
- @grep -nE 'error \(EXIT_SUCCESS,' \
- $$($(VC_LIST_EXCEPT) | grep -E '\.[chly]$$') && \
- { echo '$(ME): found error (EXIT_SUCCESS' 1>&2; exit 1; } || :
+ @prohibit='error *\(EXIT_SUCCESS,' \
+ in_vc_files='\.[chly]$$' \
+ halt='found error (EXIT_SUCCESS' \
+ $(_sc_search_regexp)
# `FATAL:' should be fully upper-cased in error messages
# `WARNING:' should be fully upper-cased, or fully lower-cased
sc_error_message_warn_fatal:
- @grep -nEA2 '[^rp]error \(' $$($(VC_LIST_EXCEPT)) \
+ @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \
| grep -E '"Warning|"Fatal|"fatal' && \
{ echo '$(ME): use FATAL, WARNING or warning' 1>&2; \
exit 1; } || :
# Error messages should not start with a capital letter
sc_error_message_uppercase:
- @grep -nEA2 '[^rp]error \(' $$($(VC_LIST_EXCEPT)) \
+ @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \
| grep -E '"[A-Z]' \
| grep -vE '"FATAL|"WARNING|"Java|"C#|PRIuMAX' && \
{ echo '$(ME): found capitalized error message' 1>&2; \
# Error messages should not end with a period
sc_error_message_period:
- @grep -nEA2 '[^rp]error \(' $$($(VC_LIST_EXCEPT)) \
+ @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \
| grep -E '[^."]\."' && \
{ echo '$(ME): found error message ending in period' 1>&2; \
exit 1; } || :
sc_file_system:
- @re=file''system ignore_case=1 \
- msg='found use of "file''system"; spell it "file system"' \
- $(_prohibit_regexp)
+ @prohibit=file''system \
+ ignore_case=1 \
+ halt='found use of "file''system"; spell it "file system"' \
+ $(_sc_search_regexp)
# Don't use cpp tests of this symbol. All code assumes config.h is included.
sc_prohibit_have_config_h:
- @grep -n '^# *if.*HAVE''_CONFIG_H' $$($(VC_LIST_EXCEPT)) && \
- { echo '$(ME): found use of HAVE''_CONFIG_H; remove' \
- 1>&2; exit 1; } || :
+ @prohibit='^# *if.*HAVE''_CONFIG_H' \
+ halt='found use of HAVE''_CONFIG_H; remove' \
+ $(_sc_search_regexp)
# Nearly all .c files must include <config.h>. However, we also permit this
# via inclusion of a package-specific header, if cfg.mk specified one.
# config_h_header must be suitable for grep -E.
config_h_header ?= <config\.h>
sc_require_config_h:
- @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \
- grep -EL '^# *include $(config_h_header)' \
- $$($(VC_LIST_EXCEPT) | grep '\.c$$') \
- | grep . && \
- { echo '$(ME): the above files do not include <config.h>' \
- 1>&2; exit 1; } || :; \
- else :; \
- fi
+ @require='^# *include $(config_h_header)' \
+ in_vc_files='\.c$$' \
+ halt='the above files do not include <config.h>' \
+ $(_sc_search_regexp)
# You must include <config.h> before including any other header file.
# This can possibly be via a package-specific header, if given by cfg.mk.
fi
sc_prohibit_HAVE_MBRTOWC:
- @re='\bHAVE_MBRTOWC\b' msg="do not use $$re; it is always defined" \
- $(_prohibit_regexp)
+ @prohibit='\bHAVE_MBRTOWC\b' \
+ halt="do not use $$prohibit; it is always defined" \
+ $(_sc_search_regexp)
# To use this "command" macro, you must first define two shell variables:
-# h: the header, enclosed in <> or ""
+# h: the header name, with no enclosing <> or ""
# re: a regular expression that matches IFF something provided by $h is used.
-define _header_without_use
- h_esc=`echo "$$h"|sed 's/\./\\./g'`; \
+define _sc_header_without_use
+ dummy=; : so we do not need a semicolon before each use; \
+ h_esc=`echo '[<"]'"$$h"'[">]'|sed 's/\./\\\\./g'`; \
if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \
files=$$(grep -l '^# *include '"$$h_esc" \
$$($(VC_LIST_EXCEPT) | grep '\.c$$')) && \
# Prohibit the inclusion of assert.h without an actual use of assert.
sc_prohibit_assert_without_use:
- @h='<assert.h>' re='\<assert *\(' $(_header_without_use)
+ @h='assert.h' re='\<assert *\(' $(_sc_header_without_use)
+
+# Prohibit the inclusion of close-stream.h without an actual use.
+sc_prohibit_close_stream_without_use:
+ @h='close-stream.h' re='\<close_stream *\(' $(_sc_header_without_use)
# Prohibit the inclusion of getopt.h without an actual use.
sc_prohibit_getopt_without_use:
- @h='<getopt.h>' re='\<getopt(_long)? *\(' $(_header_without_use)
+ @h='getopt.h' re='\<getopt(_long)? *\(' $(_sc_header_without_use)
# Don't include quotearg.h unless you use one of its functions.
sc_prohibit_quotearg_without_use:
- @h='"quotearg.h"' re='\<quotearg(_[^ ]+)? *\(' $(_header_without_use)
+ @h='quotearg.h' re='\<quotearg(_[^ ]+)? *\(' $(_sc_header_without_use)
# Don't include quote.h unless you use one of its functions.
sc_prohibit_quote_without_use:
- @h='"quote.h"' re='\<quote(_n)? *\(' $(_header_without_use)
+ @h='quote.h' re='\<quote(_n)? *\(' $(_sc_header_without_use)
# Don't include this header unless you use one of its functions.
sc_prohibit_long_options_without_use:
- @h='"long-options.h"' re='\<parse_long_options *\(' \
- $(_header_without_use)
+ @h='long-options.h' re='\<parse_long_options *\(' \
+ $(_sc_header_without_use)
# Don't include this header unless you use one of its functions.
sc_prohibit_inttostr_without_use:
- @h='"inttostr.h"' re='\<(off|[iu]max|uint)tostr *\(' \
- $(_header_without_use)
+ @h='inttostr.h' re='\<(off|[iu]max|uint)tostr *\(' \
+ $(_sc_header_without_use)
+
+# Don't include this header unless you use one of its functions.
+sc_prohibit_ignore_value_without_use:
+ @h='ignore-value.h' re='\<ignore_(value|ptr) *\(' \
+ $(_sc_header_without_use)
# Don't include this header unless you use one of its functions.
sc_prohibit_error_without_use:
- @h='"error.h"' \
+ @h='error.h' \
re='\<error(_at_line|_print_progname|_one_per_line|_message_count)? *\('\
- $(_header_without_use)
+ $(_sc_header_without_use)
+
+# Don't include xalloc.h unless you use one of its functions.
+# Consider these symbols:
+# perl -lne '/^# *define (\w+)\(/ and print $1' lib/xalloc.h|grep -v '^__';
+# perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/xalloc.h
+# Divide into two sets on case, and filter each through this:
+# | sort | perl -MRegexp::Assemble -le \
+# 'print Regexp::Assemble->new(file => "/dev/stdin")->as_string'|sed 's/\?://g'
+# Note this was produced by the above:
+# _xa1 = \
+#x(((2n?)?re|c(har)?|n(re|m)|z)alloc|alloc_(oversized|die)|m(alloc|emdup)|strdup)
+# But we can do better, in at least two ways:
+# 1) take advantage of two "dup"-suffixed strings:
+# x(((2n?)?re|c(har)?|n(re|m)|[mz])alloc|alloc_(oversized|die)|(mem|str)dup)
+# 2) notice that "c(har)?|[mz]" is equivalent to the shorter and more readable
+# "char|[cmz]"
+# x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup)
+_xa1 = x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup)
+_xa2 = X([CZ]|N?M)ALLOC
+sc_prohibit_xalloc_without_use:
+ @h='xalloc.h' \
+ re='\<($(_xa1)|$(_xa2)) *\('\
+ $(_sc_header_without_use)
+
+# Extract function names:
+# perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/hash.h
+_hash_re = \
+clear|delete|free|get_(first|next)|insert|lookup|print_statistics|reset_tuning
+_hash_fn = \<($(_hash_re)) *\(
+_hash_struct = (struct )?\<[Hh]ash_(table|tuning)\>
+sc_prohibit_hash_without_use:
+ @h='hash.h' \
+ re='$(_hash_fn)|$(_hash_struct)'\
+ $(_sc_header_without_use)
+
+sc_prohibit_cloexec_without_use:
+ @h='cloexec.h' re='\<(set_cloexec_flag|dup_cloexec) *\(' \
+ $(_sc_header_without_use)
+
+sc_prohibit_posixver_without_use:
+ @h='posixver.h' re='\<posix2_version *\(' $(_sc_header_without_use)
+
+sc_prohibit_same_without_use:
+ @h='same.h' re='\<same_name *\(' $(_sc_header_without_use)
+
+sc_prohibit_hash_pjw_without_use:
+ @h='hash-pjw.h' \
+ re='\<hash_pjw *\(' \
+ $(_sc_header_without_use)
sc_prohibit_safe_read_without_use:
- @h='"safe-read.h"' re='(\<SAFE_READ_ERROR\>|\<safe_read *\()' \
- $(_header_without_use)
+ @h='safe-read.h' re='(\<SAFE_READ_ERROR\>|\<safe_read *\()' \
+ $(_sc_header_without_use)
sc_prohibit_argmatch_without_use:
- @h='"argmatch.h"' \
- re='(\<(ARRAY_CARDINALITY|X?ARGMATCH(|_TO_ARGUMENT|_VERIFY))\>|\<argmatch(_exit_fn|_(in)?valid) *\()' \
- $(_header_without_use)
+ @h='argmatch.h' \
+ re='(\<(ARRAY_CARDINALITY|X?ARGMATCH(|_TO_ARGUMENT|_VERIFY))\>|\<(invalid_arg|argmatch(_exit_fn|_(in)?valid)?) *\()' \
+ $(_sc_header_without_use)
+
+sc_prohibit_canonicalize_without_use:
+ @h='canonicalize.h' \
+ re='CAN_(EXISTING|ALL_BUT_LAST|MISSING)|canonicalize_(mode_t|filename_mode)' \
+ $(_sc_header_without_use)
sc_prohibit_root_dev_ino_without_use:
- @h='"root-dev-ino.h"' \
+ @h='root-dev-ino.h' \
re='(\<ROOT_DEV_INO_(CHECK|WARN)\>|\<get_root_dev_ino *\()' \
- $(_header_without_use)
+ $(_sc_header_without_use)
+
+sc_prohibit_openat_without_use:
+ @h='openat.h' \
+ re='\<(openat_(permissive|needs_fchdir|(save|restore)_fail)|l?(stat|ch(own|mod))at|(euid)?accessat)\>' \
+ $(_sc_header_without_use)
# Prohibit the inclusion of c-ctype.h without an actual use.
ctype_re = isalnum|isalpha|isascii|isblank|iscntrl|isdigit|isgraph|islower\
|isprint|ispunct|isspace|isupper|isxdigit|tolower|toupper
sc_prohibit_c_ctype_without_use:
- @h='[<"]c-ctype.h[">]' re='\<c_($(ctype_re)) *\(' $(_header_without_use)
+ @h='c-ctype.h' re='\<c_($(ctype_re)) *\(' \
+ $(_sc_header_without_use)
_empty =
_sp = $(_empty) $(_empty)
# Prohibit the inclusion of signal.h without an actual use.
sc_prohibit_signal_without_use:
- @h='<signal.h>' \
+ @h='signal.h' \
re='\<($(_sig_function_re)) *\(|\<($(_sig_syms_re))\>' \
- $(_header_without_use)
+ $(_sc_header_without_use)
+
+# Don't include stdio--.h unless you use one of its functions.
+sc_prohibit_stdio--_without_use:
+ @h='stdio--.h' re='\<((f(re)?|p)open|tmpfile) *\(' \
+ $(_sc_header_without_use)
+
+# Don't include stdio-safer.h unless you use one of its functions.
+sc_prohibit_stdio-safer_without_use:
+ @h='stdio-safer.h' re='\<((f(re)?|p)open|tmpfile)_safer *\(' \
+ $(_sc_header_without_use)
+
+# Prohibit the inclusion of strings.h without a sensible use.
+# Using the likes of bcmp, bcopy, bzero, index or rindex is not sensible.
+sc_prohibit_strings_without_use:
+ @h='strings.h' \
+ re='\<(strn?casecmp|ffs(ll)?)\>' \
+ $(_sc_header_without_use)
+
+# Get the list of symbol names with this:
+# perl -lne '/^# *define ([A-Z]\w+)\(/ and print $1' lib/intprops.h|fmt
+_intprops_names = \
+ TYPE_IS_INTEGER TYPE_TWOS_COMPLEMENT TYPE_ONES_COMPLEMENT \
+ TYPE_SIGNED_MAGNITUDE TYPE_SIGNED TYPE_MINIMUM TYPE_MAXIMUM \
+ INT_BITS_STRLEN_BOUND INT_STRLEN_BOUND INT_BUFSIZE_BOUND \
+ INT_ADD_RANGE_OVERFLOW INT_SUBTRACT_RANGE_OVERFLOW \
+ INT_NEGATE_RANGE_OVERFLOW INT_MULTIPLY_RANGE_OVERFLOW \
+ INT_DIVIDE_RANGE_OVERFLOW INT_REMAINDER_RANGE_OVERFLOW \
+ INT_LEFT_SHIFT_RANGE_OVERFLOW INT_ADD_OVERFLOW INT_SUBTRACT_OVERFLOW \
+ INT_NEGATE_OVERFLOW INT_MULTIPLY_OVERFLOW INT_DIVIDE_OVERFLOW \
+ INT_REMAINDER_OVERFLOW INT_LEFT_SHIFT_OVERFLOW
+_intprops_syms_re = $(subst $(_sp),|,$(strip $(_intprops_names)))
+# Prohibit the inclusion of intprops.h without an actual use.
+sc_prohibit_intprops_without_use:
+ @h='intprops.h' \
+ re='\<($(_intprops_syms_re)) *\(' \
+ $(_sc_header_without_use)
+
+_stddef_syms_re = NULL|offsetof|ptrdiff_t|size_t|wchar_t
+# Prohibit the inclusion of stddef.h without an actual use.
+sc_prohibit_stddef_without_use:
+ @h='stddef.h' \
+ re='\<($(_stddef_syms_re))\>' \
+ $(_sc_header_without_use)
+
+_de1 = dirfd|(close|(fd)?open|read|rewind|seek|tell)dir(64)?(_r)?
+_de2 = (versionsort|struct dirent|getdirentries|alphasort|scandir(at)?)(64)?
+_de3 = MAXNAMLEN|DIR|ino_t|d_ino|d_fileno|d_namlen
+_dirent_syms_re = $(_de1)|$(_de2)|$(_de3)
+# Prohibit the inclusion of dirent.h without an actual use.
+sc_prohibit_dirent_without_use:
+ @h='dirent.h' \
+ re='\<($(_dirent_syms_re))\>' \
+ $(_sc_header_without_use)
+
+# Prohibit the inclusion of verify.h without an actual use.
+sc_prohibit_verify_without_use:
+ @h='verify.h' \
+ re='\<(verify(true|expr)?|static_assert) *\(' \
+ $(_sc_header_without_use)
+
+# Don't include xfreopen.h unless you use one of its functions.
+sc_prohibit_xfreopen_without_use:
+ @h='xfreopen.h' re='\<xfreopen *\(' $(_sc_header_without_use)
sc_obsolete_symbols:
- @re='\<(HAVE''_FCNTL_H|O''_NDELAY)\>' \
- msg='do not use HAVE''_FCNTL_H or O'_NDELAY \
- $(_prohibit_regexp)
+ @prohibit='\<(HAVE''_FCNTL_H|O''_NDELAY)\>' \
+ halt='do not use HAVE''_FCNTL_H or O'_NDELAY \
+ $(_sc_search_regexp)
# FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ
# Each nonempty ChangeLog line must start with a year number, or a TAB.
sc_changelog:
- @if $(VC_LIST_EXCEPT) | grep -l '^ChangeLog$$' >/dev/null; then \
- grep -n '^[^12 ]' \
- $$($(VC_LIST_EXCEPT) | grep '^ChangeLog$$') && \
- { echo '$(ME): found unexpected prefix in a ChangeLog' 1>&2; \
- exit 1; } || :; \
- fi
+ @prohibit='^[^12 ]' \
+ in_vc_files='^ChangeLog$$' \
+ halt='found unexpected prefix in a ChangeLog' \
+ $(_sc_search_regexp)
# Ensure that each .c file containing a "main" function also
# calls set_program_name.
sc_program_name:
- @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \
- files=$$(grep -l '^main *(' $$($(VC_LIST_EXCEPT) | grep '\.c$$')); \
- grep -LE 'set_program_name *\(m?argv\[0\]\);' $$files \
- | grep . && \
- { echo '$(ME): the above files do not call set_program_name' \
- 1>&2; exit 1; } || :; \
- else :; \
- fi
+ @require='set_program_name *\(m?argv\[0\]\);' \
+ in_vc_files='\.c$$' \
+ containing='\<main *(' \
+ halt='the above files do not call set_program_name' \
+ $(_sc_search_regexp)
+
+# Ensure that each .c file containing a "main" function also
+# calls bindtextdomain.
+sc_bindtextdomain:
+ @require='bindtextdomain *\(' \
+ in_vc_files='\.c$$' \
+ containing='\<main *(' \
+ halt='the above files do not call bindtextdomain' \
+ $(_sc_search_regexp)
# Require that the final line of each test-lib.sh-using test be this one:
# Exit $fail
# Note: this test requires GNU grep's --label= option.
+Exit_witness_file ?= tests/test-lib.sh
+Exit_base := $(notdir $(Exit_witness_file))
sc_require_test_exit_idiom:
- @if test -f $(srcdir)/tests/test-lib.sh; then \
+ @if test -f $(srcdir)/$(Exit_witness_file); then \
die=0; \
- for i in $$(grep -l -F /../test-lib.sh $$($(VC_LIST) tests)); do \
- tail -n1 $$i | grep '^Exit \$$fail$$' > /dev/null \
+ for i in $$(grep -l -F 'srcdir/$(Exit_base)' \
+ $$($(VC_LIST) tests)); do \
+ tail -n1 $$i | grep '^Exit .' > /dev/null \
&& : || { die=1; echo $$i; } \
done; \
test $$die = 1 && \
{ echo 1>&2 '$(ME): the final line in each of the above is not:'; \
- echo 1>&2 'Exit $$fail'; \
+ echo 1>&2 'Exit something'; \
exit 1; } || :; \
fi
-sc_the_the:
- @re='\<the ''the\>' \
- ignore_case=1 msg='found use of "the ''the";' \
- $(_prohibit_regexp)
-
sc_trailing_blank:
- @re='[ ]$$' \
- msg='found trailing blank(s)' \
- $(_prohibit_regexp)
+ @prohibit='[ ]$$' \
+ halt='found trailing blank(s)' \
+ $(_sc_search_regexp)
# Match lines like the following, but where there is only one space
# between the options and the description:
# -D, --all-repeated[=delimit-method] print all duplicate lines\n
longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)?
sc_two_space_separator_in_usage:
- @grep -nE '^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \
- $$($(VC_LIST_EXCEPT)) && \
- { echo "$(ME): help2man requires at least two spaces between"; \
- echo "$(ME): an option and its description"; \
- 1>&2; exit 1; } || :
+ @prohibit='^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \
+ halt='help2man requires at least two spaces between an option and its description'\
+ $(_sc_search_regexp)
+
+# A regexp matching function names like "error" that may be used
+# to emit translatable messages.
+_gl_translatable_diag_func_re ?= error
# Look for diagnostics that aren't marked for translation.
# This won't find any for which error's format string is on a separate line.
sc_unmarked_diagnostics:
@grep -nE \
- '\<error \([^"]*"[^"]*[a-z]{3}' $$($(VC_LIST_EXCEPT)) \
- | grep -v '_''(' && \
+ '\<$(_gl_translatable_diag_func_re) *\([^"]*"[^"]*[a-z]{3}' \
+ $$($(VC_LIST_EXCEPT)) \
+ | grep -Ev '(_|ngettext ?)\(' && \
{ echo '$(ME): found unmarked diagnostic(s)' 1>&2; \
exit 1; } || :
# Avoid useless parentheses like those in this example:
# #if defined (SYMBOL) || defined (SYM2)
sc_useless_cpp_parens:
- @grep -n '^# *if .*defined *(' $$($(VC_LIST_EXCEPT)) && \
- { echo '$(ME): found useless parentheses in cpp directive' \
- 1>&2; exit 1; } || :
+ @prohibit='^# *if .*defined *\(' \
+ halt='found useless parentheses in cpp directive' \
+ $(_sc_search_regexp)
+
+# List headers for which HAVE_HEADER_H is always true, assuming you are
+# using the appropriate gnulib module. CAUTION: for each "unnecessary"
+# #if HAVE_HEADER_H that you remove, be sure that your project explicitly
+# requires the gnulib module that guarantees the usability of that header.
+gl_assured_headers_ = \
+ cd $(gnulib_dir)/lib && echo *.in.h|sed 's/\.in\.h//g'
+
+# Convert the list of names to upper case, and replace each space with "|".
+az_ = abcdefghijklmnopqrstuvwxyz
+AZ_ = ABCDEFGHIJKLMNOPQRSTUVWXYZ
+gl_header_upper_case_or_ = \
+ $$($(gl_assured_headers_) \
+ | tr $(az_)/.- $(AZ_)___ \
+ | tr -s ' ' '|' \
+ )
+sc_prohibit_always_true_header_tests:
+ @or=$(gl_header_upper_case_or_); \
+ re="HAVE_($$or)_H"; \
+ prohibit='\<'"$$re"'\>' \
+ halt=$$(printf '%s\n' \
+ 'do not test the above HAVE_<header>_H symbol(s);' \
+ ' with the corresponding gnulib module, they are always true') \
+ $(_sc_search_regexp)
+
+# ==================================================================
+gl_other_headers_ ?= \
+ intprops.h \
+ openat.h \
+ stat-macros.h
+
+# Perl -lne code to extract "significant" cpp-defined symbols from a
+# gnulib header file, eliminating a few common false-positives.
+# The exempted names below are defined only conditionally in gnulib,
+# and hence sometimes must/may be defined in application code.
+gl_extract_significant_defines_ = \
+ /^\# *define ([^_ (][^ (]*)(\s*\(|\s+\w+)/\
+ && $$2 !~ /(?:rpl_|_used_without_)/\
+ && $$1 !~ /^(?:NSIG|ENODATA)$$/\
+ && $$1 !~ /^(?:SA_RESETHAND|SA_RESTART)$$/\
+ and print $$1
+
+# Create a list of regular expressions matching the names
+# of macros that are guaranteed to be defined by parts of gnulib.
+define def_sym_regex
+ gen_h=$(gl_generated_headers_); \
+ (cd $(gnulib_dir)/lib; \
+ for f in *.in.h $(gl_other_headers_); do \
+ test -f $$f \
+ && perl -lne '$(gl_extract_significant_defines_)' $$f; \
+ done; \
+ ) | sort -u \
+ | sed 's/^/^ *# *(define|undef) */;s/$$/\\>/'
+endef
+
+# Don't define macros that we already get from gnulib header files.
+sc_prohibit_always-defined_macros:
+ @if test -d $(gnulib_dir); then \
+ case $$(echo all: | grep -l -f - Makefile) in Makefile);; *) \
+ echo '$(ME): skipping $@: you lack GNU grep' 1>&2; exit 0;; \
+ esac; \
+ $(def_sym_regex) | grep -E -f - $$($(VC_LIST_EXCEPT)) \
+ && { echo '$(ME): define the above via some gnulib .h file' \
+ 1>&2; exit 1; } || :; \
+ fi
+# ==================================================================
+
+# Prohibit checked in backup files.
+sc_prohibit_backup_files:
+ @$(VC_LIST) | grep '~$$' && \
+ { echo '$(ME): found version controlled backup file' 1>&2; \
+ exit 1; } || :
# Require the latest GPL.
sc_GPL_version:
- @re='either ''version [^3]' msg='GPL vN, N!=3' \
- $(_prohibit_regexp)
+ @prohibit='either ''version [^3]' \
+ halt='GPL vN, N!=3' \
+ $(_sc_search_regexp)
+
+# Require the latest GFDL. Two regexp, since some .texi files end up
+# line wrapping between 'Free Documentation License,' and 'Version'.
+_GFDL_regexp = (Free ''Documentation.*Version 1\.[^3]|Version 1\.[^3] or any)
+sc_GFDL_version:
+ @prohibit='$(_GFDL_regexp)' \
+ halt='GFDL vN, N!=3' \
+ $(_sc_search_regexp)
+
+# Don't use Texinfo's @acronym{}.
+# http://lists.gnu.org/archive/html/bug-gnulib/2010-03/msg00321.html
+texinfo_suffix_re_ ?= \.(txi|texi(nfo)?)$$
+sc_texinfo_acronym:
+ @prohibit='@acronym\{' \
+ in_vc_files='$(texinfo_suffix_re_)' \
+ halt='found use of Texinfo @acronym{}' \
+ $(_sc_search_regexp)
cvs_keywords = \
Author|Date|Header|Id|Name|Locker|Log|RCSfile|Revision|Source|State
sc_prohibit_cvs_keyword:
- @re='\$$($(cvs_keywords))\$$' \
- msg='do not use CVS keyword expansion' \
- $(_prohibit_regexp)
+ @prohibit='\$$($(cvs_keywords))\$$' \
+ halt='do not use CVS keyword expansion' \
+ $(_sc_search_regexp)
+
+# This Perl code is slightly obfuscated. Not only is each "$" doubled
+# because it's in a Makefile, but the $$c's are comments; we cannot
+# use "#" due to the way the script ends up concatenated onto one line.
+# It would be much more concise, and would produce better output (including
+# counts) if written as:
+# perl -ln -0777 -e '/\n(\n+)$/ and print "$ARGV: ".length $1' ...
+# but that would be far less efficient, reading the entire contents
+# of each file, rather than just the last two bytes of each.
+# In addition, while the code below detects both blank lines and a missing
+# newline at EOF, the above detects only the former.
+#
+# This is a perl script that is expected to be the single-quoted argument
+# to a command-line "-le". The remaining arguments are file names.
+# Print the name of each file that ends in exactly one newline byte.
+# I.e., warn if there are blank lines (2 or more newlines), or if the
+# last byte is not a newline. However, currently we don't complain
+# about any file that contains exactly one byte.
+# Exit nonzero if at least one such file is found, otherwise, exit 0.
+# Warn about, but otherwise ignore open failure. Ignore seek/read failure.
+#
+# Use this if you want to remove trailing empty lines from selected files:
+# perl -pi -0777 -e 's/\n\n+$/\n/' files...
+#
+require_exactly_one_NL_at_EOF_ = \
+ foreach my $$f (@ARGV) \
+ { \
+ open F, "<", $$f or (warn "failed to open $$f: $$!\n"), next; \
+ my $$p = sysseek (F, -2, 2); \
+ my $$c = "seek failure probably means file has < 2 bytes; ignore"; \
+ my $$last_two_bytes; \
+ defined $$p and $$p = sysread F, $$last_two_bytes, 2; \
+ close F; \
+ $$c = "ignore read failure"; \
+ $$p && ($$last_two_bytes eq "\n\n" \
+ || substr ($$last_two_bytes,1) ne "\n") \
+ and (print $$f), $$fail=1; \
+ } \
+ END { exit defined $$fail }
+sc_prohibit_empty_lines_at_EOF:
+ @perl -le '$(require_exactly_one_NL_at_EOF_)' $$($(VC_LIST_EXCEPT)) \
+ || { echo '$(ME): empty line(s) or no newline at EOF' \
+ 1>&2; exit 1; } || :
# Make sure we don't use st_blocks. Use ST_NBLOCKS instead.
# This is a bit of a kludge, since it prevents use of the string
# even in comments, but for now it does the job with no false positives.
sc_prohibit_stat_st_blocks:
- @re='[.>]st_blocks' msg='do not use st_blocks; use ST_NBLOCKS' \
- $(_prohibit_regexp)
+ @prohibit='[.>]st_blocks' \
+ halt='do not use st_blocks; use ST_NBLOCKS' \
+ $(_sc_search_regexp)
# Make sure we don't define any S_IS* macros in src/*.c files.
# They're already defined via gnulib's sys/stat.h replacement.
sc_prohibit_S_IS_definition:
- @re='^ *# *define *S_IS' \
- msg='do not define S_IS* macros; include <sys/stat.h>' \
- $(_prohibit_regexp)
-
-# Each program that uses proper_name_utf8 must link with
-# one of the ICONV libraries.
+ @prohibit='^ *# *define *S_IS' \
+ halt='do not define S_IS* macros; include <sys/stat.h>' \
+ $(_sc_search_regexp)
+
+# Perl block to convert a match to FILE_NAME:LINENO:TEST,
+# that is shared by two definitions below.
+perl_filename_lineno_text_ = \
+ -e ' {' \
+ -e ' $$n = ($$` =~ tr/\n/\n/ + 1);' \
+ -e ' ($$v = $$&) =~ s/\n/\\n/g;' \
+ -e ' print "$$ARGV:$$n:$$v\n";' \
+ -e ' }'
+
+prohibit_doubled_word_RE_ ?= \
+ /\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims
+prohibit_doubled_word_ = \
+ -e 'while ($(prohibit_doubled_word_RE_))' \
+ $(perl_filename_lineno_text_)
+
+# Define this to a regular expression that matches
+# any filename:dd:match lines you want to ignore.
+# The default is to ignore no matches.
+ignore_doubled_word_match_RE_ ?= ^$$
+
+sc_prohibit_doubled_word:
+ @perl -n -0777 $(prohibit_doubled_word_) $$($(VC_LIST_EXCEPT)) \
+ | grep -vE '$(ignore_doubled_word_match_RE_)' \
+ | grep . && { echo '$(ME): doubled words' 1>&2; exit 1; } || :
+
+# A regular expression matching undesirable combinations of words like
+# "can not"; this matches them even when the two words appear on different
+# lines, but not when there is an intervening delimiter like "#" or "*".
+prohibit_undesirable_word_seq_RE_ ?= \
+ /\bcan\s+not\b/gims
+prohibit_undesirable_word_seq_ = \
+ -e 'while ($(prohibit_undesirable_word_seq_RE_))' \
+ $(perl_filename_lineno_text_)
+# Define this to a regular expression that matches
+# any filename:dd:match lines you want to ignore.
+# The default is to ignore no matches.
+ignore_undesirable_word_sequence_RE_ ?= ^$$
+
+sc_prohibit_undesirable_word_seq:
+ @perl -n -0777 $(prohibit_undesirable_word_seq_) \
+ $$($(VC_LIST_EXCEPT)) \
+ | grep -vE '$(ignore_undesirable_word_sequence_RE_)' | grep . \
+ && { echo '$(ME): undesirable word sequence' >&2; exit 1; } || :
+
+_ptm1 = use "test C1 && test C2", not "test C1 -''a C2"
+_ptm2 = use "test C1 || test C2", not "test C1 -''o C2"
+# Using test's -a and -o operators is not portable.
+# We prefer test over [, since the latter is spelled [[ in configure.ac.
+sc_prohibit_test_minus_ao:
+ @prohibit='(\<test| \[+) .+ -[ao] ' \
+ halt='$(_ptm1); $(_ptm2)' \
+ $(_sc_search_regexp)
+
+# Avoid a test bashism.
+sc_prohibit_test_double_equal:
+ @prohibit='(\<test| \[+) .+ == ' \
+ containing='#! */bin/[a-z]*sh' \
+ halt='use "test x = x", not "test x =''= x"' \
+ $(_sc_search_regexp)
+
+# Each program that uses proper_name_utf8 must link with one of the
+# ICONV libraries. Otherwise, some ICONV library must appear in LDADD.
+# The perl -0777 invocation below extracts the possibly-multi-line
+# definition of LDADD from the appropriate Makefile.am and exits 0
+# when it contains "ICONV".
sc_proper_name_utf8_requires_ICONV:
@progs=$$(grep -l 'proper_name_utf8 ''("' $$($(VC_LIST_EXCEPT)));\
if test "x$$progs" != x; then \
fail=0; \
for p in $$progs; do \
dir=$$(dirname "$$p"); \
+ perl -0777 \
+ -ne 'exit !(/^LDADD =(.+?[^\\]\n)/ms && $$1 =~ /ICONV/)' \
+ $$dir/Makefile.am && continue; \
base=$$(basename "$$p" .c); \
grep "$${base}_LDADD.*ICONV)" $$dir/Makefile.am > /dev/null \
|| { fail=1; echo 1>&2 "$(ME): $$p uses proper_name_utf8"; }; \
# Warn about "c0nst struct Foo const foo[]",
# but not about "char const *const foo" or "#define const const".
sc_redundant_const:
- @re='\bconst\b[[:space:][:alnum:]]{2,}\bconst\b' \
- msg='redundant "const" in declarations' \
- $(_prohibit_regexp)
+ @prohibit='\bconst\b[[:space:][:alnum:]]{2,}\bconst\b' \
+ halt='redundant "const" in declarations' \
+ $(_sc_search_regexp)
sc_const_long_option:
@grep '^ *static.*struct option ' $$($(VC_LIST_EXCEPT)) \
NEWS_hash = \
$$(sed -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p' \
$(srcdir)/NEWS \
- | grep -v '^Copyright .*Free Software' \
+ | perl -0777 -pe \
+ 's/^Copyright.+?Free\sSoftware\sFoundation,\sInc\.\n//ms' \
| md5sum - \
| sed 's/ .*//')
# Update the hash stored above. Do this after each release and
# for any corrections to old entries.
update-NEWS-hash: NEWS
- perl -pi -e 's/^(old_NEWS_hash = ).*/$${1}'"$(NEWS_hash)/" \
+ perl -pi -e 's/^(old_NEWS_hash[ \t]+:?=[ \t]+).*/$${1}'"$(NEWS_hash)/" \
$(srcdir)/cfg.mk
# Ensure that we use only the standard $(VAR) notation,
# not @...@ in Makefile.am, now that we can rely on automake
# to emit a definition for each substituted variable.
-# We use perl rather than "grep -nE ..." to exempt a single
-# use of an @...@-delimited variable name in src/Makefile.am.
-sc_makefile_check:
- @perl -ne '/\@[A-Z_0-9]+\@/ && !/^cu_install_program =/' \
+# However, there is still one case in which @VAR@ use is not just
+# legitimate, but actually required: when augmenting an automake-defined
+# variable with a prefix. For example, gettext uses this:
+# MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
+# otherwise, makeinfo would put German or French (current locale)
+# navigation hints in the otherwise-English documentation.
+#
+# Allow the package to add exceptions via a hook in cfg.mk;
+# for example, @PRAGMA_SYSTEM_HEADER@ can be permitted by
+# setting this to ' && !/PRAGMA_SYSTEM_HEADER/'.
+_makefile_at_at_check_exceptions ?=
+sc_makefile_at_at_check:
+ @perl -ne '/\@[A-Z_0-9]+\@/' \
+ -e ' && !/([A-Z_0-9]+)\s+=.*\@\1\@$$/' \
+ -e ''$(_makefile_at_at_check_exceptions) \
-e 'and (print "$$ARGV:$$.: $$_"), $$m=1; END {exit !$$m}' \
- $$($(VC_LIST_EXCEPT) | grep -E '(^|/)Makefile\.am$$') \
+ $$($(VC_LIST_EXCEPT) | grep -E '(^|/)(Makefile\.am|[^/]+\.mk)$$') \
&& { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || :
-news-date-check: NEWS
- today=`date +%Y-%m-%d`; \
- if head $(srcdir)/NEWS | grep '^\*.* $(VERSION_REGEXP) ('$$today')' \
- >/dev/null; then \
+news-check: NEWS
+ if sed -n $(news-check-lines-spec)p $(srcdir)/NEWS \
+ | grep -E $(news-check-regexp) >/dev/null; then \
:; \
else \
- echo "version or today's date is not in NEWS" 1>&2; \
+ echo 'NEWS: $$(news-check-regexp) failed to match' 1>&2; \
exit 1; \
fi
sc_makefile_TAB_only_indentation:
- @grep -nE '^ [ ]{8}' \
- $$($(VC_LIST_EXCEPT) | grep -E 'akefile|\.mk$$') \
- && { echo '$(ME): found TAB-8-space indentation' 1>&2; \
- exit 1; } || :
+ @prohibit='^ [ ]{8}' \
+ in_vc_files='akefile|\.mk$$' \
+ halt='found TAB-8-space indentation' \
+ $(_sc_search_regexp)
sc_m4_quote_check:
- @grep -nE '(AC_DEFINE(_UNQUOTED)?|AC_DEFUN)\([^[]' \
- $$($(VC_LIST_EXCEPT) | grep -E '(^configure\.ac|\.m4)$$') \
- && { echo '$(ME): quote the first arg to AC_DEF*' 1>&2; \
- exit 1; } || :
+ @prohibit='(AC_DEFINE(_UNQUOTED)?|AC_DEFUN)\([^[]' \
+ in_vc_files='(^configure\.ac|\.m4)$$' \
+ halt='quote the first arg to AC_DEF*' \
+ $(_sc_search_regexp)
fix_po_file_diag = \
'you have changed the set of files with translatable diagnostics;\n\
apply the above patch\n'
# Verify that all source files using _() are listed in po/POTFILES.in.
-po_file = po/POTFILES.in
+po_file ?= $(srcdir)/po/POTFILES.in
+generated_files ?= $(srcdir)/lib/*.[ch]
sc_po_check:
@if test -f $(po_file); then \
grep -E -v '^(#|$$)' $(po_file) \
| grep -v '^src/false\.c$$' | sort > $@-1; \
files=; \
- for file in $$($(VC_LIST_EXCEPT)) lib/*.[ch]; do \
+ for file in $$($(VC_LIST_EXCEPT)) $(generated_files); do \
test -r $$file || continue; \
case $$file in \
+ *.m4|*.mk) continue ;; \
*.?|*.??) ;; \
*) continue;; \
esac; \
files="$$files $$file"; \
done; \
grep -E -l '\b(N?_|gettext *)\([^)"]*("|$$)' $$files \
- | sort -u > $@-2; \
+ | sed 's|^$(_dot_escaped_srcdir)/||' | sort -u > $@-2; \
diff -u -L $(po_file) -L $(po_file) $@-1 $@-2 \
|| { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; }; \
rm -f $@-1 $@-2; \
# path separator of `:', but rather the automake-provided `$(PATH_SEPARATOR)'.
msg = '$(ME): Do not use `:'\'' above; use $$(PATH_SEPARATOR) instead'
sc_makefile_path_separator_check:
- @grep -nE 'PATH[=].*:' \
- $$($(VC_LIST_EXCEPT) | grep -E 'akefile|\.mk$$') \
- && { echo $(msg) 1>&2; exit 1; } || :
-
-# Check that `make alpha' will not fail at the end of the process.
+ @prohibit='PATH[=].*:' \
+ in_vc_files='akefile|\.mk$$' \
+ halt=$(msg) \
+ $(_sc_search_regexp)
+
+# Check that `make alpha' will not fail at the end of the process,
+# i.e., when pkg-M.N.tar.xz already exists (either in "." or in ../release)
+# and is read-only.
writable-files:
- if test -d $(release_archive_dir); then :; else \
- for file in $(distdir).tar.gz \
- $(release_archive_dir)/$(distdir).tar.gz; do \
- test -e $$file || continue; \
- test -w $$file \
- || { echo ERROR: $$file is not writable; fail=1; }; \
+ if test -d $(release_archive_dir); then \
+ for file in $(DIST_ARCHIVES); do \
+ for p in ./ $(release_archive_dir)/; do \
+ test -e $$p$$file || continue; \
+ test -w $$p$$file \
+ || { echo ERROR: $$p$$file is not writable; fail=1; }; \
+ done; \
done; \
test "$$fail" && exit 1 || : ; \
+ else :; \
fi
-v_etc_file = lib/version-etc.c
+v_etc_file = $(gnulib_dir)/lib/version-etc.c
sample-test = tests/sample-test
texi = doc/$(PACKAGE).texi
# Make sure that the copyright date in $(v_etc_file) is up to date.
# Do the same for the $(sample-test) and the main doc/.texi file.
sc_copyright_check:
- @if test -f $(v_etc_file); then \
- grep 'enum { COPYRIGHT_YEAR = '$$(date +%Y)' };' $(v_etc_file) \
- >/dev/null \
- || { echo 'out of date copyright in $(v_etc_file); update it' 1>&2; \
- exit 1; }; \
- fi
- @if test -f $(sample-test); then \
- grep '# Copyright (C) '$$(date +%Y)' Free' $(sample-test) \
- >/dev/null \
- || { echo 'out of date copyright in $(sample-test); update it' 1>&2; \
- exit 1; }; \
- fi
- @if test -f $(texi); then \
- grep 'Copyright @copyright{} .*'$$(date +%Y)' Free' $(texi) \
- >/dev/null \
- || { echo 'out of date copyright in $(texi); update it' 1>&2; \
- exit 1; }; \
+ @require='enum { COPYRIGHT_YEAR = '$$(date +%Y)' };' \
+ in_files=$(v_etc_file) \
+ halt='out of date copyright in $(v_etc_file); update it' \
+ $(_sc_search_regexp)
+ @require='# Copyright \(C\) '$$(date +%Y)' Free' \
+ in_vc_files=$(sample-test) \
+ halt='out of date copyright in $(sample-test); update it' \
+ $(_sc_search_regexp)
+ @require='Copyright @copyright\{\} .*'$$(date +%Y)' Free' \
+ in_vc_files=$(texi) \
+ halt='out of date copyright in $(texi); update it' \
+ $(_sc_search_regexp)
+
+# If tests/help-version exists and seems to be new enough, assume that its
+# use of init.sh and path_prepend_ is correct, and ensure that every other
+# use of init.sh is identical.
+# This is useful because help-version cross-checks prog --version
+# with $(VERSION), which verifies that its path_prepend_ invocation
+# sets PATH correctly. This is an inexpensive way to ensure that
+# the other init.sh-using tests also get it right.
+_hv_file ?= $(srcdir)/tests/help-version
+_hv_regex_weak ?= ^ *\. .*/init\.sh"
+# Fix syntax-highlighters "
+_hv_regex_strong ?= ^ *\. "\$${srcdir=\.}/init\.sh"
+sc_cross_check_PATH_usage_in_tests:
+ @if test -f $(_hv_file); then \
+ grep -l 'VERSION mismatch' $(_hv_file) >/dev/null \
+ || { echo "$@: skipped: no such file: $(_hv_file)" 1>&2; \
+ exit 0; }; \
+ grep -lE '$(_hv_regex_strong)' $(_hv_file) >/dev/null \
+ || { echo "$@: $(_hv_file) lacks conforming use of init.sh" 1>&2; \
+ exit 1; }; \
+ good=$$(grep -E '$(_hv_regex_strong)' $(_hv_file)); \
+ grep -LFx "$$good" \
+ $$(grep -lE '$(_hv_regex_weak)' $$($(VC_LIST_EXCEPT))) \
+ | grep . && \
+ { echo "$(ME): the above files use path_prepend_ inconsistently" \
+ 1>&2; exit 1; } || :; \
fi
+# #if HAVE_... will evaluate to false for any non numeric string.
+# That would be flagged by using -Wundef, however gnulib currently
+# tests many undefined macros, and so we can't enable that option.
+# So at least preclude common boolean strings as macro values.
+sc_Wundef_boolean:
+ @prohibit='^#define.*(yes|no|true|false)$$' \
+ in_files='$(CONFIG_INCLUDE)' \
+ halt='Use 0 or 1 for macro values' \
+ $(_sc_search_regexp)
+
+# Even if you use pathmax.h to guarantee that PATH_MAX is defined, it might
+# not be constant, or might overflow a stack. In general, use PATH_MAX as
+# a limit, not an array or alloca size.
+sc_prohibit_path_max_allocation:
+ @prohibit='(\balloca *\([^)]*|\[[^]]*)PATH_MAX' \
+ halt='Avoid stack allocations of size PATH_MAX' \
+ $(_sc_search_regexp)
+
+sc_vulnerable_makefile_CVE-2009-4029:
+ @prohibit='perm -777 -exec chmod a\+rwx|chmod 777 \$$\(distdir\)' \
+ in_files=$$(find $(srcdir) -name Makefile.in) \
+ halt=$$(printf '%s\n' \
+ 'the above files are vulnerable; beware of running' \
+ ' "make dist*" rules, and upgrade to fixed automake' \
+ ' see http://bugzilla.redhat.com/542609 for details') \
+ $(_sc_search_regexp)
+
vc-diff-check:
(unset CDPATH; cd $(srcdir) && $(VC) diff) > vc-diffs || :
if test -s vc-diffs; then \
rm vc-diffs; \
fi
-cvs-check: vc-diff-check
-
-ALL_RECURSIVE_TARGETS += maintainer-distcheck
-maintainer-distcheck:
- $(MAKE) distcheck
- $(MAKE) taint-distcheck
- $(MAKE) my-distcheck
-
-
-# Don't make a distribution if checks fail.
-# Also, make sure the NEWS file is up-to-date.
-ALL_RECURSIVE_TARGETS += vc-dist
-vc-dist: $(local-check) cvs-check maintainer-distcheck
- XZ_OPT=-9ev $(MAKE) dist
-
-# Use this to make sure we don't run these programs when building
-# from a virgin tgz file, below.
-null_AM_MAKEFLAGS = \
- ACLOCAL=false \
- AUTOCONF=false \
- AUTOMAKE=false \
- AUTOHEADER=false \
- MAKEINFO=false
-
-built_programs = $$(cd src && MAKEFLAGS= $(MAKE) -s built_programs.list)
-
rel-files = $(DIST_ARCHIVES)
gnulib_dir ?= $(srcdir)/gnulib
gnulib-version = $$(cd $(gnulib_dir) && git describe)
bootstrap-tools ?= autoconf,automake,gnulib
+# If it's not already specified, derive the GPG key ID from
+# the signed tag we've just applied to mark this release.
+gpg_key_ID ?= \
+ $$(git cat-file tag v$(VERSION) \
+ | gpgv --status-fd 1 --keyring /dev/null - - 2>/dev/null \
+ | sed -n '/^\[GNUPG:\] ERRSIG /{s///;s/ .*//p;q}')
+
+translation_project_ ?= coordinator@translationproject.org
+
+# Make info-gnu the default only for a stable release.
+ifeq ($(RELEASE_TYPE),stable)
+ announcement_Cc_ ?= $(translation_project_), $(PACKAGE_BUGREPORT)
+ announcement_mail_headers_ ?= \
+ To: info-gnu@gnu.org \
+ Cc: $(announcement_Cc_) \
+ Mail-Followup-To: $(PACKAGE_BUGREPORT)
+else
+ announcement_Cc_ ?= $(translation_project_)
+ announcement_mail_headers_ ?= \
+ To: $(PACKAGE_BUGREPORT) \
+ Cc: $(announcement_Cc_)
+endif
+
announcement: NEWS ChangeLog $(rel-files)
- @$(build_aux)/announce-gen \
+ @$(srcdir)/$(_build-aux)/announce-gen \
+ --mail-headers='$(announcement_mail_headers_)' \
--release-type=$(RELEASE_TYPE) \
--package=$(PACKAGE) \
--prev=$(PREV_VERSION) \
--curr=$(VERSION) \
--gpg-key-id=$(gpg_key_ID) \
- --news=NEWS \
+ --news=$(srcdir)/NEWS \
--bootstrap-tools=$(bootstrap-tools) \
--gnulib-version=$(gnulib-version) \
--no-print-checksums \
ftp-gnu = ftp://ftp.gnu.org/gnu
www-gnu = http://www.gnu.org
+upload_dest_dir_ ?= $(PACKAGE)
emit_upload_commands:
@echo =====================================
@echo =====================================
- @echo "$(build_aux)/gnupload $(GNUPLOADFLAGS) \\"
- @echo " --to $(gnu_rel_host):$(PACKAGE) \\"
+ @echo "$(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS) \\"
+ @echo " --to $(gnu_rel_host):$(upload_dest_dir_) \\"
@echo " $(rel-files)"
- @echo '# send the /tmp/announcement e-mail'
+ @echo '# send the ~/announce-$(my_distdir) e-mail'
@echo =====================================
@echo =====================================
-noteworthy = * Noteworthy changes in release ?.? (????-??-??) [?]
define emit-commit-log
- printf '%s\n' 'post-release administrivia' '' \
- '* NEWS: Add header line for next release.' \
- '* .prev-version: Record previous version.' \
+ printf '%s\n' 'maint: post-release administrivia' '' \
+ '* NEWS: Add header line for next release.' \
+ '* .prev-version: Record previous version.' \
'* cfg.mk (old_NEWS_hash): Auto-update.'
endef
: ; \
fi
-.PHONY: alpha beta major
-ALL_RECURSIVE_TARGETS += alpha beta major
-alpha beta major: $(local-check) writable-files no-submodule-changes
- test $@ = major \
- && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \
+submodule-checks ?= no-submodule-changes public-submodule-commit
+
+# Ensure that each sub-module commit we're using is public.
+# Without this, it is too easy to tag and release code that
+# cannot be built from a fresh clone.
+.PHONY: public-submodule-commit
+public-submodule-commit:
+ $(AM_V_GEN)if test -d $(srcdir)/.git; then \
+ cd $(srcdir) && \
+ git submodule --quiet foreach test '$$(git rev-parse $$sha1)' \
+ = '$$(git merge-base origin $$sha1)' \
+ || { echo '$(ME): found non-public submodule commit' >&2; \
+ exit 1; }; \
+ else \
+ : ; \
+ fi
+# This rule has a high enough utility/cost ratio that it should be a
+# dependent of "check" by default. However, some of us do occasionally
+# commit a temporary change that deliberately points to a non-public
+# submodule commit, and want to be able to use rules like "make check".
+# In that case, run e.g., "make check gl_public_submodule_commit="
+# to disable this test.
+gl_public_submodule_commit ?= public-submodule-commit
+check: $(gl_public_submodule_commit)
+
+.PHONY: alpha beta stable
+ALL_RECURSIVE_TARGETS += alpha beta stable
+alpha beta stable: $(local-check) writable-files $(submodule-checks)
+ test $@ = stable \
+ && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \
|| { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\
|| :
- $(MAKE) vc-dist
- $(MAKE) news-date-check
- $(MAKE) -s announcement RELEASE_TYPE=$@ > /tmp/announce-$(my_distdir)
+ $(MAKE) vc-diff-check
+ $(MAKE) news-check
+ $(MAKE) distcheck
+ $(MAKE) dist XZ_OPT=-9ev
+ $(MAKE) $(release-prep-hook) RELEASE_TYPE=$@
+ $(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
+
+# Override this in cfg.mk if you follow different procedures.
+release-prep-hook ?= release-prep
+
+gl_noteworthy_news_ = * Noteworthy changes in release ?.? (????-??-??) [?]
+.PHONY: release-prep
+release-prep:
+ case $$RELEASE_TYPE in alpha|beta|stable) ;; \
+ *) echo "invalid RELEASE_TYPE: $$RELEASE_TYPE" 1>&2; exit 1;; esac
+ $(MAKE) --no-print-directory -s announcement > ~/announce-$(my_distdir)
if test -d $(release_archive_dir); then \
ln $(rel-files) $(release_archive_dir); \
chmod a-w $(rel-files); \
fi
- $(MAKE) -s emit_upload_commands RELEASE_TYPE=$@
echo $(VERSION) > $(prev_version_file)
$(MAKE) update-NEWS-hash
- perl -pi -e '$$. == 3 and print "$(noteworthy)\n\n\n"' NEWS
+ perl -pi -e '$$. == 3 and print "$(gl_noteworthy_news_)\n\n\n"' NEWS
$(emit-commit-log) > .ci-msg
$(VC) commit -F .ci-msg -a
+ rm .ci-msg
+
+# Override this with e.g., -s $(srcdir)/some_other_name.texi
+# if the default $(PACKAGE)-derived name doesn't apply.
+gendocs_options_ ?=
.PHONY: web-manual
web-manual:
@test -z "$(manual_title)" \
&& { echo define manual_title in cfg.mk 1>&2; exit 1; } || :
@cd '$(srcdir)/doc'; \
- $(SHELL) ../build-aux/gendocs.sh -o '$(abs_builddir)/doc/manual' \
+ $(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \
+ -o '$(abs_builddir)/doc/manual' \
--email $(PACKAGE_BUGREPORT) $(PACKAGE) \
"$(PACKAGE_NAME) - $(manual_title)"
@echo " *** Upload the doc/manual directory to web-cvs."
echo 'en@quot' >> $(PODIR)/LINGUAS && \
ls $(PODIR)/*.po | sed 's/\.po//' | sed 's,$(PODIR)/,,' | sort >> $(PODIR)/LINGUAS
+ # Running indent once is not idempotent, but running it twice is.
INDENT_SOURCES ?= $(C_SOURCES)
.PHONY: indent
indent:
indent $(INDENT_SOURCES)
+ indent $(INDENT_SOURCES)
+
+# If you want to set UPDATE_COPYRIGHT_* environment variables,
+# put the assignments in this variable.
+update-copyright-env ?=
+
+# Run this rule once per year (usually early in January)
+# to update all FSF copyright year lists in your project.
+# If you have an additional project-specific rule,
+# add it in cfg.mk along with a line 'update-copyright: prereq'.
+# By default, exclude all variants of COPYING; you can also
+# add exemptions (such as ChangeLog..* for rotated change logs)
+# in the file .x-update-copyright.
+.PHONY: update-copyright
+update-copyright:
+ grep -l -w Copyright \
+ $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \
+ | $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@
+
+# This tight_scope test is skipped with a warning if $(_gl_TS_headers) is not
+# overridden and $(_gl_TS_dir)/Makefile.am does not mention noinst_HEADERS.
+
+# NOTE: to override any _gl_TS_* default value, you must
+# define the variable(s) using "export" in cfg.mk.
+_gl_TS_dir ?= src
+
+ALL_RECURSIVE_TARGETS += sc_tight_scope
+sc_tight_scope: tight-scope.mk
+ @fail=0; \
+ if ! grep '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk \
+ > /dev/null \
+ && ! grep -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \
+ > /dev/null 2>&1; then \
+ echo '$(ME): skipping $@'; \
+ else \
+ $(MAKE) -s -C $(_gl_TS_dir) \
+ -f Makefile \
+ -f $(abs_top_srcdir)/cfg.mk \
+ -f $(abs_top_builddir)/$< \
+ _gl_tight_scope \
+ || fail=1; \
+ fi; \
+ rm -f $<; \
+ exit $$fail
+
+tight-scope.mk: $(ME)
+ @rm -f $@ $@-t
+ @perl -ne '/^# TS-start/.../^# TS-end/ and print' $(srcdir)/$(ME) > $@-t
+ @chmod a=r $@-t && mv $@-t $@
+
+ifeq (a,b)
+# TS-start
+
+# Most functions should have static scope.
+# Any that don't must be marked with `extern', but `main'
+# and `usage' are exceptions: they're always extern, but
+# do not need to be marked. Symbols matching `__.*' are
+# reserved by the compiler, so are automatically excluded below.
+_gl_TS_unmarked_extern_functions ?= main usage
+_gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\S+) *\(/
+
+# If your project uses a macro like "XTERN", then put
+# the following in cfg.mk to override this default:
+# export _gl_TS_extern = extern|XTERN
+_gl_TS_extern ?= extern
+
+# The second nm|grep checks for file-scope variables with `extern' scope.
+# Without gnulib's progname module, you might put program_name here.
+# Symbols matching `__.*' are reserved by the compiler,
+# so are automatically excluded below.
+_gl_TS_unmarked_extern_vars ?=
+
+# NOTE: the _match variables are perl expressions -- not mere regular
+# expressions -- so that you can extend them to match other patterns
+# and easily extract matched variable names.
+# For example, if your project declares some global variables via
+# a macro like this: GLOBAL(type, var_name, initializer), then you
+# can override this definition to automatically extract those names:
+# export _gl_TS_var_match = \
+# /^(?:$(_gl_TS_extern)) .*?\**(\w+)(\[.*?\])?;/ || /\bGLOBAL\(.*?,\s*(.*?),/
+_gl_TS_var_match ?= /^(?:$(_gl_TS_extern)) .*?(\w+)(\[.*?\])?;/
+
+# The names of object files in (or relative to) $(_gl_TS_dir).
+_gl_TS_obj_files ?= *.$(OBJEXT)
+
+# Files in which to search for the one-line style extern declarations.
+# $(_gl_TS_dir)-relative.
+_gl_TS_headers ?= $(noinst_HEADERS)
+
+.PHONY: _gl_tight_scope
+_gl_tight_scope: $(bin_PROGRAMS)
+ t=exceptions-$$$$; \
+ trap 's=$$?; rm -f $$t; exit $$s' 0; \
+ for sig in 1 2 3 13 15; do \
+ eval "trap 'v=`expr $$sig + 128`; (exit $$v); exit $$v' $$sig"; \
+ done; \
+ src=`for f in $(SOURCES); do \
+ test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \
+ hdr=`for f in $(_gl_TS_headers); do \
+ test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \
+ ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_functions); \
+ grep -h -A1 '^extern .*[^;]$$' $$src \
+ | grep -vE '^(extern |--)' | sed 's/ .*//'; \
+ perl -lne \
+ '$(_gl_TS_function_match) and print "^$$1\$$"' $$hdr; \
+ ) | sort -u > $$t; \
+ nm -e $(_gl_TS_obj_files) | sed -n 's/.* T //p'|grep -Ev -f $$t \
+ && { echo the above functions should have static scope >&2; \
+ exit 1; } || : ; \
+ ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_vars); \
+ perl -lne '$(_gl_TS_var_match) and print "^$$1\$$"' $$hdr *.h \
+ ) | sort -u > $$t; \
+ nm -e $(_gl_TS_obj_files) | sed -n 's/.* [BCDGRS] //p' \
+ | sort -u | grep -Ev -f $$t \
+ && { echo the above variables should have static scope >&2; \
+ exit 1; } || :
+# TS-end
+endif
# Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
#
# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public
# Please note that the actual code of GNU gettext is covered by the GNU
# General Public License and is *not* in the public domain.
#
-# Origin: gettext-0.17
-GETTEXT_MACRO_VERSION = 0.17
+# Origin: gettext-0.18
+GETTEXT_MACRO_VERSION = 0.18
PACKAGE = @PACKAGE@
VERSION = @VERSION@
.po.gmo:
@lang=`echo $* | sed -e 's,.*/,,'`; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
- cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
+ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
.sin.sed:
sed -e '/^#/d' $< > t-$@
@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
if test -f "$(srcdir)/$${lang}.po"; then \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
- cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
+ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+ cd $(srcdir) \
+ && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+ esac; \
+ }; \
else \
$(MAKE) $${lang}.po-create; \
fi
fi
install-data-no: all
install-data-yes: all
- $(mkdir_p) $(DESTDIR)$(datadir)
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
fi
installdirs-data-no:
installdirs-data-yes:
- $(mkdir_p) $(DESTDIR)$(datadir)
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
tmpdir=`pwd`; \
echo "$$lang:"; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
cd $(srcdir); \
- if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
+ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ esac; \
+ }; then \
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
rm -f $$tmpdir/$$lang.new.po; \
else \
update-gmo: Makefile $(GMOFILES)
@:
+# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
+# because execution permission bits may not work on the current file system.
+# Use @SHELL@, which is the shell determined by autoconf for the use by its
+# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
cd $(top_builddir) \
- && $(SHELL) ./config.status $(subdir)/$@.in po-directories
+ && @SHELL@ ./config.status $(subdir)/$@.in po-directories
force:
ll=`echo $$lang | sed -e 's/@.*//'`; \
LC_ALL=C; export LC_ALL; \
cd $(srcdir); \
- if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
+ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
rm -f $$tmpdir/$$lang.new.po; \
else \
# Czech translation for libidn.
# Copyright (C) 2007 Free Software Foundation, Inc.
# This file is distributed under the same license as the libidn package.
-# Petr Pisar <petr.pisar@atlas.cz>, 2007, 2008
+# Petr Pisar <petr.pisar@atlas.cz>, 2007, 2008, 2011.
#
msgid ""
msgstr ""
-"Project-Id-Version: libidn 1.9\n"
+"Project-Id-Version: libidn 1.21\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
-"PO-Revision-Date: 2008-07-03 08:28+0200\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
+"PO-Revision-Date: 2011-04-28 20:24+0200\n"
"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
+"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr "Úspěch"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr "Příprava řetězce selhala"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr "Punycode selhal"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr "Znak jiný než číslice/písmeno/spojovník na vstupu"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr "Zakázaný úvodní nebo závěrečný spojovník („-“)"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "Výstup by byl příliš dlouhý nebo příliš krátký"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
-msgstr "Vstup nezačíná předponou ACE („xn--“)"
+msgstr "Vstup nezačíná předponou ACE („xn--“)"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr "Řetězec není po ToASCII idempotentní"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
-msgstr "Vstup již obsahuje předponu ACE („xn--“)"
+msgstr "Vstup již obsahuje předponu ACE („xn--“)"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr "Selhal systémový iconv"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr "Nelze vyhradit paměť"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr "Selhalo volání systému dlopen"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "Neznámá chyba"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
-msgstr "Řetězec není po unicodové NFKC normalizaci idempotentní"
+msgstr "Řetězec není po unicodové NFKC normalizaci idempotentní"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr "Neplatný vstup"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr "Výstup by se nevešel do poskytnuté vyrovnávací paměti"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr "Omezení délky řetězce bylo překonáno"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr "Na vstupu zakázaná nepřiřazená ordinární čísla"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr "Na vstupu zakázaná ordinární čísla"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr "Na vstupu rozporné příkazy pro směr textu"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr "Chybně utvořený obousměrný řetězec"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr "Na vstupu zakázaná ordinární čísla pro obousměrný text"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr "Chyba v definici profilu pro stringprep"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr "Příznak neslučitelný s profilem"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "Neznámý profil"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr "Unicodová normalizace selhala (vnitřní chyba)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr "Ordinární čísla zakázaná vrcholovou doménou"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr "Postrádám vstup"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr "Ve vstupu chybí vrcholová doména"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Další informace získáte příkazem „%s --help“.\n"
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr "Použití: %s [PŘEPÍNAČ]… [ŘETĚZEC]…\n"
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
"vstup.\n"
"\n"
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"Povinné argumenty dlouhých přepínačů jsou rovněž povinné u odpovídajících\n"
"krátkých přepínačů.\n"
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
" -h, --help Vypíše nápovědu a skončí\n"
" -V, --version Vypíše verzi a skončí\n"
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -a, --idna-to-ascii Převede do ACE podle IDNA (implicitní režim)\n"
" -u, --idna-to-unicode Převede z ACE podle IDNA\n"
-#: src/idn.c:100
-#, fuzzy
+#: src/idn.c:102
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
msgstr ""
-" --allow-unassigned Přepne příznak IDNA AllowUnassigned\n"
-" --usestd3asciirules Přepne příznak IDNA UseSTD3ASCIIRules\n"
+" --allow-unassigned Přepne příznak IDNA AllowUnassigned (implicitně\n"
+" vypnut)\n"
+" --usestd3asciirules Přepne příznak IDNA UseSTD3ASCIIRules "
+"(implicitně\n"
+" vypnut)\n"
-#: src/idn.c:104
-#, fuzzy
+#: src/idn.c:106
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
msgstr ""
-" -t, --tld Zkontroluje řetězec podle pravidel pro TLD.\n"
+" --no-tld Nekontroluje řetězec podle pravidel dané TLD.\n"
" Jen u --idna-to-ascii a --idna-to-unicode\n"
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
" -n, --nfkc Normalizuje řetězec podle Unicode v3.2 NFKC\n"
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" „iSCSI“, „Nodeprep“, „Resourceprep“, „trace“ a \n"
" „SASLprep“\n"
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
" --debug Vypíše ladicí informace\n"
" --quiet Pracuje potichu\n"
-#: src/idn.c:173
-#, fuzzy, c-format
+#: src/idn.c:175
+#, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr "Pouze jeden přepínač z -s, -e, -d, -a, -u nebo -n smí být zadán."
+msgstr "Pouze jeden přepínač z -s, -e, -d, -a, -u nebo -n smí být zadán."
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "Znaková sada „%s“.\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
"Pište po jednom vstupním řetězci na jednom řádku zakončeným znakem nového "
"řádku.\n"
-#: src/idn.c:199
-#, fuzzy, c-format
+#: src/idn.c:205
+#, c-format
msgid "input error"
-msgstr "Chyba na vstupu"
+msgstr "chyba na vstupu"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
-#, fuzzy, c-format
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
+#, c-format
msgid "could not convert from %s to UTF-8"
-msgstr "Nelze převést z %s do UTF-8."
+msgstr "nelze převést z %s do UTF-8"
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
-#, fuzzy, c-format
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
+#, c-format
msgid "could not convert from UTF-8 to UCS-4"
-msgstr "Nelze převést z UTF-8 do UCS-4."
+msgstr "nelze převést z UTF-8 do UCS-4"
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr "stringprep_profile (profil pro přípravu řetězce): %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
-#, fuzzy, c-format
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
+#, c-format
msgid "could not convert from UTF-8 to %s"
-msgstr "Z UTF-8 do %s nelze převést."
+msgstr "nelze převést z UTF-8 do %s"
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
-msgstr "punycode_encode (zakódování do Punycodu): %s"
+msgstr "punycode_encode (zakódování do Punycodu): %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
msgstr "malloc"
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
-msgstr "punycode_decode (dekódování Punycodu): %s"
+msgstr "punycode_decode (dekódování Punycodu): %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
-#, fuzzy, c-format
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
+#, c-format
msgid "could not convert from UCS-4 to UTF-8"
-msgstr "Nelze převést z UCS-4 do UTF-8."
+msgstr "nelze převést z UCS-4 do UTF-8"
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr "idna_to_ascii_4z: %s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "idna_to_unicode_8z4z (TLD): %s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr "tld_check_4z (pozice %lu): %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr "tld_check_4z: %s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "idna_to_unicode_8z4z: %s"
-#: src/idn.c:537
-#, fuzzy, c-format
+#: src/idn.c:543
+#, c-format
msgid "could not do NFKC normalization"
-msgstr "Normalizaci do NFKC nebylo možné provézt"
+msgstr "nebylo možné znormalizovat do NFKC"
#~ msgid ""
#~ "\n"
# Danish translation of the libidn gettext message catalogue
# Copyright (C) 2005 Free Software Foundation, Inc.
-# Morten Bo Johansen <mojo@mbjnet.dk>, 2004, 2005
+# This file is distributed under the same license as the libidn package.
+# Morten Bo Johansen <mbj@spamcop.net>, 2004-2011
msgid ""
msgstr ""
-"Project-Id-Version: libidn 0.5.16\n"
+"Project-Id-Version: libidn 1.9\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
-"PO-Revision-Date: 2005-10-25 18:08+0200\n"
-"Last-Translator: Morten Bo Johansen <mojo@mbjnet.dk>\n"
-"Language-Team: Danish <dansk@klid.dk>\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
+"PO-Revision-Date: 2011-01-03 17:38+0100\n"
+"Last-Translator: Morten Bo Johansen <mbj@spamcop.net>\n"
+"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
+"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"X-Generator: Jed w/po-mode (http://jedsoft.org)\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr "Lykkedes"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr "Dannelse af tekststreng mislykkedes"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr "Punycode mislykkedes"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr "Ikke-ciffer/bogstav/bindestreg i inddata"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
-msgstr "Må ikke begynde eller slutte med minustegn ('-')"
+msgstr "Må ikke begynde eller slutte med minustegn (\"-\")"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "Mængden af uddata ville blive for stor eller lille"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
-msgstr "Inddata begynder ikke med et ACE-præfiks ('xn--')"
+msgstr "Inddata begynder ikke med et ACE-præfiks (\"xn--\")"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
-msgstr "Tekststreng er ikke beskyttet mod gentagelse under ToASCII"
+msgstr "Tekststreng er ikke idempotent under ToASCII"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
-msgstr "Inddata indeholder allerede et ACE-præfiks ('xn--')"
+msgstr "Inddata indeholder allerede et ACE-præfiks (\"xn--\")"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr "Systemkald til iconv mislykkedes"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr "Kan ikke tildele hukommelse"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr "Systemkald til dlopen mislykkedes"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "Ukendt fejl"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
-msgstr "Tekststreng er ikke beskyttet mod gentagelse under NFKC-normalisering"
+msgstr "Tekststreng er ikke idempotent under Unicode NFKC-normalisering"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr "Ugyldige inddata"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr "Størrelse på uddata ville overstige tildelt plads i buffer"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr "Grænse for størrelse på tekststreng overskredet"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
-msgstr "Ikke-tildelte kodepunkter i inddata ikke tilladt"
+msgstr "Der er forbudte, ikke-tildelte kodepunkter i inddata"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
-msgstr "Kodepunkter i inddata ikke tilladt"
+msgstr "Der er forbudte kodepunkter i inddata"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
-msgstr "Konflikter mellem tovejs egenskaber i inddata"
+msgstr "Konflikter mellem tovejsegenskaber i inddata"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
-msgstr "Misdannet tovejs tekststreng"
+msgstr "Misdannet tovejstekststreng"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
-msgstr "Tovejs kodepunkter i inddata ikke tilladt"
+msgstr "Forbudte tovejskodepunkter i inddata"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr "Fejl i definition af stringprep-profil"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr "Konflikt mellem flag og profil"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "Ukendt profil"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr "Normalisering af unicode mislykkedes (intern fejl)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr "Kodepunkter ikke tilladt af top-domæne"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr "Manglende inddata"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr "Fandt ikke et top-domæne i inddata"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
-msgstr ""
+msgstr "Prøv \"%s --help\" for yderligere information.\n"
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
-msgstr ""
+msgstr "Brug: %s [TILVALG]... [STRENGE]...\n"
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
msgstr ""
+"Internationalized Domain Name (IDN) - omdan STRENGE, eller standardinddata.\n"
+"\n"
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"\n"
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
+"Kommandolinje-brugerflade til IDN-programbiblioteket.\n"
+"\n"
+"Alle tekststrenge forventes at være indkodet i det foretrukne tegnsæt,\n"
+"der følger af dine lokaliseringsindstillnger. Brug \"--debug\" for at\n"
+"finde ud af hvilket tegnsæt det er. Du kan tilsidesætte dette tegnsæt\n"
+"ved at sætte miljøvariablen CHARSET.\n"
+"\n"
+"For at behandle en tekststreng der begynder med \"-\", f.eks. \"-foo\", så\n"
+"brug \"--\" for at signalere at der ikke følger flere parametre, som i\n"
+"\"idn --quiet -a -- -foo\".\n"
+"\n"
+"Obligatoriske parametre som gælder for langforms-tilvalg er ligeledes\n"
+"obligatoriske for kortforms-tilvalg.\n"
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
msgstr ""
+" -h, --help Udskriv hjælp og afslut\n"
+" -V, --version Udskriv version og afslut\n"
-#: src/idn.c:93
+# ACE = ASCII Compatible Encoding
+# IDNA = Internationalizing Domain Names in Applications
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -a, --idna-to-ascii Convert to ACE according to IDNA (default mode)\n"
" -u, --idna-to-unicode Convert from ACE according to IDNA\n"
msgstr ""
-
-#: src/idn.c:100
+" -s, --stringprep Forbered tekststreng ifølge nameprep-profil\n"
+" -d, --punycode-decode Afkod Punycode\n"
+" -e, --punycode-encode Indkod Punycode\n"
+" -a, --idna-to-ascii Omdan til ACE ifølge IDNA (standardtilstand)\n"
+" -u, --idna-to-unicode Omdan fra ACE ifølge IDNA\n"
+
+#: src/idn.c:102
+#, fuzzy
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
msgstr ""
+" --allow-unassigned Slå IDNA AllowUnassigned til/fra\n"
+" --usestd3asciirules Slå IDNA UseSTD3ASCIIRules til/fra\n"
-#: src/idn.c:104
+#: src/idn.c:106
+#, fuzzy
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
msgstr ""
+" -t, --tld Kontrollér tekststring for TLD-specifikke regler\n"
+" Gælder kun --idna-to-ascii og --idna-to-"
+"unicode\n"
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
+" -n, --nfkc Normalisér tekststreng i.h.t. Unicode v3.2 NFKC\n"
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" `iSCSI', `Nodeprep', `Resourceprep', \n"
" `trace', `SASLprep'\n"
msgstr ""
+" -p, --profile=STRENG Brug angivet stringprep-profil i stedet\n"
+" Gyldige stringprep-profiler: \"Nameprep\",\n"
+" \"iSCSI\", \"Nodeprep\", \"Resourceprep\", \n"
+" \"trace\", \"SASLprep\"\n"
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
msgstr ""
+" --debug Udskriv fejlsøgnings-information\n"
+" --quiet Ingen uddata under udførelse\n"
-#: src/idn.c:173
+#: src/idn.c:175
#, fuzzy, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr "Kun et af argumenterne -s, -e, -d, -a eller -u kan angives."
+msgstr "Kun ét af argumenterne -s, -e, -d, -a, -u eller -n kan angives."
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
-msgstr "Tegnsæt `%s'.\n"
+msgstr "Tegnsæt \"%s\".\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
"character.\n"
-msgstr "Indtast hver streng på en særskilt linje, afsluttet med en ny linje.\n"
+msgstr ""
+"Indtast hver streng på en særskilt linje, afsluttet med et nylinje-tegn.\n"
-#: src/idn.c:199
+#: src/idn.c:205
#, fuzzy, c-format
msgid "input error"
msgstr "Fejl i inddata"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
#, fuzzy, c-format
msgid "could not convert from %s to UTF-8"
msgstr "Kunne ikke omdanne fra %s til UTF-8."
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
#, fuzzy, c-format
msgid "could not convert from UTF-8 to UCS-4"
msgstr "Kunne ikke omdanne fra UTF-8 til UCS-4."
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr "stringprep_profile: %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
#, fuzzy, c-format
msgid "could not convert from UTF-8 to %s"
msgstr "Kunne ikke omdanne fra UTF-8 til %s."
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr "punycode_encode: %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
-msgstr "malloc"
+msgstr ""
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr "punycode_decode: %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
#, fuzzy, c-format
msgid "could not convert from UCS-4 to UTF-8"
msgstr "Kunne ikke omdanne fra UCS-4 til UTF-8."
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr "idna_to_ascii_4z: %s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "idna_to_unicode_8z4z (TLD): %s"
-#: src/idn.c:406 src/idn.c:479
-#, fuzzy, c-format
+#: src/idn.c:412 src/idn.c:485
+#, c-format
msgid "tld_check_4z (position %lu): %s"
-msgstr "tld_check_4z (position %d): %s"
+msgstr "tld_check_4z (position %lu): %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr "tld_check_4z: %s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "idna_to_unicode_8z4z: %s"
-#: src/idn.c:537
+#: src/idn.c:543
#, fuzzy, c-format
msgid "could not do NFKC normalization"
-msgstr "Tekststreng er ikke beskyttet mod gentagelse under NFKC-normalisering"
-
-#~ msgid "input[%d] = U+%04x\n"
-#~ msgstr "inddata[%d] = U+%04x\n"
-
-#~ msgid "output[%d] = U+%04x\n"
-#~ msgstr "uddata[%d] = U+%04x\n"
-
-#~ msgid "tld[%d] = U+%04x\n"
-#~ msgstr "tld[%d] = U+%04x\n"
+msgstr "Kunne ikke udføre NFKC-normalisering."
+
+#~ msgid ""
+#~ "\n"
+#~ "Report bugs to <%s>.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Send fejlrapporter til <%s>.\n"
# Copyright (C) 2004 Free Software Foundation, Inc.
# This file is distributed under the same license as the libidn package.
# Roland Illig <roland.illig@gmx.de>, 2004.
+# Roland Illig <roland.illig@gmx.de>, 2009.
+# Roland Illig <roland.illig@gmx.de>, 2011.
#
msgid ""
msgstr ""
-"Project-Id-Version: libidn 0.4.1\n"
+"Project-Id-Version: libidn 1.21\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
-"PO-Revision-Date: 2004-03-28 20:30+0100\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
+"PO-Revision-Date: 2011-05-02 18:51+0100\n"
"Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
-"Language-Team: German <de@li.org>\n"
+"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
+"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
-msgstr ""
+msgstr "Erfolg"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
-msgstr ""
+msgstr "String-Vorbereitung fehlgeschlagen"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
-msgstr ""
+msgstr "Punycode fehlgeschlagen"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
-msgstr ""
+msgstr "Unerlaubtes Zeichen in der Eingabe"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
-msgstr ""
+msgstr "Verbotenes Minuszeichen am Anfang oder am Ende"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
-msgstr ""
+msgstr "Ergebnis wäre zu groß oder zu klein"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
-msgstr ""
+msgstr "Eingabe beginnt nicht mit dem ACE-Präfix (»xn--«)"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
-msgstr ""
+msgstr "String verändert sich durch ToASCII"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
-msgstr ""
+msgstr "Eingabe enthält bereits das ACE-Präfix (»xn--«)"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
-msgstr ""
+msgstr "System-iconv fehlgeschlagen"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
-msgstr ""
+msgstr "Nicht genug Speicher"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
-msgstr ""
+msgstr "System-dlopen fehlgeschlagen"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
-msgstr ""
+msgstr "Unbekannter Fehler"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
-msgstr ""
+msgstr "String verändert sich durch Unicode-NFKC-Normalisierung"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
-msgstr ""
+msgstr "Ungültige Eingabe"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
-msgstr ""
+msgstr "Ausgabe würde den vorhandenen Pufferspeicher überfluten"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
-msgstr ""
+msgstr "String-Größenbegrenzung überschritten"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
-msgstr ""
+msgstr "Verbotene unzugeordnete Codepunkte in der Eingabe"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
-msgstr ""
+msgstr "Verbotene Codepunkte in der Eingabe"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
-msgstr ""
+msgstr "Widersprüchliche bidirektional-Eigenschaften in der Eingabe"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
-msgstr ""
+msgstr "Ungültiger Bidirektional-String"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
-msgstr ""
+msgstr "Verbotene bidirektionale Codepunkte in der Eingabe"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
-msgstr ""
+msgstr "Fehler in der Stringprep-Profildefinition"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
-msgstr ""
+msgstr "Flag-Konflikt mit dem Profil"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
-msgstr ""
+msgstr "Unbekanntes Profil"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
-msgstr ""
+msgstr "Unicode-Normalisierung fehlgeschlagen (Interner Fehler)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
-msgstr ""
+msgstr "Codepunkte sind von der Top-Level-Domain verboten"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
-msgstr ""
+msgstr "Fehlende Eingabe"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
-msgstr ""
+msgstr "Keine Top-Level-Domain in der Eingabe gefunden"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
-msgstr ""
+msgstr "Versuchen Sie »%s --help« für mehr Informationen.\n"
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
-msgstr ""
+msgstr "Aufruf: %s [OPTION]... [STRINGS]...\n"
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
msgstr ""
+"Internationalized Domain Name (IDN) konvertiert STRINGS oder die "
+"Standardeingabe.\n"
+"\n"
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"\n"
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
+"Kommandozeilenprogramm für die Bibliothek für internationalisierte "
+"Domainnamen.\n"
+"\n"
+"Alle Strings werden so codiert erwartet, wie es der Zeichensatz der Locale\n"
+"angibt. Benutzen Sie »--debug« um den aktuellen Zeichensatz herauszufinden.\n"
+"Sie können einen Zeichensatz explizit mit der Umgebungsvariable CHARSET\n"
+"festlegen.\n"
+"\n"
+"Um einen String zu verarbeiten, der mit »-« beginnt (zum Beispiel »-foo«),\n"
+"können Sie das Ende der Optionen mit »--« kennzeichnen.\n"
+"Zum Beispiel: »idn --quiet -a -- -foo«.\n"
+"\n"
+"Notwendige Argumente für die langen Optionen gelten genau so für die\n"
+"kurzen Optionen.\n"
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
msgstr ""
+" -h, --help Hilfe ausgeben und beenden\n"
+" -V, --version Version ausgeben und beenden\n"
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -a, --idna-to-ascii Convert to ACE according to IDNA (default mode)\n"
" -u, --idna-to-unicode Convert from ACE according to IDNA\n"
msgstr ""
+" -s, --stringprep String gemäß nameprep-Profil vorbereiten\n"
+" -d, --punycode-decode Punycode decodieren\n"
+" -e, --punycode-encode Punycode codieren\n"
+" -a, --idna-to-ascii Gemäß IDNA in ACE konvertieren (Standardmodus)\n"
+" -u, --idna-to-unicode Gemäß IDNA aus ACE heraus konvertieren\n"
-#: src/idn.c:100
+#: src/idn.c:102
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
msgstr ""
+" --allow-unassigned Option \"IDNA AllowUnassigned\" umschalten "
+"(Vorgabe: aus)\n"
+" --usestd3asciirules Option \"IDNA UseSTD3ASCIIRules\" umschalten "
+"(Vorgabe: aus)\n"
-#: src/idn.c:104
+#: src/idn.c:106
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
msgstr ""
+" --no-tld String nicht auf TLD-spezifische Regeln "
+"überprüfen\n"
+" Nur für --idna-to-ascii und --idna-to-unicode\n"
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
+" -n, --nfkc String gemäß Unicode v3.2 NFKC normalisieren\n"
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" `iSCSI', `Nodeprep', `Resourceprep', \n"
" `trace', `SASLprep'\n"
msgstr ""
+" -p, --profile=STRING Angegebenes stringprep-Profil benutzen\n"
+" Gültige stringprep-Profile: `Nameprep',\n"
+" `iSCSI', `Nodeprep', `Resourceprep', \n"
+" `trace', `SASLprep'\n"
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
msgstr ""
+" --debug Debugging-Informationen ausgeben\n"
+" --quiet Ruhig arbeiten\n"
-#: src/idn.c:173
-#, fuzzy, c-format
+#: src/idn.c:175
+#, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr "%s: Nur eins von »-s«, »-e«, »-d«, »-a« oder »-u« kann angegeben werden.\n"
+msgstr ""
+"Nur eins von »-s«, »-e«, »-d«, »-a«, »-u« oder »-n« kann angegeben werden."
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "Zeichensatz »%s«.\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
"Geben Sie jede Eingabezeichenkette in einer eigenen Zeile ein, durch einen "
"Zeilenumbruch abgeschlossen.\n"
-#: src/idn.c:199
+#: src/idn.c:205
#, c-format
msgid "input error"
-msgstr ""
+msgstr "Eingabefehler"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
-#, fuzzy, c-format
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
+#, c-format
msgid "could not convert from %s to UTF-8"
-msgstr "%s: Konnte nicht von %s nach UTF-8 konvertieren.\n"
+msgstr "Konnte nicht von %s nach UTF-8 konvertieren."
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
-#, fuzzy, c-format
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
+#, c-format
msgid "could not convert from UTF-8 to UCS-4"
-msgstr "%s: Konnte nicht von UTF-8 nach UCS-4 konvertieren.\n"
+msgstr "Konnte nicht von UTF-8 nach UCS-4 konvertieren."
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
-msgstr ""
+msgstr "stringprep_profile: %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
-#, fuzzy, c-format
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
+#, c-format
msgid "could not convert from UTF-8 to %s"
-msgstr "%s: Konnte nicht von UTF-8 nach %s konvertieren.\n"
+msgstr "Konnte nicht von UTF-8 nach %s konvertieren."
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
-msgstr ""
+msgstr "punycode_encode: %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
-msgstr ""
+msgstr "malloc"
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
-msgstr ""
+msgstr "punycode_decode: %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
-#, fuzzy, c-format
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
+#, c-format
msgid "could not convert from UCS-4 to UTF-8"
-msgstr "%s: Konnte nicht von UCS-4 nach UTF-8 konvertieren.\n"
+msgstr "Konnte nicht von UCS-4 nach UTF-8 konvertieren."
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
-msgstr ""
+msgstr "idna_to_ascii_4z: %s"
-#: src/idn.c:392
-#, fuzzy, c-format
+#: src/idn.c:398
+#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
-msgstr "%s: idna_to_unicode_8z4z() mit Fehler %d fehlgeschlagen.\n"
+msgstr "idna_to_unicode_8z4z (TLD): %s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
-msgstr ""
+msgstr "tld_check_4z (position %lu): %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
-msgstr ""
+msgstr "tld_check_4z: %s"
-#: src/idn.c:458
-#, fuzzy, c-format
+#: src/idn.c:464
+#, c-format
msgid "idna_to_unicode_8z4z: %s"
-msgstr "%s: idna_to_unicode_8z4z() mit Fehler %d fehlgeschlagen.\n"
+msgstr "idna_to_unicode_8z4z: %s"
-#: src/idn.c:537
+#: src/idn.c:543
#, c-format
msgid "could not do NFKC normalization"
-msgstr ""
+msgstr "Konnte die NFKC-Normalisierung nicht ausführen."
+
+#~ msgid ""
+#~ "\n"
+#~ "Report bugs to <%s>.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Melden Sie Fehler an <%s>.\n"
+#~ "Melden Sie Übersetzungsfehler an <translation-team-de@lists.sourceforge."
+#~ "net>.\n"
#~ msgid "%s: fgets() failed: "
#~ msgstr "%s: fgets() fehlgeschlagen: "
-# English translations for GNU Libidn package.
-# Copyright (C) 2009 Simon Josefsson
-# This file is distributed under the same license as the GNU Libidn package.
-# Automatically generated, 2009.
+# English translations for libidn package.
+# Copyright (C) 2011 Simon Josefsson
+# This file is distributed under the same license as the libidn package.
+# Automatically generated, 2011.
#
# All this catalog "translates" are quotation characters.
# The msgids must be ASCII and therefore cannot contain real quotation
#
msgid ""
msgstr ""
-"Project-Id-Version: libidn 1.15\n"
+"Project-Id-Version: libidn 1.23\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
-"PO-Revision-Date: 2009-06-08 12:39+0200\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
+"PO-Revision-Date: 2011-11-25 11:38+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
+"Language: en@boldquot\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr "Success"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr "String preparation failed"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr "Punycode failed"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr "Non-digit/letter/hyphen in input"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr "Forbidden leading or trailing minus sign (‘\e[1m-\e[0m’)"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "Output would be too large or too small"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
msgstr "Input does not start with ACE prefix (‘\e[1mxn--\e[0m’)"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr "String not idempotent under ToASCII"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
msgstr "Input already contain ACE prefix (‘\e[1mxn--\e[0m’)"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr "System iconv failed"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr "Cannot allocate memory"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr "System dlopen failed"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "Unknown error"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
msgstr "String not idempotent under Unicode NFKC normalization"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr "Invalid input"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr "Output would exceed the buffer space provided"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr "String size limit exceeded"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr "Forbidden unassigned code points in input"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr "Prohibited code points in input"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr "Conflicting bidirectional properties in input"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr "Malformed bidirectional string"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr "Prohibited bidirectional code points in input"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr "Error in stringprep profile definition"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr "Flag conflict with profile"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "Unknown profile"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr "Unicode normalization failed (internal error)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr "Code points prohibited by top-level domain"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr "Missing input"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr "No top-level domain found in input"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Try ‘\e[1m%s --help\e[0m’ for more information.\n"
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr "Usage: %s [OPTION]... [STRINGS]...\n"
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"\n"
"Mandatory arguments to long options are mandatory for short options too.\n"
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -a, --idna-to-ascii Convert to ACE according to IDNA (default mode)\n"
" -u, --idna-to-unicode Convert from ACE according to IDNA\n"
-#: src/idn.c:100
+#: src/idn.c:102
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
-#: src/idn.c:104
+#: src/idn.c:106
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
"‘\e[1mResourceprep\e[0m’, \n"
" ‘\e[1mtrace\e[0m’, ‘\e[1mSASLprep\e[0m’\n"
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
" --debug Print debugging information\n"
" --quiet Silent operation\n"
-#: src/idn.c:173
+#: src/idn.c:175
#, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
msgstr "only one of -s, -e, -d, -a, -u or -n can be specified"
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "Charset ‘\e[1m%s\e[0m’.\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
"Type each input string on a line by itself, terminated by a newline "
"character.\n"
-#: src/idn.c:199
+#: src/idn.c:205
#, c-format
msgid "input error"
msgstr "input error"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
#, c-format
msgid "could not convert from %s to UTF-8"
msgstr "could not convert from %s to UTF-8"
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
#, c-format
msgid "could not convert from UTF-8 to UCS-4"
msgstr "could not convert from UTF-8 to UCS-4"
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr "stringprep_profile: %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
#, c-format
msgid "could not convert from UTF-8 to %s"
msgstr "could not convert from UTF-8 to %s"
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr "punycode_encode: %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
msgstr "malloc"
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr "punycode_decode: %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
#, c-format
msgid "could not convert from UCS-4 to UTF-8"
msgstr "could not convert from UCS-4 to UTF-8"
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr "idna_to_ascii_4z: %s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "idna_to_unicode_8z4z (TLD): %s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr "tld_check_4z (position %lu): %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr "tld_check_4z: %s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "idna_to_unicode_8z4z: %s"
-#: src/idn.c:537
+#: src/idn.c:543
#, c-format
msgid "could not do NFKC normalization"
msgstr "could not do NFKC normalization"
-# English translations for GNU Libidn package.
-# Copyright (C) 2009 Simon Josefsson
-# This file is distributed under the same license as the GNU Libidn package.
-# Automatically generated, 2009.
+# English translations for libidn package.
+# Copyright (C) 2011 Simon Josefsson
+# This file is distributed under the same license as the libidn package.
+# Automatically generated, 2011.
#
# All this catalog "translates" are quotation characters.
# The msgids must be ASCII and therefore cannot contain real quotation
#
msgid ""
msgstr ""
-"Project-Id-Version: libidn 1.15\n"
+"Project-Id-Version: libidn 1.23\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
-"PO-Revision-Date: 2009-06-08 12:39+0200\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
+"PO-Revision-Date: 2011-11-25 11:38+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
+"Language: en@quot\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr "Success"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr "String preparation failed"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr "Punycode failed"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr "Non-digit/letter/hyphen in input"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr "Forbidden leading or trailing minus sign (‘-’)"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "Output would be too large or too small"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
msgstr "Input does not start with ACE prefix (‘xn--’)"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr "String not idempotent under ToASCII"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
msgstr "Input already contain ACE prefix (‘xn--’)"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr "System iconv failed"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr "Cannot allocate memory"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr "System dlopen failed"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "Unknown error"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
msgstr "String not idempotent under Unicode NFKC normalization"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr "Invalid input"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr "Output would exceed the buffer space provided"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr "String size limit exceeded"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr "Forbidden unassigned code points in input"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr "Prohibited code points in input"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr "Conflicting bidirectional properties in input"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr "Malformed bidirectional string"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr "Prohibited bidirectional code points in input"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr "Error in stringprep profile definition"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr "Flag conflict with profile"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "Unknown profile"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr "Unicode normalization failed (internal error)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr "Code points prohibited by top-level domain"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr "Missing input"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr "No top-level domain found in input"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Try ‘%s --help’ for more information.\n"
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr "Usage: %s [OPTION]... [STRINGS]...\n"
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"\n"
"Mandatory arguments to long options are mandatory for short options too.\n"
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -a, --idna-to-ascii Convert to ACE according to IDNA (default mode)\n"
" -u, --idna-to-unicode Convert from ACE according to IDNA\n"
-#: src/idn.c:100
+#: src/idn.c:102
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
-#: src/idn.c:104
+#: src/idn.c:106
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" ‘iSCSI’, ‘Nodeprep’, ‘Resourceprep’, \n"
" ‘trace’, ‘SASLprep’\n"
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
" --debug Print debugging information\n"
" --quiet Silent operation\n"
-#: src/idn.c:173
+#: src/idn.c:175
#, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
msgstr "only one of -s, -e, -d, -a, -u or -n can be specified"
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "Charset ‘%s’.\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
"Type each input string on a line by itself, terminated by a newline "
"character.\n"
-#: src/idn.c:199
+#: src/idn.c:205
#, c-format
msgid "input error"
msgstr "input error"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
#, c-format
msgid "could not convert from %s to UTF-8"
msgstr "could not convert from %s to UTF-8"
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
#, c-format
msgid "could not convert from UTF-8 to UCS-4"
msgstr "could not convert from UTF-8 to UCS-4"
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr "stringprep_profile: %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
#, c-format
msgid "could not convert from UTF-8 to %s"
msgstr "could not convert from UTF-8 to %s"
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr "punycode_encode: %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
msgstr "malloc"
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr "punycode_decode: %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
#, c-format
msgid "could not convert from UCS-4 to UTF-8"
msgstr "could not convert from UCS-4 to UTF-8"
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr "idna_to_ascii_4z: %s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "idna_to_unicode_8z4z (TLD): %s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr "tld_check_4z (position %lu): %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr "tld_check_4z: %s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "idna_to_unicode_8z4z: %s"
-#: src/idn.c:537
+#: src/idn.c:543
#, c-format
msgid "could not do NFKC normalization"
msgstr "could not do NFKC normalization"
msgstr ""
"Project-Id-Version: libidn 1.9\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
"PO-Revision-Date: 2008-09-01 09:40+0100\n"
"Last-Translator: Edmund GRIMLEY EVANS <edmundo@rano.org>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
+"Language: eo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr "Sukceso"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr "Pretigo de signoĉeno malsukcesis"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr "Punycode malsukcesis"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr "Signo ne-cifero/litero/dividstreko en enigo"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr "Malpermesita minuso ('-') ĉe komenco aŭ fino"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "Eligo estus tro granda aŭ tro malgranda"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
msgstr "Enigo ne komenciĝas per ACE-prefikso ('xn--')"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr "Ĉeno ŝanĝiĝas ĉe dua apliko de ToASCII"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
msgstr "Enigo jam havas ACE-prefikson ('xn--')"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr "Sistema iconv malsukcesis"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr "Ne povas akiri memoron"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr "Sistema dlopen malsukcesis"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "Nekonata eraro"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
msgstr "Ĉeno ŝanĝiĝas ĉe dua apliko de unikoda NFKC-normigo"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr "Nevalida enigo"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr "Eligo estus tro granda por donita bufro"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr "Signoĉena grandolimo superita"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr "Malpermesita neatribuita kodero en enigo"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr "Malpermesita kodero en enigo"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr "Malkongruaj dudirektaj trajtoj en enigo"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr "Misformita dudirekta ĉeno"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr "Malpermesita dudirekta kodero en enigo"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr "Eraro en difino de stringprep-profilo"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr "Flaga malkongruo kun profilo"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "Nekonata profilo"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr "Unikoda normigo malsukcesis (interna eraro)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr "Koderoj malpermesitaj de supera retregiono"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr "Mankanta enigo"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr "Nenia supera retregiono trovita en enigo"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Provu '%s --help' por pliaj informoj.\n"
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr "Uzado: %s [OPCIO]... [ĈENOJ]...\n"
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
"Internaciigitaj retnomoj (IDN) konverti ĈENOJn, aŭ la normalan enigon.\n"
"\n"
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"Devigaj argumentoj por longaj opcioj estas devigaj ankaŭ por mallongaj\n"
"opcioj.\n"
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
" -h, --help Montri helpon kaj eliri\n"
" -V, --version Montri version kaj eliri\n"
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -a, --idna-to-ascii Konverti al ACE laŭ IDNA (implicita reĝimo)\n"
" -u, --idna-to-unicode Konverti de ACE laŭ IDNA\n"
-#: src/idn.c:100
+#: src/idn.c:102
#, fuzzy
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --allow-unassigned Ŝanĝi la flagon IDNA AllowUnassigned\n"
" --usestd3asciirules Ŝanĝi la flagon IDNA UseSTD3ASCIIRules\n"
-#: src/idn.c:104
+#: src/idn.c:106
#, fuzzy
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" -t, --tld Kontroli ĉeno pri TLD-specifaj reguloj\n"
" Nur por --idna-to-ascii kaj --idna-to-unicode\n"
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr " -n, --nfkc Normigi signoĉenon laŭ Unikodo v3.2 NFKC\n"
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" 'iSCSI', 'Nodeprep', 'Resourceprep',\n"
" 'trace', 'SASLprep'\n"
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
" --debug Montri informojn por erarspurado\n"
" --quiet Silenta funkciado\n"
-#: src/idn.c:173
+#: src/idn.c:175
#, fuzzy, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
msgstr "Nur unu el -s, -e, -d, -a, -u aŭ -n povas esti donita."
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "Signaro '%s'.\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
"Tajpu ĉiun enigan ĉenon en propra linio, kun linifina signo ĉe la\n"
"fino.\n"
-#: src/idn.c:199
+#: src/idn.c:205
#, fuzzy, c-format
msgid "input error"
msgstr "Enig-eraro"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
#, fuzzy, c-format
msgid "could not convert from %s to UTF-8"
msgstr "Ne povis konverti de %s al UTF-8."
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
#, fuzzy, c-format
msgid "could not convert from UTF-8 to UCS-4"
msgstr "Ne povis konverti de UTF-8 al UCS-4."
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr "stringprep_profile: %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
#, fuzzy, c-format
msgid "could not convert from UTF-8 to %s"
msgstr "Ne povis konverti de UTF-8 al %s."
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr "punycode_encode: %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
msgstr "malloc"
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr "punycode_decode: %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
#, fuzzy, c-format
msgid "could not convert from UCS-4 to UTF-8"
msgstr "Ne povis konverti de UCS-4 al UTF-8."
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr "idna_to_ascii_4z: %s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "idna_to_unicode_8z4z (TLD): %s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr "tld_check_4z (loko %lu): %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr "tld_check_4z: %s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "idna_to_unicode_8z4z: %s"
-#: src/idn.c:537
+#: src/idn.c:543
#, fuzzy, c-format
msgid "could not do NFKC normalization"
msgstr "Ne povis fari NFKC-normigon."
-# translation of libidn-1.4.pot to Finnish
-# Copyright © 2008 Free Software Foundation, Inc.
+# translation of libidn-1.9.pot to Finnish
+# Copyright © 2008, 2009, 2011 Free Software Foundation, Inc.
# Copyright © 2007 Simon Josefsson
# This file is distributed under the same license as the libidn package.
-#
# Jorma Karvonen <karvjorm@users.sf.net>, 2008.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2009-2011.
+#
msgid ""
msgstr ""
-"Project-Id-Version: libidn 1.4\n"
+"Project-Id-Version: libidn 1.21\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
-"PO-Revision-Date: 2008-01-15 18:22+0200\n"
-"Last-Translator: Jorma Karvonen <karvjorm@users.sf.net>\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
+"PO-Revision-Date: 2011-04-30 15:25+0200\n"
+"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
+"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: KBabel 1.11.4\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr "Onnistui"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr "Merkkijonon valmistelu ei onnistunut"
# Wikipedia: Punycode is a computer programming encoding syntax by which a Unicode string of characters can be translated into the more-limited character set permitted in network host names.
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr "Punycode-koodaus ei onnistunut"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr "Syötteessä on merkki, joka ei ole numero/kirjain/tavuviiva"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr "Ei saa alkaa tai loppua miinusmerkillä (”-”)"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "Tuloste olisi liian suuri tai liian pieni"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
msgstr "Syöte ei ala ACE-prefiksillä (”xn--”)"
# Yksinkertaisesti selitettynä idempotentti on matemaattinen termi, joka tarkoittaa, että jonkun toiminnon tulos on aina sama kun toiminto toistetaan kahdesti (tai useammin).
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr "Merkkijono ei ole idempotentti ToASCII-toiminnon aikana"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
msgstr "Syöte jo sisältää ACE-prefiksin (”xn--”)"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr "Järjestelmän iconv-käsky ei onnistunut"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr "Ei voida varata muistia"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr "Järjestelmän dlopen-käsky ei onnistunut"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "Tuntematon virhe"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
msgstr "Merkkijono ei ole idempotentti Unicode NFKC-normeerauksen aikana"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr "Virheellinen syöte"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr "Tuloste ylittäisi varatun puskurin tilan"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr "Merkkijonon koko ylitettiin"
# Code point is any value in the Unicode codespace; that is, the range of integers from 0 to hexadecimal 10FFFF.
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr "Kiellettyjä määräämättömiä code points-skalaariarvoja syötteessä"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr "Kiellettyjä code points-skalaariarvoja syötteessä"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr "Ristiriitaisia kaksisuuntaisia ominaisuuksia syötteessä"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr "Väärän muotoinen kaksisuuntainen merkkijono"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr "Kiellettyjä kaksisuuntaisia code points-skalaariarvoja syötteessä"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr "Virhe strngprep-profiilimäärittelyssä"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr "Lippu ristiriidassa profiilin kanssa"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "Tuntematon profiili"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr "Unicode-normeeraus ei onnistunut (sisäinen virhe)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr "Code points-skalaariarvot kiellettyjä ylätason toimialueessa"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr "Syöte puuttuu"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr "Syötteestä ei löytynyt ylätason toimialuetta"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Lisätietoja käskyllä ”%s --help”.\n"
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr "Käyttö: %s [VALITSIN]... [MERKKIJONOT]...\n"
# convert -> converts ?
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
"Kansainvälistetty verkkotunnus (IDN) muuntaa MERKKIJONOT tai vakiosyötteen.\n"
"\n"
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"Pakolliset argumentit pitkille valitsimille ovat pakollisia myös lyhyille\n"
"valitsimille.\n"
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
" -h, --help Tulosta ohje ja poistu\n"
" -V, --version Tulosta versio ja poistu\n"
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -a, --idna-to-ascii Muunna ACE-koodiksi IDNA-koodista (oletustila)\n"
" -u, --idna-to-unicode Muunna ACE-koodista IDNA-koodiksi\n"
-#: src/idn.c:100
-#, fuzzy
+#: src/idn.c:102
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
msgstr ""
-" --allow-unassigned Vaihda ”IDNA AllowUnassigned”-lipun tilaa\n"
-" --usestd3asciirules Vaihda ”IDNA UseSTD3ASCIIRules”-lipun tilaa\n"
+" --allow-unassigned Vaihda ”IDNA AllowUnassigned”-lipun tilaa (oletus "
+"off)\n"
+" --usestd3asciirules Vaihda ”IDNA UseSTD3ASCIIRules”-lipun tilaa "
+"(oletus off)\n"
-#: src/idn.c:104
-#, fuzzy
+#: src/idn.c:106
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
msgstr ""
-" -t, --tld Etsi merkkijonosta TLD-kohtaisia sääntöjä\n"
+" --no-tld Älä etsi merkkijonosta TLD-kohtaisia sääntöjä\n"
" Vain valitsimille ”--idna-to-ascii” ja ”--idna-"
"to-unicode”\n"
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
+" -n, --nfkc Normeeraa merkkijono ”Unicode v3.2 NFKC”-"
+"koodauksen mukaisesti\n"
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" ”iSCSI”, ”Nodeprep”, ”Resourceprep”, \n"
" ”trace”, ”SASLprep”\n"
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
" --debug Tulosta virheenjäljitystiedot\n"
" --quiet Hiljainen toiminta\n"
-#: src/idn.c:173
-#, fuzzy, c-format
+#: src/idn.c:175
+#, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr "Vain yksi valitsimista -s, -e, -d, -a or -u voidaan määritellä"
+msgstr "vain yksi valitsimista -s, -e, -d, -a, -u tai -n voidaan määritellä"
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "Merkistö ”%s”\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
"Kirjoita jokainen merkkijono omalle rivilleen ja lopeta rivi "
"rivinvaihdolla.\n"
-#: src/idn.c:199
-#, fuzzy, c-format
+#: src/idn.c:205
+#, c-format
msgid "input error"
-msgstr "Syötevirhe"
+msgstr "syötevirhe"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
-#, fuzzy, c-format
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
+#, c-format
msgid "could not convert from %s to UTF-8"
-msgstr "Ei voitu muuntaa %s-merkistöstä UTF-8-merkistöön"
+msgstr "ei voitu muuntaa %s-merkistöstä UTF-8-merkistöön"
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
-#, fuzzy, c-format
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
+#, c-format
msgid "could not convert from UTF-8 to UCS-4"
-msgstr "Ei voitu muuntaa UTF-8-merkistöstä UCS-4-merkistöön"
+msgstr "ei voitu muuntaa UTF-8-merkistöstä UCS-4-merkistöön"
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr "stringprep_profile: %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
-#, fuzzy, c-format
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
+#, c-format
msgid "could not convert from UTF-8 to %s"
-msgstr "Ei voitu muuntaa UTF-8-merkistöstä %s-merkistöön."
+msgstr "ei voitu muuntaa UTF-8-merkistöstä %s-merkistöön."
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr "punycode_encode: %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
msgstr "malloc-käsky"
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr "punycode_decode: %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
-#, fuzzy, c-format
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
+#, c-format
msgid "could not convert from UCS-4 to UTF-8"
-msgstr "Ei voitu muuntaa UCS-4-merkistöstä UTF-8-merkistöön."
+msgstr "ei voitu muuntaa UCS-4-merkistöstä UTF-8-merkistöön."
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr "idna_to_ascii_4z: %s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "idna_to_unicode_8z4z (TLD): %s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr "tld_check_4z (sijainti %lu): %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr "tld_check_4z: %s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "idna_to_unicode_8z4z: %s"
-#: src/idn.c:537
-#, fuzzy, c-format
+#: src/idn.c:543
+#, c-format
msgid "could not do NFKC normalization"
-msgstr "Merkkijono ei ole idempotentti Unicode NFKC-normeerauksen aikana"
+msgstr "ei voitu tehdä NFKC-normeerausta."
#~ msgid ""
#~ "\n"
-# Messages français pour GNU concernant libidn.
-# Copyright © 1996 Free Software Foundation, Inc.
+# Messages français pour GNU concernant libidn.
+# Copyright © 1996 Free Software Foundation, Inc.
# This file is distributed under the same licence as the libidn package.
# Marc Veillet <scouigne@gmail.com>, 2008.
+# Jean-Philippe Guérard <jean-philippe.guerard@corbeaunoir.org>, 2011.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU libidn-1.9\n"
+"Project-Id-Version: GNU libidn-1.21\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
-"PO-Revision-Date: 2008-09-15 09:32-0500\n"
-"Last-Translator: Marc Veillet <scouigne@gmail.com>\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
+"PO-Revision-Date: 2011-06-28 00:12+0200\n"
+"Last-Translator: Jean-Philippe Guérard <jean-philippe.guerard@corbeaunoir."
+"org>\n"
"Language-Team: French <traduc@traduc.org>\n"
+"Language: fr\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
-msgstr "Succès"
+msgstr "Succès"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
-msgstr "La préparation de la chaîne a échoué"
+msgstr "Échec de la préparation de la chaîne"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
-msgstr "Punycode a échoué"
+msgstr "Échec du Punycode"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
-msgstr "Pas de chiffre/lettre/tirait fourni dans l'entrée"
+msgstr "Un non chiffre, lettre ou tiret a été fourni en entrée"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
-msgstr "Signe de négation (`-') en préfixe ou en suffixe interdit"
+msgstr "Signe de négation (« - ») interdit comme préfixe ou suffixe"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "La sortie serait trop grande ou trop petite"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
-msgstr "L'entrée ne débute pas par un préfixe ACE (`xn--')"
+msgstr "L'entrée ne débute pas par le préfixe ACE (« xn-- »)"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
-msgstr "La chaîne n'est pas idempotente sous ToASCII"
+msgstr "Chaîne non idempotente avec ToASCII"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
-msgstr "L'entrée contient déjà un préfixe ACE (`xn--')"
+msgstr "L'entrée contient déjà un préfixe ACE (« xn-- »)"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
-msgstr "La fonction système icon() a échoué"
+msgstr "Échec du iconv système"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
-msgstr "Ne peut allouer de la mémoire"
+msgstr "Impossible d'allouer la mémoire"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
-msgstr "La fonction système dlopen() a échoué"
+msgstr "Échec du dlopen système"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "Erreur inconnue"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
-msgstr "La chaîne n'est pas idempotente sous la normalisation Unicode NFKC"
+msgstr "Chaîne non idempotente en normalisation NFKC Unicode"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
-msgstr "Entrée invalide"
+msgstr "Entrée invalide"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
-msgstr "La sortie excèderait l'espace tampon fourni"
+msgstr "La sortie dépasse l'espace tampon fourni"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
-msgstr "La limite de la taille de la chaîne est dépassée"
+msgstr "La taille limite des chaînes est dépassée"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
-msgstr "Interdiction de codes points non affectées dans l'entrée"
+msgstr "L'entrée contient des codes caractères non attribués interdits"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
-msgstr "Codes points prohibés dans l'entrée"
+msgstr "L'entrée contient des codes caractères prohibés"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
-msgstr "Propriétés bidirectionnelles conflictuelles dans l'entrée"
+msgstr "L'entrée contient des propriétés bidirectionnelles en conflit"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
-msgstr "Chaîne bidirectionnelle mal composée"
+msgstr "Chaîne bidirectionnelle mal composée"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
-msgstr "Codes points bidirectionnels prohibés dans l'entrée"
+msgstr "L'entrée contient des codes caractères bidirectionnels prohibés"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
-msgstr "Erreur dans la définition de profil de stringprep"
+msgstr "Erreur dans la définition de profil stringprep"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
-msgstr "Conflit de fanions avec le profil"
+msgstr "Le drapeau est en conflit avec le profil"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "Profil inconnu"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
-msgstr "La normalisation Unicode a échoué (erreur interne)"
+msgstr "La normalisation Unicode a échoué (erreur interne)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
-msgstr "Codes points prohibés par le domaine de haut niveau"
+msgstr "Le domaine de premier niveau prohibe ces codes caractères"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
-msgstr "Entrée manquante"
+msgstr "Entrée manquante"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
-msgstr "Aucun domaine de haut niveau n'a été repéré dans l'entrée"
+msgstr "Aucun domaine de premier niveau n'a été identifié dans l'entrée"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
-msgstr "Essayer `%s --help' pour plus d'information.\n"
+msgstr "Essayez « %s --help » pour plus d'information.\n"
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
-msgstr "Usage : %s [OPTION]... [STRINGS]...\n"
+msgstr "Utilisation : %s [OPTION]... [CHAÎNES]...\n"
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
msgstr ""
-"Nom de domaine internationalisé (IDN) convertit les STRINGS, ou les entrées "
-"standards.\n"
+"IDN converti des CHAÎNES ou l'entrée standard.\n"
"\n"
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"\n"
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
-"Interface de ligne de commande pour la bibliothèque de nom de domaine "
-"internationalisé.\n"
+"Interface en ligne de commande de la bibliothèque libidn (noms de\n"
+"domaines internationalisés).\n"
"\n"
-"Toutes les chaînes doivent être encodées dans le format préféré de table de "
-"caractères\n"
-"défini sur le système local. Utilisez `--debug' pour déterminer de quelle "
-"table de caractère il s'agit. Vous\n"
-"pourvez outrepasser cette table de caractères en utilisant une variable "
-"d'environnement CHARSET.\n"
+"Toutes les chaînes sont supposées être codées avec le jeu de\n"
+"caractère principal de vos paramètres régionaux (les « locales »).\n"
+"Utilisez « --debug » pour identifier le jeu de caractères en\n"
+"question. Vous pouvez modifier le jeu de caractère utilisé en\n"
+"définissant la variable d'environnement CHARSET.\n"
"\n"
-"Pour traiter une chaîne qui commence par `-', par exemple `-foo', utilisez "
-"`--'\n"
-"afin de signaler la fin des paramètres, comme dans `idn --quiet -a -- -"
-"foo'.\n"
+"Pour traiter une chaîne commençant par « - », comme « -foo »,\n"
+"utilisez « -- » pour indiquer la fin des options. Par exemple :\n"
+"« idn --quiet -a -- -foo ».\n"
"\n"
-"Les arguments obligatoires des options longues sont également obligatoires "
-"pour les options courtes.\n"
+"Les arguments obligatoires des options longues sont également\n"
+"obligatoires pour les options courtes.\n"
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
msgstr ""
-" -h, --help Imprime l'aide et quitte\n"
-" -V, --version Imprime la version et quitte\n"
+" -h, --help Imprime l'aide et s'arrête\n"
+" -V, --version Imprime la version et s'arrête\n"
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -a, --idna-to-ascii Convert to ACE according to IDNA (default mode)\n"
" -u, --idna-to-unicode Convert from ACE according to IDNA\n"
msgstr ""
-" -s, --stringprep Traite la chaîne en fonction du profil nameprep\n"
-" -d, --punycode-decode Décode le Punycode\n"
-" -e, --punycode-encode Encode le Punycode\n"
-" -a, --idna-to-ascii Convertit vers ACE selon le mode IDNA (mode par "
-"défaut)\n"
-" -u, --idna-to-unicode Convertit depuis ACE selon IDNA\n"
-
-#: src/idn.c:100
-#, fuzzy
+" -s, --stringprep Prépare la chaîne selon le profil nameprep\n"
+" -d, --punycode-decode Décode le Punycode\n"
+" -e, --punycode-encode Code en Punycode\n"
+" -a, --idna-to-ascii Conversion IDNA vers un codage ACE\n"
+" -u, --idna-to-unicode Conversion IDNA depuis un codage ACE\n"
+
+#: src/idn.c:102
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
msgstr ""
-" --allow-unassigned Permute le fanion IDNA AllowUnassigned\n"
-" --usestd3asciirules Permute le fanion IDNA UseSTD3ASCIIRules\n"
+" --allow-unassigned Bascule le drapeau AllowUnassigned d'IDNA\n"
+" (désactivé par défaut).\n"
+" --usestd3asciirules Bascule le drapeau UseSTD3ASCIIRules d'IDNA\n"
+" (désactivé par défaut).\n"
-#: src/idn.c:104
-#, fuzzy
+#: src/idn.c:106
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
msgstr ""
-" -t, --tld Vérifie la chaîne pour des règles TLD "
-"spéficiques\n"
-" Seulement pour --idna-to-ascii et --idna-to-"
-"unicode\n"
+" --no-tld Ne pas vérifier les règles spécifiques aux "
+"domaines\n"
+" de premier niveau (TLD). Uniquement valable "
+"pour\n"
+" --idna-to-ascii et --idna-to-unicode\n"
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
-" -n, --nfkc Uniformise la chaîne en fonction de Unicode v3.2 "
-"NFKC\n"
+" -n, --nfkc Applique à la chaîne la normalisation NFKC\n"
+" d'Unicode 3.2\n"
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" `iSCSI', `Nodeprep', `Resourceprep', \n"
" `trace', `SASLprep'\n"
msgstr ""
-" -p, --profile=STRING Utilise un profil stringprep à la place\n"
-" Profils stringprep valides : `Nameprep',\n"
-" `iSCSI', `Nodeprep', `Resourceprep', \n"
-" `trace', `SASLprep'\n"
+" -p, --profile=CHAÎNE Utilise à la place le profil stringprep indiqué\n"
+" Les profils valides sont :\n"
+" « Nameprep », « iSCSI », « Nodeprep »,\n"
+" « Resourceprep », « trace », « SASLprep »\n"
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
msgstr ""
-" --debug Imprime les données de débogage\n"
+" --debug Affiche des informations de débogage\n"
" --quiet Mode silencieux\n"
-#: src/idn.c:173
-#, fuzzy, c-format
+#: src/idn.c:175
+#, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr "Seulement une option parmi -s, -e, -d, -a ou -u peut être spécifiée."
+msgstr "Une seule option parmi -s, -e, -d, -a, -u et -n peut être indiquée"
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
-msgstr "Jeu de caractères `%s'.\n"
+msgstr "Jeu de caractères « %s ».\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
"character.\n"
-msgstr ""
-"Tapez chaque chaque chaîne sur une seule ligne terminée par un retour de "
-"chariot.\n"
+msgstr "Saisissez une chaîne par ligne, terminée par un passage à la ligne.\n"
-#: src/idn.c:199
-#, fuzzy, c-format
+#: src/idn.c:205
+#, c-format
msgid "input error"
-msgstr "Erreur de saisie"
+msgstr "entrée erronée"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
-#, fuzzy, c-format
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
+#, c-format
msgid "could not convert from %s to UTF-8"
-msgstr "Ne peut effectuer la conversion à partir de %s vers UTF-8."
+msgstr "Conversion impossible en UTF-8 depuis %s"
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
-#, fuzzy, c-format
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
+#, c-format
msgid "could not convert from UTF-8 to UCS-4"
-msgstr "Ne peut effectuer la conversion à partir de UTF-8 vers UCS-4."
+msgstr "Conversion impossible en UCS-4 depuis UTF-8"
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
-msgstr "stringprep_profile : %s"
+msgstr "stringprep_profile : %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
-#, fuzzy, c-format
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
+#, c-format
msgid "could not convert from UTF-8 to %s"
-msgstr "Ne peut effectuer la conversion à partir de UTF-8 vers %s."
+msgstr "Conversion impossible en %s depuis UTF-8"
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
-msgstr "punycode_encode : %s"
+msgstr "punycode_encode : %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
msgstr "malloc"
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
-msgstr "punycode_decode : %s"
+msgstr "punycode_decode : %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
-#, fuzzy, c-format
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
+#, c-format
msgid "could not convert from UCS-4 to UTF-8"
-msgstr "Ne peut effectuer la conversion à partir de UCS-4 vers UTF-8."
+msgstr "Conversion impossible en UTF-8 depuis UCS-4"
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
-msgstr "idna_to_ascii_4z : %s"
+msgstr "idna_to_ascii_4z : %s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
-msgstr "idna_to_unicode_8z4z (TLD) : %s"
+msgstr "idna_to_unicode_8z4z (TLD)Â : %s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
-msgstr "tld_check_4z (position %lu) : %s"
+msgstr "tld_check_4z (position %lu)Â : %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
-msgstr "tld_check_4z : %s"
+msgstr "tld_check_4z : %s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
-msgstr "idna_to_unicode_8z4z : %s"
+msgstr "idna_to_unicode_8z4z : %s"
-#: src/idn.c:537
-#, fuzzy, c-format
+#: src/idn.c:543
+#, c-format
msgid "could not do NFKC normalization"
-msgstr "Ne peut compléter l'uniformisation NFKC"
-
-#~ msgid ""
-#~ "\n"
-#~ "Report bugs to <%s>.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Rapporter les anomalies à <%s>.\n"
-
-#~ msgid "input[%d] = U+%04x\n"
-#~ msgstr "entrée[%d] = U+%04x\n"
-
-#~ msgid "output[%d] = U+%04x\n"
-#~ msgstr "sortie[%d] = U+%04x\n"
-
-#~ msgid "tld[%d] = U+%04x\n"
-#~ msgstr "tld[%d] = U+%04x\n"
-
-#~ msgid "%s: fgets() failed: "
-#~ msgstr "%s: fgets() a échoué: "
-
-#~ msgid "%s: stringprep_profile() failed with error %d.\n"
-#~ msgstr "%s: stringprep_profile() a échoué avec l'erreur %d.\n"
-
-#~ msgid "%s: punycode_encode() failed with error %d.\n"
-#~ msgstr "%s: punycode_encode() a échoué avec l'erreur %d.\n"
-
-#~ msgid "%s: malloc() failed: "
-#~ msgstr "%s: malloc() a échoué: "
-
-#~ msgid "%s: punycode_decode() failed with error %d.\n"
-#~ msgstr "%s: punycode_decode() a échoué avec l'erreur %d.\n"
-
-#~ msgid "%s: idna_to_ascii_4z() failed with error %d.\n"
-#~ msgstr "%s: idna_to_ascii_4z() a échoué avec l'erreur %d.\n"
-
-#~ msgid "%s: TLD idna_to_unicode_8z8z() failed with error %d.\n"
-#~ msgstr "%s: TLD idna_to_unicode_8z8z() a échoué avec l'erreur %d.\n"
-
-#~ msgid "%s: string rejected by TLD test (Unicode position %d)\n"
-#~ msgstr "%s: chaîne rejeté par TLD test (Unicode position %d)\n"
-
-#~ msgid "%s: tld_check_4z failed with error %d.\n"
-#~ msgstr "%s: tld_check_4z a échoué avec l'erreur %d.\n"
+msgstr "Échec de la normalisation NFKC"
msgstr ""
"Project-Id-Version: libidn 1.9\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
"PO-Revision-Date: 2008-08-16 21:05+0700\n"
"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
+"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr "Sukses"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr "Penyiapan benang gagal"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr "Punycode gagal"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr "Non-digit/huruf/sambung di masukan"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr "Tanda minus awalan atau akhiran terlarang (`-')"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "Keluaran akan terlalu besar atau terlalu kecil"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
msgstr "Masukan tidak diawali dengan prefiks ACE (`xn--')"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr "Benar tidak idempoten di bawah ToASCII"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
msgstr "Masukan telah berisi prefiks ACE (`xn--')"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr "Sistem iconv gagal"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr "Tak dapat alokasi memori"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr "Sistem dlopen gagal"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "Galat tak dikenal"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
msgstr "Benang tak idempoten di bawah normalisasi Unicode NFKC"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr "Masukan tidak sah"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr "Keluaran akan melebihi ruang penyangga yang disediakan"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr "Batas ruang benang tercapai"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr "Titik kode tak ditugaskan terlarang di masukan"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr "Titik kode terlarang di masukan"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr "Properti dwiarah konflik di masukan"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr "Benang dwiarah salah bentuk"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr "Titik kode dwiarah terlarang di masukan"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr "Galat di definisi profil stringprep"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr "Bendera konflik dengan profil"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "Profil tak diketahui"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr "Normalisasi unicode gagal (galat internal)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr "Titik kode dilarang oleh ranah level atas"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr "Masukan hilang"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr "Tak ada ranah level atas yang ditemukan di masukan"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Coba `'%s -- help' untuk informasi lebih lanjut.\n"
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr "Penggunaan: %s [OPSI]... [BENANG]...\n"
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
msgstr ""
"BENANG konversi Internationalized Domain Name (IDN), atau masukan standar.\n"
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"Argumen mandatori untuk opsi panjang merupakan mandatori untuk opsi pendek "
"juga.\n"
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
" -h, --help Cetak bantuan lalu keluar\n"
" -V, --version Cetak versi lalu keluar\n"
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -a, --idna-to-ascii Konversi ke ACE menurut IDNA (mode standar)\n"
" -u, --idna-to-unicode Konversi dari ACE menurut IDNA\n"
-#: src/idn.c:100
+#: src/idn.c:102
#, fuzzy
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --allow-unassigned Ubah bendera AllowUnassigned IDNA\n"
" --usestd3asciirules Ubah bendera UseSTD3ASCIIRules IDNA\n"
-#: src/idn.c:104
+#: src/idn.c:106
#, fuzzy
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Hanya untuk --idna-to-ascii dan --idna-to-"
"unicode\n"
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
" -n, --nfkc Normalisasi benang berdasarkan Unicode v3.2 NFKC\n"
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" `iSCSI', `Nodeprep', `Resourceprep', \n"
" `trace', `SASLprep'\n"
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
" --debug Cetak informasi awakutu\n"
" --quiet Operasi diam\n"
-#: src/idn.c:173
+#: src/idn.c:175
#, fuzzy, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
msgstr ""
"Hanya salah satu dari -s, -e, -d, -a, -u, atau -n yang dapat ditentukan."
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "Set karakter `%s'.\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
"Ketik tiap benang masukan pada baris itu sendiri, diakhiri oleh karakter "
"newline.\n"
-#: src/idn.c:199
+#: src/idn.c:205
#, fuzzy, c-format
msgid "input error"
msgstr "Galat masukan"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
#, fuzzy, c-format
msgid "could not convert from %s to UTF-8"
msgstr "Tak dapat konversi dari %s ke UTF-8."
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
#, fuzzy, c-format
msgid "could not convert from UTF-8 to UCS-4"
msgstr "Tak dapat konversi dari UTF-8 ke UCS-4"
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr "stringprep_profile: %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
#, fuzzy, c-format
msgid "could not convert from UTF-8 to %s"
msgstr "Tak dapat konversi dari UTF-8 ke %s."
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr "punycode_encode: %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
msgstr ""
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr "punycode_decode: %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
#, fuzzy, c-format
msgid "could not convert from UCS-4 to UTF-8"
msgstr "Tak dapat konversi dari UCS-4 ke UTF-8."
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr "idna_to_ascii_4z: %s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "idna_to_unicode_8z4z (TLD): %s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr "tld_check_4z (posisi %lu): %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr "tld_check_4z: %s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "idna_to_unicode_8z4z: %s"
-#: src/idn.c:537
+#: src/idn.c:543
#, fuzzy, c-format
msgid "could not do NFKC normalization"
msgstr "Tak dapat melakukan normalisasi NFKC."
msgstr ""
"Project-Id-Version: libidn 1.9\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
"PO-Revision-Date: 2008-07-07 10:57+0100\n"
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
+"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr "Successo"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr "Preparazione della stringa non riuscita"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr "Punycode non riuscito"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr "Non-numero/lettera/trattino nell'input"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr "Segno meno (\"-\") iniziale o finale proibito"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "L'output sarebbe troppo grande o troppo piccolo"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
msgstr "L'input non comincia con il prefisso ACE (\"xn--\")"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr "La stringa non è idempotente per ToASCII"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
msgstr "L'input contiene già il prefisso ACE (\"xn--\")"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr "Chiamata di sistema iconv non riuscita"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr "Impossibile allocare memoria"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr "Chiamata di sistema dlopen non riuscita"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "Errore sconosciuto"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
msgstr "La stringa non è idempotente per la normalizzazione Unicode NFKC"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr "Input non valido"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr "L'output eccederebbe il buffer fornito"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr "Limite di grandezza della stringa superato"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr "Codepoints non assegnati proibiti nell'input"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr "Codepoints proibiti nell'input"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr "Proprietà bidirezionali in conflitto nell'input"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr "Stringa bidirezionale malformata"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr "Codepoints bidirezionali proibiti nell'input"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr "Errore nella definizione del profilo stringprep"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr "Flag in conflitto con il profilo"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "Profilo sconosciuto"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr "Normalizzazione Unicode non riuscita (errore interno)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr "Codepoints proibiti dal dominio di primo livello"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr "Input mancante"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr "Nessun dominio di primo livello trovato nell'input"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Usare \"%s --help\" per maggiori informazioni.\n"
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr "Uso: %s [OPZIONI]... [STRINGHE]...\n"
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
"internazionalizzato (IDN).\n"
"\n"
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle "
"corte.\n"
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
" -h, --help Stampa questo aiuto ed esce\n"
" -V, --version Stampa la versione ed esce\n"
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
"predefinita)\n"
" -u, --idna-to-unicode Converti da ACE secondo IDNA\n"
-#: src/idn.c:100
+#: src/idn.c:102
#, fuzzy
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --allow-unassigned Attiva l'opzione IDNA AllowUnassigned\n"
" --usestd3asciirules Attiva l'opzione IDNA UseSTD3ASCIIRules\n"
-#: src/idn.c:104
+#: src/idn.c:106
#, fuzzy
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
"TLD\n"
" Solo per --idna-to-ascii e --idna-to-unicode\n"
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
" -n, --nfkc Normalizza la stringa come Unicode v3.2 NFKC\n"
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" `iSCSI', `Nodeprep', `Resourceprep', \n"
" `trace', `SASLprep'\n"
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
" --debug Stampa le informazioni di debug\n"
" --quiet Opera silenziosamente\n"
-#: src/idn.c:173
+#: src/idn.c:175
#, fuzzy, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
msgstr "Può essere indicato solo uno tra -s, -e, -d, -a, -u e -n."
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "Set di caratteri \"%s\".\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
"Scrivere ogni stringa di input in una riga a sé, terminata da un carattere "
"di newline.\n"
-#: src/idn.c:199
+#: src/idn.c:205
#, fuzzy, c-format
msgid "input error"
msgstr "Errore di input"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
#, fuzzy, c-format
msgid "could not convert from %s to UTF-8"
msgstr "Impossibile convertire da %s a UTF-8."
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
#, fuzzy, c-format
msgid "could not convert from UTF-8 to UCS-4"
msgstr "Impossibile convertire da UTF-8 a UCS-4."
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr "stringprep_profile: %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
#, fuzzy, c-format
msgid "could not convert from UTF-8 to %s"
msgstr "Impossibile convertire da UTF-8 a %s."
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr "punycode_encode: %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
msgstr ""
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr "punycode_decode: %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
#, fuzzy, c-format
msgid "could not convert from UCS-4 to UTF-8"
msgstr "Impossibile convertire da UCS-4 a UTF-8."
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr "idna_to_ascii_4z: %s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "idna_to_unicode_8z4z (TLD): %s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr "tld_check_4z (posizione %lu): %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr "tld_check_4z: %s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "idna_to_unicode_8z4z: %s"
-#: src/idn.c:537
+#: src/idn.c:543
#, fuzzy, c-format
msgid "could not do NFKC normalization"
msgstr "Impossibile effettuare la normalizzazione Unicode NFKC."
msgstr ""
"Project-Id-Version: libidn 0.5.16\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
"PO-Revision-Date: 2006-03-21 11:20+0900\n"
"Last-Translator: GOTO Masanori <gotom@debian.or.jp>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
+"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=EUC-JP\n"
"Content-Transfer-Encoding: 8bit\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr "À®¸ù"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr "ʸ»úÎó½àÈ÷Ãæ¤Ç¼ºÇÔ"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr "PunycodeÁàºîÃæ¤Ç¼ºÇÔ"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr "ÆþÎÏÃæ¤Ë¿ôÃÍ/ʸ»ú/¥Ï¥¤¥Õ¥ó°Ê³°¤¬Â¸ºß"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr "ÀèÆ¬¤Þ¤¿¤ÏËöÈø¤Ë¤¢¤ë¥Þ¥¤¥Ê¥¹µ¹æ(`-')¤Ïµö¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "½ÐÎϤÏÂ礤¹¤®¤ë¤«¾®¤µ¤¹¤®¤ë"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
msgstr "ÆþÎϤÏACEÀÜÆ¬¼(`xn--')¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤»¤ó"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr "ToASCIIÁàºî¤Ë¤è¤ë½ÐÎÏʸ»úÎó¤ÏÅù¤·¤¯¤¢¤ê¤Þ¤»¤ó"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
msgstr "ÆþÎϤϴû¤ËACEÀÜÆ¬¼(`xn--')¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr "¥·¥¹¥Æ¥à´Ø¿ôiconv¤Ç¼ºÇÔ"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr "¥á¥â¥ê³ÎÊݤ˼ºÇÔ"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr "¥·¥¹¥Æ¥à´Ø¿ôdlopen¤Ç¼ºÇÔ"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "̤ÃΤΥ¨¥é¡¼"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
msgstr "Unicode¤ÎNFKCÀµµ¬²½¤Ë¤è¤ë½ÐÎÏʸ»úÎó¤ÏÅù¤·¤¯¤¢¤ê¤Þ¤»¤ó"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr "ÉÔÀµ¤ÊÆþÎÏ"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr "½ÐÎϤÏÍ¿¤¨¤é¤ì¤¿¥Ð¥Ã¥Õ¥¡¶õ´Ö¤Ë¼ý¤Þ¤ê¤Þ¤»¤ó"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr "ʸ»úÎóĹ¤Î¸Â³¦¤ò±Û¤¨¤Þ¤·¤¿"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr "µö¤µ¤ì¤Æ¤¤¤Ê¤¤Ì¤³äÅö¤Æ¤Î¥³¡¼¥É¥Ý¥¤¥ó¥È¤¬ÆþÎϤˤ¢¤ê¤Þ¤¹"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr "¶Ø»ß¥³¡¼¥É¥Ý¥¤¥ó¥È¤¬ÆþÎϤˤ¢¤ê¤Þ¤¹"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr "ÁÐÊý¸þ(bidirectional)À¤¬ÆþÎÏÃæ¤Ç¾×ÆÍ¤·¤Æ¤¤¤Þ¤¹"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr "ÉÔÀµ¤ÊÁÐÊý¸þ(bidirectional)ʸ»úÎó"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr "¶Ø»ßÁÐÊý¸þ(bidirectional)¥³¡¼¥É¥Ý¥¤¥ó¥È¤¬ÆþÎϤˤ¢¤ê¤Þ¤¹"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr "stringprep¥×¥í¥Õ¥¡¥¤¥ëÄêµÁ¤Ç¥¨¥é¡¼"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr "¥Õ¥é¥°¤¬¥×¥í¥Õ¥¡¥¤¥ë¤È¾×ÆÍ¤·¤Æ¤¤¤Þ¤¹"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "̤ÃΤΥץí¥Õ¥¡¥¤¥ë"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr "UnicodeÀµµ¬²½¤Ë¼ºÇÔ(ÆâÉô¥¨¥é¡¼)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr "¥È¥Ã¥×¥ì¥Ù¥ë¥É¥á¥¤¥ó¤Ë¤è¤Ã¤Æ¶Ø»ß¤µ¤ì¤¿¥³¡¼¥É¥Ý¥¤¥ó¥È"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr "ÆþÎϤ¬¤¢¤ê¤Þ¤»¤ó"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr "¥È¥Ã¥×¥ì¥Ù¥ë¥É¥á¥¤¥ó¤¬ÆþÎÏÃæ¤Ëȯ¸«¤Ç¤¤Þ¤»¤ó"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr ""
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr ""
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
msgstr ""
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
msgstr ""
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -u, --idna-to-unicode Convert from ACE according to IDNA\n"
msgstr ""
-#: src/idn.c:100
+#: src/idn.c:102
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
msgstr ""
-#: src/idn.c:104
+#: src/idn.c:106
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
msgstr ""
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" `trace', `SASLprep'\n"
msgstr ""
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
msgstr ""
-#: src/idn.c:173
+#: src/idn.c:175
#, fuzzy, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
msgstr "-s, -e, -d, -a, -u¤Î¤¤¤º¤ì¤«1¤Ä¤À¤±¤¬»ØÄê¤Ç¤¤Þ¤¹."
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "ʸ»ú¥»¥Ã¥È`%s'.\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
"character.\n"
msgstr "²þ¹Ôʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿ÆþÎÏʸ»úÎó¤ò1¹Ô¤º¤Ä¥¿¥¤¥×¤·¤Æ¤¯¤À¤µ¤¤.\n"
-#: src/idn.c:199
+#: src/idn.c:205
#, fuzzy, c-format
msgid "input error"
msgstr "ÆþÎÏ¥¨¥é¡¼"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
#, fuzzy, c-format
msgid "could not convert from %s to UTF-8"
msgstr "%s¤«¤éUTF-8¤ËÊÑ´¹¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿."
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
#, fuzzy, c-format
msgid "could not convert from UTF-8 to UCS-4"
msgstr "UTF-8¤«¤éUCS-4¤ËÊÑ´¹¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿."
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr "stringprep_profile: %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
#, fuzzy, c-format
msgid "could not convert from UTF-8 to %s"
msgstr "UTF-8¤«¤é%s¤ËÊÑ´¹¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿."
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr "punycode_encode: %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
msgstr "malloc"
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr "punycode_decode: %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
#, fuzzy, c-format
msgid "could not convert from UCS-4 to UTF-8"
msgstr "UCS-4¤«¤éUTF-8¤ËÊÑ´¹¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿."
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr "idna_to_ascii_4z: %s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "idna_to_unicode_8z4z (TLD): %s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, fuzzy, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr "tld_check_4z (°ÌÃÖ %d): %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr "tld_check_4z: %s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "idna_to_unicode_8z4z: %s"
-#: src/idn.c:537
+#: src/idn.c:543
#, fuzzy, c-format
msgid "could not do NFKC normalization"
msgstr "Unicode¤ÎNFKCÀµµ¬²½¤Ë¤è¤ë½ÐÎÏʸ»úÎó¤ÏÅù¤·¤¯¤¢¤ê¤Þ¤»¤ó"
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: libidn 1.15\n"
+"Project-Id-Version: libidn 1.23\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr ""
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr ""
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr ""
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr ""
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr ""
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr ""
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
msgstr ""
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr ""
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
msgstr ""
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr ""
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr ""
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr ""
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr ""
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
msgstr ""
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr ""
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr ""
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr ""
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr ""
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr ""
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr ""
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr ""
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr ""
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr ""
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr ""
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr ""
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr ""
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr ""
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr ""
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr ""
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr ""
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr ""
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
msgstr ""
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
msgstr ""
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -u, --idna-to-unicode Convert from ACE according to IDNA\n"
msgstr ""
-#: src/idn.c:100
+#: src/idn.c:102
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
msgstr ""
-#: src/idn.c:104
+#: src/idn.c:106
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
msgstr ""
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" `trace', `SASLprep'\n"
msgstr ""
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
msgstr ""
-#: src/idn.c:173
+#: src/idn.c:175
#, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
msgstr ""
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr ""
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
"character.\n"
msgstr ""
-#: src/idn.c:199
+#: src/idn.c:205
#, c-format
msgid "input error"
msgstr ""
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
#, c-format
msgid "could not convert from %s to UTF-8"
msgstr ""
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
#, c-format
msgid "could not convert from UTF-8 to UCS-4"
msgstr ""
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr ""
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
#, c-format
msgid "could not convert from UTF-8 to %s"
msgstr ""
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr ""
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
msgstr ""
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr ""
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
#, c-format
msgid "could not convert from UCS-4 to UTF-8"
msgstr ""
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr ""
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr ""
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr ""
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr ""
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr ""
-#: src/idn.c:537
+#: src/idn.c:543
#, c-format
msgid "could not do NFKC normalization"
msgstr ""
-# Dutch translations for libidn.
-# Copyright (C) 2008 Free Software Foundation, Inc.
+# Dutch translations for GNU libidn.
+# Copyright (C) 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the libidn package.
#
+# De vertalingen die beginnen met "## " zijn debug-tekstjes
+# die eigenlijk niet in dit bestand thuishoren.
+#
+# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2007, 2008, 2011.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2004.
-# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2007, 2008.
msgid ""
msgstr ""
-"Project-Id-Version: libidn-1.9\n"
+"Project-Id-Version: libidn-1.21\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
-"PO-Revision-Date: 2008-07-02 22:58+0200\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
+"PO-Revision-Date: 2011-04-28 11:27+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
+"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
+"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr "Gelukt"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr "Voorbewerken van tekenreeks is mislukt"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr "Punycodering is mislukt"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr "Iets anders dan cijfer/letter/verbindingsstreepje in invoer"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr "Ongeoorloofd minteken ('-') aan begin of eind"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "Uitvoer zou te groot of te klein worden"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
msgstr "Invoer begint niet met een ACE-voorvoegsel ('xn--')"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr ""
"Tekenreeks is niet hetzelfde na retourconversie (van ASCII naar Unicode en "
"terug)"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
msgstr "Invoer bevat al een ACE-voorvoegsel ('xn--')"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr "De iconv()-systeemfunctie is mislukt"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr "Onvoldoende geheugen beschikbaar"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr "De dlopen()-systeemfunctie is mislukt"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "Onbekende fout"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
msgstr ""
"Tekenreeks is problematisch bij normalisering volgens Unicode-NFKC:\n"
"er zijn verschillende mogelijkheden"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr "Ongeldige invoer"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr "Uitvoer zou niet in toegewezen bufferruimte passen"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr "Tekenreeks is te lang"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr "Ongeoorloofde niet-toegewezen tekencodes in invoer"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr "Ongeoorloofde tekencodes in invoer"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr "Tegenstrijdige eigenschappen voor tweerichtingentekst in invoer"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr "Ongeldige tekenreeks voor tweerichtingentekst"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr "Ongeoorloofde tekencodes (bij tweerichtingentekst) in invoer"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr "Fout in profieldefinitie voor 'stringprep'"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr "Vlag botst met profiel"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "Onbekend profiel"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr "Normalisatie van Unicode is mislukt (*interne fout*)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr "Ongeoorloofde tekencodes voor gegeven topdomein"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr "Ontbrekende invoer"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr "Geen topdomein gevonden in de invoer"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Typ '%s --help' voor meer informatie.\n"
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr "Gebruik: %s [OPTIE]... [TEKENREEKS]...\n"
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
msgstr ""
" \n"
"De gegeven TEKENREEKS (of standaardinvoer) omzetten volgens de regels\n"
-"die gelden voor geïnternationaliseerde domeinnamen.\n"
+"die gelden voor geïnternationaliseerde domeinnamen (IDN).\n"
"\n"
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"\n"
"(Een verplicht argument bij een lange optie geldt ook voor de korte vorm.)\n"
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
" -h, --help deze hulptekst tonen en stoppen\n"
" -V, --version programmaversie tonen en stoppen\n"
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -a, --idna-to-ascii naar ACE omzetten volgens IDNA (standaardmodus)\n"
" -u, --idna-to-unicode uit ACE omzetten volgens IDNA\n"
-#: src/idn.c:100
-#, fuzzy
+#: src/idn.c:102
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
msgstr ""
-" --allow-unassigned de IDNA-vlag 'AllowUnassigned' omschakelen\n"
-" --usestd3asciirules de IDNA-vlag 'UseSTD3ASCIIRules' omschakelen\n"
+" --allow-unassigned de IDNA-vlag 'AllowUnassigned' inschakelen\n"
+" --usestd3asciirules de IDNA-vlag 'UseSTD3ASCIIRules' inschakelen\n"
-#: src/idn.c:104
-#, fuzzy
+#: src/idn.c:106
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
msgstr ""
-" -t, --tld tekst aan topleveldomein-specifieke regels "
-"toetsen;\n"
-" alleen bij --idna-to-ascii en --idna-to-"
-"unicode\n"
+" --no-tld tekst niet aan TLD-specifieke regels toetsen;\n"
+" alleen bij '--idna-to-ascii' en '--idna-to-"
+"unicode'\n"
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
" -n, --nfkc tekenreeks normaliseren volgens Unicode-NFKC "
"ver3.2\n"
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" 'Nodeprep', 'Resourceprep', 'trace', "
"'SASLprep'\n"
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
msgstr ""
-" --debug debuginformatie weergeven\n"
+" --debug debug-informatie weergeven\n"
" --quiet geen meldingen produceren\n"
-#: src/idn.c:173
-#, fuzzy, c-format
+#: src/idn.c:175
+#, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
msgstr ""
-"Slechts één van de opties '-s', '-e', '-d', '-a', '-u' of '-n' is mogelijk."
+"slechts één van de opties '-s', '-e', '-d', '-a', '-u' of '-n' is mogelijk"
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "Tekenset '%s'.\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
msgstr ""
"Typ elke invoertekenreeks op een afzonderlijke regel, afgesloten met Enter.\n"
-#: src/idn.c:199
-#, fuzzy, c-format
+#: src/idn.c:205
+#, c-format
msgid "input error"
-msgstr "Invoerfout"
+msgstr "invoerfout"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
-#, fuzzy, c-format
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
+#, c-format
msgid "could not convert from %s to UTF-8"
-msgstr "Conversie van %s naar UTF-8 is mislukt."
+msgstr "conversie van %s naar UTF-8 is mislukt"
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
-#, fuzzy, c-format
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
+#, c-format
msgid "could not convert from UTF-8 to UCS-4"
-msgstr "Conversie van UTF-8 naar UCS-4 is mislukt."
+msgstr "conversie van UTF-8 naar UCS-4 is mislukt"
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr "## stringprep_profile(): %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
-#, fuzzy, c-format
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
+#, c-format
msgid "could not convert from UTF-8 to %s"
-msgstr "Conversie van UTF-8 naar %s is mislukt."
+msgstr "conversie van UTF-8 naar %s is mislukt"
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr "## punycode_encode(): %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
-msgstr ""
+msgstr "onvoldoende geheugen beschikbaar"
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr "## punycode_decode(): %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
-#, fuzzy, c-format
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
+#, c-format
msgid "could not convert from UCS-4 to UTF-8"
-msgstr "Conversie van UCS-4 naar UTF-8 is mislukt."
+msgstr "conversie van UCS-4 naar UTF-8 is mislukt"
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr "## idna_to_ascii_4z(): %s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "## idna_to_unicode_8z4z (TLD): %s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr "## tld_check_4z (positie %lu): %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr "## tld_check_4z(): %s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "## idna_to_unicode_8z4z(): %s"
-#: src/idn.c:537
-#, fuzzy, c-format
+#: src/idn.c:543
+#, c-format
msgid "could not do NFKC normalization"
-msgstr "Kan NFKC-normalisering niet uitvoeren."
+msgstr "kan NFKC-normalisering niet uitvoeren"
#~ msgid ""
#~ "\n"
# Polish translation for libidn.
-# Copyright (C) 2004, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2007, 2008, 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the libidn package.
-# Jakub Bogusz <qboosh@pld-linux.org>, 2004-2008.
+# Jakub Bogusz <qboosh@pld-linux.org>, 2004-2011.
#
msgid ""
msgstr ""
-"Project-Id-Version: libidn 1.9\n"
+"Project-Id-Version: libidn 1.21\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
-"PO-Revision-Date: 2008-07-02 22:10+0200\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
+"PO-Revision-Date: 2011-04-28 20:02+0200\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
+"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr "Sukces"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr "Przygotowanie ³añcucha nie powiod³o siê"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr "Punycode zawiod³o"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr "Znak nie bêd±cy cyfr±, liter± ani kresk± na wej¶ciu"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr "Zabroniony wiod±cy lub koñcz±cy znak minus (`-')"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "Wyj¶cie mo¿e byæ zbyt du¿e lub zbyt ma³e"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
msgstr "Wej¶cie nie zaczyna siê przedrostkiem ACE (`xn--')"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr "£añcuch nie idempotentny wzglêdem ToASCII"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
msgstr "Wej¶cie ju¿ zawiera przedrostek ACE (`xn--')"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr "Systemowa funkcja iconv nie powiod³a siê"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr "Nie mo¿na przydzieliæ pamiêci"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr "Systemowa funkcja dlopen nie powiod³a siê"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "Nieznany b³±d"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
msgstr "£añcuch nie idempotentny wzglêdem normalizacji Unikodu NFKC"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr "B³êdne wej¶cie"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr "Wyj¶cie przekroczy³oby dostarczone miejsce w buforze"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr "Przekroczony limit rozmiaru ³añcucha"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr "Zabronione nieprzypisane znaki na wej¶ciu"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr "Zabronione znaki na wej¶ciu"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr "Konfliktowe w³asno¶ci dwukierunkowego pisma na wej¶ciu"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr "¬le sformu³owany ³añcuch dwukierunkowy"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr "Zabronione znaki dwukierunkowe na wej¶ciu"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr "B³±d w definicji profilu stringprep"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr "Konflikt flag z profilem"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "Nieznany profil"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr "Normalizacja Unikodu nie powiod³a siê (b³±d wewnêtrzny)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr "Znaki zabronione przez domenê najwy¿szego poziomu"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr "Brak wej¶cia"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr "Nie znaleziono domeny najwy¿szego poziomu na wej¶ciu"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Polecenie `%s --help' pozwoli uzyskaæ wiêcej informacji.\n"
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr "Sk³adnia: %s [OPCJA]... [£AÑCUCHY]...\n"
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
"dla umiêdzynarodowionych nazw domen (IDN - Internationalized Domain Name).\n"
"\n"
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"odpowiednich\n"
"krótkich opcji.\n"
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
" -h, --help Wypisanie opisu i zakoñczenie\n"
" -V, --version Wypisanie wersji i zakoñczenie\n"
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -a, --idna-to-ascii Konwersja do ACE zgodnie z IDNA (tryb domy¶lny)\n"
" -u, --idna-to-unicode Konwersja z ACE zgodnie z IDNA\n"
-#: src/idn.c:100
-#, fuzzy
+#: src/idn.c:102
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
" --allow-unassigned W³±czenie flagi IDNA AllowUnassigned\n"
" --usestd3asciirules W³±czenie flagi IDNA UseSTD3ASCIIRules\n"
-#: src/idn.c:104
-#, fuzzy
+#: src/idn.c:106
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
msgstr ""
-" -t, --tld Sprawdzenie ³añcucha pod k±tem regu³ "
+" --no-tld Niesprawdzenie ³añcucha pod k±tem regu³ "
"specyficznych\n"
" dla TLD;\n"
" tylko dla --idna-to-ascii and --idna-to-"
"unicode\n"
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
" -n, --nfkc Normalizacja ³añcucha zgodnie z Unicode v3.2 "
"NFKC\n"
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" `iSCSI', `Nodeprep', `Resourceprep',\n"
" `trace', `SASLprep'\n"
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
" --debug Wypisywanie informacji diagnostycznych\n"
" --quiet Dzia³enie po cichu\n"
-#: src/idn.c:173
-#, fuzzy, c-format
+#: src/idn.c:175
+#, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr "Mo¿na podaæ tylko jedno z -s, -e, -d, -a, -u lub -n."
+msgstr "Mo¿na podaæ tylko jedno z -s, -e, -d, -a, -u lub -n"
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "Zestaw znaków `%s'.\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
msgstr ""
"Nale¿y podaæ ka¿dy ³añcuch w osobnej linii, zakoñczony znakiem nowej linii.\n"
-#: src/idn.c:199
-#, fuzzy, c-format
+#: src/idn.c:205
+#, c-format
msgid "input error"
-msgstr "B³±d wej¶cia"
+msgstr "b³±d wej¶cia"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
-#, fuzzy, c-format
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
+#, c-format
msgid "could not convert from %s to UTF-8"
-msgstr "Nie mo¿na przekonwertowaæ z %s na UTF-8."
+msgstr "nie mo¿na przekonwertowaæ z %s na UTF-8"
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
-#, fuzzy, c-format
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
+#, c-format
msgid "could not convert from UTF-8 to UCS-4"
-msgstr "Nie mo¿na przekonwertowaæ z UTF-8 na UCS-4."
+msgstr "nie mo¿na przekonwertowaæ z UTF-8 na UCS-4"
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr "stringprep_profile: %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
-#, fuzzy, c-format
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
+#, c-format
msgid "could not convert from UTF-8 to %s"
-msgstr "Nie mo¿na przekonwertowaæ z UTF-8 na %s."
+msgstr "nie mo¿na przekonwertowaæ z UTF-8 na %s"
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr "punycode_encode: %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
-msgstr ""
+msgstr "malloc"
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr "punycode_decode: %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
-#, fuzzy, c-format
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
+#, c-format
msgid "could not convert from UCS-4 to UTF-8"
-msgstr "Nie mo¿na przekonwertowaæ z UCS-4 na UTF-8."
+msgstr "nie mo¿na przekonwertowaæ z UCS-4 na UTF-8"
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr "idna_to_ascii_4z: %s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "idna_to_unicode_8z4z (TLD): %s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr "tld_check_4z (pozycja %lu): %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr "tld_check_4z: %s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "idna_to_unicode_8z4z: %s"
-#: src/idn.c:537
-#, fuzzy, c-format
+#: src/idn.c:543
+#, c-format
msgid "could not do NFKC normalization"
-msgstr "Normalizacja NFKC nie powiod³a siê."
-
-#~ msgid ""
-#~ "\n"
-#~ "Report bugs to <%s>.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Prosimy zg³aszaæ b³êdy na adres <%s>.\n"
-#~ "B³êdy w t³umaczeniu prosimy zg³aszaæ na adres <translation-team-pl@lists."
-#~ "sourceforge.net>.\n"
+msgstr "normalizacja NFKC nie powiod³a siê"
msgstr ""
"Project-Id-Version: libidn 0.4.1\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
"PO-Revision-Date: 2004-04-23 12:00-0500\n"
"Last-Translator: Laurentiu Buzdugan <lbuz@rolix.org>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
+"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr ""
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr ""
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr ""
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr ""
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr ""
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr ""
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
msgstr ""
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr ""
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
msgstr ""
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr ""
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr ""
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr ""
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr ""
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
msgstr ""
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr ""
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr ""
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr ""
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr ""
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr ""
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr ""
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr ""
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr ""
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr ""
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr ""
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr ""
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr ""
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr ""
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr ""
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr ""
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr ""
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr ""
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
msgstr ""
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
msgstr ""
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -u, --idna-to-unicode Convert from ACE according to IDNA\n"
msgstr ""
-#: src/idn.c:100
+#: src/idn.c:102
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
msgstr ""
-#: src/idn.c:104
+#: src/idn.c:106
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
msgstr ""
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" `trace', `SASLprep'\n"
msgstr ""
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
msgstr ""
-#: src/idn.c:173
+#: src/idn.c:175
#, fuzzy, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
msgstr ""
"%s: Numai una din opþiunile -s, -e, -d, -a sau -u poate fi specificatã.\n"
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "Charset `%s'.\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
"Scrieþi fiecare ºir de intrare pe o singurã linie, terminatã cu un caracter "
"linie-nouã.\n"
-#: src/idn.c:199
+#: src/idn.c:205
#, c-format
msgid "input error"
msgstr ""
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
#, fuzzy, c-format
msgid "could not convert from %s to UTF-8"
msgstr "%s: nu am putut transforma din %s în UTF-8.\n"
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
#, fuzzy, c-format
msgid "could not convert from UTF-8 to UCS-4"
msgstr "%s: nu am putut transforma din UTF-8 în UCS-4.\n"
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr ""
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
#, fuzzy, c-format
msgid "could not convert from UTF-8 to %s"
msgstr "%s: nu am putut transforma din UTF-8 în %s.\n"
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr ""
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
msgstr ""
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr ""
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
#, fuzzy, c-format
msgid "could not convert from UCS-4 to UTF-8"
msgstr "%s: nu am putut transforma din UCS-4 în UTF-8.\n"
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr ""
-#: src/idn.c:392
+#: src/idn.c:398
#, fuzzy, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "%s: idna_to_unicode_8z4z() a eºuat cu eroarea %d.\n"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr ""
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr ""
-#: src/idn.c:458
+#: src/idn.c:464
#, fuzzy, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "%s: idna_to_unicode_8z4z() a eºuat cu eroarea %d.\n"
-#: src/idn.c:537
+#: src/idn.c:543
#, c-format
msgid "could not do NFKC normalization"
msgstr ""
msgstr ""
"Project-Id-Version: libidn 0.5.16\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
"PO-Revision-Date: 2005-09-04 15:02-0400\n"
"Last-Translator: Aleksandar Jelenak <jelenak@verizon.net>\n"
"Language-Team: Serbian <gnu@prevod.org>\n"
+"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr "Успех"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr "Неуспешна припрема ниске"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr "Punycode није успео"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr "Нецифра/слово/цртица у улазу"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr "Забрањен водећи или пратећи знак минус („-“)"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "Излаз би био превелик или премали"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
msgstr "Улаз не почиње са ACE префиксом („xn--“)"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr "Ниска није идемпотентна под ToASCII"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
msgstr "Улаз већ садржи ACE префикс („xn--“)"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr "Системски iconv није успео"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr "Не може обезбедити меморију"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr "Неуспешан системски dlopen"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "Непозната грешка"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
msgstr "Ниска није идемпотентна под Unicode NFKC нормализацијом"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr "Неважећи улаз"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr "Излаз би премашио предвиђену величину бафера"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr "Ограничење величине ниске премашено"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr "Забрањене недодељене кодне тачке у улазу"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr "Ускраћене кодне тачке у улазу"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr "Супротстављена двосмерна својства у улазу"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr "Наказна двосмерна ниска"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr "Ускраћене двосмерне кодне тачке у улазу"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr "Грешка у дефиницији stringprep профила"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr "Сукоб заставица са профилом"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "Непознат профил"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr "Уникод нормализације није успела (унутрашња грешка)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr "Кодне тачке забрањене највишим доменом"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr "Недостаје улаз"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr "Највиши домен није нађен у улазу"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr ""
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr ""
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
msgstr ""
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
msgstr ""
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -u, --idna-to-unicode Convert from ACE according to IDNA\n"
msgstr ""
-#: src/idn.c:100
+#: src/idn.c:102
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
msgstr ""
-#: src/idn.c:104
+#: src/idn.c:106
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
msgstr ""
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" `trace', `SASLprep'\n"
msgstr ""
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
msgstr ""
-#: src/idn.c:173
+#: src/idn.c:175
#, fuzzy, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
msgstr "Може бити задато само једно од: -s, -e, -d, -a или -u."
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "Скуп знакова „%s“.\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
msgstr ""
"Куцајте улазну ниску на засебној линији, завршавајући знаком за нови ред.\n"
-#: src/idn.c:199
+#: src/idn.c:205
#, fuzzy, c-format
msgid "input error"
msgstr "Улазна грешка"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
#, fuzzy, c-format
msgid "could not convert from %s to UTF-8"
msgstr "Није могао да претвори из %s у UTF-8."
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
#, fuzzy, c-format
msgid "could not convert from UTF-8 to UCS-4"
msgstr "Није могао да претвори из UTF-8 у UCS-4."
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr "stringprep_profile: %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
#, fuzzy, c-format
msgid "could not convert from UTF-8 to %s"
msgstr "Није могао да претвори из UTF-8 у %s."
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr "punycode_encode: %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
msgstr "malloc"
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr "punycode_decode: %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
#, fuzzy, c-format
msgid "could not convert from UCS-4 to UTF-8"
msgstr "Није могао да претвори из UCS-4 у UTF-8."
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr "idna_to_ascii_4z: %s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "idna_to_unicode_8z4z (TLD): %s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, fuzzy, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr "tld_check_4z (положај %d): %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr "tld_check_4z: %s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "idna_to_unicode_8z4z: %s"
-#: src/idn.c:537
+#: src/idn.c:543
#, fuzzy, c-format
msgid "could not do NFKC normalization"
msgstr "Ниска није идемпотентна под Unicode NFKC нормализацијом"
--- /dev/null
+# Ukrainian translation of libidn.
+# Copyright (C) 2011 Free Software Foundation, Inc.
+# This file is distributed under the same license as the libidn package.
+#
+# Yuri Chornoivan <yurchor@ukr.net>, 2011.
+msgid ""
+msgstr ""
+"Project-Id-Version: libidn 1.21\n"
+"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
+"PO-Revision-Date: 2011-04-30 13:44+0300\n"
+"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
+"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.2\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
+msgid "Success"
+msgstr "Виконано"
+
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
+msgid "String preparation failed"
+msgstr "Помилка під час спроби приготування рядка"
+
+#: lib/strerror-idna.c:83
+msgid "Punycode failed"
+msgstr "Помилка punycode"
+
+#: lib/strerror-idna.c:87
+msgid "Non-digit/letter/hyphen in input"
+msgstr "Символ, відмінний від цифри, літери або дефіса у вхідних даних"
+
+#: lib/strerror-idna.c:91
+msgid "Forbidden leading or trailing minus sign (`-')"
+msgstr "Некоректний початковий або кінцевий дефіс («-»)"
+
+#: lib/strerror-idna.c:95
+msgid "Output would be too large or too small"
+msgstr "Виведені дані будуть занадто об’ємними або занадто малими"
+
+#: lib/strerror-idna.c:99
+msgid "Input does not start with ACE prefix (`xn--')"
+msgstr "Вхідні дані не починаються з префікса ACE («xn--»)"
+
+#: lib/strerror-idna.c:103
+msgid "String not idempotent under ToASCII"
+msgstr "Рядок не є ідемпотентним у ToASCII"
+
+#: lib/strerror-idna.c:107
+msgid "Input already contain ACE prefix (`xn--')"
+msgstr "Вхідні дані вже містять префікс ACE («xn--»)"
+
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
+msgid "System iconv failed"
+msgstr "Помилка системного iconv"
+
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
+msgid "Cannot allocate memory"
+msgstr "Не вдалося виділити пам’ять"
+
+#: lib/strerror-idna.c:119
+msgid "System dlopen failed"
+msgstr "Помилка системного dlopen"
+
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
+msgid "Unknown error"
+msgstr "Невідома помилка"
+
+#: lib/strerror-pr29.c:63
+msgid "String not idempotent under Unicode NFKC normalization"
+msgstr "Рядок не є ідемпотентним після NFKC-нормалізації Unicode"
+
+#: lib/strerror-punycode.c:63
+msgid "Invalid input"
+msgstr "Некоректні вхідні дані"
+
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
+msgid "Output would exceed the buffer space provided"
+msgstr "Об’єм виведених даних перевищує наданий об’єм буфера"
+
+#: lib/strerror-punycode.c:71
+msgid "String size limit exceeded"
+msgstr "Перевищено обмеження на довжину рядка"
+
+#: lib/strerror-stringprep.c:83
+msgid "Forbidden unassigned code points in input"
+msgstr "Некоректні непов’язані символи коду у вхідних даних"
+
+#: lib/strerror-stringprep.c:87
+msgid "Prohibited code points in input"
+msgstr "Некоректні символи коду у вхідних даних"
+
+#: lib/strerror-stringprep.c:91
+msgid "Conflicting bidirectional properties in input"
+msgstr "Суперечливі двонапрямні властивості у вхідних даних"
+
+#: lib/strerror-stringprep.c:95
+msgid "Malformed bidirectional string"
+msgstr "Помилка у форматуванні двонаправленого рядка"
+
+#: lib/strerror-stringprep.c:99
+msgid "Prohibited bidirectional code points in input"
+msgstr "Некоректні двонапрямні символи коду у вхідних даних"
+
+#: lib/strerror-stringprep.c:107
+msgid "Error in stringprep profile definition"
+msgstr "Помилка у визначені профілю stringprep"
+
+#: lib/strerror-stringprep.c:111
+msgid "Flag conflict with profile"
+msgstr "Прапорець конфліктує з профілем"
+
+#: lib/strerror-stringprep.c:115
+msgid "Unknown profile"
+msgstr "Невідомий профіль"
+
+#: lib/strerror-stringprep.c:119
+msgid "Unicode normalization failed (internal error)"
+msgstr "Помилка під час спроби нормалізації Unicode (внутрішня помилка)"
+
+#: lib/strerror-tld.c:65
+msgid "Code points prohibited by top-level domain"
+msgstr "Символи коду, заборонені доменом вищого рівня"
+
+#: lib/strerror-tld.c:69
+msgid "Missing input"
+msgstr "Не вказано вхідних даних"
+
+#: lib/strerror-tld.c:81
+msgid "No top-level domain found in input"
+msgstr "У вхідних даних не знайдено домену вищого рівня"
+
+#: src/idn.c:68
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Виконайте команду «%s --help», щоб дізнатися більше.\n"
+
+#: src/idn.c:72
+#, c-format
+msgid "Usage: %s [OPTION]... [STRINGS]...\n"
+msgstr "Використання: %s [ПАРАМЕТР]... [РЯДКИ]...\n"
+
+#: src/idn.c:75
+msgid ""
+"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
+"\n"
+msgstr ""
+"Перетворення Internationalized Domain Name (IDN) РЯДКІВ або даних зі "
+"стандартного джерела вхідних даних.\n"
+"\n"
+
+#: src/idn.c:79
+msgid ""
+"Command line interface to the internationalized domain name library.\n"
+"\n"
+"All strings are expected to be encoded in the preferred charset used\n"
+"by your locale. Use `--debug' to find out what this charset is. You\n"
+"can override the charset used by setting environment variable CHARSET.\n"
+"\n"
+"To process a string that starts with `-', for example `-foo', use `--'\n"
+"to signal the end of parameters, as in `idn --quiet -a -- -foo'.\n"
+"\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+"Інтерфейс командного рядка до бібліотеки інтернаціоналізованих назв "
+"доменів.\n"
+"\n"
+"Програма вважає, що кодуванням всіх рядків є основне кодування вашої\n"
+"локалі. Скористайтеся параметром «--debug», щоб переглянути дані щодо "
+"кодування.\n"
+"Змінити набір символів можна за допомогою змінної середовища CHARSET.\n"
+"\n"
+"Для обробки рядка, що починається з «-», наприклад, «-foo» додайте у команду "
+"«--»\n"
+"для позначення завершення параметрів. Приклад: «idn --quiet -a -- -foo».\n"
+"\n"
+"Обов’язкові аргументи для параметрів у розгорнутому записів є обов’язковими "
+"і для\n"
+"скорочених форм запису.\n"
+
+#: src/idn.c:91
+msgid ""
+" -h, --help Print help and exit\n"
+" -V, --version Print version and exit\n"
+msgstr ""
+" -h, --help вивести довідкові дані і завершити роботу\n"
+" -V, --version вивести дані щодо версії і завершити роботу\n"
+
+#: src/idn.c:95
+msgid ""
+" -s, --stringprep Prepare string according to nameprep profile\n"
+" -d, --punycode-decode Decode Punycode\n"
+" -e, --punycode-encode Encode Punycode\n"
+" -a, --idna-to-ascii Convert to ACE according to IDNA (default mode)\n"
+" -u, --idna-to-unicode Convert from ACE according to IDNA\n"
+msgstr ""
+" -s, --stringprep обробити рядок відповідно до профілю nameprep\n"
+" -d, --punycode-decode декодувати Punycode\n"
+" -e, --punycode-encode закодувати у Punycode\n"
+" -a, --idna-to-ascii перетворити на ACE відповідно до IDNA (типовий "
+"режим)\n"
+" -u, --idna-to-unicode перетворити з ACE відповідно до IDNA\n"
+
+#: src/idn.c:102
+msgid ""
+" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
+" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
+msgstr ""
+" --allow-unassigned увімкнути або вимкнути прапорець AllowUnassigned "
+"IDNA (типово вимкнено)\n"
+" --usestd3asciirules увімкнути або вимкнути прапорець "
+"UseSTD3ASCIIRules IDNA (типово вимкнено)\n"
+
+#: src/idn.c:106
+msgid ""
+" --no-tld Don't check string for TLD specific rules\n"
+" Only for --idna-to-ascii and --idna-to-unicode\n"
+msgstr ""
+" --no-tld не перевіряти рядок на використання специфічних "
+"правил TLD\n"
+" Лише для параметрів --idna-to-ascii і --idna-to-"
+"unicode\n"
+
+#: src/idn.c:110
+msgid ""
+" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
+msgstr ""
+" -n, --nfkc нормалізувати рядок відповідно до NFKC Unicode "
+"версії 3.2\n"
+
+#: src/idn.c:113
+msgid ""
+" -p, --profile=STRING Use specified stringprep profile instead\n"
+" Valid stringprep profiles: `Nameprep',\n"
+" `iSCSI', `Nodeprep', `Resourceprep', \n"
+" `trace', `SASLprep'\n"
+msgstr ""
+" -p, --profile=РЯДОК використовувати вказаний профіль stringprep "
+"profile instead\n"
+" Можливі значення профілів stringprep: "
+"«Nameprep»,\n"
+" «iSCSI», «Nodeprep», «Resourceprep», \n"
+" «trace», «SASLprep»\n"
+
+#: src/idn.c:119
+msgid ""
+" --debug Print debugging information\n"
+" --quiet Silent operation\n"
+msgstr ""
+" --debug вивести діагностичні дані\n"
+" --quiet обробка без додаткових повідомлень\n"
+
+#: src/idn.c:175
+#, c-format
+msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
+msgstr "можна використовувати лише один з параметрів -s, -e, -d, -a, -u або -n"
+
+#: src/idn.c:185
+#, c-format
+msgid "Charset `%s'.\n"
+msgstr "Набір символів «%s».\n"
+
+#: src/idn.c:190
+#, c-format
+msgid ""
+"Type each input string on a line by itself, terminated by a newline "
+"character.\n"
+msgstr ""
+"Виводити кожен рядок у окремому рядку, розділяти рядки символом нового "
+"рядка.\n"
+
+#: src/idn.c:205
+#, c-format
+msgid "input error"
+msgstr "помилка у вхідних даних"
+
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
+#, c-format
+msgid "could not convert from %s to UTF-8"
+msgstr "не вдалося перетворити дані з формату %s на UTF-8"
+
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
+#, c-format
+msgid "could not convert from UTF-8 to UCS-4"
+msgstr "не вдалося перетворити дані з формату UTF-8 на UCS-4"
+
+#: src/idn.c:240
+#, c-format
+msgid "stringprep_profile: %s"
+msgstr "stringprep_profile: %s"
+
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
+#, c-format
+msgid "could not convert from UTF-8 to %s"
+msgstr "не вдалося перетворити дані з формату UTF-8 на %s"
+
+#: src/idn.c:298
+#, c-format
+msgid "punycode_encode: %s"
+msgstr "punycode_encode: %s"
+
+#: src/idn.c:320
+msgid "malloc"
+msgstr "malloc"
+
+#: src/idn.c:326
+#, c-format
+msgid "punycode_decode: %s"
+msgstr "punycode_decode: %s"
+
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
+#, c-format
+msgid "could not convert from UCS-4 to UTF-8"
+msgstr "не вдалося перетворити дані з формату UCS-4 на UTF-8"
+
+#: src/idn.c:384
+#, c-format
+msgid "idna_to_ascii_4z: %s"
+msgstr "idna_to_ascii_4z: %s"
+
+#: src/idn.c:398
+#, c-format
+msgid "idna_to_unicode_8z4z (TLD): %s"
+msgstr "idna_to_unicode_8z4z (TLD): %s"
+
+#: src/idn.c:412 src/idn.c:485
+#, c-format
+msgid "tld_check_4z (position %lu): %s"
+msgstr "tld_check_4z (позиція %lu): %s"
+
+#: src/idn.c:415 src/idn.c:491
+#, c-format
+msgid "tld_check_4z: %s"
+msgstr "tld_check_4z: %s"
+
+#: src/idn.c:464
+#, c-format
+msgid "idna_to_unicode_8z4z: %s"
+msgstr "idna_to_unicode_8z4z: %s"
+
+#: src/idn.c:543
+#, c-format
+msgid "could not do NFKC normalization"
+msgstr "не вдалося виконати NFKC-нормалізацію"
msgstr ""
"Project-Id-Version: libidn 1.9\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
"PO-Revision-Date: 2008-07-03 22:18+0930\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com> \n"
+"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: LocFactoryEditor 1.7b3\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr "Thành công"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr "Lỗi chuẩn bị chuỗi"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr "Lỗi punycode (mã yếu đuối)"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr "Dữ liệu nhập chứa ký tự khác chữ số/chữ/dấu gạch nối"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr "Không cho phép dấu gạch nối (`-') đi trước hay theo sau"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "Dữ liệu xuất sẽ quá lớn hay quá nhỏ"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
msgstr "Dữ liệu nhập không bắt đầu bằng tiền tố ACE (`xn--')"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr "Chuỗi không tránh nhân lên dưới ToASCII"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
msgstr "Dữ liệu nhập đã chứa tiền tố ACE (`xn--')"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr "Lỗi iconv hệ thống"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr "Không thể cấp phát bộ nhớ"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr "Lỗi dlopen hệ thống"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "Lỗi không rõ"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
msgstr "Chuỗi không phải tránh nhân lên dưới sự tiêu chuẩn hoá NFKC Unicode"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr "Dữ liệu nhập không hợp lệ"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr "Dữ liệu xuất sẽ vượt quá sức chứa đệm đã cung cấp"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr "Giới hạn kích cỡ chuỗi bị vượt quá"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr "Dữ liệu nhập chứa mã điểm không được gán cấm"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr "Dữ liệu nhập chứa điểm mã cấm"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr "Dữ liệu nhập chứa tài sản hai hướng xung đột"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr "Chuỗi hai hướng dạng sai"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr "Dữ liệu nhập chứa điểm mã hai hướng cấm"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr "Lỗi trong lời định nghĩa hồ sơ stringprep (chuẩn bị chuỗi)"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr "Cờ xung dột với hồ sơ"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "Hồ sơ lạ"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr "Lỗi tiêu chuẩn hoá Unicode (lỗi nội bộ)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr "Điểm mã bị cấm bởi miền cấp đầu"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr "Thiếu dữ liệu nhập"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr "Không tìm thấy miền cấp đầu trong dữ liệu nhập"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Thử lệnh « %s --help » để xem thêm thông tin.\n"
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr "Sử dụng: %s [TÙY_CHỌN]... [CHUỖI]...\n"
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
"Chuyển đổi các chuỗi sang IDN (tên miền đã quốc tế hoá), hoặc đầu vào tiêu "
"chuẩn.\n"
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"Bạn cũng có thể ghi đè lên bộ ký tự này bằng cách đặt biến môi trường\n"
"CHARSET.\n"
"\n"
-"Để xử lý một chuỗi bắt đầu với « - », v.d. « -foo », dùng « -- » để ngụ ý kết "
-"thúc các tham số, như trong « idn --quiet -a -- -foo ».\n"
+"Để xử lý một chuỗi bắt đầu với « - », v.d. « -foo », dùng « -- » để ngụ ý "
+"kết thúc các tham số, như trong « idn --quiet -a -- -foo ».\n"
"\n"
"Mọi đối số bắt buộc phải sử dụng với tùy chọn dài cũng bắt buộc với tùy chọn "
"ngắn.\n"
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
" -h, --help In ra trợ giúp, rồi thoát\n"
" -V, --version In ra số thứ tự phiên bản, rồi thoát\n"
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
"định)\n"
" -u, --idna-to-unicode Chuyển đổi từ ACE tùy theo IDNA\n"
-#: src/idn.c:100
+#: src/idn.c:102
#, fuzzy
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --allow-unassigned Bật/tắt cờ IDNA AllowUnassigned\n"
" --usestd3asciirules Bật/tắt cờ IDNA UseSTD3ASCIIRules\n"
-#: src/idn.c:104
+#: src/idn.c:106
#, fuzzy
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Chỉ cho « --idna-to-ascii » và « --idna-to-"
"unicode »\n"
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr ""
" -n, --nfkc Tiêu chuẩn hoá chuỗi tùy theo Unicode v3.2 NFKC\n"
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" `iSCSI', `Nodeprep', `Resourceprep', \n"
" `trace', `SASLprep'\n"
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
" --debug In ra thông tin gỡ lỗi\n"
" --quiet Không xuất thông điệp\n"
-#: src/idn.c:173
+#: src/idn.c:175
#, fuzzy, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
msgstr "Chỉ có thể ghi rõ một của những đối số -s, -e, -d, -a, -u hay -n."
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "Bộ ký tự « %s ».\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
msgstr ""
"Gõ mỗi chuỗi nhập trên một đường riêng, kết thúc bằng ký tự dòng mới.\n"
-#: src/idn.c:199
+#: src/idn.c:205
#, fuzzy, c-format
msgid "input error"
msgstr "Lỗi gõ"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
#, fuzzy, c-format
msgid "could not convert from %s to UTF-8"
msgstr "Không thể chuyển đổi từ %s sang UTF-8."
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
#, fuzzy, c-format
msgid "could not convert from UTF-8 to UCS-4"
msgstr "Không thể chuyển đổi từ UTF-8 sang UCS-4."
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr "stringprep_profile: %s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
#, fuzzy, c-format
msgid "could not convert from UTF-8 to %s"
msgstr "Không thể chuyển đổi từ UTF-8 sang %s."
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr "punycode_encode: %s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
msgstr ""
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr "punycode_decode: %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
#, fuzzy, c-format
msgid "could not convert from UCS-4 to UTF-8"
msgstr "Không thể chuyển đổi từ UCS-4 sang UTF-8."
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr "idna_to_ascii_4z: %s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "idna_to_unicode_8z4z (TLD): %s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr "tld_check_4z (vị trí %lu): %s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr "tld_check_4z: %s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "idna_to_unicode_8z4z: %s"
-#: src/idn.c:537
+#: src/idn.c:543
#, fuzzy, c-format
msgid "could not do NFKC normalization"
msgstr "Không thể tiêu chuẩn hoá kiểu NFKC"
# Copyright (C) 2008 Free Software Foundation, Inc.
# This file is distributed under the same license as the libidn package.
# Meng Jie <zuxyhere@eastday.com>, 2005.
-# Ji ZhengYu <zhengyuji@gmail.com>, 2008.
+# Ji ZhengYu <zhengyuji@gmail.com>, 2011
#
msgid ""
msgstr ""
-"Project-Id-Version: libidn 1.9\n"
+"Project-Id-Version: libidn 1.21\n"
"Report-Msgid-Bugs-To: bug-libidn@gnu.org\n"
-"POT-Creation-Date: 2009-06-08 12:39+0200\n"
-"PO-Revision-Date: 2008-07-06 09:28中国标准时间\n"
+"POT-Creation-Date: 2011-11-25 11:38+0100\n"
+"PO-Revision-Date: 2011-04-28 20:17+0800\n"
"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
-"Language-Team: Chinese (simplified) <translation-team-zh-cn@lists."
-"sourceforge.net>\n"
+"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
+"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: lib/strerror-idna.c:74 lib/strerror-pr29.c:58 lib/strerror-punycode.c:58
-#: lib/strerror-stringprep.c:78 lib/strerror-tld.c:60
+#: lib/strerror-idna.c:75 lib/strerror-pr29.c:59 lib/strerror-punycode.c:59
+#: lib/strerror-stringprep.c:79 lib/strerror-tld.c:61
msgid "Success"
msgstr "成功"
-#: lib/strerror-idna.c:78 lib/strerror-pr29.c:66
+#: lib/strerror-idna.c:79 lib/strerror-pr29.c:67
msgid "String preparation failed"
msgstr "预备字符串失败"
-#: lib/strerror-idna.c:82
+#: lib/strerror-idna.c:83
msgid "Punycode failed"
msgstr "Punycode 失败"
-#: lib/strerror-idna.c:86
+#: lib/strerror-idna.c:87
msgid "Non-digit/letter/hyphen in input"
msgstr "输入中出现非数字/字母/连字符"
-#: lib/strerror-idna.c:90
+#: lib/strerror-idna.c:91
msgid "Forbidden leading or trailing minus sign (`-')"
msgstr "不能使用‘-’作为起始或终止符"
-#: lib/strerror-idna.c:94
+#: lib/strerror-idna.c:95
msgid "Output would be too large or too small"
msgstr "输出太大或太小"
-#: lib/strerror-idna.c:98
+#: lib/strerror-idna.c:99
msgid "Input does not start with ACE prefix (`xn--')"
msgstr "输入未以 ACE 前缀(‘xn--’)开头"
-#: lib/strerror-idna.c:102
+#: lib/strerror-idna.c:103
msgid "String not idempotent under ToASCII"
msgstr "ToASCII 中字符串不是幂等的"
-#: lib/strerror-idna.c:106
+#: lib/strerror-idna.c:107
msgid "Input already contain ACE prefix (`xn--')"
msgstr "输入已经包含 ACE前缀(‘xn--’)"
-#: lib/strerror-idna.c:110 lib/strerror-tld.c:76
+#: lib/strerror-idna.c:111 lib/strerror-tld.c:77
msgid "System iconv failed"
msgstr "系统 iconv 失败"
-#: lib/strerror-idna.c:114 lib/strerror-stringprep.c:122 lib/strerror-tld.c:72
+#: lib/strerror-idna.c:115 lib/strerror-stringprep.c:123 lib/strerror-tld.c:73
msgid "Cannot allocate memory"
msgstr "无法分配内存"
-#: lib/strerror-idna.c:118
+#: lib/strerror-idna.c:119
msgid "System dlopen failed"
msgstr "系统 dlopen 失败"
-#: lib/strerror-idna.c:122 lib/strerror-pr29.c:70 lib/strerror-punycode.c:74
-#: lib/strerror-stringprep.c:126 lib/strerror-tld.c:84
+#: lib/strerror-idna.c:123 lib/strerror-pr29.c:71 lib/strerror-punycode.c:75
+#: lib/strerror-stringprep.c:127 lib/strerror-tld.c:85
msgid "Unknown error"
msgstr "未知错误"
-#: lib/strerror-pr29.c:62
+#: lib/strerror-pr29.c:63
msgid "String not idempotent under Unicode NFKC normalization"
msgstr "Unicode NFKC 正规化过程中字符串不是幂等的"
-#: lib/strerror-punycode.c:62
+#: lib/strerror-punycode.c:63
msgid "Invalid input"
msgstr "无效输入"
-#: lib/strerror-punycode.c:66 lib/strerror-stringprep.c:102
+#: lib/strerror-punycode.c:67 lib/strerror-stringprep.c:103
msgid "Output would exceed the buffer space provided"
msgstr "输入将溢出所提供的缓冲区"
-#: lib/strerror-punycode.c:70
+#: lib/strerror-punycode.c:71
msgid "String size limit exceeded"
msgstr "字符串大小越界"
-#: lib/strerror-stringprep.c:82
+#: lib/strerror-stringprep.c:83
msgid "Forbidden unassigned code points in input"
msgstr "输入中不能出现未赋值的代码点"
-#: lib/strerror-stringprep.c:86
+#: lib/strerror-stringprep.c:87
msgid "Prohibited code points in input"
msgstr "输入中不能出现代码点"
-#: lib/strerror-stringprep.c:90
+#: lib/strerror-stringprep.c:91
msgid "Conflicting bidirectional properties in input"
msgstr "输入中出现相互冲突的双向属性"
-#: lib/strerror-stringprep.c:94
+#: lib/strerror-stringprep.c:95
msgid "Malformed bidirectional string"
msgstr "双向字符串格式错误"
-#: lib/strerror-stringprep.c:98
+#: lib/strerror-stringprep.c:99
msgid "Prohibited bidirectional code points in input"
msgstr "输入中不能出现双向的代码点"
-#: lib/strerror-stringprep.c:106
+#: lib/strerror-stringprep.c:107
msgid "Error in stringprep profile definition"
msgstr "Stringpref 配置文件定义出错"
-#: lib/strerror-stringprep.c:110
+#: lib/strerror-stringprep.c:111
msgid "Flag conflict with profile"
msgstr "标识与配置文件冲突"
-#: lib/strerror-stringprep.c:114
+#: lib/strerror-stringprep.c:115
msgid "Unknown profile"
msgstr "未知的配置文件"
-#: lib/strerror-stringprep.c:118
+#: lib/strerror-stringprep.c:119
msgid "Unicode normalization failed (internal error)"
msgstr "Unicode 正规化失败(内部错误)"
-#: lib/strerror-tld.c:64
+#: lib/strerror-tld.c:65
msgid "Code points prohibited by top-level domain"
msgstr "顶级域不接受代码点"
-#: lib/strerror-tld.c:68
+#: lib/strerror-tld.c:69
msgid "Missing input"
msgstr "输入缺失"
-#: lib/strerror-tld.c:80
+#: lib/strerror-tld.c:81
msgid "No top-level domain found in input"
msgstr "输入中未发现顶级域"
-#: src/idn.c:66
+#: src/idn.c:68
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "尝试用‘%s --help’获取更多信息。\n"
-#: src/idn.c:70
+#: src/idn.c:72
#, c-format
msgid "Usage: %s [OPTION]... [STRINGS]...\n"
msgstr "用法: %s [选项]... [字符串]...\n"
-#: src/idn.c:73
+#: src/idn.c:75
msgid ""
"Internationalized Domain Name (IDN) convert STRINGS, or standard input.\n"
"\n"
"字符串或是标准输入的国际化域名(IDN)转化。\n"
"\n"
-#: src/idn.c:77
+#: src/idn.c:79
msgid ""
"Command line interface to the internationalized domain name library.\n"
"\n"
"\n"
"长选项所必需的参数对于短选项来说也是必需的。\n"
-#: src/idn.c:89
+#: src/idn.c:91
msgid ""
" -h, --help Print help and exit\n"
" -V, --version Print version and exit\n"
" -h, --help 打印此帮助并退出\n"
" -V, --version 打印程序版本并退出\n"
-#: src/idn.c:93
+#: src/idn.c:95
msgid ""
" -s, --stringprep Prepare string according to nameprep profile\n"
" -d, --punycode-decode Decode Punycode\n"
" -a, --idna-to-ascii 按 IDNA 转换为 ACE (默认方式)\n"
" -u, --idna-to-unicode 按 IDNA 从 ACE 转换\n"
-#: src/idn.c:100
-#, fuzzy
+#: src/idn.c:102
msgid ""
" --allow-unassigned Toggle IDNA AllowUnassigned flag (default off)\n"
" --usestd3asciirules Toggle IDNA UseSTD3ASCIIRules flag (default off)\n"
msgstr ""
-" --allow-unassigned 切换 IDNA AllowUnassigned 标识\n"
-" --usestd3asciirules 切换 IDNA UseSTD3ASCIIRules 标识\n"
+" --allow-unassigned 切换 IDNA AllowUnassigned 标识(默认关闭)\n"
+" --usestd3asciirules 切换 IDNA UseSTD3ASCIIRules 标识(默认关闭)\n"
-#: src/idn.c:104
-#, fuzzy
+#: src/idn.c:106
msgid ""
" --no-tld Don't check string for TLD specific rules\n"
" Only for --idna-to-ascii and --idna-to-unicode\n"
msgstr ""
-" -t, --tld 按 TLD 指定的规则检查字符串\n"
+" --no-tld 不按 TLD 指定的规则检查字符串\n"
" 仅对 --idna-to-ascii 和 --idna-to-unicode 有效\n"
-#: src/idn.c:108
+#: src/idn.c:110
msgid ""
" -n, --nfkc Normalize string according to Unicode v3.2 NFKC\n"
msgstr " -n, --nfkc 按 Unicode v3.2 NFKC 正规化字符串\n"
-#: src/idn.c:111
+#: src/idn.c:113
msgid ""
" -p, --profile=STRING Use specified stringprep profile instead\n"
" Valid stringprep profiles: `Nameprep',\n"
" `iSCSI', `Nodeprep', `Resourceprep', \n"
" `trace', `SASLprep'\n"
-#: src/idn.c:117
+#: src/idn.c:119
msgid ""
" --debug Print debugging information\n"
" --quiet Silent operation\n"
" --debug 打印调试信息\n"
" --quiet 处理时不显示信息\n"
-#: src/idn.c:173
-#, fuzzy, c-format
+#: src/idn.c:175
+#, c-format
msgid "only one of -s, -e, -d, -a, -u or -n can be specified"
-msgstr "只能指定 -s,-e,-d,-a,-u 或 -n 中的一个。"
+msgstr "只能指定 -s, -e, -d, -a, -u 或是 -n 中的一个"
-#: src/idn.c:181
+#: src/idn.c:185
#, c-format
msgid "Charset `%s'.\n"
msgstr "字符集‘%s’。\n"
-#: src/idn.c:184
+#: src/idn.c:190
#, c-format
msgid ""
"Type each input string on a line by itself, terminated by a newline "
"character.\n"
msgstr "输入时,每个字符串单占一行。\n"
-#: src/idn.c:199
-#, fuzzy, c-format
+#: src/idn.c:205
+#, c-format
msgid "input error"
msgstr "输入错误"
-#: src/idn.c:209 src/idn.c:271 src/idn.c:354 src/idn.c:431 src/idn.c:512
-#, fuzzy, c-format
+#: src/idn.c:215 src/idn.c:277 src/idn.c:360 src/idn.c:437 src/idn.c:518
+#, c-format
msgid "could not convert from %s to UTF-8"
msgstr "无法将 %s 转为 UTF-8"
-#: src/idn.c:217 src/idn.c:242 src/idn.c:278 src/idn.c:495 src/idn.c:524
-#: src/idn.c:548
-#, fuzzy, c-format
+#: src/idn.c:223 src/idn.c:248 src/idn.c:284 src/idn.c:501 src/idn.c:530
+#: src/idn.c:554
+#, c-format
msgid "could not convert from UTF-8 to UCS-4"
-msgstr "无法将 UTF-8 转为 UCS-4。"
+msgstr "无法将 UTF-8 转为 UCS-4"
-#: src/idn.c:234
+#: src/idn.c:240
#, c-format
msgid "stringprep_profile: %s"
msgstr "stringprep_profile:%s"
-#: src/idn.c:257 src/idn.c:299 src/idn.c:342 src/idn.c:500 src/idn.c:561
-#, fuzzy, c-format
+#: src/idn.c:263 src/idn.c:305 src/idn.c:348 src/idn.c:506 src/idn.c:567
+#, c-format
msgid "could not convert from UTF-8 to %s"
-msgstr "无法将 UTF-8 转为 %s。"
+msgstr "无法将 UTF-8 转为 %s"
-#: src/idn.c:292
+#: src/idn.c:298
#, c-format
msgid "punycode_encode: %s"
msgstr "punycode_encode:%s"
-#: src/idn.c:314
+#: src/idn.c:320
msgid "malloc"
msgstr "malloc"
-#: src/idn.c:320
+#: src/idn.c:326
#, c-format
msgid "punycode_decode: %s"
msgstr "punycode_decode: %s"
-#: src/idn.c:337 src/idn.c:361 src/idn.c:439
-#, fuzzy, c-format
+#: src/idn.c:343 src/idn.c:367 src/idn.c:445
+#, c-format
msgid "could not convert from UCS-4 to UTF-8"
-msgstr "无法将 UCS-4 转为 UTF-8。"
+msgstr "无法将 UCS-4 转为 UTF-8"
-#: src/idn.c:378
+#: src/idn.c:384
#, c-format
msgid "idna_to_ascii_4z: %s"
msgstr "idna_to_ascii_4z:%s"
-#: src/idn.c:392
+#: src/idn.c:398
#, c-format
msgid "idna_to_unicode_8z4z (TLD): %s"
msgstr "idna_to_unicode_8z4z (TLD):%s"
-#: src/idn.c:406 src/idn.c:479
+#: src/idn.c:412 src/idn.c:485
#, c-format
msgid "tld_check_4z (position %lu): %s"
msgstr "tld_check_4z (位置 %lu):%s"
-#: src/idn.c:409 src/idn.c:485
+#: src/idn.c:415 src/idn.c:491
#, c-format
msgid "tld_check_4z: %s"
msgstr "tld_check_4z:%s"
-#: src/idn.c:458
+#: src/idn.c:464
#, c-format
msgid "idna_to_unicode_8z4z: %s"
msgstr "idna_to_unicode_8z4z:%s"
-#: src/idn.c:537
+#: src/idn.c:543
#, fuzzy, c-format
msgid "could not do NFKC normalization"
msgstr "不能进行 NFKC 正规化过程。"
--- /dev/null
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.gnu.inet</groupId>
+ <artifactId>libidn</artifactId>
+ <name>GNU IDN Library</name>
+ <version>@VERSION@</version>
+ <description>
+ GNU Libidn is a fully documented implementation of the Stringprep,
+ Punycode and IDNA specifications. Libidn's purpose is to encode
+ and decode internationalized domain names.
+ </description>
+ <url>http://www.gnu.org/software/libidn/</url>
+ <inceptionYear>2002</inceptionYear>
+ <licenses>
+ <license>
+ <name>GNU Lesser General Public License version 2.1 or later</name>
+ <url>http://www.gnu.org/licenses/licenses.html</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+ <scm>
+ <connection>scm:git:git://git.savannah.gnu.org/libidn.git</connection>
+ <url>http://git.savannah.gnu.org/gitweb/?p=libidn.git</url>
+ </scm>
+ <organization>
+ <name>GNU</name>
+ <url>http://www.gnu.org/</url>
+ </organization>
+ <build>
+ <sourceDirectory>${project.basedir}/java</sourceDirectory>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>misc/**</exclude>
+ </excludes>
+ <!-- put your configurations here -->
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009 Simon Josefsson.
+# Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011
+# Simon Josefsson.
#
# This file is part of GNU Libidn.
#
AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS)
AM_CPPFLAGS = -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/gl -I../gl
+AM_CPPFLAGS += -DLOCALEDIR=\"$(localedir)\"
dist_lisp_DATA = punycode.el idna.el
idn_LDADD = libidn_cmd.la ../lib/libidn.la ../gl/libgnu.la $(LTLIBINTL)
localedir = $(datadir)/locale
-DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
idn.c: $(BUILT_SOURCES)
noinst_LTLIBRARIES = libidn_cmd.la
libidn_cmd_la_SOURCES = idn.ggo idn_cmd.c idn_cmd.h
+libidn_cmd_la_LIBADD = ../gl/libgnu.la
libidn_cmd_la_CFLAGS =
idn_cmd.c idn_cmd.h: idn.ggo Makefile.am
gengetopt --unamed-opts --no-handle-version --no-handle-help \
--set-package="idn" \
- --input $^ --file-name idn_cmd || \
- test -f idn_cmd.h -a -f idn_cmd.c || \
- cp $(srcdir)/idn_cmd.h $(srcdir)/idn_cmd.h .
+ --input $^ --file-name idn_cmd
perl -pi -e 's/\[OPTIONS\]/\[OPTION\]/g' idn_cmd.c
perl -pi -e 's/\[FILES\]/\[STRING\]/g' idn_cmd.c
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009 Simon Josefsson.
+# Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011
+# Simon Josefsson.
#
# This file is part of GNU Libidn.
#
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
-libidn_cmd_la_LIBADD =
+libidn_cmd_la_DEPENDENCIES = ../gl/libgnu.la
am_libidn_cmd_la_OBJECTS = libidn_cmd_la-idn_cmd.lo
libidn_cmd_la_OBJECTS = $(am_libidn_cmd_la_OBJECTS)
-libidn_cmd_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+libidn_cmd_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libidn_cmd_la_CFLAGS) \
$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(lispdir)"
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
SOURCES = $(libidn_cmd_la_SOURCES) $(idn_SOURCES)
DIST_SOURCES = $(libidn_cmd_la_SOURCES) $(idn_SOURCES)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
CSHARP_CHOICE = @CSHARP_CHOICE@
CYGPATH_W = @CYGPATH_W@
-DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
+DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DLL_VERSION = @DLL_VERSION@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = $(datadir)/locale
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS)
-AM_CPPFLAGS = -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/gl -I../gl
+AM_CPPFLAGS = -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/gl -I../gl \
+ -DLOCALEDIR=\"$(localedir)\"
dist_lisp_DATA = punycode.el idna.el
idn_SOURCES = idn.c
idn_LDADD = libidn_cmd.la ../lib/libidn.la ../gl/libgnu.la $(LTLIBINTL)
noinst_LTLIBRARIES = libidn_cmd.la
libidn_cmd_la_SOURCES = idn.ggo idn_cmd.c idn_cmd.h
+libidn_cmd_la_LIBADD = ../gl/libgnu.la
libidn_cmd_la_CFLAGS =
BUILT_SOURCES = idn_cmd.c idn_cmd.h
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
rm -f "$${dir}/so_locations"; \
done
libidn_cmd.la: $(libidn_cmd_la_OBJECTS) $(libidn_cmd_la_DEPENDENCIES)
- $(libidn_cmd_la_LINK) $(libidn_cmd_la_OBJECTS) $(libidn_cmd_la_LIBADD) $(LIBS)
+ $(AM_V_CCLD)$(libidn_cmd_la_LINK) $(libidn_cmd_la_OBJECTS) $(libidn_cmd_la_LIBADD) $(LIBS)
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
rm -f $$list
idn$(EXEEXT): $(idn_OBJECTS) $(idn_DEPENDENCIES)
@rm -f idn$(EXEEXT)
- $(LINK) $(idn_OBJECTS) $(idn_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(idn_OBJECTS) $(idn_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libidn_cmd_la-idn_cmd.Plo@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
libidn_cmd_la-idn_cmd.lo: idn_cmd.c
-@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libidn_cmd_la_CFLAGS) $(CFLAGS) -MT libidn_cmd_la-idn_cmd.lo -MD -MP -MF $(DEPDIR)/libidn_cmd_la-idn_cmd.Tpo -c -o libidn_cmd_la-idn_cmd.lo `test -f 'idn_cmd.c' || echo '$(srcdir)/'`idn_cmd.c
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libidn_cmd_la-idn_cmd.Tpo $(DEPDIR)/libidn_cmd_la-idn_cmd.Plo
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libidn_cmd_la_CFLAGS) $(CFLAGS) -MT libidn_cmd_la-idn_cmd.lo -MD -MP -MF $(DEPDIR)/libidn_cmd_la-idn_cmd.Tpo -c -o libidn_cmd_la-idn_cmd.lo `test -f 'idn_cmd.c' || echo '$(srcdir)/'`idn_cmd.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libidn_cmd_la-idn_cmd.Tpo $(DEPDIR)/libidn_cmd_la-idn_cmd.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='idn_cmd.c' object='libidn_cmd_la-idn_cmd.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libidn_cmd_la_CFLAGS) $(CFLAGS) -c -o libidn_cmd_la-idn_cmd.lo `test -f 'idn_cmd.c' || echo '$(srcdir)/'`idn_cmd.c
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libidn_cmd_la_CFLAGS) $(CFLAGS) -c -o libidn_cmd_la-idn_cmd.lo `test -f 'idn_cmd.c' || echo '$(srcdir)/'`idn_cmd.c
mostlyclean-libtool:
-rm -f *.lo
idn_cmd.c idn_cmd.h: idn.ggo Makefile.am
gengetopt --unamed-opts --no-handle-version --no-handle-help \
--set-package="idn" \
- --input $^ --file-name idn_cmd || \
- test -f idn_cmd.h -a -f idn_cmd.c || \
- cp $(srcdir)/idn_cmd.h $(srcdir)/idn_cmd.h .
+ --input $^ --file-name idn_cmd
perl -pi -e 's/\[OPTIONS\]/\[OPTION\]/g' idn_cmd.c
perl -pi -e 's/\[FILES\]/\[STRING\]/g' idn_cmd.c
/* idn.c --- Command line interface to libidn.
- * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ * Simon Josefsson
*
* This file is part of GNU Libidn.
*
#include <string.h>
#include <errno.h>
#include <locale.h>
+#include <unistd.h>
/* Gnulib headers. */
#include "error.h"
usage (EXIT_FAILURE);
}
- if (!args_info.quiet_given)
+ if (!args_info.quiet_given
+ && args_info.inputs_num == 0
+ && isatty (fileno (stdin)))
fprintf (stderr, "%s %s\n" GREETING, PACKAGE, VERSION);
if (args_info.debug_given)
fprintf (stderr, _("Charset `%s'.\n"), stringprep_locale_charset ());
- if (!args_info.quiet_given && args_info.inputs_num == 0)
+ if (!args_info.quiet_given
+ && args_info.inputs_num == 0
+ && isatty (fileno (stdin)))
fprintf (stderr, _("Type each input string on a line by itself, "
"terminated by a newline character.\n"));
-# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson.
+# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+# Simon Josefsson.
#
# This file is part of GNU Libidn.
#
/*
- File autogenerated by gengetopt version 2.22.1
+ File autogenerated by gengetopt version 2.22.4
generated with the following command:
gengetopt --unamed-opts --no-handle-version --no-handle-help --set-package=idn --input idn.ggo --file-name idn_cmd Makefile.am
#include <stdlib.h>
#include <string.h>
-#include "getopt.h"
+#ifndef FIX_UNUSED
+#define FIX_UNUSED(X) (void) (X) /* avoid warnings for unused params */
+#endif
+
+#include <getopt.h>
#include "idn_cmd.h"
void clear_args (struct gengetopt_args_info *args_info);
static int
-cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info,
+cmdline_parser_internal (int argc, char **argv, struct gengetopt_args_info *args_info,
struct cmdline_parser_params *params, const char *additional_error);
static
void clear_args (struct gengetopt_args_info *args_info)
{
+ FIX_UNUSED (args_info);
args_info->allow_unassigned_flag = 0;
args_info->usestd3asciirules_flag = 0;
args_info->tld_flag = 1;
void
cmdline_parser_print_version (void)
{
- printf ("%s %s\n", CMDLINE_PARSER_PACKAGE, CMDLINE_PARSER_VERSION);
+ printf ("%s %s\n",
+ (strlen(CMDLINE_PARSER_PACKAGE_NAME) ? CMDLINE_PARSER_PACKAGE_NAME : CMDLINE_PARSER_PACKAGE),
+ CMDLINE_PARSER_VERSION);
}
static void print_help_common(void) {
clear_args (args_info);
init_args_info (args_info);
- args_info->inputs = NULL;
+ args_info->inputs = 0;
args_info->inputs_num = 0;
}
static void
-write_into_file(FILE *outfile, const char *opt, const char *arg, char *values[])
+write_into_file(FILE *outfile, const char *opt, const char *arg, const char *values[])
{
+ FIX_UNUSED (values);
if (arg) {
fprintf(outfile, "%s=\"%s\"\n", opt, arg);
} else {
char *
gengetopt_strdup (const char *s)
{
- char *result = NULL;
+ char *result = 0;
if (!s)
return result;
}
int
-cmdline_parser (int argc, char * const *argv, struct gengetopt_args_info *args_info)
+cmdline_parser (int argc, char **argv, struct gengetopt_args_info *args_info)
{
return cmdline_parser2 (argc, argv, args_info, 0, 1, 1);
}
int
-cmdline_parser_ext (int argc, char * const *argv, struct gengetopt_args_info *args_info,
+cmdline_parser_ext (int argc, char **argv, struct gengetopt_args_info *args_info,
struct cmdline_parser_params *params)
{
int result;
- result = cmdline_parser_internal (argc, argv, args_info, params, NULL);
+ result = cmdline_parser_internal (argc, argv, args_info, params, 0);
if (result == EXIT_FAILURE)
{
}
int
-cmdline_parser2 (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)
+cmdline_parser2 (int argc, char **argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)
{
int result;
struct cmdline_parser_params params;
params.check_ambiguity = 0;
params.print_errors = 1;
- result = cmdline_parser_internal (argc, argv, args_info, ¶ms, NULL);
+ result = cmdline_parser_internal (argc, argv, args_info, ¶ms, 0);
if (result == EXIT_FAILURE)
{
int
cmdline_parser_required (struct gengetopt_args_info *args_info, const char *prog_name)
{
+ FIX_UNUSED (args_info);
+ FIX_UNUSED (prog_name);
return EXIT_SUCCESS;
}
static
int update_arg(void *field, char **orig_field,
unsigned int *field_given, unsigned int *prev_given,
- char *value, char *possible_values[], const char *default_value,
+ char *value, const char *possible_values[],
+ const char *default_value,
cmdline_parser_arg_type arg_type,
int check_ambiguity, int override,
int no_free, int multiple_option,
const char *val = value;
int found;
char **string_field;
+ FIX_UNUSED (field);
stop_char = 0;
found = 0;
return 1; /* failure */
}
+ FIX_UNUSED (default_value);
if (field_given && *field_given && ! override)
return 0;
int
-cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info,
+cmdline_parser_internal (
+ int argc, char **argv, struct gengetopt_args_info *args_info,
struct cmdline_parser_params *params, const char *additional_error)
{
int c; /* Character of the parsed option. */
{ "profile", 1, NULL, 'p' },
{ "debug", 0, NULL, 0 },
{ "quiet", 0, NULL, 0 },
- { NULL, 0, NULL, 0 }
+ { 0, 0, 0, 0 }
};
c = getopt_long (argc, argv, "hVsdeautnkp:", long_options, &option_index);
/** @file idn_cmd.h
* @brief The header file for the command line option parser
- * generated by GNU Gengetopt version 2.22.1
+ * generated by GNU Gengetopt version 2.22.4
* http://www.gnu.org/software/gengetopt.
* DO NOT modify this file, since it can be overwritten
* @author GNU Gengetopt by Lorenzo Bettini */
#endif /* __cplusplus */
#ifndef CMDLINE_PARSER_PACKAGE
-/** @brief the program name */
+/** @brief the program name (used for printing errors) */
#define CMDLINE_PARSER_PACKAGE "idn"
#endif
+#ifndef CMDLINE_PARSER_PACKAGE_NAME
+/** @brief the complete program name (used for help and version) */
+#define CMDLINE_PARSER_PACKAGE_NAME "idn"
+#endif
+
#ifndef CMDLINE_PARSER_VERSION
/** @brief the program version */
#define CMDLINE_PARSER_VERSION VERSION
* @param args_info the structure where option information will be stored
* @return 0 if everything went fine, NON 0 if an error took place
*/
-int cmdline_parser (int argc, char * const *argv,
+int cmdline_parser (int argc, char **argv,
struct gengetopt_args_info *args_info);
/**
* @return 0 if everything went fine, NON 0 if an error took place
* @deprecated use cmdline_parser_ext() instead
*/
-int cmdline_parser2 (int argc, char * const *argv,
+int cmdline_parser2 (int argc, char **argv,
struct gengetopt_args_info *args_info,
int override, int initialize, int check_required);
* @param params additional parameters for the parser
* @return 0 if everything went fine, NON 0 if an error took place
*/
-int cmdline_parser_ext (int argc, char * const *argv,
+int cmdline_parser_ext (int argc, char **argv,
struct gengetopt_args_info *args_info,
struct cmdline_parser_params *params);
;;; idna.el --- Internationalizing Domain Names in Applications.
-;; Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+;; Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+;; Josefsson
;; Keywords: idna, idn, domain name, internationalization
;; This file is part of GNU Libidn.
;;; punycode.el --- An ASCII compatible Unicode encoding format.
-;; Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+;; Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+;; Josefsson
;; Keywords: punycode, idna, idn, unicode, encoding
;; This file is part of GNU Libidn.
## Process this file with automake to produce Makefile.in
-# Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009 Simon Josefsson
+# Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Simon Josefsson
#
# This file is part of GNU Libidn.
#
AM_CPPFLAGS = -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/gl -I../gl
AM_LDFLAGS = -no-install
-LDADD = ../lib/libidn.la libutils.la
+LDADD = libutils.a ../lib/libidn.la
-noinst_LTLIBRARIES = libutils.la
-libutils_la_SOURCES = utils.h utils.c
+check_LIBRARIES = libutils.a
+libutils_a_SOURCES = utils.h utils.c
-ctests = tst_stringprep$(EXEEXT) tst_punycode$(EXEEXT) \
- tst_idna$(EXEEXT) tst_idna2$(EXEEXT) tst_nfkc$(EXEEXT) \
- tst_pr29$(EXEEXT) tst_strerror$(EXEEXT) tst_toutf8$(EXEEXT)
+ctests = tst_stringprep tst_punycode tst_idna tst_idna2 tst_idna3 \
+ tst_idna4 tst_nfkc tst_pr29 tst_strerror tst_toutf8 \
+ tst_symbols
if TLD
-ctests += tst_tld$(EXEEXT)
+ctests += tst_tld
endif
-TESTS = $(ctests)
+TESTS = $(ctests)
check_PROGRAMS = $(ctests)
TESTS_ENVIRONMENT = $(VALGRIND)
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@SET_MAKE@
-# Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009 Simon Josefsson
+# Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Simon Josefsson
#
# This file is part of GNU Libidn.
#
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-@TLD_TRUE@am__append_1 = tst_tld$(EXEEXT)
+@TLD_TRUE@am__append_1 = tst_tld
+TESTS = $(am__EXEEXT_2)
+check_PROGRAMS = $(am__EXEEXT_2)
subdir = tests
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/lib/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/lib/gl/m4/iconv_h.m4 \
$(top_srcdir)/lib/gl/m4/iconv_open.m4 \
+ $(top_srcdir)/lib/gl/m4/inline.m4 \
$(top_srcdir)/lib/gl/m4/ld-output-def.m4 \
$(top_srcdir)/lib/gl/m4/ld-version-script.m4 \
+ $(top_srcdir)/lib/gl/m4/libunistring-base.m4 \
$(top_srcdir)/lib/gl/m4/locale-fr.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-ja.m4 \
$(top_srcdir)/lib/gl/m4/locale-tr.m4 \
- $(top_srcdir)/lib/gl/m4/multiarch.m4 \
- $(top_srcdir)/lib/gl/m4/stdbool.m4 \
- $(top_srcdir)/lib/gl/m4/stdint.m4 \
+ $(top_srcdir)/lib/gl/m4/locale-zh.m4 \
+ $(top_srcdir)/lib/gl/m4/locale_h.m4 \
+ $(top_srcdir)/lib/gl/m4/localename.m4 \
+ $(top_srcdir)/lib/gl/m4/setlocale.m4 \
$(top_srcdir)/lib/gl/m4/strverscmp.m4 \
- $(top_srcdir)/lib/gl/m4/wchar.m4 \
- $(top_srcdir)/gl/m4/00gnulib.m4 \
- $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/csharp.m4 \
+ $(top_srcdir)/lib/gl/m4/thread.m4 \
+ $(top_srcdir)/lib/gl/m4/yield.m4 \
+ $(top_srcdir)/gl/m4/00gnulib.m4 $(top_srcdir)/gl/m4/alloca.m4 \
+ $(top_srcdir)/gl/m4/autobuild.m4 $(top_srcdir)/gl/m4/close.m4 \
+ $(top_srcdir)/gl/m4/csharp.m4 \
$(top_srcdir)/gl/m4/csharpcomp.m4 \
+ $(top_srcdir)/gl/m4/csharpexec.m4 $(top_srcdir)/gl/m4/dup2.m4 \
+ $(top_srcdir)/gl/m4/eealloc.m4 $(top_srcdir)/gl/m4/environ.m4 \
$(top_srcdir)/gl/m4/errno_h.m4 $(top_srcdir)/gl/m4/error.m4 \
$(top_srcdir)/gl/m4/extensions.m4 \
+ $(top_srcdir)/gl/m4/fcntl_h.m4 $(top_srcdir)/gl/m4/fdopen.m4 \
+ $(top_srcdir)/gl/m4/fstat.m4 $(top_srcdir)/gl/m4/getcwd.m4 \
$(top_srcdir)/gl/m4/getopt.m4 \
$(top_srcdir)/gl/m4/gnulib-common.m4 \
$(top_srcdir)/gl/m4/gnulib-comp.m4 \
$(top_srcdir)/gl/m4/include_next.m4 \
+ $(top_srcdir)/gl/m4/inttypes.m4 \
+ $(top_srcdir)/gl/m4/largefile.m4 $(top_srcdir)/gl/m4/lstat.m4 \
+ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \
$(top_srcdir)/gl/m4/manywarnings.m4 \
- $(top_srcdir)/gl/m4/pmccabe2html.m4 \
- $(top_srcdir)/gl/m4/stdarg.m4 $(top_srcdir)/gl/m4/strerror.m4 \
- $(top_srcdir)/gl/m4/string_h.m4 \
- $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/mode_t.m4 \
+ $(top_srcdir)/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/gl/m4/multiarch.m4 \
+ $(top_srcdir)/gl/m4/nocrash.m4 $(top_srcdir)/gl/m4/open.m4 \
+ $(top_srcdir)/gl/m4/pathmax.m4 $(top_srcdir)/gl/m4/putenv.m4 \
+ $(top_srcdir)/gl/m4/setenv.m4 $(top_srcdir)/gl/m4/ssize_t.m4 \
+ $(top_srcdir)/gl/m4/stat.m4 $(top_srcdir)/gl/m4/stdarg.m4 \
+ $(top_srcdir)/gl/m4/stdbool.m4 $(top_srcdir)/gl/m4/stddef_h.m4 \
+ $(top_srcdir)/gl/m4/stdint.m4 $(top_srcdir)/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/gl/m4/stdlib_h.m4 \
+ $(top_srcdir)/gl/m4/strerror.m4 \
+ $(top_srcdir)/gl/m4/string_h.m4 $(top_srcdir)/gl/m4/symlink.m4 \
+ $(top_srcdir)/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gl/m4/time_h.m4 $(top_srcdir)/gl/m4/unistd_h.m4 \
+ $(top_srcdir)/gl/m4/valgrind-tests.m4 \
$(top_srcdir)/gl/m4/version-etc.m4 \
- $(top_srcdir)/gl/m4/warnings.m4 \
+ $(top_srcdir)/gl/m4/warn-on-use.m4 \
+ $(top_srcdir)/gl/m4/warnings.m4 $(top_srcdir)/gl/m4/wchar_h.m4 \
$(top_srcdir)/m4/ac_prog_jar.m4 $(top_srcdir)/m4/codeset.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/fcntl-o.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/inttypes-pri.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/threadlib.m4 \
$(top_srcdir)/m4/update-header-version.m4 \
- $(top_srcdir)/m4/valgrind.m4 $(top_srcdir)/m4/visibility.m4 \
- $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libutils_la_LIBADD =
-am_libutils_la_OBJECTS = utils.lo
-libutils_la_OBJECTS = $(am_libutils_la_OBJECTS)
+AM_V_AR = $(am__v_AR_$(V))
+am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+am__v_AR_0 = @echo " AR " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+libutils_a_AR = $(AR) $(ARFLAGS)
+libutils_a_LIBADD =
+am_libutils_a_OBJECTS = utils.$(OBJEXT)
+libutils_a_OBJECTS = $(am_libutils_a_OBJECTS)
+@TLD_TRUE@am__EXEEXT_1 = tst_tld$(EXEEXT)
+am__EXEEXT_2 = tst_stringprep$(EXEEXT) tst_punycode$(EXEEXT) \
+ tst_idna$(EXEEXT) tst_idna2$(EXEEXT) tst_idna3$(EXEEXT) \
+ tst_idna4$(EXEEXT) tst_nfkc$(EXEEXT) tst_pr29$(EXEEXT) \
+ tst_strerror$(EXEEXT) tst_toutf8$(EXEEXT) tst_symbols$(EXEEXT) \
+ $(am__EXEEXT_1)
tst_idna_SOURCES = tst_idna.c
tst_idna_OBJECTS = tst_idna.$(OBJEXT)
tst_idna_LDADD = $(LDADD)
-tst_idna_DEPENDENCIES = ../lib/libidn.la libutils.la
+tst_idna_DEPENDENCIES = libutils.a ../lib/libidn.la
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
tst_idna2_SOURCES = tst_idna2.c
tst_idna2_OBJECTS = tst_idna2.$(OBJEXT)
tst_idna2_LDADD = $(LDADD)
-tst_idna2_DEPENDENCIES = ../lib/libidn.la libutils.la
+tst_idna2_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_idna3_SOURCES = tst_idna3.c
+tst_idna3_OBJECTS = tst_idna3.$(OBJEXT)
+tst_idna3_LDADD = $(LDADD)
+tst_idna3_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_idna4_SOURCES = tst_idna4.c
+tst_idna4_OBJECTS = tst_idna4.$(OBJEXT)
+tst_idna4_LDADD = $(LDADD)
+tst_idna4_DEPENDENCIES = libutils.a ../lib/libidn.la
tst_nfkc_SOURCES = tst_nfkc.c
tst_nfkc_OBJECTS = tst_nfkc.$(OBJEXT)
tst_nfkc_LDADD = $(LDADD)
-tst_nfkc_DEPENDENCIES = ../lib/libidn.la libutils.la
+tst_nfkc_DEPENDENCIES = libutils.a ../lib/libidn.la
tst_pr29_SOURCES = tst_pr29.c
tst_pr29_OBJECTS = tst_pr29.$(OBJEXT)
tst_pr29_LDADD = $(LDADD)
-tst_pr29_DEPENDENCIES = ../lib/libidn.la libutils.la
+tst_pr29_DEPENDENCIES = libutils.a ../lib/libidn.la
tst_punycode_SOURCES = tst_punycode.c
tst_punycode_OBJECTS = tst_punycode.$(OBJEXT)
tst_punycode_LDADD = $(LDADD)
-tst_punycode_DEPENDENCIES = ../lib/libidn.la libutils.la
+tst_punycode_DEPENDENCIES = libutils.a ../lib/libidn.la
tst_strerror_SOURCES = tst_strerror.c
tst_strerror_OBJECTS = tst_strerror.$(OBJEXT)
tst_strerror_LDADD = $(LDADD)
-tst_strerror_DEPENDENCIES = ../lib/libidn.la libutils.la
+tst_strerror_DEPENDENCIES = libutils.a ../lib/libidn.la
tst_stringprep_SOURCES = tst_stringprep.c
tst_stringprep_OBJECTS = tst_stringprep.$(OBJEXT)
tst_stringprep_LDADD = $(LDADD)
-tst_stringprep_DEPENDENCIES = ../lib/libidn.la libutils.la
+tst_stringprep_DEPENDENCIES = libutils.a ../lib/libidn.la
+tst_symbols_SOURCES = tst_symbols.c
+tst_symbols_OBJECTS = tst_symbols.$(OBJEXT)
+tst_symbols_LDADD = $(LDADD)
+tst_symbols_DEPENDENCIES = libutils.a ../lib/libidn.la
tst_tld_SOURCES = tst_tld.c
tst_tld_OBJECTS = tst_tld.$(OBJEXT)
tst_tld_LDADD = $(LDADD)
-tst_tld_DEPENDENCIES = ../lib/libidn.la libutils.la
+tst_tld_DEPENDENCIES = libutils.a ../lib/libidn.la
tst_toutf8_SOURCES = tst_toutf8.c
tst_toutf8_OBJECTS = tst_toutf8.$(OBJEXT)
tst_toutf8_LDADD = $(LDADD)
-tst_toutf8_DEPENDENCIES = ../lib/libidn.la libutils.la
+tst_toutf8_DEPENDENCIES = libutils.a ../lib/libidn.la
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo " CC " $@;
CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
-SOURCES = $(libutils_la_SOURCES) tst_idna.c tst_idna2.c tst_nfkc.c \
- tst_pr29.c tst_punycode.c tst_strerror.c tst_stringprep.c \
- tst_tld.c tst_toutf8.c
-DIST_SOURCES = $(libutils_la_SOURCES) tst_idna.c tst_idna2.c \
- tst_nfkc.c tst_pr29.c tst_punycode.c tst_strerror.c \
- tst_stringprep.c tst_tld.c tst_toutf8.c
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo " CCLD " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo " GEN " $@;
+SOURCES = $(libutils_a_SOURCES) tst_idna.c tst_idna2.c tst_idna3.c \
+ tst_idna4.c tst_nfkc.c tst_pr29.c tst_punycode.c \
+ tst_strerror.c tst_stringprep.c tst_symbols.c tst_tld.c \
+ tst_toutf8.c
+DIST_SOURCES = $(libutils_a_SOURCES) tst_idna.c tst_idna2.c \
+ tst_idna3.c tst_idna4.c tst_nfkc.c tst_pr29.c tst_punycode.c \
+ tst_strerror.c tst_stringprep.c tst_symbols.c tst_tld.c \
+ tst_toutf8.c
ETAGS = etags
CTAGS = ctags
am__tty_colors = \
red=; grn=; lgn=; blu=; std=
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
+ARFLAGS = @ARFLAGS@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CLIX_PATH = @CLIX_PATH@
+CLIX_PATH_VAR = @CLIX_PATH_VAR@
+CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSHARPCOMPFLAGS = @CSHARPCOMPFLAGS@
GJDOC = @GJDOC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
+GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_DUP3 = @GNULIB_DUP3@
+GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
+GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FCNTL = @GNULIB_FCNTL@
+GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
+GNULIB_FDOPEN = @GNULIB_FDOPEN@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FFSL = @GNULIB_FFSL@
+GNULIB_FFSLL = @GNULIB_FFSLL@
+GNULIB_FGETC = @GNULIB_FGETC@
+GNULIB_FGETS = @GNULIB_FGETS@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPURGE = @GNULIB_FPURGE@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREAD = @GNULIB_FREAD@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSCANF = @GNULIB_FSCANF@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSTAT = @GNULIB_FSTAT@
+GNULIB_FSTATAT = @GNULIB_FSTATAT@
GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETC = @GNULIB_GETC@
+GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETS = @GNULIB_GETS@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_GRANTPT = @GNULIB_GRANTPT@
+GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
+GNULIB_ICONV = @GNULIB_ICONV@
+GNULIB_IMAXABS = @GNULIB_IMAXABS@
+GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MBTOWC = @GNULIB_MBTOWC@
+GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKFIFO = @GNULIB_MKFIFO@
+GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
+GNULIB_MKNOD = @GNULIB_MKNOD@
+GNULIB_MKNODAT = @GNULIB_MKNODAT@
+GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
+GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
+GNULIB_MKTIME = @GNULIB_MKTIME@
+GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
+GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_OPENAT = @GNULIB_OPENAT@
+GNULIB_PCLOSE = @GNULIB_PCLOSE@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PIPE = @GNULIB_PIPE@
+GNULIB_PIPE2 = @GNULIB_PIPE2@
+GNULIB_POPEN = @GNULIB_POPEN@
+GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
+GNULIB_PREAD = @GNULIB_PREAD@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PTSNAME = @GNULIB_PTSNAME@
+GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_PWRITE = @GNULIB_PWRITE@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_READLINKAT = @GNULIB_READLINKAT@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_REALPATH = @GNULIB_REALPATH@
+GNULIB_REMOVE = @GNULIB_REMOVE@
+GNULIB_RENAME = @GNULIB_RENAME@
+GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
+GNULIB_RMDIR = @GNULIB_RMDIR@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SCANF = @GNULIB_SCANF@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STAT = @GNULIB_STAT@
+GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
+GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_SYMLINK = @GNULIB_SYMLINK@
+GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
+GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
+GNULIB_TIMEGM = @GNULIB_TIMEGM@
+GNULIB_TIME_R = @GNULIB_TIME_R@
+GNULIB_TMPFILE = @GNULIB_TMPFILE@
+GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
+GNULIB_UNISTD_H_GETOPT = @GNULIB_UNISTD_H_GETOPT@
+GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNLINK = @GNULIB_UNLINK@
+GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
+GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_USLEEP = @GNULIB_USLEEP@
+GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VFSCANF = @GNULIB_VFSCANF@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSCANF = @GNULIB_VSCANF@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCPCPY = @GNULIB_WCPCPY@
+GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
+GNULIB_WCSCAT = @GNULIB_WCSCAT@
+GNULIB_WCSCHR = @GNULIB_WCSCHR@
+GNULIB_WCSCMP = @GNULIB_WCSCMP@
+GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
+GNULIB_WCSCPY = @GNULIB_WCSCPY@
+GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
+GNULIB_WCSDUP = @GNULIB_WCSDUP@
+GNULIB_WCSLEN = @GNULIB_WCSLEN@
+GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
+GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
+GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
+GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
+GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
+GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCSSPN = @GNULIB_WCSSPN@
+GNULIB_WCSSTR = @GNULIB_WCSSTR@
+GNULIB_WCSTOK = @GNULIB_WCSTOK@
+GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
+GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
+GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
+GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
+GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
+GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
+GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_CLIX = @HAVE_CLIX@
+HAVE_CLIX_IN_PATH = @HAVE_CLIX_IN_PATH@
HAVE_CSC = @HAVE_CSC@
HAVE_CSCC = @HAVE_CSCC@
HAVE_CSCC_IN_PATH = @HAVE_CSCC_IN_PATH@
HAVE_CSC_IN_PATH = @HAVE_CSC_IN_PATH@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
-HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
+HAVE_FFSL = @HAVE_FFSL@
+HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
-HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
-HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_ILRUN = @HAVE_ILRUN@
+HAVE_ILRUN_IN_PATH = @HAVE_ILRUN_IN_PATH@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MCS = @HAVE_MCS@
HAVE_MCS_IN_PATH = @HAVE_MCS_IN_PATH@
+HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MONO = @HAVE_MONO@
+HAVE_MONO_IN_PATH = @HAVE_MONO_IN_PATH@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
-HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
+ICONV_CONST = @ICONV_CONST@
ICONV_H = @ICONV_H@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JAR = @JAR@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTHREAD = @LIBTHREAD@
LIBTOOL = @LIBTOOL@
+LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
+LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALE_FR = @LOCALE_FR@
+LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
+LOCALE_JA = @LOCALE_JA@
LOCALE_TR_UTF8 = @LOCALE_TR_UTF8@
+LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
+MONO_PATH = @MONO_PATH@
+MONO_PATH_SEPARATOR = @MONO_PATH_SEPARATOR@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
+NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_ICONV_H = @NEXT_ICONV_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
+NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
+NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
PKG_CONFIG = @PKG_CONFIG@
PMCCABE = @PMCCABE@
POSUB = @POSUB@
+PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC = @REPLACE_CALLOC@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
-REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_ICONV = @REPLACE_ICONV@
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
+REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_REALLOC = @REPLACE_REALLOC@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNDUP = @REPLACE_STRNDUP@
+REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDARG_H = @STDARG_H@
STDBOOL_H = @STDBOOL_H@
+STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
+UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VALGRIND = @VALGRIND@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
-WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WERROR_CFLAGS = @WERROR_CFLAGS@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YIELD_LIB = @YIELD_LIB@
abs_aux_dir = @abs_aux_dir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_GCJ = @ac_ct_GCJ@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
lgl_LTLIBOBJS = @lgl_LTLIBOBJS@
lgltests_LIBOBJS = @lgltests_LIBOBJS@
lgltests_LTLIBOBJS = @lgltests_LTLIBOBJS@
+lgltests_WITNESS = @lgltests_WITNESS@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS)
AM_CPPFLAGS = -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/gl -I../gl
AM_LDFLAGS = -no-install
-LDADD = ../lib/libidn.la libutils.la
-noinst_LTLIBRARIES = libutils.la
-libutils_la_SOURCES = utils.h utils.c
-ctests = tst_stringprep$(EXEEXT) tst_punycode$(EXEEXT) \
- tst_idna$(EXEEXT) tst_idna2$(EXEEXT) tst_nfkc$(EXEEXT) \
- tst_pr29$(EXEEXT) tst_strerror$(EXEEXT) tst_toutf8$(EXEEXT) \
- $(am__append_1)
-TESTS = $(ctests)
-check_PROGRAMS = $(ctests)
+LDADD = libutils.a ../lib/libidn.la
+check_LIBRARIES = libutils.a
+libutils_a_SOURCES = utils.h utils.c
+ctests = tst_stringprep tst_punycode tst_idna tst_idna2 tst_idna3 \
+ tst_idna4 tst_nfkc tst_pr29 tst_strerror tst_toutf8 \
+ tst_symbols $(am__append_1)
TESTS_ENVIRONMENT = $(VALGRIND)
all: all-am
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libutils.la: $(libutils_la_OBJECTS) $(libutils_la_DEPENDENCIES)
- $(LINK) $(libutils_la_OBJECTS) $(libutils_la_LIBADD) $(LIBS)
+clean-checkLIBRARIES:
+ -test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
+libutils.a: $(libutils_a_OBJECTS) $(libutils_a_DEPENDENCIES)
+ $(AM_V_at)-rm -f libutils.a
+ $(AM_V_AR)$(libutils_a_AR) libutils.a $(libutils_a_OBJECTS) $(libutils_a_LIBADD)
+ $(AM_V_at)$(RANLIB) libutils.a
clean-checkPROGRAMS:
@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
rm -f $$list
tst_idna$(EXEEXT): $(tst_idna_OBJECTS) $(tst_idna_DEPENDENCIES)
@rm -f tst_idna$(EXEEXT)
- $(LINK) $(tst_idna_OBJECTS) $(tst_idna_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(tst_idna_OBJECTS) $(tst_idna_LDADD) $(LIBS)
tst_idna2$(EXEEXT): $(tst_idna2_OBJECTS) $(tst_idna2_DEPENDENCIES)
@rm -f tst_idna2$(EXEEXT)
- $(LINK) $(tst_idna2_OBJECTS) $(tst_idna2_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(tst_idna2_OBJECTS) $(tst_idna2_LDADD) $(LIBS)
+tst_idna3$(EXEEXT): $(tst_idna3_OBJECTS) $(tst_idna3_DEPENDENCIES)
+ @rm -f tst_idna3$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(tst_idna3_OBJECTS) $(tst_idna3_LDADD) $(LIBS)
+tst_idna4$(EXEEXT): $(tst_idna4_OBJECTS) $(tst_idna4_DEPENDENCIES)
+ @rm -f tst_idna4$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(tst_idna4_OBJECTS) $(tst_idna4_LDADD) $(LIBS)
tst_nfkc$(EXEEXT): $(tst_nfkc_OBJECTS) $(tst_nfkc_DEPENDENCIES)
@rm -f tst_nfkc$(EXEEXT)
- $(LINK) $(tst_nfkc_OBJECTS) $(tst_nfkc_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(tst_nfkc_OBJECTS) $(tst_nfkc_LDADD) $(LIBS)
tst_pr29$(EXEEXT): $(tst_pr29_OBJECTS) $(tst_pr29_DEPENDENCIES)
@rm -f tst_pr29$(EXEEXT)
- $(LINK) $(tst_pr29_OBJECTS) $(tst_pr29_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(tst_pr29_OBJECTS) $(tst_pr29_LDADD) $(LIBS)
tst_punycode$(EXEEXT): $(tst_punycode_OBJECTS) $(tst_punycode_DEPENDENCIES)
@rm -f tst_punycode$(EXEEXT)
- $(LINK) $(tst_punycode_OBJECTS) $(tst_punycode_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(tst_punycode_OBJECTS) $(tst_punycode_LDADD) $(LIBS)
tst_strerror$(EXEEXT): $(tst_strerror_OBJECTS) $(tst_strerror_DEPENDENCIES)
@rm -f tst_strerror$(EXEEXT)
- $(LINK) $(tst_strerror_OBJECTS) $(tst_strerror_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(tst_strerror_OBJECTS) $(tst_strerror_LDADD) $(LIBS)
tst_stringprep$(EXEEXT): $(tst_stringprep_OBJECTS) $(tst_stringprep_DEPENDENCIES)
@rm -f tst_stringprep$(EXEEXT)
- $(LINK) $(tst_stringprep_OBJECTS) $(tst_stringprep_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(tst_stringprep_OBJECTS) $(tst_stringprep_LDADD) $(LIBS)
+tst_symbols$(EXEEXT): $(tst_symbols_OBJECTS) $(tst_symbols_DEPENDENCIES)
+ @rm -f tst_symbols$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(tst_symbols_OBJECTS) $(tst_symbols_LDADD) $(LIBS)
tst_tld$(EXEEXT): $(tst_tld_OBJECTS) $(tst_tld_DEPENDENCIES)
@rm -f tst_tld$(EXEEXT)
- $(LINK) $(tst_tld_OBJECTS) $(tst_tld_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(tst_tld_OBJECTS) $(tst_tld_LDADD) $(LIBS)
tst_toutf8$(EXEEXT): $(tst_toutf8_OBJECTS) $(tst_toutf8_DEPENDENCIES)
@rm -f tst_toutf8$(EXEEXT)
- $(LINK) $(tst_toutf8_OBJECTS) $(tst_toutf8_LDADD) $(LIBS)
+ $(AM_V_CCLD)$(LINK) $(tst_toutf8_OBJECTS) $(tst_toutf8_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_idna.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_idna2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_idna3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_idna4.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_nfkc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_pr29.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_punycode.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_strerror.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_stringprep.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_symbols.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_tld.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tst_toutf8.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@
.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
fi; \
done
check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
-all-am: Makefile $(LTLIBRARIES)
+all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
- clean-noinstLTLIBRARIES mostlyclean-am
+clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
- clean-checkPROGRAMS clean-generic clean-libtool \
- clean-noinstLTLIBRARIES ctags distclean distclean-compile \
+ clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
+ clean-libtool ctags distclean distclean-compile \
distclean-generic distclean-libtool distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
/* tst_idna.c --- Self tests for idna_to_ascii().
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
for (i = 0; i < sizeof (idna) / sizeof (idna[0]); i++)
{
if (debug)
- printf ("IDNA entry %d: %s\n", i, idna[i].name);
+ printf ("IDNA entry %ld: %s\n", i, idna[i].name);
if (debug)
{
rc = idna_to_ascii_4i (idna[i].in, idna[i].inlen, label, idna[i].flags);
if (rc != idna[i].toasciirc)
{
- fail ("IDNA entry %d failed: %d\n", i, rc);
+ fail ("IDNA entry %ld failed: %d\n", i, rc);
if (debug)
printf ("FATAL\n");
continue;
if (strlen (idna[i].out) != strlen (label) ||
strcasecmp (idna[i].out, label) != 0)
{
- fail ("IDNA entry %d failed\n", i);
+ fail ("IDNA entry %ld failed\n", i);
if (debug)
printf ("ERROR\n");
}
if (debug)
{
- printf ("in: %s (%d==%d)\n", idna[i].out, strlen (idna[i].out),
+ printf ("in: %s (%ld==%ld)\n", idna[i].out, strlen (idna[i].out),
len);
ucs4print (ucs4label, len);
}
rc = idna_to_unicode_44i (ucs4label, len, tmp, &len2, idna[i].flags);
if (debug)
{
- printf ("expected out (%d):\n",
+ printf ("expected out (%ld):\n",
rc == IDNA_SUCCESS ? idna[i].inlen : len);
if (rc == IDNA_SUCCESS)
ucs4print (idna[i].in, idna[i].inlen);
else
ucs4print (ucs4label, len);
- printf ("computed out (%d):\n", len2);
+ printf ("computed out (%ld):\n", len2);
ucs4print (tmp, len2);
}
if (rc != idna[i].tounicoderc)
{
- fail ("IDNA entry %d failed: %d\n", i, rc);
+ fail ("IDNA entry %ld failed: %d\n", i, rc);
if (debug)
printf ("FATAL\n");
continue;
if (debug)
{
if (rc == IDNA_SUCCESS)
- printf ("len=%d len2=%d\n", len2, idna[i].inlen);
+ printf ("len=%ld len2=%ld\n", len2, idna[i].inlen);
else
- printf ("len=%d len2=%d\n", len, len2);
+ printf ("len=%ld len2=%ld\n", len, len2);
}
- fail ("IDNA entry %d failed\n", i);
+ fail ("IDNA entry %ld failed\n", i);
if (debug)
printf ("ERROR\n");
}
/* tst_idna2.c --- Self tests for idna_to_ascii_8z().
- * Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011
+ * Simon Josefsson
*
* This file is part of GNU Libidn.
*
for (i = 0; i < sizeof (idna) / sizeof (idna[0]); i++)
{
if (debug)
- printf ("IDNA2 entry %d\n", i);
+ printf ("IDNA2 entry %ld\n", i);
if (debug)
{
IDNA_USE_STD3_ASCII_RULES);
if (rc != IDNA_SUCCESS && strlen (idna[i].out) > 0)
{
- fail ("IDNA2 entry %d failed: %d\n", i, rc);
+ fail ("IDNA2 entry %ld failed: %d\n", i, rc);
continue;
}
if (strlen (idna[i].out) != strlen (out) ||
strcasecmp (idna[i].out, out) != 0)
{
- fail ("IDNA2 entry %d failed\n", i);
+ fail ("IDNA2 entry %ld failed\n", i);
if (debug)
printf ("ERROR\n");
}
--- /dev/null
+/* tst_idna3.c --- Self tests for upper-case XN-- regression.
+ * Copyright (C) 2011 Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+
+#include <idna.h>
+#include <idn-free.h>
+
+#include "utils.h"
+
+struct idna
+{
+ const char *in;
+ const char *out;
+};
+
+static const struct idna idna[] = {
+ /* Test vectors from http://bugs.debian.org/610617 */
+ { "XN----7SBAABF4DLDYSIEHP4NTB.XN--P1AI",
+ "\xd1\x81\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd1\x81\xd0\xba\xd0\xb0\xd1"
+ "\x8f\x2d\xd0\xbe\xd0\xb1\xd0\xbb\xd0\xb0\xd1\x81\xd1\x82\xd1\x8c\x2e"
+ "\xd1\x80\xd1\x84"},
+ { "xn----7SBAABF4DLDYSIEHP4NTB.XN--P1AI",
+ "\xd1\x81\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd1\x81\xd0\xba\xd0\xb0\xd1"
+ "\x8f\x2d\xd0\xbe\xd0\xb1\xd0\xbb\xd0\xb0\xd1\x81\xd1\x82\xd1\x8c\x2e"
+ "\xd1\x80\xd1\x84"},
+ { "xn----7SBAABF4DLDYSIEHP4NTB.xn--P1AI",
+ "\xd1\x81\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd1\x81\xd0\xba\xd0\xb0\xd1"
+ "\x8f\x2d\xd0\xbe\xd0\xb1\xd0\xbb\xd0\xb0\xd1\x81\xd1\x82\xd1\x8c\x2e"
+ "\xd1\x80\xd1\x84"}
+};
+
+void
+doit (void)
+{
+ int rc;
+ char *out = NULL;
+ size_t i;
+
+ for (i = 0; i < sizeof (idna) / sizeof (idna[0]); i++)
+ {
+ rc = idna_to_unicode_8z8z (idna[i].in, &out, 0);
+ if (rc != IDNA_SUCCESS)
+ fail ("IDNA3[%ld] failed %d\n", i, rc);
+
+ if (debug && rc == IDNA_SUCCESS)
+ {
+ printf ("input: %s\n", idna[i].in);
+ printf ("computed out: %s\n", out);
+ printf ("expected out: %s\n", idna[i].out);
+ }
+
+ if (strcmp (out, idna[i].out) != 0)
+ fail ("IDNA3[%ld] failed\n", i);
+ else if (debug)
+ printf ("IDNA3[%ld] success\n", i);
+
+ if (out)
+ idn_free (out);
+ }
+}
--- /dev/null
+/* tst_idna4.c --- Self tests for memory leak regression.
+ * Copyright (C) 2011 Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+
+#include <idna.h>
+#include <idn-free.h>
+
+#include "utils.h"
+
+void
+doit (void)
+{
+ int rc;
+ char *out = NULL;
+
+ rc = idna_to_ascii_8z("search...", &out, 0);
+ if (rc != IDNA_INVALID_LENGTH)
+ fail ("unexpected rc %d\n", rc);
+
+ rc = idna_to_ascii_8z("google.com................point", &out, 0);
+ if (rc != IDNA_INVALID_LENGTH)
+ fail ("unexpected rc %d\n", rc);
+
+ rc = idna_to_ascii_8z("Loading...°°°°°°°°°°°°°°]", &out, 0);
+ if (rc != IDNA_INVALID_LENGTH)
+ fail ("unexpected rc %d\n", rc);
+}
/* tst_nfkc.c --- Self tests for stringprep_utf8_nfkc_normalize().
- * Copyright (C) 2002, 2003, 2004, 2006, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2006, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
for (i = 0; i < sizeof (nfkc) / sizeof (nfkc[0]); i++)
{
if (debug)
- printf ("NFKC entry %d\n", i);
+ printf ("NFKC entry %ld\n", i);
out = stringprep_utf8_nfkc_normalize (nfkc[i].in,
(ssize_t) strlen (nfkc[i].in));
if (out == NULL)
{
- fail ("NFKC entry %d failed fatally\n", i);
+ fail ("NFKC entry %ld failed fatally\n", i);
continue;
}
if (strlen (nfkc[i].out) != strlen (out) ||
memcmp (nfkc[i].out, out, strlen (out)) != 0)
{
- fail ("NFKC entry %d failed\n", i);
+ fail ("NFKC entry %ld failed\n", i);
if (debug)
printf ("ERROR\n");
}
/* tst_pr29.c --- Self tests for pr29_*().
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson
*
* This file is part of GNU Libidn.
*
for (i = 0; i < sizeof (tv) / sizeof (tv[0]); i++)
{
if (debug)
- printf ("PR29 entry %d: %s\n", i, tv[i].name);
+ printf ("PR29 entry %ld: %s\n", i, tv[i].name);
if (debug)
{
rc = pr29_4 (tv[i].in, tv[i].inlen);
if (rc != tv[i].rc)
{
- fail ("PR29 entry %d failed (expected %d): %d\n", i, tv[i].rc, rc);
+ fail ("PR29 entry %ld failed (expected %d): %d\n", i, tv[i].rc, rc);
if (debug)
printf ("FATAL\n");
continue;
rc = pr29_4z (tv[i].in);
if (rc != tv[i].rc)
{
- fail ("PR29 entry %d failed (expected %d): %d\n", i, tv[i].rc, rc);
+ fail ("PR29 entry %ld failed (expected %d): %d\n", i, tv[i].rc, rc);
if (debug)
printf ("FATAL\n");
continue;
p = stringprep_ucs4_to_utf8 (tv[i].in, (ssize_t) tv[i].inlen,
&items_read, &items_written);
if (p == NULL)
- fail ("FAIL: stringprep_ucs4_to_utf8(tv[%d]) == NULL\n", i);
+ fail ("FAIL: stringprep_ucs4_to_utf8(tv[%ld]) == NULL\n", i);
if (debug)
hexprint (p, strlen (p));
free (p);
if (rc != tv[i].rc)
{
- fail ("PR29 entry %d failed (expected %d): %d\n", i, tv[i].rc, rc);
+ fail ("PR29 entry %ld failed (expected %d): %d\n",
+ i, tv[i].rc, rc);
if (debug)
printf ("FATAL\n");
continue;
/* tst_punycode.c --- Self tests for punycode.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
for (i = 0; i < sizeof (punycode) / sizeof (punycode[0]); i++)
{
if (debug)
- printf ("PUNYCODE entry %d: %s\n", i, punycode[i].name);
+ printf ("PUNYCODE entry %ld: %s\n", i, punycode[i].name);
if (debug)
{
NULL, &outlen, p);
if (rc != punycode[i].rc)
{
- fail ("punycode_encode() entry %d failed: %d\n", i, rc);
+ fail ("punycode_encode() entry %ld failed: %d\n", i, rc);
if (debug)
printf ("FATAL\n");
continue;
if (strlen (punycode[i].out) != strlen (p) ||
memcmp (punycode[i].out, p, strlen (p)) != 0)
{
- fail ("punycode() entry %d failed\n", i);
+ fail ("punycode() entry %ld failed\n", i);
if (debug)
printf ("ERROR\n");
}
&outlen, q, NULL);
if (rc != punycode[i].rc)
{
- fail ("punycode() entry %d failed: %d\n", i, rc);
+ fail ("punycode() entry %ld failed: %d\n", i, rc);
if (debug)
printf ("FATAL\n");
continue;
if (punycode[i].inlen != outlen ||
memcmp (punycode[i].in, q, outlen) != 0)
{
- fail ("punycode_decode() entry %d failed\n", i);
+ fail ("punycode_decode() entry %ld failed\n", i);
if (debug)
printf ("ERROR\n");
}
/* tst_strerror.c --- Self tests for *_strerror().
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson
*
* This file is part of GNU Libidn.
*
break;
}
if (debug)
- printf ("idna %d: %s\n", i, p);
+ printf ("idna %ld: %s\n", i, p);
last_p = p;
}
}
if (p == last_p)
break;
if (debug)
- printf ("pr29 %d: %s\n", i, p);
+ printf ("pr29 %ld: %s\n", i, p);
last_p = p;
}
}
if (p == last_p)
break;
if (debug)
- printf ("punycode %d: %s\n", i, p);
+ printf ("punycode %ld: %s\n", i, p);
last_p = p;
}
}
break;
}
if (debug)
- printf ("stringprep %d: %s\n", i, p);
+ printf ("stringprep %ld: %s\n", i, p);
last_p = p;
}
}
if (p == last_p)
break;
if (debug)
- printf ("tld %d: %s\n", i, p);
+ printf ("tld %ld: %s\n", i, p);
last_p = p;
}
}
/* tst_stringprep.c --- Self tests for stringprep().
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
for (i = 0; i < sizeof (strprep) / sizeof (strprep[0]); i++)
{
if (debug)
- printf ("STRINGPREP entry %d\n", i);
+ printf ("STRINGPREP entry %ld\n", i);
if (debug)
{
if (strcmp (strprep[i].in, x) != 0)
{
- fail ("bad UTF-8 in entry %d\n", i);
+ fail ("bad UTF-8 in entry %ld\n", i);
if (debug)
{
puts ("expected:");
"Nameprep", strprep[i].flags);
if (rc != strprep[i].rc)
{
- fail ("stringprep() entry %d failed: %d\n", i, rc);
+ fail ("stringprep() entry %ld failed: %d\n", i, rc);
if (debug)
printf ("FATAL\n");
if (rc == STRINGPREP_OK)
if (strlen (strprep[i].out) != strlen (p) ||
memcmp (strprep[i].out, p, strlen (p)) != 0)
{
- fail ("stringprep() entry %d failed\n", i);
+ fail ("stringprep() entry %ld failed\n", i);
if (debug)
printf ("ERROR\n");
}
--- /dev/null
+/* tst_symbols.c --- Test if all exported symbols are available.
+ * Copyright (C) 2010, 2011 Simon Josefsson
+ *
+ * This file is part of GNU Libidn.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <assert.h>
+
+#include <stringprep.h>
+#include <idna.h>
+#include <punycode.h>
+#include <idn-free.h>
+#include <pr29.h>
+#ifdef WITH_TLD
+# include <tld.h>
+#endif
+
+static void
+assert_symbol_exists (const void *p)
+{
+ assert (p);
+}
+
+int
+main (void)
+{
+ assert_symbol_exists ((const void *) idn_free);
+ assert_symbol_exists ((const void *) idna_strerror);
+ assert_symbol_exists ((const void *) idna_to_ascii_4i);
+ assert_symbol_exists ((const void *) idna_to_ascii_4z);
+ assert_symbol_exists ((const void *) idna_to_ascii_8z);
+ assert_symbol_exists ((const void *) idna_to_ascii_lz);
+ assert_symbol_exists ((const void *) idna_to_unicode_44i);
+ assert_symbol_exists ((const void *) idna_to_unicode_4z4z);
+ assert_symbol_exists ((const void *) idna_to_unicode_8z4z);
+ assert_symbol_exists ((const void *) idna_to_unicode_8z8z);
+ assert_symbol_exists ((const void *) idna_to_unicode_8zlz);
+ assert_symbol_exists ((const void *) idna_to_unicode_lzlz);
+ assert_symbol_exists ((const void *) pr29_4);
+ assert_symbol_exists ((const void *) pr29_4z);
+ assert_symbol_exists ((const void *) pr29_8z);
+ assert_symbol_exists ((const void *) pr29_strerror);
+ assert_symbol_exists ((const void *) punycode_decode);
+ assert_symbol_exists ((const void *) punycode_encode);
+ assert_symbol_exists ((const void *) punycode_strerror);
+ assert_symbol_exists ((const void *) stringprep);
+ assert_symbol_exists ((const void *) stringprep_4i);
+ assert_symbol_exists ((const void *) stringprep_4zi);
+ assert_symbol_exists ((const void *) stringprep_check_version);
+ assert_symbol_exists ((const void *) stringprep_convert);
+ assert_symbol_exists ((const void *) stringprep_iscsi);
+ assert_symbol_exists ((const void *) stringprep_iscsi_prohibit);
+ assert_symbol_exists ((const void *) stringprep_kerberos5);
+ assert_symbol_exists ((const void *) stringprep_locale_charset);
+ assert_symbol_exists ((const void *) stringprep_locale_to_utf8);
+ assert_symbol_exists ((const void *) stringprep_nameprep);
+ assert_symbol_exists ((const void *) stringprep_plain);
+ assert_symbol_exists ((const void *) stringprep_profile);
+ assert_symbol_exists ((const void *) stringprep_profiles);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_A_1);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_B_1);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_B_2);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_B_3);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_C_1_1);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_C_1_2);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_C_2_1);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_C_2_2);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_C_3);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_C_4);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_C_5);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_C_6);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_C_7);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_C_8);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_C_9);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_D_1);
+ assert_symbol_exists ((const void *) stringprep_rfc3454_D_2);
+ assert_symbol_exists ((const void *) stringprep_saslprep);
+ assert_symbol_exists ((const void *) stringprep_saslprep_space_map);
+ assert_symbol_exists ((const void *) stringprep_strerror);
+ assert_symbol_exists ((const void *) stringprep_trace);
+ assert_symbol_exists ((const void *) stringprep_ucs4_nfkc_normalize);
+ assert_symbol_exists ((const void *) stringprep_ucs4_to_utf8);
+ assert_symbol_exists ((const void *) stringprep_unichar_to_utf8);
+ assert_symbol_exists ((const void *) stringprep_utf8_nfkc_normalize);
+ assert_symbol_exists ((const void *) stringprep_utf8_to_locale);
+ assert_symbol_exists ((const void *) stringprep_utf8_to_ucs4);
+ assert_symbol_exists ((const void *) stringprep_utf8_to_unichar);
+ assert_symbol_exists ((const void *) stringprep_xmpp_nodeprep);
+ assert_symbol_exists ((const void *) stringprep_xmpp_nodeprep_prohibit);
+ assert_symbol_exists ((const void *) stringprep_xmpp_resourceprep);
+ assert_symbol_exists ((const void *) tld_check_4);
+ assert_symbol_exists ((const void *) tld_check_4t);
+ assert_symbol_exists ((const void *) tld_check_4tz);
+ assert_symbol_exists ((const void *) tld_check_4z);
+ assert_symbol_exists ((const void *) tld_check_8z);
+ assert_symbol_exists ((const void *) tld_check_lz);
+ assert_symbol_exists ((const void *) tld_default_table);
+ assert_symbol_exists ((const void *) tld_get_4);
+ assert_symbol_exists ((const void *) tld_get_4z);
+ assert_symbol_exists ((const void *) tld_get_table);
+ assert_symbol_exists ((const void *) tld_get_z);
+ assert_symbol_exists ((const void *) tld_strerror);
+
+ return 0;
+}
/* tst_tld.c --- Self tests for tld_*().
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Simon
+ * Josefsson
*
* This file is part of GNU Libidn.
*
for (i = 0; i < sizeof (tld) / sizeof (tld[0]); i++)
{
if (debug)
- printf ("TLD entry %d: %s\n", i, tld[i].name);
+ printf ("TLD entry %ld: %s\n", i, tld[i].name);
if (debug)
{
tldtable = tld_default_table (tld[i].tld, NULL);
if (tldtable == NULL)
{
- fail ("TLD entry %d tld_get_table (%s)\n", i, tld[i].tld);
+ fail ("TLD entry %ld tld_get_table (%s)\n", i, tld[i].tld);
if (debug)
printf ("FATAL\n");
continue;
rc = tld_check_4t (tld[i].in, tld[i].inlen, &errpos, tldtable);
if (rc != tld[i].rc)
{
- fail ("TLD entry %d failed: %d\n", i, rc);
+ fail ("TLD entry %ld failed: %d\n", i, rc);
if (debug)
printf ("FATAL\n");
continue;
if (rc != tld[i].rc)
{
- fail ("TLD entry %d failed\n", i);
+ fail ("TLD entry %ld failed\n", i);
if (debug)
printf ("ERROR\n");
}
else if (rc == TLD_INVALID)
{
if (debug)
- printf ("returned errpos %d expected errpos %d\n",
+ printf ("returned errpos %ld expected errpos %ld\n",
errpos, tld[i].errpos);
if (tld[i].errpos != errpos)
{
- fail ("TLD entry %d failed because errpos %d != %d\n", i,
+ fail ("TLD entry %ld failed because errpos %ld != %ld\n", i,
tld[i].errpos, errpos);
if (debug)
printf ("ERROR\n");
rc = tld_check_8z (tld[i].example, &errpos, NULL);
if (rc != tld[i].rc)
{
- fail ("TLD entry %d failed\n", i);
+ fail ("TLD entry %ld failed\n", i);
if (debug)
printf ("ERROR\n");
}
if (debug)
- printf ("TLD entry %d tld_check_8z (%s)\n", i, tld[i].example);
+ printf ("TLD entry %ld tld_check_8z (%s)\n", i, tld[i].example);
}
}
}
/* tst_toutf8.c --- Self tests for UTF-8 conversion functions.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
/* utils.c --- Self test utilities.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
va_end (arg_ptr);
error_count++;
if (break_on_error)
- exit (1);
+ exit (EXIT_FAILURE);
}
void
{
size_t i;
- printf (" (length %d bytes):\n\t", len);
+ printf (" (length %ld bytes):\n\t", len);
for (i = 0; i < len; i++)
{
if (((str[i] & 0xFF) >= 'A' && (str[i] & 0xFF) <= 'Z') ||
/* utils.h --- Prototypes for self test utilities.
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Simon Josefsson
+ * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ * 2011 Simon Josefsson
*
* This file is part of GNU Libidn.
*
-/* Copyright (C) 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2008, 2010, 2011 Free Software Foundation, Inc.
Written by Adam Strzelecki <ono@java.pl>
This program is free software; you can redistribute it and/or
-/* Copyright (C) 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2008, 2010, 2011 Free Software Foundation, Inc.
Written by Adam Strzelecki <ono@java.pl>
This program is free software; you can redistribute it and/or
-/* Copyright (C) 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2008, 2010, 2011 Free Software Foundation, Inc.
Written by Adam Strzelecki <ono@java.pl>
This program is free software; you can redistribute it and/or
Name="VCCLCompilerTool"\r
Optimization="0"\r
AdditionalIncludeDirectories="include;../lib;../lib/gl"\r
- PreprocessorDefinitions="WIN32;_DEBUG;_USRDLL;IDNA_EXPORTS;HAVE_CONFIG_H;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"\r
+ PreprocessorDefinitions="WIN32;_DEBUG;_USRDLL;IDNA_EXPORTS;HAVE_CONFIG_H;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;LIBIDN_BUILDING"\r
MinimalRebuild="true"\r
BasicRuntimeChecks="3"\r
RuntimeLibrary="3"\r
<Tool\r
Name="VCCLCompilerTool"\r
AdditionalIncludeDirectories="include;../lib;../lib/gl"\r
- PreprocessorDefinitions="WIN32;NDEBUG;_USRDLL;IDNA_EXPORTS;HAVE_CONFIG_H;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"\r
+ PreprocessorDefinitions="WIN32;NDEBUG;_USRDLL;IDNA_EXPORTS;HAVE_CONFIG_H;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;LIBIDN_BUILDING"\r
RuntimeLibrary="2"\r
UsePrecompiledHeader="0"\r
WarningLevel="3"\r
--- /dev/null
+# Copyright (C) 2011 Simon Josefsson
+#
+# This file is part of GNU Libidn.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+PACKAGE = libidn
+distdir = $(PACKAGE)-$(VERSION)
+TGZ = $(distdir).tar.gz
+URL = ftp://ftp.gnu.org/gnu/$(PACKAGE)/$(TGZ)
+
+all:
+ @echo 'Usage examples:'
+ @echo ' make -f libidn4win.mk libidn4win VERSION=1.21'
+ @echo ' make -f libidn4win.mk libidn4win32 VERSION=1.21 CHECK=check'
+
+libidn4win: libidn4win32 libidn4win64
+
+libidn4win32:
+ $(MAKE) -f libidn4win.mk doit ARCH=32 HOST=i686-w64-mingw32 CHECK=check
+
+libidn4win64:
+ $(MAKE) -f libidn4win.mk doit ARCH=64 HOST=x86_64-w64-mingw32
+
+doit:
+ rm -rf tmp$(ARCH) && mkdir tmp$(ARCH) && cd tmp$(ARCH) && \
+ cp ../../libiconv-1.13.1.tar.gz . || wget ftp://ftp.gnu.org/gnu/libiconv/libiconv-1.13.1.tar.gz && \
+ tar xfa libiconv-1.13.1.tar.gz && \
+ cd libiconv-1.13.1 && \
+ ./configure --host=$(HOST) --build=x86_64-unknown-linux-gnu --prefix=$(PWD)/tmp$(ARCH)/root && \
+ make install && \
+ cd .. && \
+ cp ../../$(TGZ) . || wget $(URL) && \
+ tar xfa $(TGZ) && \
+ cd $(distdir) && \
+ ./configure --host=$(HOST) --build=x86_64-unknown-linux-gnu --prefix=$(PWD)/tmp$(ARCH)/root CPPFLAGS=-I$(PWD)/tmp$(ARCH)/root/include && \
+ make install && \
+ make -C tests $(CHECK) && \
+ cd .. && \
+ cd root && \
+ zip -r ../../$(distdir)-win$(ARCH).zip *
+
+upload:
+ ../build-aux/gnupload --to ftp.gnu.org:$(PACKAGE) $(distdir)-win32.zip $(distdir)-win64.zip
+ cp $(distdir)-win32.zip $(distdir)-win32.zip.sig $(distdir)-win64.zip $(distdir)-win64.zip.sig ../../releases/$(PACKAGE)/